@pendle/core-v2 0.13.0-testnet → 0.14.0-testnet
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +89 -0
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +91 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +91 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +26 -26
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield → StandardizedYield}/PYIndex.sol/PYIndexLib.json +3 -3
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/SCYBase.sol/SCYBase.json → StandardizedYield/SYBase.sol/SYBase.json} +11 -11
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/SCYBaseWithRewards.sol/SCYBaseWithRewards.json → StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.json} +11 -11
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/SCYUtils.sol/SCYUtils.json → StandardizedYield/SYUtils.sol/SYUtils.json} +4 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield → StandardizedYield}/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +3 -3
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json → StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json} +17 -17
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.json +1028 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.json → StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.json} +47 -47
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield → StandardizedYield}/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +5 -5
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/{SuperComposableYield/implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json → StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json} +13 -13
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +4 -4
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +4 -4
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +24 -24
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +28 -28
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +30 -30
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +34 -34
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +20 -20
- package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.json +2 -2
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +20 -20
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +106 -106
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +18 -18
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +3 -3
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +6 -6
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{ISuperComposableYield.sol/ISuperComposableYield.json → IStandardizedYield.sol/IStandardizedYield.json} +5 -5
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +7 -7
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +116 -116
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +35 -35
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +12 -12
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +41 -41
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +28 -28
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +4 -4
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +22 -22
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +96 -27
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +40 -12
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +24 -5
- package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +133 -0
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +33 -0
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +8 -1
- package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +3 -3
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +2 -7
- package/contracts/core/Market/MarketMathCore.sol +50 -53
- package/contracts/core/Market/PendleGauge.sol +8 -8
- package/contracts/core/Market/PendleMarket.sol +49 -49
- package/contracts/core/Market/PendleMarketFactory.sol +1 -1
- package/contracts/core/RewardManager/RewardManager.sol +1 -1
- package/contracts/core/{SuperComposableYield → StandardizedYield}/PYIndex.sol +16 -16
- package/contracts/core/{SuperComposableYield/SCYBase.sol → StandardizedYield/SYBase.sol} +17 -17
- package/contracts/core/{SuperComposableYield/SCYBaseWithRewards.sol → StandardizedYield/SYBaseWithRewards.sol} +9 -9
- package/contracts/core/StandardizedYield/SYUtils.sol +26 -0
- package/contracts/core/{SuperComposableYield → StandardizedYield}/implementations/BenQi/PendleQiTokenHelper.sol +1 -1
- package/contracts/core/{SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol → StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol} +10 -10
- package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol +167 -0
- package/contracts/core/{SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol → StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol} +51 -70
- package/contracts/core/{SuperComposableYield → StandardizedYield}/implementations/Convex/Pendle3CrvHelper.sol +7 -7
- package/contracts/core/{SuperComposableYield/implementations/PendleWstEthSCY.sol → StandardizedYield/implementations/PendleWstEthSY.sol} +5 -5
- package/contracts/core/YieldContracts/InterestManagerYT.sol +7 -7
- package/contracts/core/YieldContracts/PendlePrincipalToken.sol +3 -3
- package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +15 -15
- package/contracts/core/YieldContracts/PendleYieldToken.sol +71 -71
- package/contracts/core/libraries/Errors.sol +23 -21
- package/contracts/core/libraries/TokenHelper.sol +0 -33
- package/contracts/interfaces/Curve/ICrvPool.sol +2 -0
- package/contracts/interfaces/ILayerZeroEndpoint.sol +39 -0
- package/contracts/interfaces/ILayerZeroReceiver.sol +12 -0
- package/contracts/interfaces/IPActionAddRemoveLiq.sol +27 -27
- package/contracts/interfaces/IPActionMintRedeem.sol +30 -30
- package/contracts/interfaces/IPActionSwapPT.sol +16 -16
- package/contracts/interfaces/IPActionSwapPTYT.sol +2 -2
- package/contracts/interfaces/IPActionSwapYT.sol +16 -16
- package/contracts/interfaces/IPMarket.sol +14 -19
- package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
- package/contracts/interfaces/IPMsgSendEndpoint.sol +4 -2
- package/contracts/interfaces/IPPrincipalToken.sol +1 -1
- package/contracts/interfaces/IPYieldContractFactory.sol +3 -3
- package/contracts/interfaces/IPYieldToken.sol +7 -9
- package/contracts/interfaces/{ISuperComposableYield.sol → IStandardizedYield.sol} +6 -6
- package/contracts/offchain-helpers/MarketMathStatic.sol +116 -131
- package/contracts/offchain-helpers/RouterStatic.sol +80 -93
- package/contracts/router/ActionAddRemoveLiq.sol +99 -111
- package/contracts/router/ActionCallback.sol +46 -46
- package/contracts/router/ActionMintRedeem.sol +58 -58
- package/contracts/router/ActionSwapPT.sol +61 -69
- package/contracts/router/ActionSwapPTYT.sol +7 -7
- package/contracts/router/ActionSwapYT.sol +72 -79
- package/contracts/router/PendleRouter.sol +16 -16
- package/contracts/router/base/ActionBaseMintRedeem.sol +43 -43
- package/contracts/router/base/CallbackHelper.sol +20 -20
- package/contracts/router/base/MarketApproxLib.sol +166 -143
- package/contracts/router/kyberswap/KyberSwapHelper.sol +2 -2
- package/deployments/43113-core.json +16 -0
- package/deployments/43113-helper.json +3 -0
- package/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
- package/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
- package/deployments/43113-testenv.json +22 -0
- package/deployments/80001-core.json +15 -0
- package/deployments/80001-testenv.json +22 -0
- package/package.json +2 -2
- package/typechain-types/ActionAddRemoveLiq.ts +127 -129
- package/typechain-types/ActionCallback.ts +5 -5
- package/typechain-types/ActionMintRedeem.ts +139 -141
- package/typechain-types/ActionSwapPT.ts +73 -73
- package/typechain-types/ActionSwapPTYT.ts +2 -2
- package/typechain-types/ActionSwapYT.ts +73 -73
- package/typechain-types/IPActionAddRemoveLiq.ts +127 -129
- package/typechain-types/IPActionMintRedeem.ts +139 -141
- package/typechain-types/IPActionSwapPT.ts +73 -73
- package/typechain-types/IPActionSwapPTYT.ts +2 -2
- package/typechain-types/IPActionSwapYT.ts +73 -73
- package/typechain-types/IPAllAction.ts +402 -406
- package/typechain-types/IPMarket.ts +51 -54
- package/typechain-types/IPMarketSwapCallback.ts +5 -5
- package/typechain-types/IPPrincipalToken.ts +8 -8
- package/typechain-types/IPYieldContractFactory.ts +13 -13
- package/typechain-types/IPYieldToken.ts +17 -17
- package/typechain-types/IStandardizedYield.ts +895 -0
- package/typechain-types/ImplicitSwapfeeContract.ts +157 -0
- package/typechain-types/MarketMathStatic.ts +27 -27
- package/typechain-types/Pendle3CrvAndTokenSY.ts +1243 -0
- package/typechain-types/Pendle3CrvHelper.ts +13 -13
- package/typechain-types/PendleConvexLPSY.ts +1189 -0
- package/typechain-types/PendleGaugeControllerBaseUpg.ts +125 -0
- package/typechain-types/PendleGaugeControllerMainchainUpg.ts +125 -0
- package/typechain-types/PendleGaugeControllerSidechainUpg.ts +124 -0
- package/typechain-types/PendleMarket.ts +54 -57
- package/typechain-types/PendlePrincipalToken.ts +8 -8
- package/typechain-types/PendleQiTokenSY.ts +1166 -0
- package/typechain-types/PendleWstEthSY.ts +1040 -0
- package/typechain-types/PendleYieldContractFactory.ts +8 -8
- package/typechain-types/PendleYieldToken.ts +41 -44
- package/typechain-types/RouterStatic.ts +196 -196
- package/typechain-types/SYBase.ts +1001 -0
- package/typechain-types/SYBaseWithRewards.ts +1094 -0
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +34 -34
- package/typechain-types/factories/ActionCallback__factory.ts +11 -11
- package/typechain-types/factories/ActionMintRedeem__factory.ts +38 -38
- package/typechain-types/factories/ActionMisc__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTYT__factory.ts +3 -3
- package/typechain-types/factories/ActionSwapPT__factory.ts +27 -27
- package/typechain-types/factories/ActionSwapYT__factory.ts +21 -21
- package/typechain-types/factories/Errors__factory.ts +27 -27
- package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +30 -30
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +34 -34
- package/typechain-types/factories/IPActionSwapPTYT__factory.ts +2 -2
- package/typechain-types/factories/IPActionSwapPT__factory.ts +20 -20
- package/typechain-types/factories/IPActionSwapYT__factory.ts +20 -20
- package/typechain-types/factories/IPAllAction__factory.ts +106 -106
- package/typechain-types/factories/IPMarketSwapCallback__factory.ts +1 -1
- package/typechain-types/factories/IPMarket__factory.ts +18 -18
- package/typechain-types/factories/IPPrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/IPYieldContractFactory__factory.ts +3 -3
- package/typechain-types/factories/IPYieldToken__factory.ts +6 -6
- package/typechain-types/factories/IStandardizedYield__factory.ts +658 -0
- package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +247 -0
- package/typechain-types/factories/MarketMathStatic__factory.ts +6 -6
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +1124 -0
- package/typechain-types/factories/Pendle3CrvHelper__factory.ts +3 -3
- package/typechain-types/factories/PendleConvexLPSY__factory.ts +963 -0
- package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +89 -0
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +90 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +90 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +21 -21
- package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +7 -7
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1095 -0
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWstEthSY__factory.ts +924 -0
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +3 -3
- package/typechain-types/factories/PendleYieldToken__factory.ts +27 -27
- package/typechain-types/factories/RouterStatic__factory.ts +57 -57
- package/typechain-types/factories/SYBaseWithRewards__factory.ts +867 -0
- package/typechain-types/factories/SYBase__factory.ts +795 -0
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +33 -42
- package/typechain-types/index.ts +14 -16
- package/build/artifacts/contracts/core/SuperComposableYield/PYIndex.sol/PYIndexLib.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/SCYBase.sol/SCYBase.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.json +0 -1030
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +0 -1025
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +0 -4
- package/build/artifacts/contracts/core/SuperComposableYield/implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +0 -4
- package/contracts/core/SuperComposableYield/SCYUtils.sol +0 -34
- package/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol +0 -135
- package/contracts/core/SuperComposableYield/implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol +0 -96
- package/contracts/interfaces/ICelerMessageBus.sol +0 -28
- package/contracts/interfaces/ICelerMessageReceiverApp.sol +0 -25
- package/deployments/kovan.json +0 -31
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
|
|
5
|
+
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
6
|
+
import type {
|
|
7
|
+
ImplicitSwapfeeContract,
|
|
8
|
+
ImplicitSwapfeeContractInterface,
|
|
9
|
+
} from "../ImplicitSwapfeeContract";
|
|
10
|
+
|
|
11
|
+
const _abi = [
|
|
12
|
+
{
|
|
13
|
+
inputs: [],
|
|
14
|
+
stateMutability: "nonpayable",
|
|
15
|
+
type: "constructor",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
inputs: [
|
|
19
|
+
{
|
|
20
|
+
internalType: "int256",
|
|
21
|
+
name: "exchangeRate",
|
|
22
|
+
type: "int256",
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
name: "MarketExchangeRateBelowOne",
|
|
26
|
+
type: "error",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
inputs: [],
|
|
30
|
+
name: "MarketExpired",
|
|
31
|
+
type: "error",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
inputs: [
|
|
35
|
+
{
|
|
36
|
+
internalType: "int256",
|
|
37
|
+
name: "currentAmount",
|
|
38
|
+
type: "int256",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
internalType: "int256",
|
|
42
|
+
name: "requiredAmount",
|
|
43
|
+
type: "int256",
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
name: "MarketInsufficientPtForTrade",
|
|
47
|
+
type: "error",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
inputs: [],
|
|
51
|
+
name: "MarketProportionMustNotEqualOne",
|
|
52
|
+
type: "error",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
inputs: [
|
|
56
|
+
{
|
|
57
|
+
internalType: "int256",
|
|
58
|
+
name: "proportion",
|
|
59
|
+
type: "int256",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
internalType: "int256",
|
|
63
|
+
name: "maxProportion",
|
|
64
|
+
type: "int256",
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
name: "MarketProportionTooHigh",
|
|
68
|
+
type: "error",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
inputs: [
|
|
72
|
+
{
|
|
73
|
+
internalType: "int256",
|
|
74
|
+
name: "rateScalar",
|
|
75
|
+
type: "int256",
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
name: "MarketRateScalarBelowZero",
|
|
79
|
+
type: "error",
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
inputs: [],
|
|
83
|
+
name: "MarketZeroLnImpliedRate",
|
|
84
|
+
type: "error",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
inputs: [
|
|
88
|
+
{
|
|
89
|
+
internalType: "int256",
|
|
90
|
+
name: "totalPt",
|
|
91
|
+
type: "int256",
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
internalType: "int256",
|
|
95
|
+
name: "totalAsset",
|
|
96
|
+
type: "int256",
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
name: "MarketZeroTotalPtOrTotalAsset",
|
|
100
|
+
type: "error",
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
inputs: [],
|
|
104
|
+
name: "K",
|
|
105
|
+
outputs: [
|
|
106
|
+
{
|
|
107
|
+
internalType: "int256",
|
|
108
|
+
name: "",
|
|
109
|
+
type: "int256",
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
stateMutability: "view",
|
|
113
|
+
type: "function",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
inputs: [
|
|
117
|
+
{
|
|
118
|
+
internalType: "address",
|
|
119
|
+
name: "market",
|
|
120
|
+
type: "address",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
components: [
|
|
124
|
+
{
|
|
125
|
+
internalType: "int256",
|
|
126
|
+
name: "totalPt",
|
|
127
|
+
type: "int256",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
internalType: "int256",
|
|
131
|
+
name: "totalScy",
|
|
132
|
+
type: "int256",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
internalType: "int256",
|
|
136
|
+
name: "totalLp",
|
|
137
|
+
type: "int256",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
internalType: "address",
|
|
141
|
+
name: "treasury",
|
|
142
|
+
type: "address",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
internalType: "int256",
|
|
146
|
+
name: "scalarRoot",
|
|
147
|
+
type: "int256",
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
internalType: "uint256",
|
|
151
|
+
name: "lnFeeRateRoot",
|
|
152
|
+
type: "uint256",
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
internalType: "uint256",
|
|
156
|
+
name: "expiry",
|
|
157
|
+
type: "uint256",
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
internalType: "uint256",
|
|
161
|
+
name: "reserveFeePercent",
|
|
162
|
+
type: "uint256",
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
internalType: "uint256",
|
|
166
|
+
name: "lastLnImpliedRate",
|
|
167
|
+
type: "uint256",
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
internalType: "struct MarketState",
|
|
171
|
+
name: "prevState",
|
|
172
|
+
type: "tuple",
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
internalType: "int256",
|
|
176
|
+
name: "netPtToAccount",
|
|
177
|
+
type: "int256",
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
name: "execute",
|
|
181
|
+
outputs: [
|
|
182
|
+
{
|
|
183
|
+
internalType: "int256",
|
|
184
|
+
name: "netScyToAccount",
|
|
185
|
+
type: "int256",
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
stateMutability: "view",
|
|
189
|
+
type: "function",
|
|
190
|
+
},
|
|
191
|
+
];
|
|
192
|
+
|
|
193
|
+
const _bytecode =
|
|
194
|
+
"0x608060405234801561001057600080fd5b50611615806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063755bb5751461003b578063a932492f14610060575b600080fd5b61004e61004936600461130e565b610068565b60405190815260200160405180910390f35b61004e606481565b600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156100a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100cd919061135b565b925050506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061013591906113a8565b905060005b606481121561018d57600061016c836101546064896113ed565b42610164368c90038c018c611452565b929190610197565b50905061017981866114d4565b94505080610186906114fc565b905061013a565b5050509392505050565b6000806101a88660c0015184610232565b156101c65760405163b2094b5960e01b815260040160405180910390fd5b855184126101f9578551604051632185509b60e21b81526004810191909152602481018590526044015b60405180910390fd5b600061020687878661023d565b905061021487828888610346565b90935091506102288782888887878a61048c565b5094509492505050565b808211155b92915050565b6102686040518060800160405280600081526020016000815260200160008152602001600081525090565b6102768460c0015183610232565b156102945760405163b2094b5960e01b815260040160405180910390fd5b6000828560c001516102a6919061151b565b90506102b2858261051e565b825260208501516102c490859061057f565b6020830152845115806102d957506020820151155b15610307578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044016101f0565b610325856000015186610100015184602001518560000151856105be565b604083015260a0850151610339908261063f565b6060830152509392505050565b6000806000610368876000015187602001518860000151896040015188610678565b9050600061037e6103798684610735565b610764565b606088015190915060008613156103ed57600061039b8483610735565b9050670de0b6b3a76400008112156103c95760405163329e322960e21b8152600481018290526024016101f0565b6103e56103de83670de0b6b3a764000061152e565b8490610772565b91505061041a565b6104178161040381670de0b6b3a764000061152e565b61040d9085611555565b61037991906113ed565b90505b6000606461042b8b60e00151610790565b6104359084611555565b61043f91906113ed565b9050600061044d838561152e565b9050600081126104665761046189826107aa565b610470565b61047089826107d7565b965061047c89836107aa565b9550505050505094509492505050565b6000818860c0015161049e919061151b565b88519091506104ad9086610804565b88526104c76104bc84866114d4565b60208a015190610804565b6020890181905288516104ec916104df90899061057f565b895160408b015185610852565b610100890181905260000361051457604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b600061052982610790565b61054061053b6201518061016d611585565b610790565b846080015161054f9190611555565b61055991906113ed565b90506000811361023757604051630e520c3b60e11b8152600481018290526024016101f0565b60008060008312610591576001610595565b6000195b90506105ac61053b856105a7866108aa565b6108c1565b6105b69082611555565b949350505050565b6000806105cb868461063f565b9050670de0b6b3a76400008112156105f95760405163329e322960e21b8152600481018290526024016101f0565b600061060f610608878a6114d4565b8990610735565b9050600061061c826108e0565b90506106288187610735565b610632908461152e565b9998505050505050505050565b6000806106516201518061016d611585565b61065b8486611585565b610665919061159c565b90506105b661067382610790565b610933565b6000806106858784610804565b9050600061069d610696888a6114d4565b8390610735565b9050670d529ae9e86000008113156106d957604051637e34684f60e11b815260048101829052670d529ae9e860000060248201526044016101f0565b60006106e4826108e0565b9050856106f18289610735565b6106fb91906114d4565b9350670de0b6b3a76400008412156107295760405163329e322960e21b8152600481018590526024016101f0565b50505095945050505050565b60008061074a670de0b6b3a764000085611555565b905082818161075b5761075b6113c1565b05949350505050565b600061023782600019611555565b60008061077f8385611555565b9050670de0b6b3a76400008161075b565b60006001600160ff1b038211156107a657600080fd5b5090565b600080600083126107bc5760016107c0565b6000195b90506105ac61053b856107d2866108aa565b610d48565b600080600083126107e95760016107ed565b6000195b90506105ac61053b856107ff866108aa565b610d5d565b6000818312156108415760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016101f0565b61084b828461152e565b9392505050565b600080610863878787876000610678565b9050600061087861087383610d89565b610e1a565b90508361088a6201518061016d611585565b6108949083611585565b61089e919061159c565b98975050505050505050565b60008082136107a6576108bc826115b0565b610237565b6000670de0b6b3a76400006108d68484611585565b61084b919061159c565b6000670de0b6b3a7640000820361090a5760405163a9c8b14d60e01b815260040160405180910390fd5b600061092861092184670de0b6b3a764000061152e565b8490610735565b905061084b81610d89565b6000680238fd42c5cf03ffff198212158015610958575068070c1cc73b00c800008213155b6109975760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016101f0565b60008212156109cf576109ac82600003610933565b6a0c097ce7bc90715b34b9f160241b816109c8576109c86113c1565b0592915050565b60006806f05b59d3b20000008312610a0d57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610a43565b6803782dace9d90000008312610a3f57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610a43565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610a935768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610acf576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610b0957682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610b43576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610b7c57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610bb55768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610bee576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610c275768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000826108d6670de0b6b3a764000084611585565b600082600181610d75670de0b6b3a764000086611585565b610d7f91906115cc565b6108d6919061151b565b6000808213610dca5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016101f0565b670c7d713b49da000082138015610de85750670f43fc2c04ee000082125b15610e0c57670de0b6b3a7640000610dff83610e29565b816109c8576109c86113c1565b61023782610f48565b919050565b6000808212156107a657600080fd5b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281610e6a57610e6a6113c1565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215610f8957610f80826a0c097ce7bc90715b34b9f160241b81610f7a57610f7a6113c1565b05610f48565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312610fd45772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b831261100b576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611053576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261108e576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126110c557693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126110fc57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126111315768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261115c57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611191576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126111c6576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126111fa576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261122e576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281611257576112576113c1565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b038116811461130057600080fd5b50565b8035610e15816112eb565b600080600083850361016081121561132557600080fd5b8435611330816112eb565b9350610120601f198201121561134557600080fd5b5060208401915061014084013590509250925092565b60008060006060848603121561137057600080fd5b835161137b816112eb565b602085015190935061138c816112eb565b604085015190925061139d816112eb565b809150509250925092565b6000602082840312156113ba57600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826113fc576113fc6113c1565b600160ff1b821460001984141615611416576114166113d7565b500590565b60405161012081016001600160401b038111828210171561144c57634e487b7160e01b600052604160045260246000fd5b60405290565b6000610120828403121561146557600080fd5b61146d61141b565b82358152602083013560208201526040830135604082015261149160608401611303565b60608201526080830135608082015260a083013560a082015260c083013560c082015260e083013560e08201526101008084013581830152508091505092915050565b80820182811260008312801582168215821617156114f4576114f46113d7565b505092915050565b60006001600160ff1b018201611514576115146113d7565b5060010190565b81810381811115610237576102376113d7565b818103600083128015838313168383128216171561154e5761154e6113d7565b5092915050565b80820260008212600160ff1b84141615611571576115716113d7565b8181058314821517610237576102376113d7565b8082028115828204841417610237576102376113d7565b6000826115ab576115ab6113c1565b500490565b6000600160ff1b82016115c5576115c56113d7565b5060000390565b80820180821115610237576102376113d756fea26469706673582212201b4ef25ff8ebae0bd00e3267cc339a4a20e17e3ed9dd6ddafab6591a9e5733f764736f6c63430008110033";
|
|
195
|
+
|
|
196
|
+
type ImplicitSwapfeeContractConstructorParams =
|
|
197
|
+
| [signer?: Signer]
|
|
198
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
199
|
+
|
|
200
|
+
const isSuperArgs = (
|
|
201
|
+
xs: ImplicitSwapfeeContractConstructorParams
|
|
202
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
203
|
+
|
|
204
|
+
export class ImplicitSwapfeeContract__factory extends ContractFactory {
|
|
205
|
+
constructor(...args: ImplicitSwapfeeContractConstructorParams) {
|
|
206
|
+
if (isSuperArgs(args)) {
|
|
207
|
+
super(...args);
|
|
208
|
+
} else {
|
|
209
|
+
super(_abi, _bytecode, args[0]);
|
|
210
|
+
}
|
|
211
|
+
this.contractName = "ImplicitSwapfeeContract";
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
deploy(
|
|
215
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
216
|
+
): Promise<ImplicitSwapfeeContract> {
|
|
217
|
+
return super.deploy(overrides || {}) as Promise<ImplicitSwapfeeContract>;
|
|
218
|
+
}
|
|
219
|
+
getDeployTransaction(
|
|
220
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
221
|
+
): TransactionRequest {
|
|
222
|
+
return super.getDeployTransaction(overrides || {});
|
|
223
|
+
}
|
|
224
|
+
attach(address: string): ImplicitSwapfeeContract {
|
|
225
|
+
return super.attach(address) as ImplicitSwapfeeContract;
|
|
226
|
+
}
|
|
227
|
+
connect(signer: Signer): ImplicitSwapfeeContract__factory {
|
|
228
|
+
return super.connect(signer) as ImplicitSwapfeeContract__factory;
|
|
229
|
+
}
|
|
230
|
+
static readonly contractName: "ImplicitSwapfeeContract";
|
|
231
|
+
public readonly contractName: "ImplicitSwapfeeContract";
|
|
232
|
+
static readonly bytecode = _bytecode;
|
|
233
|
+
static readonly abi = _abi;
|
|
234
|
+
static createInterface(): ImplicitSwapfeeContractInterface {
|
|
235
|
+
return new utils.Interface(_abi) as ImplicitSwapfeeContractInterface;
|
|
236
|
+
}
|
|
237
|
+
static connect(
|
|
238
|
+
address: string,
|
|
239
|
+
signerOrProvider: Signer | Provider
|
|
240
|
+
): ImplicitSwapfeeContract {
|
|
241
|
+
return new Contract(
|
|
242
|
+
address,
|
|
243
|
+
_abi,
|
|
244
|
+
signerOrProvider
|
|
245
|
+
) as ImplicitSwapfeeContract;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
@@ -139,7 +139,7 @@ const _abi = [
|
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
internalType: "uint256",
|
|
142
|
-
name: "
|
|
142
|
+
name: "netSyDesired",
|
|
143
143
|
type: "uint256",
|
|
144
144
|
},
|
|
145
145
|
{
|
|
@@ -148,7 +148,7 @@ const _abi = [
|
|
|
148
148
|
type: "uint256",
|
|
149
149
|
},
|
|
150
150
|
],
|
|
151
|
-
name: "
|
|
151
|
+
name: "addLiquidityDualSyAndPtStatic",
|
|
152
152
|
outputs: [
|
|
153
153
|
{
|
|
154
154
|
internalType: "uint256",
|
|
@@ -157,7 +157,7 @@ const _abi = [
|
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
internalType: "uint256",
|
|
160
|
-
name: "
|
|
160
|
+
name: "netSyUsed",
|
|
161
161
|
type: "uint256",
|
|
162
162
|
},
|
|
163
163
|
{
|
|
@@ -245,11 +245,11 @@ const _abi = [
|
|
|
245
245
|
type: "uint256",
|
|
246
246
|
},
|
|
247
247
|
],
|
|
248
|
-
name: "
|
|
248
|
+
name: "removeLiquidityDualSyAndPtStatic",
|
|
249
249
|
outputs: [
|
|
250
250
|
{
|
|
251
251
|
internalType: "uint256",
|
|
252
|
-
name: "
|
|
252
|
+
name: "netSyOut",
|
|
253
253
|
type: "uint256",
|
|
254
254
|
},
|
|
255
255
|
{
|
|
@@ -298,7 +298,7 @@ const _abi = [
|
|
|
298
298
|
];
|
|
299
299
|
|
|
300
300
|
const _bytecode =
|
|
301
|
-
"0x6145b361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101695760003560e01c806303670dba1461016e578063067cbde1146101a65780630f8cb321146101c65780631272d863146101f45780631b9d358d1461021457806321b7679d146102345780632f7707091461025457806331c6d55c1461026757806336233bd9146102875780633c71db3d146102a75780633e32089f146102ba57806345324d9c146102da578063586772c5146102fa57806362eaf69d1461031a578063672b79e41461033b57806368d384c01461035b578063690a0cbd1461037b578063919f9430146103bb578063a4beab18146103db578063ab52e20f146103fb578063af2c79711461041b578063b24898f41461042e578063c06225e81461044e578063c50b5c8b1461046e578063c74141f11461048e578063cf8a61d6146104a1578063d92f8f09146104c1578063efb7601d146104e1578063fe852a2014610501575b600080fd5b81801561017a57600080fd5b5061018e610189366004614063565b610521565b60405161019d9392919061408f565b60405180910390f35b8180156101b257600080fd5b5061018e6101c1366004614063565b6105e8565b8180156101d257600080fd5b506101e66101e1366004614063565b610684565b60405190815260200161019d565b81801561020057600080fd5b5061018e61020f3660046140a5565b610837565b81801561022057600080fd5b506101e661022f3660046140e7565b610938565b81801561024057600080fd5b5061018e61024f3660046140a5565b6109ba565b61018e610262366004614104565b6109ca565b81801561027357600080fd5b5061018e6102823660046140a5565b610a52565b81801561029357600080fd5b5061018e6102a2366004614063565b610a62565b61018e6102b5366004614139565b610ba7565b8180156102c657600080fd5b5061018e6102d5366004614233565b610d28565b8180156102e657600080fd5b5061018e6102f5366004614063565b610e1e565b81801561030657600080fd5b5061018e610315366004614286565b610eeb565b61032d610328366004614063565b610f8d565b60405161019d9291906142c5565b81801561034757600080fd5b5061018e610356366004614233565b61100d565b81801561036757600080fd5b506101e6610376366004614063565b6110f2565b81801561038757600080fd5b5061039b610396366004614233565b611145565b60408051948552602085019390935291830152606082015260800161019d565b8180156103c757600080fd5b5061039b6103d6366004614286565b61123f565b8180156103e757600080fd5b5061039b6103f6366004614286565b611381565b81801561040757600080fd5b5061018e610416366004614286565b61141c565b61032d6104293660046140a5565b6114af565b81801561043a57600080fd5b5061018e610449366004614063565b61160e565b81801561045a57600080fd5b5061039b610469366004614286565b6116a0565b81801561047a57600080fd5b5061039b610489366004614286565b6117d6565b6101e661049c3660046140e7565b611896565b8180156104ad57600080fd5b5061039b6104bc366004614286565b611921565b8180156104cd57600080fd5b5061018e6104dc366004614286565b6119bc565b8180156104ed57600080fd5b506101e66104fc3660046140e7565b611a63565b81801561050d57600080fd5b5061018e61051c366004614286565b611a70565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a91906142de565b9050600061059787610938565b905060006105b06105a789610938565b84908942611b07565b9550905060006105c08389611b46565b90506105cc8183611b52565b96506105db896103768a611b69565b9450505050509250925092565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906142de565b905061066861065f87610938565b82908742611b07565b909450925061067a8661037687611b69565b9150509250925092565b6000826001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e89190614360565b156106fc5750670de0b6b3a7640000610831565b60008290506000846001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610742573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076691906142de565b9050600061077e61077687610938565b839042611b80565b9050600061079f836000015183602001518460000151856040015188611c7a565b9050600084131561080b5760006107c3836060015183611d3290919063ffffffff16565b9050670de0b6b3a76400008112156107f65760405163329e322960e21b8152600481018290526024015b60405180910390fd5b6107ff81611d61565b95505050505050610831565b61082a610825836060015183611d7490919063ffffffff16565b611d61565b9450505050505b92915050565b6000806000806108478787610a62565b8094508195508293505050506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b79190614382565b505060405163cbe52ae360e01b81529091506001600160a01b0382169063cbe52ae3906108ea90899086906004016143c4565b602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906143dd565b9450505093509350939050565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099d9190614382565b925050506109b3816001600160a01b0316611d92565b9392505050565b6000806000806108478787610e1e565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3391906142de565b9050610a4181878742611df8565b919a90995090975095505050505050565b60008060008061084787876105e8565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acb91906142de565b9050600080610ada8388611e63565b91509150876001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b409190614360565b15610b6957610b5881610b528a610938565b90611e9e565b610b62908361440c565b9550610b9d565b6000610b80610b778a610938565b85908442611b07565b96509050610b8e818461440c565b96506105db8961037684611b69565b5050509250925092565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610beb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0f9190614382565b505090506000816001600160a01b031663b8f82b2689896040518363ffffffff1660e01b8152600401610c439291906143c4565b602060405180830381865afa158015610c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8491906143dd565b90506000808a6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610cc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cec91906142de565b9050610cfa81848a42611df8565b9199509096509250610d18905083610d12848c61441f565b90611eaa565b9550505050509450945094915050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d909190614382565b50509050610e0d88826001600160a01b031663b8f82b268a8a6040518363ffffffff1660e01b8152600401610dc69291906143c4565b602060405180830381865afa158015610de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0791906143dd565b8761141c565b935093509350509450945094915050565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610e63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8791906142de565b90506000610e9487610938565b90506000610ea483838942611ecd565b955090506000610eb48383611ef1565b90506000610ec2828a614436565b9050610ece8482611e9e565b9750610edd8a6103768b611efe565b955050505050509250925092565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5491906142de565b9050610f6c610f6288610938565b8290884289611f14565b919550909350610f8190508761037686611b69565b91505093509350939050565b6000806000846001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff591906142de565b90506110018185611e63565b90969095509350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110759190614382565b50509050610e0d88826001600160a01b031663b8f82b268a8a6040518363ffffffff1660e01b81526004016110ab9291906143c4565b602060405180830381865afa1580156110c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec91906143dd565b87611a70565b6000806110fe84611a63565b9050600061110c8585610684565b905061113c8261113661111e85611efe565b61112785611efe565b6111319190614449565b612044565b9061205b565b95945050505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561118b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111af9190614382565b5050905061122c89826001600160a01b031663b8f82b268b8b6040518363ffffffff1660e01b81526004016111e59291906143c4565b602060405180830381865afa158015611202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122691906143dd565b8861123f565b929c919b50995090975095505050505050565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112aa91906142de565b90506112c26112b889610938565b829089428a61208a565b90505080945050876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132c91906142de565b9050600061134561133c8a610938565b83908742611ecd565b9450905061135f611356828a614436565b83908742611df8565b5090975061137491508a905061037687611efe565b9250505093509350935093565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156113c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ec91906142de565b905060006113f989610938565b905061140882828a428b612254565b919750955093506113748961037687611b69565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611461573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148591906142de565b905061149d61149388610938565b829088428961238b565b9094509250610f818761037686611efe565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156114f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115169190614382565b50509050600080876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561155c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158091906142de565b905061158c8188611e63565b60405163cbe52ae360e01b81529095509092506001600160a01b0384169063cbe52ae3906115c090899086906004016143c4565b602060405180830381865afa1580156115dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160191906143dd565b9450505050935093915050565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611653573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167791906142de565b905061168e61168587610938565b82908742611ecd565b909450925061067a8661037687611efe565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156116e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170b91906142de565b905061172361171989610938565b829089428a612489565b90505080945050876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178d91906142de565b905060006117a661179d8a610938565b83908742611b07565b945090506117c1816117b8878b614436565b84919042611df8565b5090975061137491508a905061037687611b69565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561181d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184191906142de565b9050600080611850838a611e63565b9150915061186a6118608b610938565b849084428c61238b565b9096509450611879868261440c565b96506118888a61037688611efe565b935050505093509350935093565b600080826001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc91906142de565b9050600061190e826101000151611efe565b90506119198161266b565b949350505050565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198c91906142de565b9050600061199989610938565b90506119a882828a428b612a80565b919750955093506113748961037687611efe565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2591906142de565b90506000611a3288610938565b9050611a41828289428a612ba8565b919650909450611a5690508861037687611efe565b9250505093509350939050565b6000610831826000610684565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad991906142de565b90506000611ae688610938565b9050611af5828289428a612cd2565b9095509350611a568861037687611b69565b600080600080611b218888611b1b89611b69565b88612e0b565b91509150611b2e82611d61565b9350611b3981611d61565b9250505094509492505050565b60006109b38383612e99565b600081831015611b635760006109b3565b50900390565b6000611b7482611efe565b61083190600019614470565b611bab6040518060800160405280600081526020016000815260200160008152602001600081525090565b60c08401518210611bcf5760405163b2094b5960e01b815260040160405180910390fd5b6000828560c00151611be19190614436565b9050611bed8582612ebb565b82526020850151611bff908590612f1c565b602083015284511580611c1457506020820151155b15611c3b578451602083015160405163b1c4aefb60e01b81526107ed9291906004016142c5565b611c5985600001518661010001518460200151856000015185612f53565b604083015260a0850151611c6d9082612fd4565b6060830152509392505050565b600080611c87878461300d565b90506000611c9f611c98888a6144a0565b8390611d32565b9050670d529ae9e8600000811315611cd65780670d529ae9e8600000604051637e34684f60e11b81526004016107ed9291906142c5565b6000611ce182613054565b905085611cee8289611d32565b611cf891906144a0565b9350670de0b6b3a7640000841215611d265760405163329e322960e21b8152600481018590526024016107ed565b50505095945050505050565b600080611d47670de0b6b3a764000085614470565b9050828181611d5857611d586144c8565b05949350505050565b600080821215611d7057600080fd5b5090565b600080611d818385614470565b9050670de0b6b3a764000081611d58565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611dd4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083191906143dd565b600080600080600080600080611e208c611e118d611efe565b611e1a8d611efe565b8c6130a7565b9350935093509350611e3184611d61565b9750611e3c83611d61565b9650611e4782611d61565b9550611e5281611d61565b945050505050945094509450949050565b600080600080611e7b86611e7687611efe565b613255565b91509150611e8882611d61565b9350611e9381611d61565b925050509250929050565b60006109b38383613320565b6000816001611eb9828661440c565b611ec39190614436565b6109b391906144de565b600080600080611ee18888611b1b89611efe565b91509150611b2e61082583613335565b6000826119198184613343565b60006001600160ff1b03821115611d7057600080fd5b6040805160808101825286815260208101869052908101849052606081018390526000908190819081611f488a8a89611b80565b90506000611f64876000611f5f856020015161335b565b613372565b905060005b816060015181101561201f57600080611f8c84868860000151600001518661343d565b9150915081611fa05760208401525061200f565b600080611fb78860000151888a60200151866134a8565b915091508760400151821061200657828660200181815250506000611fe5838a6040015189608001516134c5565b90508015612000575091995097509550612039945050505050565b5061200a565b8286525b505050505b612018816144f2565b9050611f69565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000808213611d70576120568261450b565b610831565b600080612070670de0b6b3a76400008561441f565b9050828181612081576120816144c8565b04949350505050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036120db5760405162461bcd60e51b81526004016107ed90614527565b6020810151606082015182516000926120f392611b80565b9050600061211487600061210f858760000151600001516134f8565b613589565b905060005b816060015181101561201f57600061213183836135bb565b905060008061214a876000015187896020015186613627565b91509150866040015182111561217357612165600184614436565b602086015250612244915050565b6000806000848a604001516121889190614436565b905060008661219e8c6000015160000151611d61565b6121a89190614436565b9050600085876121bb8d60200151611d61565b6121c5919061440c565b6121cf9190614436565b90506121db818961441f565b93506121e7828461441f565b94505050506121fb81838960800151613648565b1561221457509299509097509550612039945050505050565b81811161222d5761222685600161440c565b875261223e565b612238600186614436565b60208801525b50505050505b61224d816144f2565b9050612119565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816122888a8a89611b80565b905060006122a2878460400151611f5f856020015161335b565b905060005b816060015181101561201f576000806122ca84868860000151600001518661343d565b91509150816122de5760208401525061237b565b6000806122f58860000151888a60200151866134a8565b915091506000612312838a6020015161368090919063ffffffff16565b90506000896040015182612326919061440c565b9050808511612363578488526080880151612344908690839061368c565b1561235e57509a5091985090965061203995505050505050565b612374565b61236e600186614436565b60208901525b5050505050505b612384816144f2565b90506122a7565b6040805160808101825286815260208101869052908101849052606081018390526000908190816123bd898988611b80565b905060006123d986600061210f858760000151600001516134f8565b905060005b816060015181101561201f5760006123f683836135bb565b905060008061240f876000015187896020015186613627565b915091508660400151821161245a578285526040870151608086015160009161243a9185919061368c565b90508015612454575091975090955061247f945050505050565b5061246b565b612465600184614436565b60208601525b50505080612478906144f2565b90506123de565b9550959350505050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036124da5760405162461bcd60e51b81526004016107ed90614527565b6020810151606082015182516000926124f292611b80565b90506000612516876000611f5f8660400151612511876020015161335b565b6136ba565b905061252a816020015184604001516136ba565b602082015260005b816060015181101561201f5760008061255584868860000151600001518661343d565b91509150816125695760208401525061265b565b6000806125808860000151888a60200151866134a8565b9150915060008060008561259b8c6000015160000151611d61565b6125a5919061440c565b90506000868c604001516125b99190614436565b9050600085876125d08f6000015160200151611d61565b6125da9190614436565b6125e49190614436565b90506125f0838861441f565b94506125fc818361441f565b935050505061261082828a60800151613648565b1561262a5750929a50909850965061203995505050505050565b8082116126435761263c85600161440c565b8852612654565b61264e600186614436565b60208901525b5050505050505b612664816144f2565b9050612532565b6000680238fd42c5cf03ffff198212158015612690575068070c1cc73b00c800008213155b6126cf5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016107ed565b6000821215612707576126e48260000361266b565b6a0c097ce7bc90715b34b9f160241b81612700576127006144c8565b0592915050565b60006806f05b59d3b2000000831261274557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61277b565b6803782dace9d9000000831261277757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061277b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126127cb5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612807576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261284157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261287b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126128b457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126128ed5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412612926576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261295f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806000806040518060a001604052808a8152602001898152602001888152602001878152602001612abc898b611e9e90919063ffffffff16565b9052602081015160608201518251929350600092612adb929091611b80565b90506000612afa87846040015161210f858760000151600001516134f8565b905060005b816060015181101561201f576000612b1783836135bb565b9050600080612b30876000015187896020015186613627565b9150915086608001518211612b835782855260808088015190860151612b5791849161368c565b15612b7e576040870151612b6b9084614436565b9950919750909550612039945050505050565b612b94565b612b8e600184614436565b60208601525b50505080612ba1906144f2565b9050612aff565b6040805160808101825286815260208101869052908101849052606081018390526000908190819081612bdc8a8a89611b80565b90506000612bf887600061210f858760000151600001516134f8565b905060005b816060015181101561201f576000612c1583836135bb565b9050600080612c2e876000015187896020015186613627565b915091506000612c4b838960200151611ef190919063ffffffff16565b90506000612c67612c5c8387614436565b60208b015190611e9e565b905088604001518110612cae576020870185905260408901516080880151612c909183916134c5565b15612ca957939a50929850965061203995505050505050565b612cbc565b612cb985600161440c565b87525b505050505080612ccb906144f2565b9050612bfd565b604080516080810182528681526020810186905290810184905260608101839052600090819081612d04898988611b80565b90506000612d3486612d278560400151866020015161368090919063ffffffff16565b611f5f856020015161335b565b905060005b816060015181101561201f57600080612d5c84868860000151600001518661343d565b9150915081612d7057602084015250612dfb565b600080612d878860000151888a60200151866134a8565b915091506000612dab896040015184612da0919061440c565b60208b015190613680565b9050808411612ded578387526080870151600090612dcc908690849061368c565b90508015612de75750929950975061247f9650505050505050565b50612df5565b602087018490525b50505050505b612e04816144f2565b9050612d39565b600080612e1c8660c0015184101590565b15612e3a5760405163b2094b5960e01b815260040160405180910390fd5b85518412612e60578551604051632185509b60e21b81526107ed919086906004016142c5565b6000612e6d878786611b80565b9050612e7b878288886136d0565b9093509150612e8f8782888887878a613816565b5094509492505050565b600082600181612eb1670de0b6b3a76400008661441f565b611eb9919061440c565b6000612ec682611efe565b612edd612ed86201518061016d61441f565b611efe565b8460800151612eec9190614470565b612ef6919061454f565b90506000811361083157604051630e520c3b60e11b8152600481018290526024016107ed565b60008060008312612f2e576001612f32565b6000195b9050612f49612ed885612f4486612044565b6138a8565b6119199082614470565b600080612f608684612fd4565b9050670de0b6b3a7640000811215612f8e5760405163329e322960e21b8152600481018290526024016107ed565b6000612fa4612f9d878a6144a0565b8990611d32565b90506000612fb182613054565b9050612fbd8187611d32565b612fc79084614449565b9998505050505050505050565b600080612fe66201518061016d61441f565b612ff0848661441f565b612ffa91906144de565b905061191961300882611efe565b61266b565b60008183121561304a5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016107ed565b6109b38284614449565b6000670de0b6b3a7640000820361307e5760405163a9c8b14d60e01b815260040160405180910390fd5b600061309c61309584670de0b6b3a7640000614449565b8490611d32565b90506109b3816138bd565b60008080808615806130b7575085155b156130d5576040516325daaec360e01b815260040160405180910390fd5b60c088015185106130f95760405163b2094b5960e01b815260040160405180910390fd5b876040015160000361313c576103e8613120612ed861311b6108258a8c614470565b61394e565b61312a9190614449565b92506103e893508691508590506131df565b87516040890151600091906131519089614470565b61315b919061454f565b9050600089602001518a604001518a6131749190614470565b61317e919061454f565b9050808212156131b4578194508792508960400151858b602001516131a39190614470565b6131ad919061454f565b93506131dc565b8094508893508960400151858b600001516131cf9190614470565b6131d9919061454f565b92505b50505b8260000361320057604051631997ea8d60e31b815260040160405180910390fd5b818860200181815161321291906144a0565b9052508751819089906132269083906144a0565b90525061323384846144a0565b8860400181815161324491906144a0565b905250929791965094509092509050565b60008082600003613279576040516325daaec360e01b815260040160405180910390fd5b6040840151602085015161328d9085614470565b613297919061454f565b60408501518551919350906132ac9085614470565b6132b6919061454f565b90508115806132c3575080155b156132e157604051631997ea8d60e31b815260040160405180910390fd5b60408401516132f0908461300d565b60408501528351613301908261300d565b84526020840151613312908361300d565b602090940193909352929050565b600082611ec3670de0b6b3a76400008461441f565b600061083182600019614470565b6000670de0b6b3a7640000600181612eb1868661441f565b6000600161336883611d61565b6108319190614436565b6133ab6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b83516133b790846139bd565b815260208401516133c890836136ba565b60208201819052815111806133e85750670de0b6b3a76400008460800151115b1561341557835160208501516080860151604051632cc06bc160e21b81526107ed9392919060040161408f565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b600080600061344c87856135bb565b90508660a0015181116134645760019250905061349f565b6000613479878761347485611efe565b6139cc565b90506000811215613490575060009250905061349f565b5060a087018190526001925090505b94509492505050565b600080600080611b2187876134bc88611b69565b8b9291906136d0565b600082841015801561191957506134ed836134e884670de0b6b3a764000061440c565b613abe565b841115949350505050565b60008061352061300885600001518660400151876060015161351a9190614449565b90611d74565b90506000613539611c98670de0b6b3a7640000846144a0565b9050600061355786602001518661355091906144a0565b8390611d74565b905060006135658287614449565b90506103e861357382611d61565b61357f906103e761441f565b61082a91906144de565b6133ab6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000811580156135ce5750604083015115155b156135de57506040820151610831565b602083015183511161360e57602083015183516002916135fd9161440c565b61360791906144de565b9050610831565b604051637d388ed960e11b815260040160405180910390fd5b60008060008061363b87876134bc88611efe565b91509150611b2e82612044565b600083613661846134e885670de0b6b3a7640000614436565b1115801561191957506134ed836134e884670de0b6b3a764000061440c565b60006109b383836138a8565b600082841115801561191957506136af836134e884670de0b6b3a7640000614436565b909310159392505050565b60008183106136c957816109b3565b5090919050565b60008060006136f2876000015187602001518860000151896040015188611c7a565b905060006137086137038684611d32565b613335565b606088015190915060008613156137775760006137258483611d32565b9050670de0b6b3a76400008112156137535760405163329e322960e21b8152600481018290526024016107ed565b61376f61376883670de0b6b3a7640000614449565b8490611d74565b9150506137a4565b6137a18161378d81670de0b6b3a7640000614449565b6137979085614470565b613703919061454f565b90505b600060646137b58b60e00151611efe565b6137bf9084614470565b6137c9919061454f565b905060006137d78385614449565b9050600081126137f0576137eb8982613adc565b6137fa565b6137fa8982613b09565b96506138068983613adc565b9550505050505094509492505050565b6000818860c001516138289190614436565b8851909150613837908661300d565b885261385161384684866144a0565b60208a01519061300d565b60208901819052885161387691613869908990612f1c565b895160408b015185613b36565b610100890181905260000361389e57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b6000670de0b6b3a7640000611ec3848461441f565b60008082136138fe5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016107ed565b670c7d713b49da00008213801561391c5750670f43fc2c04ee000082125b1561394057670de0b6b3a764000061393383613b89565b81612700576127006144c8565b61083182613ca8565b919050565b600060038211156139af57508060006139686002836144de565b61397390600161440c565b90505b818110156139a95790508060028161398e81866144de565b613998919061440c565b6139a291906144de565b9050613976565b50919050565b811561394957506001919050565b60008183116136c957816109b3565b6000808285602001516139df9190614449565b905060006139ed85856144a0565b90506000821380156139ff5750600081135b613a405760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016107ed565b6000613a6e613a4f8484614470565b6020890151613a5e90896144a0565b613a689088614470565b90611d32565b90506000613a84613a7f8486611d32565b6138bd565b8851909150600090613a9f90670de0b6b3a764000090611d32565b9050613aaf8161351a8486614449565b8960400151612fc79190614449565b600080613acb838561441f565b9050670de0b6b3a764000081612081565b60008060008312613aee576001613af2565b6000195b9050612f49612ed885613b0486612044565b613320565b60008060008312613b1b576001613b1f565b6000195b9050612f49612ed885613b3186612044565b612e99565b600080613b47878787876000611c7a565b90506000613b57610825836138bd565b905083613b696201518061016d61441f565b613b73908361441f565b613b7d91906144de565b98975050505050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613bca57613bca6144c8565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613ce957613ce0826a0c097ce7bc90715b34b9f160241b81613cda57613cda6144c8565b05613ca8565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613d345772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613d6b576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613db3576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613dee576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613e2557693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613e5c57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613e915768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312613ebc57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312613ef1576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613f26576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312613f5a576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312613f8e576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281613fb757613fb76144c8565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b038116811461406057600080fd5b50565b6000806040838503121561407657600080fd5b82356140818161404b565b946020939093013593505050565b9283526020830191909152604082015260600190565b6000806000606084860312156140ba57600080fd5b83356140c58161404b565b92506020840135915060408401356140dc8161404b565b809150509250925092565b6000602082840312156140f957600080fd5b81356109b38161404b565b60008060006060848603121561411957600080fd5b83356141248161404b565b95602085013595506040909401359392505050565b6000806000806080858703121561414f57600080fd5b843561415a8161404b565b9350602085013561416a8161404b565b93969395505050506040820135916060013590565b60405161012081016001600160401b03811182821017156141b057634e487b7160e01b600052604160045260246000fd5b60405290565b600060a082840312156141c857600080fd5b60405160a081016001600160401b03811182821017156141f857634e487b7160e01b600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b600080600080610100858703121561424a57600080fd5b84356142558161404b565b935060208501356142658161404b565b92506040850135915061427b86606087016141b6565b905092959194509250565b600080600060e0848603121561429b57600080fd5b83356142a68161404b565b9250602084013591506142bc85604086016141b6565b90509250925092565b918252602082015260400190565b80516139498161404b565b600061012082840312156142f157600080fd5b6142f961417f565b82518152602083015160208201526040830151604082015261431d606084016142d3565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b60006020828403121561437257600080fd5b815180151581146109b357600080fd5b60008060006060848603121561439757600080fd5b83516143a28161404b565b60208501519093506143b38161404b565b60408501519092506140dc8161404b565b6001600160a01b03929092168252602082015260400190565b6000602082840312156143ef57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610831576108316143f6565b8082028115828204841417610831576108316143f6565b81810381811115610831576108316143f6565b8181036000831280158383131683831282161715614469576144696143f6565b5092915050565b80820260008212600160ff1b8414161561448c5761448c6143f6565b8181058314821517610831576108316143f6565b80820182811260008312801582168215821617156144c0576144c06143f6565b505092915050565b634e487b7160e01b600052601260045260246000fd5b6000826144ed576144ed6144c8565b500490565b600060018201614504576145046143f6565b5060010190565b6000600160ff1b8201614520576145206143f6565b5060000390565b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b60008261455e5761455e6144c8565b600160ff1b821460001984141615614578576145786143f6565b50059056fea2646970667358221220f434d4c33d61df5fac727a2fffb053e632707d636b7d1c40e7fb82abdbe41edd64736f6c63430008110033";
|
|
301
|
+
"0x6145af61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101695760003560e01c80630f8cb3211461016e5780631272d863146101a15780631b9d358d146101d05780631e0b8294146101f057806321b7679d1461021057806325cadd2c1461023057806331c6d55c1461025057806338f3ba8e146102705780633c71db3d146102835780633e32089f14610296578063672b79e4146102b657806368d384c0146102d6578063690a0cbd146102f65780636e7721ab146103365780637a1de2d1146103565780637a3f8ade146103765780639354f1e6146103965780639766cb4e146103b65780639a01bff6146103d7578063a4beab18146103f7578063af2c797114610417578063bd67ede41461042a578063c06225e81461044a578063c50b5c8b1461046a578063c74141f11461048a578063cf8a61d61461049d578063d8d33078146104bd578063ecde4739146104dd578063efb7601d146104fd575b600080fd5b81801561017a57600080fd5b5061018e61018936600461405f565b61051d565b6040519081526020015b60405180910390f35b8180156101ad57600080fd5b506101c16101bc36600461408b565b6106d0565b604051610198939291906140cd565b8180156101dc57600080fd5b5061018e6101eb3660046140e3565b6107d1565b8180156101fc57600080fd5b506101c161020b36600461405f565b610853565b81801561021c57600080fd5b506101c161022b36600461408b565b6108ef565b81801561023c57600080fd5b506101c161024b36600461405f565b6108ff565b81801561025c57600080fd5b506101c161026b36600461408b565b6109c6565b6101c161027e366004614100565b6109d6565b6101c1610291366004614135565b610a5e565b8180156102a257600080fd5b506101c16102b136600461422f565b610bdf565b8180156102c257600080fd5b506101c16102d136600461422f565b610cd5565b8180156102e257600080fd5b5061018e6102f136600461405f565b610dba565b81801561030257600080fd5b5061031661031136600461422f565b610e0d565b604080519485526020850193909352918301526060820152608001610198565b81801561034257600080fd5b506101c161035136600461405f565b610f07565b81801561036257600080fd5b506101c1610371366004614282565b610f99565b81801561038257600080fd5b506101c1610391366004614282565b611038565b8180156103a257600080fd5b506101c16103b1366004614282565b6110dc565b6103c96103c436600461405f565b611176565b6040516101989291906142c1565b8180156103e357600080fd5b506101c16103f236600461405f565b6111f6565b81801561040357600080fd5b50610316610412366004614282565b61133b565b6103c961042536600461408b565b6113e3565b81801561043657600080fd5b506101c1610445366004614282565b611542565b81801561045657600080fd5b50610316610465366004614282565b6115d8565b81801561047657600080fd5b50610316610485366004614282565b61170e565b61018e6104983660046140e3565b6117ce565b8180156104a957600080fd5b506103166104b8366004614282565b611859565b8180156104c957600080fd5b506101c16104d836600461405f565b6118f4565b8180156104e957600080fd5b506103166104f8366004614282565b6119c1565b81801561050957600080fd5b5061018e6105183660046140e3565b611af6565b6000826001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058191906142cf565b156105955750670de0b6b3a76400006106ca565b60008290506000846001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156105db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ff91906142fc565b9050600061061761060f876107d1565b839042611b03565b90506000610638836000015183602001518460000151856040015188611bfd565b905060008413156106a457600061065c836060015183611cb590919063ffffffff16565b9050670de0b6b3a764000081121561068f5760405163329e322960e21b8152600481018290526024015b60405180910390fd5b61069881611ce4565b955050505050506106ca565b6106c36106be836060015183611cf790919063ffffffff16565b611ce4565b9450505050505b92915050565b6000806000806106e087876111f6565b8094508195508293505050506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561072c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610750919061437e565b505060405163cbe52ae360e01b81529091506001600160a01b0382169063cbe52ae39061078390899086906004016143c0565b602060405180830381865afa1580156107a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c491906143d9565b9450505093509350939050565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610812573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610836919061437e565b9250505061084c816001600160a01b0316611d15565b9392505050565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc91906142fc565b90506108d36108ca876107d1565b82908742611d7b565b90945092506108e5866102f187611dba565b9150509250925092565b6000806000806106e087876118f4565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610944573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096891906142fc565b90506000610975876107d1565b9050600061098e610985896107d1565b84908942611d7b565b95509050600061099e8389611dd1565b90506109aa8183611ddd565b96506109b9896102f18a611dba565b9450505050509250925092565b6000806000806106e08787610853565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f91906142fc565b9050610a4d81878742611df4565b919a90995090975095505050505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac6919061437e565b505090506000816001600160a01b031663b8f82b2689896040518363ffffffff1660e01b8152600401610afa9291906143c0565b602060405180830381865afa158015610b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3b91906143d9565b90506000808a6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610b7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba391906142fc565b9050610bb181848a42611df4565b9199509096509250610bcf905083610bc9848c614408565b90611e5f565b9550505050509450945094915050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c47919061437e565b50509050610cc488826001600160a01b031663b8f82b268a8a6040518363ffffffff1660e01b8152600401610c7d9291906143c0565b602060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe91906143d9565b87610f99565b935093509350509450945094915050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3d919061437e565b50509050610cc488826001600160a01b031663b8f82b268a8a6040518363ffffffff1660e01b8152600401610d739291906143c0565b602060405180830381865afa158015610d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db491906143d9565b87611038565b600080610dc684611af6565b90506000610dd4858561051d565b9050610e0482610dfe610de685611e82565b610def85611e82565b610df9919061441f565b611e98565b90611eaf565b95945050505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e77919061437e565b50509050610ef489826001600160a01b031663b8f82b268b8b6040518363ffffffff1660e01b8152600401610ead9291906143c0565b602060405180830381865afa158015610eca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eee91906143d9565b886119c1565b929c919b50995090975095505050505050565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7091906142fc565b9050610f87610f7e876107d1565b82908742611ede565b90945092506108e5866102f187611e82565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610fde573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100291906142fc565b905061101a611010886107d1565b8290884289611f02565b909450925061102c876102f186611e82565b91505093509350939050565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561107d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a191906142fc565b905060006110ae886107d1565b90506110bd828289428a61201f565b90955093506110cf886102f187611dba565b9250505093509350939050565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906142fc565b90506000611152886107d1565b9050611161828289428a61215d565b9196509094506110cf9050886102f187611e82565b6000806000846001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156111ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111de91906142fc565b90506111ea8185612292565b90969095509350505050565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f91906142fc565b905060008061126e8388612292565b91509150876001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d491906142cf565b156112fd576112ec816112e68a6107d1565b906122cd565b6112f69083614446565b9550611331565b600061131461130b8a6107d1565b85908442611d7b565b965090506113228184614446565b96506109b9896102f184611dba565b5050509250925092565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a691906142fc565b905060006113b3896107d1565b90506113c282828a428b6122d9565b919750955093506113d6896102f187611dba565b9250505093509350935093565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144a919061437e565b50509050600080876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b491906142fc565b90506114c08188612292565b60405163cbe52ae360e01b81529095509092506001600160a01b0384169063cbe52ae3906114f490899086906004016143c0565b602060405180830381865afa158015611511573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153591906143d9565b9450505050935093915050565b600080600080866001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ab91906142fc565b90506115c36115b9886107d1565b8290884289612410565b91955090935061102c9050876102f186611dba565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561161f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164391906142fc565b905061165b611651896107d1565b829089428a612516565b90505080945050876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156116a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c591906142fc565b905060006116de6116d58a6107d1565b83908742611d7b565b945090506116f9816116f0878b614459565b84919042611df4565b509097506113d691508a90506102f187611dba565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611755573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177991906142fc565b9050600080611788838a612292565b915091506117a26117988b6107d1565b849084428c611f02565b90965094506117b18682614446565b96506117c08a6102f188611e82565b935050505093509350935093565b600080826001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611810573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183491906142fc565b90506000611846826101000151611e82565b9050611851816126f8565b949350505050565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa1580156118a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c491906142fc565b905060006118d1896107d1565b90506118e082828a428b612b0d565b919750955093506113d6896102f187611e82565b600080600080856001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195d91906142fc565b9050600061196a876107d1565b9050600061197a83838942611ede565b95509050600061198a8383612c35565b90506000611998828a614459565b90506119a484826122cd565b97506119b38a6102f18b611e82565b955050505050509250925092565b6000806000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2c91906142fc565b9050611a44611a3a896107d1565b829089428a612c42565b90505080945050876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aae91906142fc565b90506000611ac7611abe8a6107d1565b83908742611ede565b94509050611ae1611ad8828a614459565b83908742611df4565b509097506113d691508a90506102f187611e82565b60006106ca82600061051d565b611b2e6040518060800160405280600081526020016000815260200160008152602001600081525090565b60c08401518210611b525760405163b2094b5960e01b815260040160405180910390fd5b6000828560c00151611b649190614459565b9050611b708582612e07565b82526020850151611b82908590612e68565b602083015284511580611b9757506020820151155b15611bbe578451602083015160405163b1c4aefb60e01b81526106869291906004016142c1565b611bdc85600001518661010001518460200151856000015185612e9f565b604083015260a0850151611bf09082612f20565b6060830152509392505050565b600080611c0a8784612f59565b90506000611c22611c1b888a61446c565b8390611cb5565b9050670d529ae9e8600000811315611c595780670d529ae9e8600000604051637e34684f60e11b81526004016106869291906142c1565b6000611c6482612fa0565b905085611c718289611cb5565b611c7b919061446c565b9350670de0b6b3a7640000841215611ca95760405163329e322960e21b815260048101859052602401610686565b50505095945050505050565b600080611cca670de0b6b3a764000085614494565b9050828181611cdb57611cdb6144c4565b05949350505050565b600080821215611cf357600080fd5b5090565b600080611d048385614494565b9050670de0b6b3a764000081611cdb565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611d57573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ca91906143d9565b600080600080611d958888611d8f89611dba565b88612ff3565b91509150611da282611ce4565b9350611dad81611ce4565b9250505094509492505050565b6000611dc582611e82565b6106ca90600019614494565b600061084c8383613081565b600081831015611dee57600061084c565b50900390565b600080600080600080600080611e1c8c611e0d8d611e82565b611e168d611e82565b8c6130a3565b9350935093509350611e2d84611ce4565b9750611e3883611ce4565b9650611e4382611ce4565b9550611e4e81611ce4565b945050505050945094509450949050565b6000816001611e6e8286614446565b611e789190614459565b61084c91906144da565b60006001600160ff1b03821115611cf357600080fd5b6000808213611cf357611eaa826144ee565b6106ca565b600080611ec4670de0b6b3a764000085614408565b9050828181611ed557611ed56144c4565b04949350505050565b600080600080611ef28888611d8f89611e82565b91509150611da26106be83613251565b604080516080810182528681526020810186905290810184905260608101839052600090819081611f34898988611b03565b90506000611f55866000611f508587600001516000015161325f565b6132f0565b905060005b8160600151811015611ffb576000611f7283836133b4565b9050600080611f8b876000015187896020015186613420565b9150915086604001518211611fd65782855260408701516080860151600091611fb69185919061344a565b90508015611fd05750919750909550612015945050505050565b50611fe7565b611fe1600184614459565b60208601525b50505080611ff49061450a565b9050611f5a565b50604051637d388ed960e11b815260040160405180910390fd5b9550959350505050565b604080516080810182528681526020810186905290810184905260608101839052600090819081612051898988611b03565b90506000612086866120748560400151866020015161347d90919063ffffffff16565b6120818560200151613489565b6134a0565b905060005b8160600151811015611ffb576000806120ae8486886000015160000151866134d9565b91509150816120c25760208401525061214d565b6000806120d98860000151888a6020015186613544565b9150915060006120fd8960400151846120f29190614446565b60208b01519061347d565b905080841161213f57838752608087015160009061211e908690849061344a565b90508015612139575092995097506120159650505050505050565b50612147565b602087018490525b50505050505b6121568161450a565b905061208b565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816121918a8a89611b03565b905060006121ad876000611f508587600001516000015161325f565b905060005b8160600151811015611ffb5760006121ca83836133b4565b90506000806121e3876000015187896020015186613420565b915091506000612200838960200151612c3590919063ffffffff16565b9050600061221c6122118387614459565b60208b0151906122cd565b905088604001518110612263576020870185905260408901516080880151612245918391613558565b1561225e57939a50929850965061228795505050505050565b612271565b61226e856001614446565b87525b5050505050806122809061450a565b90506121b2565b955095509592505050565b6000806000806122aa866122a587611e82565b613586565b915091506122b782611ce4565b93506122c281611ce4565b925050509250929050565b600061084c8383613651565b604080516080810182528681526020810186905290810184905260608101839052600090819081908161230d8a8a89611b03565b905060006123278784604001516120818560200151613489565b905060005b8160600151811015611ffb5760008061234f8486886000015160000151866134d9565b915091508161236357602084015250612400565b60008061237a8860000151888a6020015186613544565b915091506000612397838a6020015161347d90919063ffffffff16565b905060008960400151826123ab9190614446565b90508085116123e85784885260808801516123c9908690839061344a565b156123e357509a5091985090965061228795505050505050565b6123f9565b6123f3600186614459565b60208901525b5050505050505b6124098161450a565b905061232c565b60408051608081018252868152602081018690529081018490526060810183905260009081908190816124448a8a89611b03565b9050600061245b8760006120818560200151613489565b905060005b8160600151811015611ffb576000806124838486886000015160000151866134d9565b915091508161249757602084015250612506565b6000806124ae8860000151888a6020015186613544565b91509150876040015182106124fd578286602001818152505060006124dc838a604001518960800151613558565b905080156124f7575091995097509550612287945050505050565b50612501565b8286525b505050505b61250f8161450a565b9050612460565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036125675760405162461bcd60e51b815260040161068690614523565b60208101516060820151825160009261257f92611b03565b905060006125a3876000612081866040015161259e8760200151613489565b613666565b90506125b781602001518460400151613666565b602082015260005b8160600151811015611ffb576000806125e28486886000015160000151866134d9565b91509150816125f6576020840152506126e8565b60008061260d8860000151888a6020015186613544565b915091506000806000856126288c6000015160000151611ce4565b6126329190614446565b90506000868c604001516126469190614459565b90506000858761265d8f6000015160200151611ce4565b6126679190614459565b6126719190614459565b905061267d8388614408565b94506126898183614408565b935050505061269d82828a6080015161367c565b156126b75750929a50909850965061228795505050505050565b8082116126d0576126c9856001614446565b88526126e1565b6126db600186614459565b60208901525b5050505050505b6126f18161450a565b90506125bf565b6000680238fd42c5cf03ffff19821215801561271d575068070c1cc73b00c800008213155b61275c5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610686565b600082121561279457612771826000036126f8565b6a0c097ce7bc90715b34b9f160241b8161278d5761278d6144c4565b0592915050565b60006806f05b59d3b200000083126127d257506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b612808565b6803782dace9d9000000831261280457506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380612808565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126128585768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612894576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126128ce57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412612908576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261294157680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261297a5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126129b3576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126129ec5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806000806040518060a001604052808a8152602001898152602001888152602001878152602001612b49898b6122cd90919063ffffffff16565b9052602081015160608201518251929350600092612b68929091611b03565b90506000612b87878460400151611f508587600001516000015161325f565b905060005b8160600151811015611ffb576000612ba483836133b4565b9050600080612bbd876000015187896020015186613420565b9150915086608001518211612c105782855260808088015190860151612be491849161344a565b15612c0b576040870151612bf89084614459565b9950919750909550612287945050505050565b612c21565b612c1b600184614459565b60208601525b50505080612c2e9061450a565b9050612b8c565b60008261185181846136b4565b60008060008060405180608001604052808a8152602001898152602001888152602001878152509050806000015160400151600003612c935760405162461bcd60e51b815260040161068690614523565b602081015160608201518251600092612cab92611b03565b90506000612cc7876000611f508587600001516000015161325f565b905060005b8160600151811015611ffb576000612ce483836133b4565b9050600080612cfd876000015187896020015186613420565b915091508660400151821115612d2657612d18600184614459565b602086015250612df7915050565b6000806000848a60400151612d3b9190614459565b9050600086612d518c6000015160000151611ce4565b612d5b9190614459565b905060008587612d6e8d60200151611ce4565b612d789190614446565b612d829190614459565b9050612d8e8189614408565b9350612d9a8284614408565b9450505050612dae8183896080015161367c565b15612dc757509299509097509550612287945050505050565b818111612de057612dd9856001614446565b8752612df1565b612deb600186614459565b60208801525b50505050505b612e008161450a565b9050612ccc565b6000612e1282611e82565b612e29612e246201518061016d614408565b611e82565b8460800151612e389190614494565b612e42919061454b565b9050600081136106ca57604051630e520c3b60e11b815260048101829052602401610686565b60008060008312612e7a576001612e7e565b6000195b9050612e95612e2485612e9086611e98565b6136cc565b6118519082614494565b600080612eac8684612f20565b9050670de0b6b3a7640000811215612eda5760405163329e322960e21b815260048101829052602401610686565b6000612ef0612ee9878a61446c565b8990611cb5565b90506000612efd82612fa0565b9050612f098187611cb5565b612f13908461441f565b9998505050505050505050565b600080612f326201518061016d614408565b612f3c8486614408565b612f4691906144da565b9050611851612f5482611e82565b6126f8565b600081831215612f965760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610686565b61084c828461441f565b6000670de0b6b3a76400008203612fca5760405163a9c8b14d60e01b815260040160405180910390fd5b6000612fe8612fe184670de0b6b3a764000061441f565b8490611cb5565b905061084c816136e1565b6000806130048660c0015184101590565b156130225760405163b2094b5960e01b815260040160405180910390fd5b85518412613048578551604051632185509b60e21b8152610686919086906004016142c1565b6000613055878786611b03565b905061306387828888613772565b90935091506130778782888887878a6138b8565b5094509492505050565b600082600181613099670de0b6b3a764000086614408565b611e6e9190614446565b60008080808615806130b3575085155b156130d1576040516325daaec360e01b815260040160405180910390fd5b60c088015185106130f55760405163b2094b5960e01b815260040160405180910390fd5b8760400151600003613138576103e861311c612e246131176106be8a8c614494565b61394a565b613126919061441f565b92506103e893508691508590506131db565b875160408901516000919061314d9089614494565b613157919061454b565b9050600089602001518a604001518a6131709190614494565b61317a919061454b565b9050808212156131b0578194508792508960400151858b6020015161319f9190614494565b6131a9919061454b565b93506131d8565b8094508893508960400151858b600001516131cb9190614494565b6131d5919061454b565b92505b50505b826000036131fc57604051631997ea8d60e31b815260040160405180910390fd5b818860200181815161320e919061446c565b90525087518190899061322290839061446c565b90525061322f848461446c565b88604001818151613240919061446c565b905250929791965094509092509050565b60006106ca82600019614494565b600080613287612f54856000015186604001518760600151613281919061441f565b90611cf7565b905060006132a0611c1b670de0b6b3a76400008461446c565b905060006132be8660200151866132b7919061446c565b8390611cf7565b905060006132cc828761441f565b90506103e86132da82611ce4565b6132e6906103e7614408565b6106c391906144da565b6133226040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b835161332e90846139b9565b8152602084015161333f9083613666565b602082018190528151118061335f5750670de0b6b3a76400008460800151115b1561338c57835160208501516080860151604051632cc06bc160e21b8152610686939291906004016140cd565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b6000811580156133c75750604083015115155b156133d7575060408201516106ca565b602083015183511161340757602083015183516002916133f691614446565b61340091906144da565b90506106ca565b604051637d388ed960e11b815260040160405180910390fd5b60008060008061343d878761343488611e82565b8b929190613772565b91509150611da282611e98565b600082841115801561185157506134728361346d84670de0b6b3a7640000614459565b6139c8565b841015949350505050565b600061084c83836136cc565b6000600161349683611ce4565b6106ca9190614459565b6133226040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008060006134e887856133b4565b90508660a0015181116135005760019250905061353b565b6000613515878761351085611e82565b6139e6565b9050600081121561352c575060009250905061353b565b5060a087018190526001925090505b94509492505050565b600080600080611d95878761343488611dba565b6000828410158015611851575061357b8361346d84670de0b6b3a7640000614446565b909311159392505050565b600080826000036135aa576040516325daaec360e01b815260040160405180910390fd5b604084015160208501516135be9085614494565b6135c8919061454b565b60408501518551919350906135dd9085614494565b6135e7919061454b565b90508115806135f4575080155b1561361257604051631997ea8d60e31b815260040160405180910390fd5b60408401516136219084612f59565b604085015283516136329082612f59565b845260208401516136439083612f59565b602090940193909352929050565b600082611e78670de0b6b3a764000084614408565b6000818310613675578161084c565b5090919050565b6000836136958461346d85670de0b6b3a7640000614459565b11158015611851575061357b8361346d84670de0b6b3a7640000614446565b6000670de0b6b3a76400006001816130998686614408565b6000670de0b6b3a7640000611e788484614408565b60008082136137225760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610686565b670c7d713b49da0000821380156137405750670f43fc2c04ee000082125b1561376457670de0b6b3a764000061375783613ad8565b8161278d5761278d6144c4565b6106ca82613bf7565b919050565b6000806000613794876000015187602001518860000151896040015188611bfd565b905060006137aa6137a58684611cb5565b613251565b606088015190915060008613156138195760006137c78483611cb5565b9050670de0b6b3a76400008112156137f55760405163329e322960e21b815260048101829052602401610686565b61381161380a83670de0b6b3a764000061441f565b8490611cf7565b915050613846565b6138438161382f81670de0b6b3a764000061441f565b6138399085614494565b6137a5919061454b565b90505b600060646138578b60e00151611e82565b6138619084614494565b61386b919061454b565b90506000613879838561441f565b9050600081126138925761388d8982613f9a565b61389c565b61389c8982613fc7565b96506138a88983613f9a565b9550505050505094509492505050565b6000818860c001516138ca9190614459565b88519091506138d99086612f59565b88526138f36138e8848661446c565b60208a015190612f59565b6020890181905288516139189161390b908990612e68565b895160408b015185613ff4565b610100890181905260000361394057604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b600060038211156139ab57508060006139646002836144da565b61396f906001614446565b90505b818110156139a55790508060028161398a81866144da565b6139949190614446565b61399e91906144da565b9050613972565b50919050565b811561376d57506001919050565b6000818311613675578161084c565b6000806139d58385614408565b9050670de0b6b3a764000081611ed5565b6000808285602001516139f9919061441f565b90506000613a07858561446c565b9050600082138015613a195750600081135b613a5a5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610686565b6000613a88613a698484614494565b6020890151613a78908961446c565b613a829088614494565b90611cb5565b90506000613a9e613a998486611cb5565b6136e1565b8851909150600090613ab990670de0b6b3a764000090611cb5565b9050613ac981613281848661441f565b8960400151612f13919061441f565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613b1957613b196144c4565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613c3857613c2f826a0c097ce7bc90715b34b9f160241b81613c2957613c296144c4565b05613bf7565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613c835772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613cba576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613d02576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613d3d576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613d7457693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613dab57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613de05768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312613e0b57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312613e40576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613e75576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312613ea9576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312613edd576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281613f0657613f066144c4565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b60008060008312613fac576001613fb0565b6000195b9050612e95612e2485613fc286611e98565b613651565b60008060008312613fd9576001613fdd565b6000195b9050612e95612e2485613fef86611e98565b613081565b600080614005878787876000611bfd565b905060006140156106be836136e1565b9050836140276201518061016d614408565b6140319083614408565b61403b91906144da565b98975050505050505050565b6001600160a01b038116811461405c57600080fd5b50565b6000806040838503121561407257600080fd5b823561407d81614047565b946020939093013593505050565b6000806000606084860312156140a057600080fd5b83356140ab81614047565b92506020840135915060408401356140c281614047565b809150509250925092565b9283526020830191909152604082015260600190565b6000602082840312156140f557600080fd5b813561084c81614047565b60008060006060848603121561411557600080fd5b833561412081614047565b95602085013595506040909401359392505050565b6000806000806080858703121561414b57600080fd5b843561415681614047565b9350602085013561416681614047565b93969395505050506040820135916060013590565b60405161012081016001600160401b03811182821017156141ac57634e487b7160e01b600052604160045260246000fd5b60405290565b600060a082840312156141c457600080fd5b60405160a081016001600160401b03811182821017156141f457634e487b7160e01b600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b600080600080610100858703121561424657600080fd5b843561425181614047565b9350602085013561426181614047565b92506040850135915061427786606087016141b2565b905092959194509250565b600080600060e0848603121561429757600080fd5b83356142a281614047565b9250602084013591506142b885604086016141b2565b90509250925092565b918252602082015260400190565b6000602082840312156142e157600080fd5b8151801515811461084c57600080fd5b805161376d81614047565b6000610120828403121561430f57600080fd5b61431761417b565b82518152602083015160208201526040830151604082015261433b606084016142f1565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b60008060006060848603121561439357600080fd5b835161439e81614047565b60208501519093506143af81614047565b60408501519092506140c281614047565b6001600160a01b03929092168252602082015260400190565b6000602082840312156143eb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106ca576106ca6143f2565b818103600083128015838313168383128216171561443f5761443f6143f2565b5092915050565b808201808211156106ca576106ca6143f2565b818103818111156106ca576106ca6143f2565b808201828112600083128015821682158216171561448c5761448c6143f2565b505092915050565b80820260008212600160ff1b841416156144b0576144b06143f2565b81810583148215176106ca576106ca6143f2565b634e487b7160e01b600052601260045260246000fd5b6000826144e9576144e96144c4565b500490565b6000600160ff1b8201614503576145036143f2565b5060000390565b60006001820161451c5761451c6143f2565b5060010190565b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b60008261455a5761455a6144c4565b600160ff1b821460001984141615614574576145746143f2565b50059056fea26469706673582212200a803b852884698c00a48ea3db942432d9569547b31ebfa14a0f7d44f3b7f78264736f6c63430008110033";
|
|
302
302
|
|
|
303
303
|
type MarketMathStaticConstructorParams =
|
|
304
304
|
| [signer?: Signer]
|
|
@@ -98,7 +98,7 @@ const _abi = [
|
|
|
98
98
|
];
|
|
99
99
|
|
|
100
100
|
const _bytecode =
|
|
101
|
-
"
|
|
101
|
+
"0x61105a61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100825760003560e01c80631dd421ce14610087578063335129ad146100b05780634af74b68146100db578063587cdc06146101165780635d27625914610149578063b8d236ac1461016a578063ca7dab2c1461017d578063f8500bcc146101cc575b600080fd5b61009a610095366004610aaf565b6101ec565b6040516100a79190610ba8565b60405180910390f35b6100c36100be366004610bf5565b6102d0565b6040516001600160d81b0390911681526020016100a7565b8180156100e757600080fd5b506100fb6100f6366004610c3a565b61044f565b6040805161ffff9384168152929091166020830152016100a7565b81801561012257600080fd5b50610136610131366004610c63565b610598565b60405161ffff90911681526020016100a7565b61015c610157366004610c9f565b61062c565b6040516100a7929190610d16565b61015c610178366004610d31565b6107e6565b81801561018957600080fd5b506100fb610198366004610d8f565b6040805160608101825263ffffffff9290921680835260006020840152600192909101829052600160f81b17909155908190565b6101df6101da366004610dbb565b610995565b6040516100a79190610e63565b60608161ffff1660000361021357604051636a86842160e01b815260040160405180910390fd5b84516001600160401b0381111561022c5761022c610a40565b604051908082528060200260200182016040528015610255578160200160208202803683370190505b50905060005b81518110156102c55761028b888888848151811061027b5761027b610e77565b60200260200101518888886102d0565b82828151811061029d5761029d610e77565b6001600160d81b03909216602092830291909101909101526102be81610ea3565b905061025b565b509695505050505050565b60008463ffffffff16600003610369576000878461ffff1661ffff81106102f9576102f9610e77565b60408051606081018252919092015463ffffffff808216808452600160201b83046001600160d81b03166020850152600160f81b90920460ff161515938301939093529092509088161461035e57610352818887610995565b60200151915050610445565b602001519050610445565b60006103758688610ebc565b90506000806103878a848989896107e6565b91509150816000015163ffffffff168363ffffffff16036103b057506020015191506104459050565b806000015163ffffffff168363ffffffff16036103d557602001519250610445915050565b815181516103e39190610ebc565b63ffffffff168260000151846103f99190610ebc565b63ffffffff16836020015183602001516104139190610ee0565b6001600160d81b03166104269190610f00565b6104309190610f2d565b826020015161043f9190610f41565b93505050505b9695505050505050565b6000806000888861ffff1661ffff811061046b5761046b610e77565b60408051606081018252919092015463ffffffff808216808452600160201b83046001600160d81b03166020850152600160f81b90920460ff1615159383019390935290925090881690036104c6578785925092505061058d565b8461ffff168461ffff161180156104ee57506104e3600186610f61565b61ffff168861ffff16145b156104fb578391506104ff565b8491505b8161050b896001610f7c565b6105159190610f97565b9250610522818888610995565b898461ffff1661ffff811061053957610539610e77565b82519101805460208401516040909401511515600160f81b026001600160f81b036001600160d81b03909516600160201b026001600160f81b031990921663ffffffff909416939093171792909216179055505b965096945050505050565b60008261ffff166000036105bf5760405163dc14e8a160e01b815260040160405180910390fd5b8261ffff168261ffff16116105d5575081610625565b825b8261ffff168161ffff1614610620576001858261ffff1661ffff81106105ff576105ff610e77565b01805463ffffffff191663ffffffff929092169190911790556001016105d7565b508190505b9392505050565b610634610a07565b61063c610a07565b60008361064a866001610f7c565b6106549190610f97565b61ffff169050600060018561ffff168361066e9190610fb8565b6106789190610fcb565b905060005b60026106898385610fb8565b6106939190610f2d565b9050886106a461ffff881683610fde565b61ffff81106106b5576106b5610e77565b60408051606081018252919092015463ffffffff81168252600160201b81046001600160d81b03166020830152600160f81b900460ff161515918101829052955061070c57610705816001610fb8565b925061067d565b8861ffff871661071d836001610fb8565b6107279190610fde565b61ffff811061073857610738610e77565b60408051606081018252919092015463ffffffff8082168352600160201b82046001600160d81b03166020840152600160f81b90910460ff16151592820192909252865190955089821691161180159081906107a45750846000015163ffffffff168963ffffffff1611155b156107af57506107da565b806107c6576107bf600183610fcb565b92506107d4565b6107d1826001610fb8565b93505b5061067d565b50505094509492505050565b6107ee610a07565b6107f6610a07565b868461ffff1661ffff811061080d5761080d610e77565b60408051606081018252919092015463ffffffff808216808452600160201b83046001600160d81b03166020850152600160f81b90920460ff161515938301939093529093509087161061088157815163ffffffff87811691161461098b5781610878838888610995565b9150915061098b565b868361088e866001610f7c565b6108989190610f97565b61ffff1661ffff81106108ad576108ad610e77565b60408051606081018252919092015463ffffffff81168252600160201b81046001600160d81b03166020830152600160f81b900460ff16151591810182905292506109325760408051606081018252885463ffffffff81168252600160201b81046001600160d81b03166020830152600160f81b900460ff1615159181019190915291505b816000015163ffffffff168663ffffffff16101561097a578151604051632728d09b60e21b815263ffffffff8089166004830152909116602482015260440160405180910390fd5b6109868787868661062c565b915091505b9550959350505050565b61099d610a07565b60405180606001604052808463ffffffff1681526020018560000151856109c49190610ebc565b6109dd9063ffffffff166001600160601b038616610ff2565b86602001516109ec9190610f41565b6001600160d81b031681526001602090910152949350505050565b604080516060810182526000808252602082018190529181019190915290565b803563ffffffff81168114610a3b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610a7e57610a7e610a40565b604052919050565b80356001600160601b0381168114610a3b57600080fd5b803561ffff81168114610a3b57600080fd5b60008060008060008060c08789031215610ac857600080fd5b863595506020610ad9818901610a27565b955060408801356001600160401b0380821115610af557600080fd5b818a0191508a601f830112610b0957600080fd5b813581811115610b1b57610b1b610a40565b8060051b9150610b2c848301610a56565b818152918301840191848101908d841115610b4657600080fd5b938501935b83851015610b6b57610b5c85610a27565b82529385019390850190610b4b565b809950505050505050610b8060608801610a86565b9250610b8e60808801610a9d565b9150610b9c60a08801610a9d565b90509295509295509295565b6020808252825182820181905260009190848201906040850190845b81811015610be95783516001600160d81b031683529284019291840191600101610bc4565b50909695505050505050565b60008060008060008060c08789031215610c0e57600080fd5b86359550610c1e60208801610a27565b9450610c2c60408801610a27565b9350610b8060608801610a86565b60008060008060008060c08789031215610c5357600080fd5b86359550610c1e60208801610a9d565b600080600060608486031215610c7857600080fd5b83359250610c8860208501610a9d565b9150610c9660408501610a9d565b90509250925092565b60008060008060808587031215610cb557600080fd5b84359350610cc560208601610a27565b9250610cd360408601610a9d565b9150610ce160608601610a9d565b905092959194509250565b805163ffffffff1682526020808201516001600160d81b0316908301526040908101511515910152565b60c08101610d248285610cec565b6106256060830184610cec565b600080600080600060a08688031215610d4957600080fd5b85359450610d5960208701610a27565b9350610d6760408701610a86565b9250610d7560608701610a9d565b9150610d8360808701610a9d565b90509295509295909350565b60008060408385031215610da257600080fd5b82359150610db260208401610a27565b90509250929050565b600080600083850360a0811215610dd157600080fd5b6060811215610ddf57600080fd5b50604051606081016001600160401b0381118282101715610e0257610e02610a40565b604052610e0e85610a27565b815260208501356001600160d81b0381168114610e2a57600080fd5b602082015260408501358015158114610e4257600080fd5b60408201529250610e5560608501610a27565b9150610c9660808501610a86565b60608101610e718284610cec565b92915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610eb557610eb5610e8d565b5060010190565b63ffffffff828116828216039080821115610ed957610ed9610e8d565b5092915050565b6001600160d81b03828116828216039080821115610ed957610ed9610e8d565b8082028115828204841417610e7157610e71610e8d565b634e487b7160e01b600052601260045260246000fd5b600082610f3c57610f3c610f17565b500490565b6001600160d81b03818116838216019080821115610ed957610ed9610e8d565b61ffff828116828216039080821115610ed957610ed9610e8d565b61ffff818116838216019080821115610ed957610ed9610e8d565b600061ffff80841680610fac57610fac610f17565b92169190910692915050565b80820180821115610e7157610e71610e8d565b81810381811115610e7157610e71610e8d565b600082610fed57610fed610f17565b500690565b6001600160d81b0382811682821681810283169291811582850482141761101b5761101b610e8d565b5050509291505056fea26469706673582212203ac07d5e8c4bf589e09e186b60f9e0835809a674380c5d775df6c71e543466dd64736f6c63430008110033";
|
|
102
102
|
|
|
103
103
|
type OracleLibConstructorParams =
|
|
104
104
|
| [signer?: Signer]
|