@pendle/core-v2 2.15.2 → 2.17.0-tradingbot
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/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -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/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.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 +2 -2
- 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/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +1189 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +322 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.json +24 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.json +24 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.json +234 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
- package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.dbg.json +4 -0
- package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.json +631 -0
- package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.json +631 -0
- package/build/artifacts/contracts/core/TradingBot/BotDecisionLib.sol/BotDecisionLib.dbg.json +4 -0
- package/build/artifacts/contracts/core/TradingBot/BotDecisionLib.sol/BotDecisionLib.json +10 -0
- package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
- package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.json +10 -0
- package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
- package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +1888 -0
- package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
- package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.json +24 -0
- package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
- package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +581 -0
- package/build/artifacts/contracts/core/TradingBot/TradingBotOffchain.sol/TradingBotOffchain.dbg.json +4 -0
- package/build/artifacts/contracts/core/TradingBot/TradingBotOffchain.sol/TradingBotOffchain.json +1071 -0
- 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 +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
- package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
- package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.json +1172 -0
- package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.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/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +874 -0
- package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +408 -0
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +4 -0
- package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json → offchain-helpers/BoringLpSeller.sol/BoringLpSeller.json} +2 -2
- package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +10 -0
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +166 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
- 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/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
- 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/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +60 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{arbitrum/IAggregationExecutor.sol → IAggregationExecutor.sol}/IAggregationExecutor.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json → IExecutorHelper.sol/IExecutorHelper.json} +147 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{ethereum/IHashflow.sol → IHashflow.sol}/IHashflow.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{arbitrum/IMetaAggregationRouterV2.sol → IMetaAggregationRouterV2.sol}/IMetaAggregationRouterV2.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json → KyberInputScalingHelper.sol/KyberInputScalingHelper.json} +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.json +10 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol +153 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +289 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +629 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol +113 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol +381 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol +206 -0
- package/contracts/core/TradingBot/BotActionCallback.sol +112 -0
- package/contracts/core/TradingBot/BotActionHelper.sol +138 -0
- package/contracts/core/TradingBot/BotDecisionLib.sol +272 -0
- package/contracts/core/TradingBot/BotSimulationLib.sol +115 -0
- package/contracts/core/TradingBot/LongYieldTradingBot.sol +148 -0
- package/contracts/core/TradingBot/MarketExtLib.sol +246 -0
- package/contracts/core/TradingBot/README.md +151 -0
- package/contracts/core/TradingBot/TradingBotBase.sol +120 -0
- package/contracts/core/TradingBot/TradingBotOffchain.sol +131 -0
- package/contracts/core/libraries/Errors.sol +12 -0
- package/contracts/core/libraries/TokenAmountLib.sol +47 -0
- package/contracts/interfaces/Balancer/IERC4626LinearPool.sol +181 -0
- package/contracts/interfaces/Balancer/IVault.sol +13 -0
- package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +89 -0
- package/contracts/interfaces/TradingBot/ITradingBotBase.sol +40 -0
- package/contracts/offchain-helpers/BoringLpSeller.sol +47 -0
- package/contracts/oracles/samples/PendleLpGlpOracle.sol +49 -0
- package/deployments/1-markets/BALANCER-LP-AURA-BBAWETHSWETH-SEP-26-2024.json +10 -0
- package/deployments/1-markets/STETH-DEC2027.json +10 -0
- package/deployments/merkle-distribution/2023-05-25.json +3749 -0
- package/package.json +1 -1
- package/typechain-types/BbAPoolHelper.ts +89 -0
- package/typechain-types/BbAWethHelper.ts +89 -0
- package/typechain-types/BotActionCallback.ts +723 -0
- package/typechain-types/BotActionHelper.ts +723 -0
- package/typechain-types/CamelotV1LpHelper.ts +203 -0
- package/typechain-types/CamelotV1Preview.ts +431 -0
- package/typechain-types/ComposableStablePreview.ts +501 -0
- package/typechain-types/ICamelotSY.ts +100 -0
- package/typechain-types/IERC4626LinearPool.ts +1649 -0
- package/typechain-types/IExecutorHelper.ts +863 -0
- package/typechain-types/ILongYieldTradingBot.ts +644 -0
- package/typechain-types/IPendlePreviewHelper.ts +147 -0
- package/typechain-types/IThenaFactory.ts +245 -0
- package/typechain-types/IThenaGaugeV2.ts +206 -0
- package/typechain-types/IThenaPair.ts +579 -0
- package/typechain-types/IThenaRouter.ts +313 -0
- package/typechain-types/IThenaSY.ts +81 -0
- package/typechain-types/ITradingBotBase.ts +483 -0
- package/typechain-types/LinearPreview.ts +402 -0
- package/typechain-types/LongYieldTradingBot.ts +1482 -0
- package/typechain-types/MarketExtLib.ts +81 -0
- package/typechain-types/PendleArbitrumStakedEthSY.ts +1222 -0
- package/typechain-types/PendleAuraBbAWethSwethSY.ts +1532 -0
- package/typechain-types/PendleCamelotV1SY.ts +245 -0
- package/typechain-types/PendleLpGlpOracle.ts +145 -0
- package/typechain-types/PendleSwap.ts +126 -0
- package/typechain-types/PendleThenaSY.ts +1445 -0
- package/typechain-types/{PendleCamelotV1RouterHelper.ts → ThenaLpHelper.ts} +44 -5
- package/typechain-types/{CamelotV1PreviewHelper.ts → ThenaPreview.ts} +23 -63
- package/typechain-types/TradingBotBase.ts +679 -0
- package/typechain-types/TradingBotOffchain.ts +544 -0
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
- package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/BbAPoolHelper__factory.ts +36 -0
- package/typechain-types/factories/BbAWethHelper__factory.ts +36 -0
- package/typechain-types/factories/BotActionCallback__factory.ts +646 -0
- package/typechain-types/factories/BotActionHelper__factory.ts +646 -0
- package/typechain-types/factories/Broadcaster__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
- package/typechain-types/factories/BulkSeller__factory.ts +1 -1
- package/typechain-types/factories/CamelotV1LpHelper__factory.ts +143 -0
- package/typechain-types/factories/CamelotV1Preview__factory.ts +309 -0
- package/typechain-types/factories/ComposableStablePreview__factory.ts +379 -0
- package/typechain-types/factories/Errors__factory.ts +150 -1
- package/typechain-types/factories/ICamelotSY__factory.ts +49 -0
- package/typechain-types/factories/IERC4626LinearPool__factory.ts +1187 -0
- package/typechain-types/factories/IExecutorHelper__factory.ts +548 -0
- package/typechain-types/factories/ILongYieldTradingBot__factory.ts +893 -0
- package/typechain-types/factories/IPendlePreviewHelper__factory.ts +78 -0
- package/typechain-types/factories/IThenaFactory__factory.ts +164 -0
- package/typechain-types/factories/IThenaGaugeV2__factory.ts +83 -0
- package/typechain-types/factories/IThenaPair__factory.ts +421 -0
- package/typechain-types/factories/IThenaRouter__factory.ts +200 -0
- package/typechain-types/factories/IThenaSY__factory.ts +36 -0
- package/typechain-types/factories/ITradingBotBase__factory.ts +423 -0
- package/typechain-types/factories/LinearPreview__factory.ts +284 -0
- package/typechain-types/factories/LongYieldTradingBot__factory.ts +1958 -0
- package/typechain-types/factories/MarketExtLib__factory.ts +74 -0
- package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1068 -0
- package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1266 -0
- package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleCamelotV1SY__factory.ts +156 -9
- package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleLpGlpOracle__factory.ts +246 -0
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwap__factory.ts +110 -0
- package/typechain-types/factories/PendleThenaSY__factory.ts +1268 -0
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/SAPE__factory.ts +1 -1
- package/typechain-types/factories/{PendleCamelotV1RouterHelper__factory.ts → ThenaLpHelper__factory.ts} +45 -13
- package/typechain-types/factories/ThenaPreview__factory.ts +306 -0
- package/typechain-types/factories/TradingBotBase__factory.ts +596 -0
- package/typechain-types/factories/TradingBotOffchain__factory.ts +1124 -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 +143 -71
- package/typechain-types/index.ts +34 -12
- package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +0 -160
- package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +0 -76
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +0 -76
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json +0 -40
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.json +0 -101
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +0 -65
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +0 -388
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +0 -215
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +0 -10
- package/typechain-types/IPVotingEscrowSidechain.ts +0 -155
- package/typechain-types/PendleCamelotRewardHelper.ts +0 -347
- package/typechain-types/factories/CamelotV1PreviewHelper__factory.ts +0 -400
- package/typechain-types/factories/IPVotingEscrowSidechain__factory.ts +0 -112
- package/typechain-types/factories/PendleCamelotRewardHelper__factory.ts +0 -317
package/build/artifacts/contracts/core/TradingBot/TradingBotOffchain.sol/TradingBotOffchain.json
ADDED
|
@@ -0,0 +1,1071 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "TradingBotOffchain",
|
|
4
|
+
"sourceName": "contracts/core/TradingBot/TradingBotOffchain.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "ApproxFail",
|
|
9
|
+
"type": "error"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [
|
|
13
|
+
{
|
|
14
|
+
"internalType": "uint256",
|
|
15
|
+
"name": "guessMin",
|
|
16
|
+
"type": "uint256"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "uint256",
|
|
20
|
+
"name": "guessMax",
|
|
21
|
+
"type": "uint256"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "uint256",
|
|
25
|
+
"name": "eps",
|
|
26
|
+
"type": "uint256"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"name": "ApproxParamsInvalid",
|
|
30
|
+
"type": "error"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"inputs": [],
|
|
34
|
+
"name": "BotBinarySearchFail",
|
|
35
|
+
"type": "error"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"inputs": [
|
|
39
|
+
{
|
|
40
|
+
"internalType": "uint256",
|
|
41
|
+
"name": "action",
|
|
42
|
+
"type": "uint256"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"internalType": "uint256",
|
|
46
|
+
"name": "guessMin",
|
|
47
|
+
"type": "uint256"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"name": "BotBinarySearchGuessMinInvalid",
|
|
51
|
+
"type": "error"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputs": [
|
|
55
|
+
{
|
|
56
|
+
"internalType": "uint256",
|
|
57
|
+
"name": "action",
|
|
58
|
+
"type": "uint256"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"internalType": "uint256",
|
|
62
|
+
"name": "guessMin",
|
|
63
|
+
"type": "uint256"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"internalType": "uint256",
|
|
67
|
+
"name": "guessMax",
|
|
68
|
+
"type": "uint256"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"name": "BotBinarySearchInvalidRange",
|
|
72
|
+
"type": "error"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"inputs": [
|
|
76
|
+
{
|
|
77
|
+
"internalType": "int256",
|
|
78
|
+
"name": "exchangeRate",
|
|
79
|
+
"type": "int256"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"name": "MarketExchangeRateBelowOne",
|
|
83
|
+
"type": "error"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"inputs": [],
|
|
87
|
+
"name": "MarketExpired",
|
|
88
|
+
"type": "error"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"inputs": [
|
|
92
|
+
{
|
|
93
|
+
"internalType": "int256",
|
|
94
|
+
"name": "currentAmount",
|
|
95
|
+
"type": "int256"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"internalType": "int256",
|
|
99
|
+
"name": "requiredAmount",
|
|
100
|
+
"type": "int256"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"name": "MarketInsufficientPtForTrade",
|
|
104
|
+
"type": "error"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"inputs": [],
|
|
108
|
+
"name": "MarketProportionMustNotEqualOne",
|
|
109
|
+
"type": "error"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"inputs": [
|
|
113
|
+
{
|
|
114
|
+
"internalType": "int256",
|
|
115
|
+
"name": "proportion",
|
|
116
|
+
"type": "int256"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"internalType": "int256",
|
|
120
|
+
"name": "maxProportion",
|
|
121
|
+
"type": "int256"
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
"name": "MarketProportionTooHigh",
|
|
125
|
+
"type": "error"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"inputs": [
|
|
129
|
+
{
|
|
130
|
+
"internalType": "int256",
|
|
131
|
+
"name": "rateScalar",
|
|
132
|
+
"type": "int256"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"name": "MarketRateScalarBelowZero",
|
|
136
|
+
"type": "error"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"inputs": [],
|
|
140
|
+
"name": "MarketZeroAmountsInput",
|
|
141
|
+
"type": "error"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"inputs": [],
|
|
145
|
+
"name": "MarketZeroAmountsOutput",
|
|
146
|
+
"type": "error"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"inputs": [],
|
|
150
|
+
"name": "MarketZeroLnImpliedRate",
|
|
151
|
+
"type": "error"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"inputs": [
|
|
155
|
+
{
|
|
156
|
+
"internalType": "int256",
|
|
157
|
+
"name": "totalPt",
|
|
158
|
+
"type": "int256"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"internalType": "int256",
|
|
162
|
+
"name": "totalAsset",
|
|
163
|
+
"type": "int256"
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"name": "MarketZeroTotalPtOrTotalAsset",
|
|
167
|
+
"type": "error"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"inputs": [
|
|
171
|
+
{
|
|
172
|
+
"components": [
|
|
173
|
+
{
|
|
174
|
+
"internalType": "enum StrategyFlag",
|
|
175
|
+
"name": "iyFlag",
|
|
176
|
+
"type": "uint8"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"internalType": "enum StrategyFlag",
|
|
180
|
+
"name": "syRatioFlag",
|
|
181
|
+
"type": "uint8"
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
"internalType": "struct StrategyState",
|
|
185
|
+
"name": "currentState",
|
|
186
|
+
"type": "tuple"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"name": "actionToTake",
|
|
190
|
+
"outputs": [
|
|
191
|
+
{
|
|
192
|
+
"internalType": "enum ActionType",
|
|
193
|
+
"name": "",
|
|
194
|
+
"type": "uint8"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"stateMutability": "pure",
|
|
198
|
+
"type": "function"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"inputs": [
|
|
202
|
+
{
|
|
203
|
+
"internalType": "address",
|
|
204
|
+
"name": "bot",
|
|
205
|
+
"type": "address"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"internalType": "address",
|
|
209
|
+
"name": "market",
|
|
210
|
+
"type": "address"
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"name": "claimForBot",
|
|
214
|
+
"outputs": [
|
|
215
|
+
{
|
|
216
|
+
"components": [
|
|
217
|
+
{
|
|
218
|
+
"internalType": "address",
|
|
219
|
+
"name": "token",
|
|
220
|
+
"type": "address"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"internalType": "uint256",
|
|
224
|
+
"name": "amount",
|
|
225
|
+
"type": "uint256"
|
|
226
|
+
}
|
|
227
|
+
],
|
|
228
|
+
"internalType": "struct TokenAmount[]",
|
|
229
|
+
"name": "rewards",
|
|
230
|
+
"type": "tuple[]"
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
"stateMutability": "nonpayable",
|
|
234
|
+
"type": "function"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"inputs": [
|
|
238
|
+
{
|
|
239
|
+
"components": [
|
|
240
|
+
{
|
|
241
|
+
"internalType": "uint256",
|
|
242
|
+
"name": "lpBalance",
|
|
243
|
+
"type": "uint256"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"internalType": "uint256",
|
|
247
|
+
"name": "ytBalance",
|
|
248
|
+
"type": "uint256"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"internalType": "uint256",
|
|
252
|
+
"name": "syBalance",
|
|
253
|
+
"type": "uint256"
|
|
254
|
+
}
|
|
255
|
+
],
|
|
256
|
+
"internalType": "struct BotState",
|
|
257
|
+
"name": "bot",
|
|
258
|
+
"type": "tuple"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"components": [
|
|
262
|
+
{
|
|
263
|
+
"components": [
|
|
264
|
+
{
|
|
265
|
+
"internalType": "int256",
|
|
266
|
+
"name": "totalPt",
|
|
267
|
+
"type": "int256"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"internalType": "int256",
|
|
271
|
+
"name": "totalSy",
|
|
272
|
+
"type": "int256"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"internalType": "int256",
|
|
276
|
+
"name": "totalLp",
|
|
277
|
+
"type": "int256"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"internalType": "address",
|
|
281
|
+
"name": "treasury",
|
|
282
|
+
"type": "address"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"internalType": "int256",
|
|
286
|
+
"name": "scalarRoot",
|
|
287
|
+
"type": "int256"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"internalType": "uint256",
|
|
291
|
+
"name": "expiry",
|
|
292
|
+
"type": "uint256"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"internalType": "uint256",
|
|
296
|
+
"name": "lnFeeRateRoot",
|
|
297
|
+
"type": "uint256"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"internalType": "uint256",
|
|
301
|
+
"name": "reserveFeePercent",
|
|
302
|
+
"type": "uint256"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"internalType": "uint256",
|
|
306
|
+
"name": "lastLnImpliedRate",
|
|
307
|
+
"type": "uint256"
|
|
308
|
+
}
|
|
309
|
+
],
|
|
310
|
+
"internalType": "struct MarketState",
|
|
311
|
+
"name": "state",
|
|
312
|
+
"type": "tuple"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"internalType": "PYIndex",
|
|
316
|
+
"name": "index",
|
|
317
|
+
"type": "uint256"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"internalType": "uint256",
|
|
321
|
+
"name": "blockTime",
|
|
322
|
+
"type": "uint256"
|
|
323
|
+
}
|
|
324
|
+
],
|
|
325
|
+
"internalType": "struct MarketExtState",
|
|
326
|
+
"name": "marketExt",
|
|
327
|
+
"type": "tuple"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"components": [
|
|
331
|
+
{
|
|
332
|
+
"internalType": "uint256",
|
|
333
|
+
"name": "lowerIyLimit",
|
|
334
|
+
"type": "uint256"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"internalType": "uint256",
|
|
338
|
+
"name": "upperIyLimit",
|
|
339
|
+
"type": "uint256"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"internalType": "uint256",
|
|
343
|
+
"name": "floatingSyRatioLimit",
|
|
344
|
+
"type": "uint256"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"internalType": "uint256",
|
|
348
|
+
"name": "ytPtRatioLimit",
|
|
349
|
+
"type": "uint256"
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
"internalType": "struct LongTradingSpecs",
|
|
353
|
+
"name": "specs",
|
|
354
|
+
"type": "tuple"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"internalType": "enum ActionType",
|
|
358
|
+
"name": "action",
|
|
359
|
+
"type": "uint8"
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"components": [
|
|
363
|
+
{
|
|
364
|
+
"internalType": "enum StrategyFlag",
|
|
365
|
+
"name": "iyFlag",
|
|
366
|
+
"type": "uint8"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"internalType": "enum StrategyFlag",
|
|
370
|
+
"name": "syRatioFlag",
|
|
371
|
+
"type": "uint8"
|
|
372
|
+
}
|
|
373
|
+
],
|
|
374
|
+
"internalType": "struct StrategyState",
|
|
375
|
+
"name": "initialState",
|
|
376
|
+
"type": "tuple"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"components": [
|
|
380
|
+
{
|
|
381
|
+
"internalType": "uint256",
|
|
382
|
+
"name": "guessMin",
|
|
383
|
+
"type": "uint256"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"internalType": "uint256",
|
|
387
|
+
"name": "guessMax",
|
|
388
|
+
"type": "uint256"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"internalType": "uint256",
|
|
392
|
+
"name": "guessOffchain",
|
|
393
|
+
"type": "uint256"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"internalType": "uint256",
|
|
397
|
+
"name": "maxIteration",
|
|
398
|
+
"type": "uint256"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"internalType": "uint256",
|
|
402
|
+
"name": "eps",
|
|
403
|
+
"type": "uint256"
|
|
404
|
+
}
|
|
405
|
+
],
|
|
406
|
+
"internalType": "struct ApproxParams",
|
|
407
|
+
"name": "botParams",
|
|
408
|
+
"type": "tuple"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"components": [
|
|
412
|
+
{
|
|
413
|
+
"internalType": "uint256",
|
|
414
|
+
"name": "guessMin",
|
|
415
|
+
"type": "uint256"
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"internalType": "uint256",
|
|
419
|
+
"name": "guessMax",
|
|
420
|
+
"type": "uint256"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"internalType": "uint256",
|
|
424
|
+
"name": "guessOffchain",
|
|
425
|
+
"type": "uint256"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"internalType": "uint256",
|
|
429
|
+
"name": "maxIteration",
|
|
430
|
+
"type": "uint256"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"internalType": "uint256",
|
|
434
|
+
"name": "eps",
|
|
435
|
+
"type": "uint256"
|
|
436
|
+
}
|
|
437
|
+
],
|
|
438
|
+
"internalType": "struct ApproxParams",
|
|
439
|
+
"name": "intParams",
|
|
440
|
+
"type": "tuple"
|
|
441
|
+
}
|
|
442
|
+
],
|
|
443
|
+
"name": "searchForBotParam",
|
|
444
|
+
"outputs": [
|
|
445
|
+
{
|
|
446
|
+
"internalType": "uint256",
|
|
447
|
+
"name": "",
|
|
448
|
+
"type": "uint256"
|
|
449
|
+
}
|
|
450
|
+
],
|
|
451
|
+
"stateMutability": "pure",
|
|
452
|
+
"type": "function"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"inputs": [
|
|
456
|
+
{
|
|
457
|
+
"components": [
|
|
458
|
+
{
|
|
459
|
+
"components": [
|
|
460
|
+
{
|
|
461
|
+
"internalType": "int256",
|
|
462
|
+
"name": "totalPt",
|
|
463
|
+
"type": "int256"
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"internalType": "int256",
|
|
467
|
+
"name": "totalSy",
|
|
468
|
+
"type": "int256"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"internalType": "int256",
|
|
472
|
+
"name": "totalLp",
|
|
473
|
+
"type": "int256"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"internalType": "address",
|
|
477
|
+
"name": "treasury",
|
|
478
|
+
"type": "address"
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"internalType": "int256",
|
|
482
|
+
"name": "scalarRoot",
|
|
483
|
+
"type": "int256"
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"internalType": "uint256",
|
|
487
|
+
"name": "expiry",
|
|
488
|
+
"type": "uint256"
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"internalType": "uint256",
|
|
492
|
+
"name": "lnFeeRateRoot",
|
|
493
|
+
"type": "uint256"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"internalType": "uint256",
|
|
497
|
+
"name": "reserveFeePercent",
|
|
498
|
+
"type": "uint256"
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"internalType": "uint256",
|
|
502
|
+
"name": "lastLnImpliedRate",
|
|
503
|
+
"type": "uint256"
|
|
504
|
+
}
|
|
505
|
+
],
|
|
506
|
+
"internalType": "struct MarketState",
|
|
507
|
+
"name": "state",
|
|
508
|
+
"type": "tuple"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"internalType": "PYIndex",
|
|
512
|
+
"name": "index",
|
|
513
|
+
"type": "uint256"
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
"internalType": "uint256",
|
|
517
|
+
"name": "blockTime",
|
|
518
|
+
"type": "uint256"
|
|
519
|
+
}
|
|
520
|
+
],
|
|
521
|
+
"internalType": "struct MarketExtState",
|
|
522
|
+
"name": "marketExt",
|
|
523
|
+
"type": "tuple"
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"internalType": "enum ActionType",
|
|
527
|
+
"name": "action",
|
|
528
|
+
"type": "uint8"
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"internalType": "uint256",
|
|
532
|
+
"name": "botParam",
|
|
533
|
+
"type": "uint256"
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"components": [
|
|
537
|
+
{
|
|
538
|
+
"internalType": "uint256",
|
|
539
|
+
"name": "guessMin",
|
|
540
|
+
"type": "uint256"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"internalType": "uint256",
|
|
544
|
+
"name": "guessMax",
|
|
545
|
+
"type": "uint256"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"internalType": "uint256",
|
|
549
|
+
"name": "guessOffchain",
|
|
550
|
+
"type": "uint256"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"internalType": "uint256",
|
|
554
|
+
"name": "maxIteration",
|
|
555
|
+
"type": "uint256"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"internalType": "uint256",
|
|
559
|
+
"name": "eps",
|
|
560
|
+
"type": "uint256"
|
|
561
|
+
}
|
|
562
|
+
],
|
|
563
|
+
"internalType": "struct ApproxParams",
|
|
564
|
+
"name": "intParams",
|
|
565
|
+
"type": "tuple"
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
"name": "searchForIntParam",
|
|
569
|
+
"outputs": [
|
|
570
|
+
{
|
|
571
|
+
"internalType": "uint256",
|
|
572
|
+
"name": "",
|
|
573
|
+
"type": "uint256"
|
|
574
|
+
}
|
|
575
|
+
],
|
|
576
|
+
"stateMutability": "pure",
|
|
577
|
+
"type": "function"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"inputs": [
|
|
581
|
+
{
|
|
582
|
+
"components": [
|
|
583
|
+
{
|
|
584
|
+
"internalType": "uint256",
|
|
585
|
+
"name": "lpBalance",
|
|
586
|
+
"type": "uint256"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"internalType": "uint256",
|
|
590
|
+
"name": "ytBalance",
|
|
591
|
+
"type": "uint256"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"internalType": "uint256",
|
|
595
|
+
"name": "syBalance",
|
|
596
|
+
"type": "uint256"
|
|
597
|
+
}
|
|
598
|
+
],
|
|
599
|
+
"internalType": "struct BotState",
|
|
600
|
+
"name": "botCalldata",
|
|
601
|
+
"type": "tuple"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"components": [
|
|
605
|
+
{
|
|
606
|
+
"components": [
|
|
607
|
+
{
|
|
608
|
+
"internalType": "int256",
|
|
609
|
+
"name": "totalPt",
|
|
610
|
+
"type": "int256"
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"internalType": "int256",
|
|
614
|
+
"name": "totalSy",
|
|
615
|
+
"type": "int256"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"internalType": "int256",
|
|
619
|
+
"name": "totalLp",
|
|
620
|
+
"type": "int256"
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"internalType": "address",
|
|
624
|
+
"name": "treasury",
|
|
625
|
+
"type": "address"
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"internalType": "int256",
|
|
629
|
+
"name": "scalarRoot",
|
|
630
|
+
"type": "int256"
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"internalType": "uint256",
|
|
634
|
+
"name": "expiry",
|
|
635
|
+
"type": "uint256"
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"internalType": "uint256",
|
|
639
|
+
"name": "lnFeeRateRoot",
|
|
640
|
+
"type": "uint256"
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"internalType": "uint256",
|
|
644
|
+
"name": "reserveFeePercent",
|
|
645
|
+
"type": "uint256"
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"internalType": "uint256",
|
|
649
|
+
"name": "lastLnImpliedRate",
|
|
650
|
+
"type": "uint256"
|
|
651
|
+
}
|
|
652
|
+
],
|
|
653
|
+
"internalType": "struct MarketState",
|
|
654
|
+
"name": "state",
|
|
655
|
+
"type": "tuple"
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"internalType": "PYIndex",
|
|
659
|
+
"name": "index",
|
|
660
|
+
"type": "uint256"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"internalType": "uint256",
|
|
664
|
+
"name": "blockTime",
|
|
665
|
+
"type": "uint256"
|
|
666
|
+
}
|
|
667
|
+
],
|
|
668
|
+
"internalType": "struct MarketExtState",
|
|
669
|
+
"name": "marketExtCalldata",
|
|
670
|
+
"type": "tuple"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"internalType": "enum ActionType",
|
|
674
|
+
"name": "action",
|
|
675
|
+
"type": "uint8"
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"internalType": "uint256",
|
|
679
|
+
"name": "botParam",
|
|
680
|
+
"type": "uint256"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"components": [
|
|
684
|
+
{
|
|
685
|
+
"internalType": "uint256",
|
|
686
|
+
"name": "guessMin",
|
|
687
|
+
"type": "uint256"
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"internalType": "uint256",
|
|
691
|
+
"name": "guessMax",
|
|
692
|
+
"type": "uint256"
|
|
693
|
+
},
|
|
694
|
+
{
|
|
695
|
+
"internalType": "uint256",
|
|
696
|
+
"name": "guessOffchain",
|
|
697
|
+
"type": "uint256"
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
"internalType": "uint256",
|
|
701
|
+
"name": "maxIteration",
|
|
702
|
+
"type": "uint256"
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
"internalType": "uint256",
|
|
706
|
+
"name": "eps",
|
|
707
|
+
"type": "uint256"
|
|
708
|
+
}
|
|
709
|
+
],
|
|
710
|
+
"internalType": "struct ApproxParams",
|
|
711
|
+
"name": "swapApproxParams",
|
|
712
|
+
"type": "tuple"
|
|
713
|
+
}
|
|
714
|
+
],
|
|
715
|
+
"name": "simulateAction",
|
|
716
|
+
"outputs": [
|
|
717
|
+
{
|
|
718
|
+
"internalType": "bool",
|
|
719
|
+
"name": "success",
|
|
720
|
+
"type": "bool"
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"components": [
|
|
724
|
+
{
|
|
725
|
+
"internalType": "uint256",
|
|
726
|
+
"name": "lpBalance",
|
|
727
|
+
"type": "uint256"
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
"internalType": "uint256",
|
|
731
|
+
"name": "ytBalance",
|
|
732
|
+
"type": "uint256"
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
"internalType": "uint256",
|
|
736
|
+
"name": "syBalance",
|
|
737
|
+
"type": "uint256"
|
|
738
|
+
}
|
|
739
|
+
],
|
|
740
|
+
"internalType": "struct BotState",
|
|
741
|
+
"name": "bot",
|
|
742
|
+
"type": "tuple"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"components": [
|
|
746
|
+
{
|
|
747
|
+
"components": [
|
|
748
|
+
{
|
|
749
|
+
"internalType": "int256",
|
|
750
|
+
"name": "totalPt",
|
|
751
|
+
"type": "int256"
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"internalType": "int256",
|
|
755
|
+
"name": "totalSy",
|
|
756
|
+
"type": "int256"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"internalType": "int256",
|
|
760
|
+
"name": "totalLp",
|
|
761
|
+
"type": "int256"
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"internalType": "address",
|
|
765
|
+
"name": "treasury",
|
|
766
|
+
"type": "address"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"internalType": "int256",
|
|
770
|
+
"name": "scalarRoot",
|
|
771
|
+
"type": "int256"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"internalType": "uint256",
|
|
775
|
+
"name": "expiry",
|
|
776
|
+
"type": "uint256"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"internalType": "uint256",
|
|
780
|
+
"name": "lnFeeRateRoot",
|
|
781
|
+
"type": "uint256"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"internalType": "uint256",
|
|
785
|
+
"name": "reserveFeePercent",
|
|
786
|
+
"type": "uint256"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"internalType": "uint256",
|
|
790
|
+
"name": "lastLnImpliedRate",
|
|
791
|
+
"type": "uint256"
|
|
792
|
+
}
|
|
793
|
+
],
|
|
794
|
+
"internalType": "struct MarketState",
|
|
795
|
+
"name": "state",
|
|
796
|
+
"type": "tuple"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
"internalType": "PYIndex",
|
|
800
|
+
"name": "index",
|
|
801
|
+
"type": "uint256"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"internalType": "uint256",
|
|
805
|
+
"name": "blockTime",
|
|
806
|
+
"type": "uint256"
|
|
807
|
+
}
|
|
808
|
+
],
|
|
809
|
+
"internalType": "struct MarketExtState",
|
|
810
|
+
"name": "marketExt",
|
|
811
|
+
"type": "tuple"
|
|
812
|
+
}
|
|
813
|
+
],
|
|
814
|
+
"stateMutability": "pure",
|
|
815
|
+
"type": "function"
|
|
816
|
+
},
|
|
817
|
+
{
|
|
818
|
+
"inputs": [
|
|
819
|
+
{
|
|
820
|
+
"components": [
|
|
821
|
+
{
|
|
822
|
+
"internalType": "uint256",
|
|
823
|
+
"name": "lpBalance",
|
|
824
|
+
"type": "uint256"
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"internalType": "uint256",
|
|
828
|
+
"name": "ytBalance",
|
|
829
|
+
"type": "uint256"
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"internalType": "uint256",
|
|
833
|
+
"name": "syBalance",
|
|
834
|
+
"type": "uint256"
|
|
835
|
+
}
|
|
836
|
+
],
|
|
837
|
+
"internalType": "struct BotState",
|
|
838
|
+
"name": "bot",
|
|
839
|
+
"type": "tuple"
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"components": [
|
|
843
|
+
{
|
|
844
|
+
"components": [
|
|
845
|
+
{
|
|
846
|
+
"internalType": "int256",
|
|
847
|
+
"name": "totalPt",
|
|
848
|
+
"type": "int256"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"internalType": "int256",
|
|
852
|
+
"name": "totalSy",
|
|
853
|
+
"type": "int256"
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"internalType": "int256",
|
|
857
|
+
"name": "totalLp",
|
|
858
|
+
"type": "int256"
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"internalType": "address",
|
|
862
|
+
"name": "treasury",
|
|
863
|
+
"type": "address"
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"internalType": "int256",
|
|
867
|
+
"name": "scalarRoot",
|
|
868
|
+
"type": "int256"
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
"internalType": "uint256",
|
|
872
|
+
"name": "expiry",
|
|
873
|
+
"type": "uint256"
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"internalType": "uint256",
|
|
877
|
+
"name": "lnFeeRateRoot",
|
|
878
|
+
"type": "uint256"
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"internalType": "uint256",
|
|
882
|
+
"name": "reserveFeePercent",
|
|
883
|
+
"type": "uint256"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"internalType": "uint256",
|
|
887
|
+
"name": "lastLnImpliedRate",
|
|
888
|
+
"type": "uint256"
|
|
889
|
+
}
|
|
890
|
+
],
|
|
891
|
+
"internalType": "struct MarketState",
|
|
892
|
+
"name": "state",
|
|
893
|
+
"type": "tuple"
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"internalType": "PYIndex",
|
|
897
|
+
"name": "index",
|
|
898
|
+
"type": "uint256"
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"internalType": "uint256",
|
|
902
|
+
"name": "blockTime",
|
|
903
|
+
"type": "uint256"
|
|
904
|
+
}
|
|
905
|
+
],
|
|
906
|
+
"internalType": "struct MarketExtState",
|
|
907
|
+
"name": "marketExt",
|
|
908
|
+
"type": "tuple"
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"components": [
|
|
912
|
+
{
|
|
913
|
+
"internalType": "uint256",
|
|
914
|
+
"name": "lowerIyLimit",
|
|
915
|
+
"type": "uint256"
|
|
916
|
+
},
|
|
917
|
+
{
|
|
918
|
+
"internalType": "uint256",
|
|
919
|
+
"name": "upperIyLimit",
|
|
920
|
+
"type": "uint256"
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
"internalType": "uint256",
|
|
924
|
+
"name": "floatingSyRatioLimit",
|
|
925
|
+
"type": "uint256"
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"internalType": "uint256",
|
|
929
|
+
"name": "ytPtRatioLimit",
|
|
930
|
+
"type": "uint256"
|
|
931
|
+
}
|
|
932
|
+
],
|
|
933
|
+
"internalType": "struct LongTradingSpecs",
|
|
934
|
+
"name": "specs",
|
|
935
|
+
"type": "tuple"
|
|
936
|
+
}
|
|
937
|
+
],
|
|
938
|
+
"name": "strategyState",
|
|
939
|
+
"outputs": [
|
|
940
|
+
{
|
|
941
|
+
"components": [
|
|
942
|
+
{
|
|
943
|
+
"internalType": "enum StrategyFlag",
|
|
944
|
+
"name": "iyFlag",
|
|
945
|
+
"type": "uint8"
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
"internalType": "enum StrategyFlag",
|
|
949
|
+
"name": "syRatioFlag",
|
|
950
|
+
"type": "uint8"
|
|
951
|
+
}
|
|
952
|
+
],
|
|
953
|
+
"internalType": "struct StrategyState",
|
|
954
|
+
"name": "",
|
|
955
|
+
"type": "tuple"
|
|
956
|
+
}
|
|
957
|
+
],
|
|
958
|
+
"stateMutability": "pure",
|
|
959
|
+
"type": "function"
|
|
960
|
+
},
|
|
961
|
+
{
|
|
962
|
+
"inputs": [
|
|
963
|
+
{
|
|
964
|
+
"components": [
|
|
965
|
+
{
|
|
966
|
+
"internalType": "uint256",
|
|
967
|
+
"name": "lpBalance",
|
|
968
|
+
"type": "uint256"
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
"internalType": "uint256",
|
|
972
|
+
"name": "ytBalance",
|
|
973
|
+
"type": "uint256"
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
"internalType": "uint256",
|
|
977
|
+
"name": "syBalance",
|
|
978
|
+
"type": "uint256"
|
|
979
|
+
}
|
|
980
|
+
],
|
|
981
|
+
"internalType": "struct BotState",
|
|
982
|
+
"name": "bot",
|
|
983
|
+
"type": "tuple"
|
|
984
|
+
},
|
|
985
|
+
{
|
|
986
|
+
"components": [
|
|
987
|
+
{
|
|
988
|
+
"components": [
|
|
989
|
+
{
|
|
990
|
+
"internalType": "int256",
|
|
991
|
+
"name": "totalPt",
|
|
992
|
+
"type": "int256"
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
"internalType": "int256",
|
|
996
|
+
"name": "totalSy",
|
|
997
|
+
"type": "int256"
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"internalType": "int256",
|
|
1001
|
+
"name": "totalLp",
|
|
1002
|
+
"type": "int256"
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"internalType": "address",
|
|
1006
|
+
"name": "treasury",
|
|
1007
|
+
"type": "address"
|
|
1008
|
+
},
|
|
1009
|
+
{
|
|
1010
|
+
"internalType": "int256",
|
|
1011
|
+
"name": "scalarRoot",
|
|
1012
|
+
"type": "int256"
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
"internalType": "uint256",
|
|
1016
|
+
"name": "expiry",
|
|
1017
|
+
"type": "uint256"
|
|
1018
|
+
},
|
|
1019
|
+
{
|
|
1020
|
+
"internalType": "uint256",
|
|
1021
|
+
"name": "lnFeeRateRoot",
|
|
1022
|
+
"type": "uint256"
|
|
1023
|
+
},
|
|
1024
|
+
{
|
|
1025
|
+
"internalType": "uint256",
|
|
1026
|
+
"name": "reserveFeePercent",
|
|
1027
|
+
"type": "uint256"
|
|
1028
|
+
},
|
|
1029
|
+
{
|
|
1030
|
+
"internalType": "uint256",
|
|
1031
|
+
"name": "lastLnImpliedRate",
|
|
1032
|
+
"type": "uint256"
|
|
1033
|
+
}
|
|
1034
|
+
],
|
|
1035
|
+
"internalType": "struct MarketState",
|
|
1036
|
+
"name": "state",
|
|
1037
|
+
"type": "tuple"
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
"internalType": "PYIndex",
|
|
1041
|
+
"name": "index",
|
|
1042
|
+
"type": "uint256"
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
"internalType": "uint256",
|
|
1046
|
+
"name": "blockTime",
|
|
1047
|
+
"type": "uint256"
|
|
1048
|
+
}
|
|
1049
|
+
],
|
|
1050
|
+
"internalType": "struct MarketExtState",
|
|
1051
|
+
"name": "marketExt",
|
|
1052
|
+
"type": "tuple"
|
|
1053
|
+
}
|
|
1054
|
+
],
|
|
1055
|
+
"name": "tvlInSy",
|
|
1056
|
+
"outputs": [
|
|
1057
|
+
{
|
|
1058
|
+
"internalType": "uint256",
|
|
1059
|
+
"name": "",
|
|
1060
|
+
"type": "uint256"
|
|
1061
|
+
}
|
|
1062
|
+
],
|
|
1063
|
+
"stateMutability": "pure",
|
|
1064
|
+
"type": "function"
|
|
1065
|
+
}
|
|
1066
|
+
],
|
|
1067
|
+
"bytecode": "0x608060405234801561001057600080fd5b50614119806100206000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80631c9119cd14610072578063218494d41461014957806335b7014614610169578063675ea12b1461018a578063b2ba84da1461019d578063db71ba3a146101b0578063f829d9e4146101d0575b600080fd5b610085610080366004613854565b6101f0565b6040516101409392919060006101e0820190508415158252835160208301526020840151604083015260408401516060830152825180516080840152602081015160a0840152604081015160c084015260018060a01b0360608201511660e08401526080810151610100818186015260a083015161012086015260c083015161014086015260e08301516101608601528083015161018086015250505060208301516101a083015260408301516101c0830152949350505050565b60405180910390f35b61015c6101573660046138c8565b6102f0565b6040516101409190613938565b61017c610177366004613952565b610301565b604051908152602001610140565b61017c610198366004613991565b610330565b61017c6101ab3660046139f6565b610385565b6101c36101be366004613ab4565b6103f8565b6040516101409190613aed565b6101e36101de366004613b45565b61074a565b6040516101409190613ba1565b60006101fa61366c565b61020261368d565b61021136899003890189613bcd565b915061022236889003880188613c28565b9050600086600581111561023857610238613922565b0361024f57610248828287610787565b92506102e5565b600186600581111561026357610263613922565b03610273576102488282876107e3565b600286600581111561028757610287613922565b0361029757610248828287610856565b60038660058111156102ab576102ab613922565b036102bb576102488282876108a5565b60048660058111156102cf576102cf613922565b036102e057610248828287876108e0565b600092505b955095509592505050565b60006102fb82610915565b92915050565b600061032961031536859003850185613bcd565b61032436859003850185613c28565b6109d7565b9392505050565b6000600484600581111561034657610346613922565b036103795761037261035d36879003870187613c28565b8461036d36869003860186613cd8565b610ab3565b905061037d565b5060005b949350505050565b60006103ea610399368a90038a018a613bcd565b6103a8368a90038a018a613c28565b6103b7368a90038a018a613cf4565b886103c7368a90038a018a6138c8565b6103d6368a90038a018a613cd8565b6103e5368a90038a018a613cd8565b610b1c565b90505b979650505050505050565b6060600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190613d59565b92505091506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104cc9190810190613dc9565b604051637d24da4d60e01b81526001600160a01b0388811660048301526001602483018190526044830152919250600091841690637d24da4d906064016000604051808303816000875af1158015610528573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105509190810190613ec2565b915061055f9050858383610e0a565b94506000846001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105c99190810190613dc9565b90506000856001600160a01b031663ef5cfb8c8a6040518263ffffffff1660e01b81526004016105f99190613f09565b6000604051808303816000875af1158015610618573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106409190810190613f1d565b905061064d878383610e0a565b96506000886001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561068f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106b79190810190613dc9565b90506000896001600160a01b0316639262187b8c6040518263ffffffff1660e01b81526004016106e79190613f09565b6000604051808303816000875af1158015610706573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261072e9190810190613f1d565b905061073b898383610e0a565b9b9a5050505050505050505050565b6107526136b4565b61037d61076436869003860186613bcd565b61077336869003860186613c28565b61078236869003860186613cf4565b610ec2565b6000806107948484610fa7565b905084604001518111156107ac576000915050610329565b80856040018181516107be9190613f67565b9052506020850180518491906107d5908390613f7a565b905250600195945050505050565b600083604001518211156107f957506000610329565b6000806108068585610fee565b91509150838660400181815161081c9190613f67565b905250855182908790610830908390613f7a565b905250602086018051829190610847908390613f7a565b90525060019695505050505050565b600080806108648585611088565b91509150856040015181111561087f57600092505050610329565b80866040018181516108919190613f67565b905250855182908790610847908390613f7a565b600080806108b3858561111c565b9150915085602001518111156108ce57600092505050610329565b80866020018181516108919190613f67565b83516000908311156108f45750600061037d565b6000610901858585611230565b905083866000018181516108309190613f67565b600060018251600281111561092c5761092c613922565b0361095e5760028260200151600281111561094957610949613922565b0361095657506000919050565b506004919050565b60008251600281111561097357610973613922565b036109a55760028260200151600281111561099057610990613922565b0361099d57506001919050565b506005919050565b6002826020015160028111156109bd576109bd613922565b036109ca57506002919050565b506003919050565b919050565b60008060006109f38560000151856112d190919063ffffffff16565b915091506000828660400151610a099190613f7a565b905085602001518211610a5f57610a208583611344565b610a2a9082613f7a565b9050610a4e828760200151610a3f9190613f67565b610a4887611356565b90611394565b610a589082613f7a565b9050610aaa565b6020860151610a6f908690611344565b610a799082613f7a565b9050610a9d866020015183610a8e9190613f67565b610a9787611356565b906113f9565b610aa79082613f7a565b90505b95945050505050565b825160009081908190610ac6908661141d565b915091506000610ae383886020015161144d90919063ffffffff16565b90506000610af18284613f7a565b602089015160408a01518a51929350610b0e92919084908a611459565b509998505050505050505050565b6000806040518060a001604052808a8152602001898152602001888152602001876005811115610b4e57610b4e613922565b8152602001869052604085015190915015610beb576000610b8b8560800151670de0b6b3a7640000610b809190613f67565b60408701519061156f565b90506002610b9e83876040015187611592565b6002811115610baf57610baf613922565b148015610bd757506001610bc4838387611592565b6002811115610bd557610bd5613922565b145b15610be95750505060408201516103ed565b505b6000610bf88a8a896115e0565b90508085602001511115610c0e57602085018190525b602085015185511115610c5957866005811115610c2d57610c2d613922565b8551602087015160405163f25ccea360e01b8152610c5093929190600401613f8d565b60405180910390fd5b6001610c6a83876020015187611592565b6002811115610c7b57610c7b613922565b03610c8d5750505060208201516103ed565b506000610c9f82866000015186611592565b90506000816002811115610cb557610cb5613922565b03610ce957866005811115610ccc57610ccc613922565b8551604051630cf4fb5360e31b8152610c50929190600401613fa3565b6002816002811115610cfd57610cfd613922565b03610d0d575050825190506103ed565b5060005b8460600151811015610df0576000600286600001518760200151610d359190613f67565b610d3f9190613fc7565b8651610d4b9190613f7a565b90506001610d5a848388611592565b6002811115610d6b57610d6b613922565b03610d7857808652610d80565b602086018190525b610d9786600001518760200151886080015161169b565b15610ddf576000610dad84886020015188611592565b6002811115610dbe57610dbe613922565b03610dd0575050835191506103ed9050565b856020015193505050506103ed565b50610de981613fdb565b9050610d11565b5060405163fef33c9d60e01b815260040160405180910390fd5b80518251849114610e5d5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e416d6f756e744c69623a206c656e677468206d69736d61746368006044820152606401610c50565b60005b8351811015610eba57610ea682858381518110610e7f57610e7f613ff4565b6020026020010151858481518110610e9957610e99613ff4565b60200260200101516116ce565b915080610eb281613fdb565b915050610e60565b509392505050565b610eca6136b4565b6000610ed584611890565b8551909150600090610ee89086906112d1565b915050600081600014610f09576020870151610f0490836118dd565b610f0d565b6000195b8551909150831015610f38578360015b90816002811115610f3057610f30613922565b905250610f60565b828560200151108015610f4e5750846060015181115b15610f5b57836002610f1d565b600084525b6000610f7a610f6f89896109d7565b60408a0151906118dd565b90508560400151811115610f945760026020860152610f9c565b600060208601525b505050509392505050565b6020820151604083015183516000928392610fc59291908690611903565b505090506000610fe284866020015161195490919063ffffffff16565b9050610aaa8183611960565b6000806000611012611007866000015160200151611977565b60208701519061144d565b85515161101e90611977565b6110289190613f7a565b85515161103490611977565b61103e908661400a565b6110489190613fc7565b602086015190915061105a908261144d565b91506110796110698286613f67565b604087015187519190859061198a565b50909793965092945050505050565b60008060006110b0856020015185876040015188600001516119f5909392919063ffffffff16565b50508551519091506000906110c490611977565b8651602001516110d390611977565b6110dd908761400a565b6110e79190613fc7565b604087015187519192506110ff91908390889061198a565b50909550611111915082905083613f7a565b925050509250929050565b6000806000611144856020015185876040015188600001516119f5909392919063ffffffff16565b50506020860151909150600061115a828461400a565b61116c670de0b6b3a76400008861400a565b6111769190613f67565b87515190915060009061118890611977565b8361119a8a6000015160200151611977565b6111a4919061400a565b6111ae9190613fc7565b6111c090670de0b6b3a7640000613f7a565b905060006111ce8284613fc7565b90506111da8189613f67565b955060006111f5878b60200151611a2390919063ffffffff16565b905060006112038783613f67565b60408c01518c5191925061121b91908390869061198a565b50909d999c50989a5050505050505050505050565b825160009081908190611243908661141d565b91509150600061126083886020015161144d90919063ffffffff16565b9050600061126e8284613f7a565b90506000806112958a60200151848c6040015161128a8c611a2f565b8e5193929190611459565b5060208c015160408d01518d519395509193506112b492918490611903565b50505081846112c39190613f7a565b9a9950505050505050505050565b6000806112e5846000015160400151611977565b8451602001516112f490611977565b6112fe908561400a565b6113089190613fc7565b915061131b846000015160400151611977565b84515161132790611977565b611331908561400a565b61133b9190613fc7565b90509250929050565b60208201516000906103299083611a23565b61135e61368d565b60405180606001604052806113768460000151611aa3565b81526020018360200151815260200183604001518152509050919050565b60208201516040830151835160009283926113b292919086906119f5565b5050905060006113cf828660200151611b2090919063ffffffff16565b905060006113dd8286613f67565b60208701519091506113ef9082611a23565b9695505050505050565b602082015160408301518351600092611413928590611903565b5090949350505050565b6000806000806114358661143087611b2d565b611b43565b9150915061144282611977565b935061111181611977565b60006103298383611c0f565b6000808080611469898988611c2e565b905084604001516000036114ab5784516114839088611d28565b8552602085015161149d906114988b84611d3e565b611dba565b60208601526114ab85611dc9565b60005b85606001518110156115555760006114c68783611e17565b90506000806114d78d868e86611e83565b50909250905060006114e98d8461144d565b905060006114f78286613f67565b90508c811161152e5761150f818e8d6080015161169b565b15611526575097509195509093506102e592505050565b848b5261153f565b611539600186613f67565b60208c01525b50505050508061154e90613fdb565b90506114ae565b50604051637d388ed960e11b815260040160405180910390fd5b60008061157c838561400a565b9050670de0b6b3a7640000815b04949350505050565b60008060006115a2868686611eb4565b91509150816115b657600092505050610329565b6115c4866080015182611fe2565b156115d457600192505050610329565b50600295945050505050565b6000808260058111156115f5576115f5613922565b0361160a5761160383612047565b9050610329565b600182600581111561161e5761161e613922565b0361162e57506040830151610329565b600282600581111561164257611642613922565b036116505761160383612082565b600382600581111561166457611664613922565b036116725761160383612082565b600482600581111561168657611686613922565b0361169357508251610329565b506000610329565b600082841115801561037d57506116c3836116be84670de0b6b3a7640000613f67565b61156f565b909310159392505050565b6060816000036116df575082610329565b835160005b855181101561173d57846001600160a01b031686828151811061170957611709613ff4565b6020026020010151600001516001600160a01b03160361172b5780915061173d565b8061173581613fdb565b9150506116e4565b508451811461174d576000611750565b60015b60ff16855161175f9190613f7a565b6001600160401b0381111561177657611776613754565b6040519080825280602002602001820160405280156117bb57816020015b60408051808201909152600080825260208201528152602001906001900390816117945790505b50915060005b8551811015611814578581815181106117dc576117dc613ff4565b60200260200101518382815181106117f6576117f6613ff4565b6020026020010181905250808061180c90613fdb565b9150506117c1565b506040518060400160405280856001600160a01b03168152602001848751841461185b5787848151811061184a5761184a613ff4565b60200260200101516020015161185e565b60005b6118689190613f7a565b81525082828151811061187d5761187d613ff4565b6020026020010181905250509392505050565b6000670de0b6b3a76400006118d36118c48460400151856000015160a001516118b99190613f67565b6301e13380906118dd565b6118cd856120a8565b906120f5565b6102fb9190613f67565b6000806118f2670de0b6b3a76400008561400a565b905082818161158957611589613fb1565b6000806000806000806119208a8a61191a8b61229e565b8a6122b5565b92509250925061192f83611977565b955061193a82611977565b945061194581611977565b93505050509450945094915050565b60006103298383612348565b600081831015611971576000610329565b50900390565b60008082121561198657600080fd5b5090565b6000806000806000806000806119b28c6119a38d611b2d565b6119ac8d611b2d565b8c612374565b93509350935093506119c384611977565b97506119ce83611977565b96506119d982611977565b95506119e481611977565b945050505050945094509450949050565b600080600080600080611a0c8a8a61191a8b611b2d565b92509250925061192f611a1e84612527565b611977565b60006103298383612535565b611a616040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b611aab6136cb565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b60008261037d818461254a565b60006001600160ff1b0382111561198657600080fd5b60008082600003611b67576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151611b7b9085614021565b611b859190614051565b6040850151855191935090611b9a9085614021565b611ba49190614051565b905081158015611bb2575080155b15611bd057604051631997ea8d60e31b815260040160405180910390fd5b6040840151611bdf9084612562565b60408501528351611bf09082612562565b84526020840151611c019083612562565b602090940193909352929050565b6000670de0b6b3a7640000611c24848461400a565b6103299190613fc7565b611c596040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210611c7d5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151611c8f9190613f67565b9050611c9b85826125a9565b82526020850151611cad908590612605565b602083015284511580611cc257506020820151155b15611ce9578451602083015160405163b1c4aefb60e01b8152610c50929190600401613fa3565b611d078560000151866101000151846020015185600001518561263c565b604083015260c0850151611d1b90826126bd565b6060830152509392505050565b6000818311611d375781610329565b5090919050565b60008060009050600060018460200151611d589190613f67565b90505b808214610eba5760006002611d708385613f7a565b611d7b906001613f7a565b611d859190613fc7565b90506000611d98868860000151846126f6565b1215611db057611da9600182613f67565b9150611db4565b8092505b50611d5b565b6000818310611d375781610329565b602081015181511180611de75750670de0b6b3a76400008160800151115b15611e1457805160208201516080830151604051632cc06bc160e21b8152610c5093929190600401613f8d565b50565b600081158015611e2a5750604083015115155b15611e3a575060408201516102fb565b6020830151835111611e6a5760208301518351600291611e5991613f7a565b611e639190613fc7565b90506102fb565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080611ea18989611e988a61407f565b8d9291906127ee565b919c909b50909950975050505050505050565b6000611ebe6136b4565b6000611ecd8660000151612942565b90506000611ede8760200151611356565b9050600087606001516005811115611ef857611ef8613922565b03611f0f57611f08828288610787565b9350611fc0565b600187606001516005811115611f2757611f27613922565b03611f3757611f088282886107e3565b600287606001516005811115611f4f57611f4f613922565b03611f5f57611f08828288610856565b600387606001516005811115611f7757611f77613922565b03611f8757611f088282886108a5565b600487606001516005811115611f9f57611f9f613922565b03611fbb57611f088187611fb288611a2f565b859291906108e0565b600093505b8315611fd857611fd582828960400151610ec2565b92505b5050935093915050565b80516000906002811115611ff857611ff8613922565b8351600281111561200b5761200b613922565b14801561032957508160200151600281111561202957612029613922565b8360200151600281111561203f5761203f613922565b149392505050565b805160208201516040830151600092600a9261206d92612068918391611c2e565b611d3e565b61207890600961400a565b6102fb9190613fc7565b6020810151604082015182516000926102fb926120a0929190611c2e565b83515161296e565b60208101516040820151825160009283926120c4929190611c2e565b905060006120ea84600001516000015183602001518460000151856040015160006129f7565b905061037d81611977565b60008160000361210e5750670de0b6b3a76400006102fb565b8260000361211e575060006102fb565b600160ff1b83106121635760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b6044820152606401610c50565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106121bd5760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610c50565b826000670c7d713b49da0000831380156121de5750670f43fc2c04ee000083125b156122155760006121ee84612aa8565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050612223565b8161221f84612bc7565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590612251575068070c1cc73b00c800008113155b6122955760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610c50565b6113ef81612f6a565b60006122a982611b2d565b6102fb90600019614021565b60008060006122c88760a0015185101590565b156122e65760405163b2094b5960e01b815260040160405180910390fd5b8651851261230c578651604051632185509b60e21b8152610c5091908790600401613fa3565b6000612319888887611c2e565b9050612327888289896127ee565b9195509350915061233d8882898988878b61337f565b509450945094915050565b600082600181612360670de0b6b3a76400008661400a565b61236a9190613f7a565b611c249190613f67565b6000808080861580612384575085155b156123a2576040516325daaec360e01b815260040160405180910390fd5b60a088015185106123c65760405163b2094b5960e01b815260040160405180910390fd5b876040015160000361240e576103e86123f26123ed6123e8611a1e8a8c614021565b613411565b611b2d565b6123fc919061409b565b92506103e893508691508590506124b1565b87516040890151600091906124239089614021565b61242d9190614051565b9050600089602001518a604001518a6124469190614021565b6124509190614051565b905080821215612486578194508792508960400151858b602001516124759190614021565b61247f9190614051565b93506124ae565b8094508893508960400151858b600001516124a19190614021565b6124ab9190614051565b92505b50505b600083136124d257604051631997ea8d60e31b815260040160405180910390fd5b81886020018181516124e491906140bb565b9052508751819089906124f89083906140bb565b90525061250584846140bb565b8860400181815161251691906140bb565b905250929791965094509092509050565b60006102fb82600019614021565b600082611c24670de0b6b3a76400008461400a565b6000670de0b6b3a7640000600181612360868661400a565b60008183121561259f5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610c50565b610329828461409b565b60006125b482611b2d565b6125c66123ed6201518061016d61400a565b84608001516125d59190614021565b6125df9190614051565b9050600081136102fb57604051630e520c3b60e11b815260048101829052602401610c50565b6000806000831261261757600161261b565b6000195b90506126326123ed8561262d86613480565b611c0f565b61037d9082614021565b60008061264986846126bd565b9050670de0b6b3a76400008112156126775760405163329e322960e21b815260048101829052602401610c50565b600061268d612686878a6140bb565b8990613497565b9050600061269a826134c6565b90506126a68187613497565b6126b0908461409b565b9998505050505050505050565b6000806126cf6201518061016d61400a565b6126d9848661400a565b6126e39190613fc7565b905061037d6126f182611b2d565b612f6a565b600080828560200151612709919061409b565b9050600061271785856140bb565b90506000821380156127295750600081135b61276a5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610c50565b60006127986127798484614021565b602089015161278890896140bb565b6127929088614021565b90613497565b905060006127ae6127a98486613497565b613515565b88519091506000906127c990670de0b6b3a764000090613497565b90506127df816127d9848661409b565b906135a1565b89604001516126b0919061409b565b6000806000806128118860000151886020015189600001518a60400151896129f7565b905060006128276128228784613497565b612527565b606089015190915060008713156128965760006128448483613497565b9050670de0b6b3a76400008112156128725760405163329e322960e21b815260048101829052602401610c50565b61288e61288783670de0b6b3a764000061409b565b84906135a1565b9150506128c3565b6128c0816128ac81670de0b6b3a764000061409b565b6128b69085614021565b6128229190614051565b90505b600060646128d48c60e00151611b2d565b6128de9084614021565b6128e89190614051565b905060006128f6838561409b565b90506000811261290f5761290a8a826135bf565b612919565b6129198a826135ec565b97506129258a846135bf565b96506129318a836135bf565b955050505050509450945094915050565b61294a61366c565b50604080516060810182528251815260208084015190820152918101519082015290565b6000806129906126f18560000151866040015187606001516127d9919061409b565b905060006129b06129a9670de0b6b3a7640000846140bb565b8390613497565b905060006129ce8660200151866129c791906140bb565b83906135a1565b905060006129dc828761409b565b90506103e86129ed826103e761400a565b6103ed9190613fc7565b600080612a048784612562565b90506000612a156129a9888a6140bb565b9050670d529ae9e8600000811315612a4c5780670d529ae9e8600000604051637e34684f60e11b8152600401610c50929190613fa3565b6000612a57826134c6565b905085612a648289613497565b612a6e91906140bb565b9350670de0b6b3a7640000841215612a9c5760405163329e322960e21b815260048101859052602401610c50565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612ae957612ae9613fb1565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612c0857612bff826a0c097ce7bc90715b34b9f160241b81612bf957612bf9613fb1565b05612bc7565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612c535772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612c8a576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612cd2576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612d0d576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612d4457693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612d7b57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612db05768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612ddb57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612e10576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612e45576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612e79576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612ead576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612ed657612ed6613fb1565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015612f8f575068070c1cc73b00c800008213155b612fce5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610c50565b600082121561300657612fe382600003612f6a565b6a0c097ce7bc90715b34b9f160241b81612fff57612fff613fb1565b0592915050565b60006806f05b59d3b2000000831261304457506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61307a565b6803782dace9d9000000831261307657506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061307a565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126130ca5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613106576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261314057682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261317a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126131b357680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126131ec5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613225576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261325e5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000818860a001516133919190613f67565b88519091506133a09086612562565b88526133ba6133af84866140bb565b60208a015190612562565b6020890181905288516133df916133d2908990612605565b895160408b015185613619565b610100890181905260000361340757604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60006003821115613472575080600061342b600283613fc7565b613436906001613f7a565b90505b8181101561346c579050806002816134518186613fc7565b61345b9190613f7a565b6134659190613fc7565b9050613439565b50919050565b81156109d257506001919050565b6000808213611986576134928261407f565b6102fb565b6000806134ac670de0b6b3a764000085614021565b90508281816134bd576134bd613fb1565b05949350505050565b6000670de0b6b3a764000082036134f05760405163a9c8b14d60e01b815260040160405180910390fd5b600061350e61350784670de0b6b3a764000061409b565b8490613497565b9050610329815b60008082136135565760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610c50565b670c7d713b49da0000821380156135745750670f43fc2c04ee000082125b1561359857670de0b6b3a764000061358b83612aa8565b81612fff57612fff613fb1565b6102fb82612bc7565b6000806135ae8385614021565b9050670de0b6b3a7640000816134bd565b600080600083126135d15760016135d5565b6000195b90506126326123ed856135e786613480565b612535565b600080600083126135fe576001613602565b6000195b90506126326123ed8561361486613480565b612348565b60008061362a8787878760006129f7565b9050600061363a611a1e83613515565b90508361364c6201518061016d61400a565b613656908361400a565b6136609190613fc7565b98975050505050505050565b60405180606001604052806000815260200160008152602001600081525090565b60405180606001604052806136a06136cb565b815260200160008152602001600081525090565b604080518082019091526000808252602082015290565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006060828403121561346c57600080fd5b6000610160828403121561346c57600080fd5b8035600681106109d257600080fd5b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561378c5761378c613754565b60405290565b60405161012081016001600160401b038111828210171561378c5761378c613754565b604051601f8201601f191681016001600160401b03811182821017156137dd576137dd613754565b604052919050565b600060a082840312156137f757600080fd5b60405160a081016001600160401b038111828210171561381957613819613754565b806040525080915082358152602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b60008060008060006102a0868803121561386d57600080fd5b6138778787613720565b94506138868760608801613732565b93506138956101c08701613745565b92506101e086013591506138ad8761020088016137e5565b90509295509295909350565b8035600381106109d257600080fd5b6000604082840312156138da57600080fd5b604080519081016001600160401b03811182821017156138fc576138fc613754565b604052613908836138b9565b8152613916602084016138b9565b60208201529392505050565b634e487b7160e01b600052602160045260246000fd5b602081016006831061394c5761394c613922565b91905290565b6000806101c0838503121561396657600080fd5b6139708484613720565b915061133b8460608501613732565b600060a0828403121561346c57600080fd5b60008060008061024085870312156139a857600080fd5b6139b28686613732565b93506139c16101608601613745565b925061018085013591506139d9866101a0870161397f565b905092959194509250565b60006080828403121561346c57600080fd5b60008060008060008060008789036103e0811215613a1357600080fd5b613a1d8a8a613720565b9750613a2c8a60608b01613732565b9650613a3c8a6101c08b016139e4565b9550613a4b6102408a01613745565b9450604061025f1982011215613a6057600080fd5b5061026088019250613a76896102a08a0161397f565b9150613a86896103408a0161397f565b905092959891949750929550565b6001600160a01b0381168114611e1457600080fd5b80356109d281613a94565b60008060408385031215613ac757600080fd5b8235613ad281613a94565b91506020830135613ae281613a94565b809150509250929050565b602080825282518282018190526000919060409081850190868401855b82811015613b3857815180516001600160a01b03168552860151868501529284019290850190600101613b0a565b5091979650505050505050565b60008060006102408486031215613b5b57600080fd5b613b658585613720565b9250613b748560608601613732565b9150613b84856101c086016139e4565b90509250925092565b60038110613b9d57613b9d613922565b9052565b6000604082019050613bb4828451613b8d565b6020830151613bc66020840182613b8d565b5092915050565b600060608284031215613bdf57600080fd5b604051606081016001600160401b0381118282101715613c0157613c01613754565b80604052508235815260208301356020820152604083013560408201528091505092915050565b6000818303610160811215613c3c57600080fd5b613c4461376a565b61012080831215613c5457600080fd5b613c5c613792565b9250843583526020850135602084015260408501356040840152613c8260608601613aa9565b60608401526080858101359084015260a0808601359084015260c0808601359084015260e08086013590840152610100808601359084015291815290830135602082015261014090920135604083015250919050565b600060a08284031215613cea57600080fd5b61032983836137e5565b600060808284031215613d0657600080fd5b604051608081016001600160401b0381118282101715613d2857613d28613754565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600080600060608486031215613d6e57600080fd5b8351613d7981613a94565b6020850151909350613d8a81613a94565b6040850151909250613d9b81613a94565b809150509250925092565b60006001600160401b03821115613dbf57613dbf613754565b5060051b60200190565b60006020808385031215613ddc57600080fd5b82516001600160401b03811115613df257600080fd5b8301601f81018513613e0357600080fd5b8051613e16613e1182613da6565b6137b5565b81815260059190911b82018301908381019087831115613e3557600080fd5b928401925b828410156103ed578351613e4d81613a94565b82529284019290840190613e3a565b600082601f830112613e6d57600080fd5b81516020613e7d613e1183613da6565b82815260059290921b84018101918181019086841115613e9c57600080fd5b8286015b84811015613eb75780518352918301918301613ea0565b509695505050505050565b60008060408385031215613ed557600080fd5b825160208401519092506001600160401b03811115613ef357600080fd5b613eff85828601613e5c565b9150509250929050565b6001600160a01b0391909116815260200190565b600060208284031215613f2f57600080fd5b81516001600160401b03811115613f4557600080fd5b61037d84828501613e5c565b634e487b7160e01b600052601160045260246000fd5b818103818111156102fb576102fb613f51565b808201808211156102fb576102fb613f51565b9283526020830191909152604082015260600190565b918252602082015260400190565b634e487b7160e01b600052601260045260246000fd5b600082613fd657613fd6613fb1565b500490565b600060018201613fed57613fed613f51565b5060010190565b634e487b7160e01b600052603260045260246000fd5b80820281158282048414176102fb576102fb613f51565b80820260008212600160ff1b8414161561403d5761403d613f51565b81810583148215176102fb576102fb613f51565b60008261406057614060613fb1565b600160ff1b82146000198414161561407a5761407a613f51565b500590565b6000600160ff1b820161409457614094613f51565b5060000390565b8181036000831280158383131683831282161715613bc657613bc6613f51565b80820182811260008312801582168215821617156140db576140db613f51565b50509291505056fea2646970667358221220a359bbeaa16240fb0414e1327bee0993045886a5032157af1ddee252a3f8ce4964736f6c63430008110033",
|
|
1068
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80631c9119cd14610072578063218494d41461014957806335b7014614610169578063675ea12b1461018a578063b2ba84da1461019d578063db71ba3a146101b0578063f829d9e4146101d0575b600080fd5b610085610080366004613854565b6101f0565b6040516101409392919060006101e0820190508415158252835160208301526020840151604083015260408401516060830152825180516080840152602081015160a0840152604081015160c084015260018060a01b0360608201511660e08401526080810151610100818186015260a083015161012086015260c083015161014086015260e08301516101608601528083015161018086015250505060208301516101a083015260408301516101c0830152949350505050565b60405180910390f35b61015c6101573660046138c8565b6102f0565b6040516101409190613938565b61017c610177366004613952565b610301565b604051908152602001610140565b61017c610198366004613991565b610330565b61017c6101ab3660046139f6565b610385565b6101c36101be366004613ab4565b6103f8565b6040516101409190613aed565b6101e36101de366004613b45565b61074a565b6040516101409190613ba1565b60006101fa61366c565b61020261368d565b61021136899003890189613bcd565b915061022236889003880188613c28565b9050600086600581111561023857610238613922565b0361024f57610248828287610787565b92506102e5565b600186600581111561026357610263613922565b03610273576102488282876107e3565b600286600581111561028757610287613922565b0361029757610248828287610856565b60038660058111156102ab576102ab613922565b036102bb576102488282876108a5565b60048660058111156102cf576102cf613922565b036102e057610248828287876108e0565b600092505b955095509592505050565b60006102fb82610915565b92915050565b600061032961031536859003850185613bcd565b61032436859003850185613c28565b6109d7565b9392505050565b6000600484600581111561034657610346613922565b036103795761037261035d36879003870187613c28565b8461036d36869003860186613cd8565b610ab3565b905061037d565b5060005b949350505050565b60006103ea610399368a90038a018a613bcd565b6103a8368a90038a018a613c28565b6103b7368a90038a018a613cf4565b886103c7368a90038a018a6138c8565b6103d6368a90038a018a613cd8565b6103e5368a90038a018a613cd8565b610b1c565b90505b979650505050505050565b6060600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f9190613d59565b92505091506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104cc9190810190613dc9565b604051637d24da4d60e01b81526001600160a01b0388811660048301526001602483018190526044830152919250600091841690637d24da4d906064016000604051808303816000875af1158015610528573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105509190810190613ec2565b915061055f9050858383610e0a565b94506000846001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105c99190810190613dc9565b90506000856001600160a01b031663ef5cfb8c8a6040518263ffffffff1660e01b81526004016105f99190613f09565b6000604051808303816000875af1158015610618573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106409190810190613f1d565b905061064d878383610e0a565b96506000886001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561068f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106b79190810190613dc9565b90506000896001600160a01b0316639262187b8c6040518263ffffffff1660e01b81526004016106e79190613f09565b6000604051808303816000875af1158015610706573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261072e9190810190613f1d565b905061073b898383610e0a565b9b9a5050505050505050505050565b6107526136b4565b61037d61076436869003860186613bcd565b61077336869003860186613c28565b61078236869003860186613cf4565b610ec2565b6000806107948484610fa7565b905084604001518111156107ac576000915050610329565b80856040018181516107be9190613f67565b9052506020850180518491906107d5908390613f7a565b905250600195945050505050565b600083604001518211156107f957506000610329565b6000806108068585610fee565b91509150838660400181815161081c9190613f67565b905250855182908790610830908390613f7a565b905250602086018051829190610847908390613f7a565b90525060019695505050505050565b600080806108648585611088565b91509150856040015181111561087f57600092505050610329565b80866040018181516108919190613f67565b905250855182908790610847908390613f7a565b600080806108b3858561111c565b9150915085602001518111156108ce57600092505050610329565b80866020018181516108919190613f67565b83516000908311156108f45750600061037d565b6000610901858585611230565b905083866000018181516108309190613f67565b600060018251600281111561092c5761092c613922565b0361095e5760028260200151600281111561094957610949613922565b0361095657506000919050565b506004919050565b60008251600281111561097357610973613922565b036109a55760028260200151600281111561099057610990613922565b0361099d57506001919050565b506005919050565b6002826020015160028111156109bd576109bd613922565b036109ca57506002919050565b506003919050565b919050565b60008060006109f38560000151856112d190919063ffffffff16565b915091506000828660400151610a099190613f7a565b905085602001518211610a5f57610a208583611344565b610a2a9082613f7a565b9050610a4e828760200151610a3f9190613f67565b610a4887611356565b90611394565b610a589082613f7a565b9050610aaa565b6020860151610a6f908690611344565b610a799082613f7a565b9050610a9d866020015183610a8e9190613f67565b610a9787611356565b906113f9565b610aa79082613f7a565b90505b95945050505050565b825160009081908190610ac6908661141d565b915091506000610ae383886020015161144d90919063ffffffff16565b90506000610af18284613f7a565b602089015160408a01518a51929350610b0e92919084908a611459565b509998505050505050505050565b6000806040518060a001604052808a8152602001898152602001888152602001876005811115610b4e57610b4e613922565b8152602001869052604085015190915015610beb576000610b8b8560800151670de0b6b3a7640000610b809190613f67565b60408701519061156f565b90506002610b9e83876040015187611592565b6002811115610baf57610baf613922565b148015610bd757506001610bc4838387611592565b6002811115610bd557610bd5613922565b145b15610be95750505060408201516103ed565b505b6000610bf88a8a896115e0565b90508085602001511115610c0e57602085018190525b602085015185511115610c5957866005811115610c2d57610c2d613922565b8551602087015160405163f25ccea360e01b8152610c5093929190600401613f8d565b60405180910390fd5b6001610c6a83876020015187611592565b6002811115610c7b57610c7b613922565b03610c8d5750505060208201516103ed565b506000610c9f82866000015186611592565b90506000816002811115610cb557610cb5613922565b03610ce957866005811115610ccc57610ccc613922565b8551604051630cf4fb5360e31b8152610c50929190600401613fa3565b6002816002811115610cfd57610cfd613922565b03610d0d575050825190506103ed565b5060005b8460600151811015610df0576000600286600001518760200151610d359190613f67565b610d3f9190613fc7565b8651610d4b9190613f7a565b90506001610d5a848388611592565b6002811115610d6b57610d6b613922565b03610d7857808652610d80565b602086018190525b610d9786600001518760200151886080015161169b565b15610ddf576000610dad84886020015188611592565b6002811115610dbe57610dbe613922565b03610dd0575050835191506103ed9050565b856020015193505050506103ed565b50610de981613fdb565b9050610d11565b5060405163fef33c9d60e01b815260040160405180910390fd5b80518251849114610e5d5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e416d6f756e744c69623a206c656e677468206d69736d61746368006044820152606401610c50565b60005b8351811015610eba57610ea682858381518110610e7f57610e7f613ff4565b6020026020010151858481518110610e9957610e99613ff4565b60200260200101516116ce565b915080610eb281613fdb565b915050610e60565b509392505050565b610eca6136b4565b6000610ed584611890565b8551909150600090610ee89086906112d1565b915050600081600014610f09576020870151610f0490836118dd565b610f0d565b6000195b8551909150831015610f38578360015b90816002811115610f3057610f30613922565b905250610f60565b828560200151108015610f4e5750846060015181115b15610f5b57836002610f1d565b600084525b6000610f7a610f6f89896109d7565b60408a0151906118dd565b90508560400151811115610f945760026020860152610f9c565b600060208601525b505050509392505050565b6020820151604083015183516000928392610fc59291908690611903565b505090506000610fe284866020015161195490919063ffffffff16565b9050610aaa8183611960565b6000806000611012611007866000015160200151611977565b60208701519061144d565b85515161101e90611977565b6110289190613f7a565b85515161103490611977565b61103e908661400a565b6110489190613fc7565b602086015190915061105a908261144d565b91506110796110698286613f67565b604087015187519190859061198a565b50909793965092945050505050565b60008060006110b0856020015185876040015188600001516119f5909392919063ffffffff16565b50508551519091506000906110c490611977565b8651602001516110d390611977565b6110dd908761400a565b6110e79190613fc7565b604087015187519192506110ff91908390889061198a565b50909550611111915082905083613f7a565b925050509250929050565b6000806000611144856020015185876040015188600001516119f5909392919063ffffffff16565b50506020860151909150600061115a828461400a565b61116c670de0b6b3a76400008861400a565b6111769190613f67565b87515190915060009061118890611977565b8361119a8a6000015160200151611977565b6111a4919061400a565b6111ae9190613fc7565b6111c090670de0b6b3a7640000613f7a565b905060006111ce8284613fc7565b90506111da8189613f67565b955060006111f5878b60200151611a2390919063ffffffff16565b905060006112038783613f67565b60408c01518c5191925061121b91908390869061198a565b50909d999c50989a5050505050505050505050565b825160009081908190611243908661141d565b91509150600061126083886020015161144d90919063ffffffff16565b9050600061126e8284613f7a565b90506000806112958a60200151848c6040015161128a8c611a2f565b8e5193929190611459565b5060208c015160408d01518d519395509193506112b492918490611903565b50505081846112c39190613f7a565b9a9950505050505050505050565b6000806112e5846000015160400151611977565b8451602001516112f490611977565b6112fe908561400a565b6113089190613fc7565b915061131b846000015160400151611977565b84515161132790611977565b611331908561400a565b61133b9190613fc7565b90509250929050565b60208201516000906103299083611a23565b61135e61368d565b60405180606001604052806113768460000151611aa3565b81526020018360200151815260200183604001518152509050919050565b60208201516040830151835160009283926113b292919086906119f5565b5050905060006113cf828660200151611b2090919063ffffffff16565b905060006113dd8286613f67565b60208701519091506113ef9082611a23565b9695505050505050565b602082015160408301518351600092611413928590611903565b5090949350505050565b6000806000806114358661143087611b2d565b611b43565b9150915061144282611977565b935061111181611977565b60006103298383611c0f565b6000808080611469898988611c2e565b905084604001516000036114ab5784516114839088611d28565b8552602085015161149d906114988b84611d3e565b611dba565b60208601526114ab85611dc9565b60005b85606001518110156115555760006114c68783611e17565b90506000806114d78d868e86611e83565b50909250905060006114e98d8461144d565b905060006114f78286613f67565b90508c811161152e5761150f818e8d6080015161169b565b15611526575097509195509093506102e592505050565b848b5261153f565b611539600186613f67565b60208c01525b50505050508061154e90613fdb565b90506114ae565b50604051637d388ed960e11b815260040160405180910390fd5b60008061157c838561400a565b9050670de0b6b3a7640000815b04949350505050565b60008060006115a2868686611eb4565b91509150816115b657600092505050610329565b6115c4866080015182611fe2565b156115d457600192505050610329565b50600295945050505050565b6000808260058111156115f5576115f5613922565b0361160a5761160383612047565b9050610329565b600182600581111561161e5761161e613922565b0361162e57506040830151610329565b600282600581111561164257611642613922565b036116505761160383612082565b600382600581111561166457611664613922565b036116725761160383612082565b600482600581111561168657611686613922565b0361169357508251610329565b506000610329565b600082841115801561037d57506116c3836116be84670de0b6b3a7640000613f67565b61156f565b909310159392505050565b6060816000036116df575082610329565b835160005b855181101561173d57846001600160a01b031686828151811061170957611709613ff4565b6020026020010151600001516001600160a01b03160361172b5780915061173d565b8061173581613fdb565b9150506116e4565b508451811461174d576000611750565b60015b60ff16855161175f9190613f7a565b6001600160401b0381111561177657611776613754565b6040519080825280602002602001820160405280156117bb57816020015b60408051808201909152600080825260208201528152602001906001900390816117945790505b50915060005b8551811015611814578581815181106117dc576117dc613ff4565b60200260200101518382815181106117f6576117f6613ff4565b6020026020010181905250808061180c90613fdb565b9150506117c1565b506040518060400160405280856001600160a01b03168152602001848751841461185b5787848151811061184a5761184a613ff4565b60200260200101516020015161185e565b60005b6118689190613f7a565b81525082828151811061187d5761187d613ff4565b6020026020010181905250509392505050565b6000670de0b6b3a76400006118d36118c48460400151856000015160a001516118b99190613f67565b6301e13380906118dd565b6118cd856120a8565b906120f5565b6102fb9190613f67565b6000806118f2670de0b6b3a76400008561400a565b905082818161158957611589613fb1565b6000806000806000806119208a8a61191a8b61229e565b8a6122b5565b92509250925061192f83611977565b955061193a82611977565b945061194581611977565b93505050509450945094915050565b60006103298383612348565b600081831015611971576000610329565b50900390565b60008082121561198657600080fd5b5090565b6000806000806000806000806119b28c6119a38d611b2d565b6119ac8d611b2d565b8c612374565b93509350935093506119c384611977565b97506119ce83611977565b96506119d982611977565b95506119e481611977565b945050505050945094509450949050565b600080600080600080611a0c8a8a61191a8b611b2d565b92509250925061192f611a1e84612527565b611977565b60006103298383612535565b611a616040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b611aab6136cb565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b60008261037d818461254a565b60006001600160ff1b0382111561198657600080fd5b60008082600003611b67576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151611b7b9085614021565b611b859190614051565b6040850151855191935090611b9a9085614021565b611ba49190614051565b905081158015611bb2575080155b15611bd057604051631997ea8d60e31b815260040160405180910390fd5b6040840151611bdf9084612562565b60408501528351611bf09082612562565b84526020840151611c019083612562565b602090940193909352929050565b6000670de0b6b3a7640000611c24848461400a565b6103299190613fc7565b611c596040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210611c7d5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151611c8f9190613f67565b9050611c9b85826125a9565b82526020850151611cad908590612605565b602083015284511580611cc257506020820151155b15611ce9578451602083015160405163b1c4aefb60e01b8152610c50929190600401613fa3565b611d078560000151866101000151846020015185600001518561263c565b604083015260c0850151611d1b90826126bd565b6060830152509392505050565b6000818311611d375781610329565b5090919050565b60008060009050600060018460200151611d589190613f67565b90505b808214610eba5760006002611d708385613f7a565b611d7b906001613f7a565b611d859190613fc7565b90506000611d98868860000151846126f6565b1215611db057611da9600182613f67565b9150611db4565b8092505b50611d5b565b6000818310611d375781610329565b602081015181511180611de75750670de0b6b3a76400008160800151115b15611e1457805160208201516080830151604051632cc06bc160e21b8152610c5093929190600401613f8d565b50565b600081158015611e2a5750604083015115155b15611e3a575060408201516102fb565b6020830151835111611e6a5760208301518351600291611e5991613f7a565b611e639190613fc7565b90506102fb565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080611ea18989611e988a61407f565b8d9291906127ee565b919c909b50909950975050505050505050565b6000611ebe6136b4565b6000611ecd8660000151612942565b90506000611ede8760200151611356565b9050600087606001516005811115611ef857611ef8613922565b03611f0f57611f08828288610787565b9350611fc0565b600187606001516005811115611f2757611f27613922565b03611f3757611f088282886107e3565b600287606001516005811115611f4f57611f4f613922565b03611f5f57611f08828288610856565b600387606001516005811115611f7757611f77613922565b03611f8757611f088282886108a5565b600487606001516005811115611f9f57611f9f613922565b03611fbb57611f088187611fb288611a2f565b859291906108e0565b600093505b8315611fd857611fd582828960400151610ec2565b92505b5050935093915050565b80516000906002811115611ff857611ff8613922565b8351600281111561200b5761200b613922565b14801561032957508160200151600281111561202957612029613922565b8360200151600281111561203f5761203f613922565b149392505050565b805160208201516040830151600092600a9261206d92612068918391611c2e565b611d3e565b61207890600961400a565b6102fb9190613fc7565b6020810151604082015182516000926102fb926120a0929190611c2e565b83515161296e565b60208101516040820151825160009283926120c4929190611c2e565b905060006120ea84600001516000015183602001518460000151856040015160006129f7565b905061037d81611977565b60008160000361210e5750670de0b6b3a76400006102fb565b8260000361211e575060006102fb565b600160ff1b83106121635760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b6044820152606401610c50565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106121bd5760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610c50565b826000670c7d713b49da0000831380156121de5750670f43fc2c04ee000083125b156122155760006121ee84612aa8565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050612223565b8161221f84612bc7565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590612251575068070c1cc73b00c800008113155b6122955760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610c50565b6113ef81612f6a565b60006122a982611b2d565b6102fb90600019614021565b60008060006122c88760a0015185101590565b156122e65760405163b2094b5960e01b815260040160405180910390fd5b8651851261230c578651604051632185509b60e21b8152610c5091908790600401613fa3565b6000612319888887611c2e565b9050612327888289896127ee565b9195509350915061233d8882898988878b61337f565b509450945094915050565b600082600181612360670de0b6b3a76400008661400a565b61236a9190613f7a565b611c249190613f67565b6000808080861580612384575085155b156123a2576040516325daaec360e01b815260040160405180910390fd5b60a088015185106123c65760405163b2094b5960e01b815260040160405180910390fd5b876040015160000361240e576103e86123f26123ed6123e8611a1e8a8c614021565b613411565b611b2d565b6123fc919061409b565b92506103e893508691508590506124b1565b87516040890151600091906124239089614021565b61242d9190614051565b9050600089602001518a604001518a6124469190614021565b6124509190614051565b905080821215612486578194508792508960400151858b602001516124759190614021565b61247f9190614051565b93506124ae565b8094508893508960400151858b600001516124a19190614021565b6124ab9190614051565b92505b50505b600083136124d257604051631997ea8d60e31b815260040160405180910390fd5b81886020018181516124e491906140bb565b9052508751819089906124f89083906140bb565b90525061250584846140bb565b8860400181815161251691906140bb565b905250929791965094509092509050565b60006102fb82600019614021565b600082611c24670de0b6b3a76400008461400a565b6000670de0b6b3a7640000600181612360868661400a565b60008183121561259f5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610c50565b610329828461409b565b60006125b482611b2d565b6125c66123ed6201518061016d61400a565b84608001516125d59190614021565b6125df9190614051565b9050600081136102fb57604051630e520c3b60e11b815260048101829052602401610c50565b6000806000831261261757600161261b565b6000195b90506126326123ed8561262d86613480565b611c0f565b61037d9082614021565b60008061264986846126bd565b9050670de0b6b3a76400008112156126775760405163329e322960e21b815260048101829052602401610c50565b600061268d612686878a6140bb565b8990613497565b9050600061269a826134c6565b90506126a68187613497565b6126b0908461409b565b9998505050505050505050565b6000806126cf6201518061016d61400a565b6126d9848661400a565b6126e39190613fc7565b905061037d6126f182611b2d565b612f6a565b600080828560200151612709919061409b565b9050600061271785856140bb565b90506000821380156127295750600081135b61276a5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610c50565b60006127986127798484614021565b602089015161278890896140bb565b6127929088614021565b90613497565b905060006127ae6127a98486613497565b613515565b88519091506000906127c990670de0b6b3a764000090613497565b90506127df816127d9848661409b565b906135a1565b89604001516126b0919061409b565b6000806000806128118860000151886020015189600001518a60400151896129f7565b905060006128276128228784613497565b612527565b606089015190915060008713156128965760006128448483613497565b9050670de0b6b3a76400008112156128725760405163329e322960e21b815260048101829052602401610c50565b61288e61288783670de0b6b3a764000061409b565b84906135a1565b9150506128c3565b6128c0816128ac81670de0b6b3a764000061409b565b6128b69085614021565b6128229190614051565b90505b600060646128d48c60e00151611b2d565b6128de9084614021565b6128e89190614051565b905060006128f6838561409b565b90506000811261290f5761290a8a826135bf565b612919565b6129198a826135ec565b97506129258a846135bf565b96506129318a836135bf565b955050505050509450945094915050565b61294a61366c565b50604080516060810182528251815260208084015190820152918101519082015290565b6000806129906126f18560000151866040015187606001516127d9919061409b565b905060006129b06129a9670de0b6b3a7640000846140bb565b8390613497565b905060006129ce8660200151866129c791906140bb565b83906135a1565b905060006129dc828761409b565b90506103e86129ed826103e761400a565b6103ed9190613fc7565b600080612a048784612562565b90506000612a156129a9888a6140bb565b9050670d529ae9e8600000811315612a4c5780670d529ae9e8600000604051637e34684f60e11b8152600401610c50929190613fa3565b6000612a57826134c6565b905085612a648289613497565b612a6e91906140bb565b9350670de0b6b3a7640000841215612a9c5760405163329e322960e21b815260048101859052602401610c50565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612ae957612ae9613fb1565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612c0857612bff826a0c097ce7bc90715b34b9f160241b81612bf957612bf9613fb1565b05612bc7565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612c535772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612c8a576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612cd2576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612d0d576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612d4457693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612d7b57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612db05768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612ddb57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612e10576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612e45576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612e79576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612ead576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612ed657612ed6613fb1565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015612f8f575068070c1cc73b00c800008213155b612fce5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610c50565b600082121561300657612fe382600003612f6a565b6a0c097ce7bc90715b34b9f160241b81612fff57612fff613fb1565b0592915050565b60006806f05b59d3b2000000831261304457506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61307a565b6803782dace9d9000000831261307657506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061307a565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126130ca5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613106576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261314057682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261317a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126131b357680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126131ec5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613225576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261325e5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000818860a001516133919190613f67565b88519091506133a09086612562565b88526133ba6133af84866140bb565b60208a015190612562565b6020890181905288516133df916133d2908990612605565b895160408b015185613619565b610100890181905260000361340757604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60006003821115613472575080600061342b600283613fc7565b613436906001613f7a565b90505b8181101561346c579050806002816134518186613fc7565b61345b9190613f7a565b6134659190613fc7565b9050613439565b50919050565b81156109d257506001919050565b6000808213611986576134928261407f565b6102fb565b6000806134ac670de0b6b3a764000085614021565b90508281816134bd576134bd613fb1565b05949350505050565b6000670de0b6b3a764000082036134f05760405163a9c8b14d60e01b815260040160405180910390fd5b600061350e61350784670de0b6b3a764000061409b565b8490613497565b9050610329815b60008082136135565760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610c50565b670c7d713b49da0000821380156135745750670f43fc2c04ee000082125b1561359857670de0b6b3a764000061358b83612aa8565b81612fff57612fff613fb1565b6102fb82612bc7565b6000806135ae8385614021565b9050670de0b6b3a7640000816134bd565b600080600083126135d15760016135d5565b6000195b90506126326123ed856135e786613480565b612535565b600080600083126135fe576001613602565b6000195b90506126326123ed8561361486613480565b612348565b60008061362a8787878760006129f7565b9050600061363a611a1e83613515565b90508361364c6201518061016d61400a565b613656908361400a565b6136609190613fc7565b98975050505050505050565b60405180606001604052806000815260200160008152602001600081525090565b60405180606001604052806136a06136cb565b815260200160008152602001600081525090565b604080518082019091526000808252602082015290565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006060828403121561346c57600080fd5b6000610160828403121561346c57600080fd5b8035600681106109d257600080fd5b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561378c5761378c613754565b60405290565b60405161012081016001600160401b038111828210171561378c5761378c613754565b604051601f8201601f191681016001600160401b03811182821017156137dd576137dd613754565b604052919050565b600060a082840312156137f757600080fd5b60405160a081016001600160401b038111828210171561381957613819613754565b806040525080915082358152602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b60008060008060006102a0868803121561386d57600080fd5b6138778787613720565b94506138868760608801613732565b93506138956101c08701613745565b92506101e086013591506138ad8761020088016137e5565b90509295509295909350565b8035600381106109d257600080fd5b6000604082840312156138da57600080fd5b604080519081016001600160401b03811182821017156138fc576138fc613754565b604052613908836138b9565b8152613916602084016138b9565b60208201529392505050565b634e487b7160e01b600052602160045260246000fd5b602081016006831061394c5761394c613922565b91905290565b6000806101c0838503121561396657600080fd5b6139708484613720565b915061133b8460608501613732565b600060a0828403121561346c57600080fd5b60008060008061024085870312156139a857600080fd5b6139b28686613732565b93506139c16101608601613745565b925061018085013591506139d9866101a0870161397f565b905092959194509250565b60006080828403121561346c57600080fd5b60008060008060008060008789036103e0811215613a1357600080fd5b613a1d8a8a613720565b9750613a2c8a60608b01613732565b9650613a3c8a6101c08b016139e4565b9550613a4b6102408a01613745565b9450604061025f1982011215613a6057600080fd5b5061026088019250613a76896102a08a0161397f565b9150613a86896103408a0161397f565b905092959891949750929550565b6001600160a01b0381168114611e1457600080fd5b80356109d281613a94565b60008060408385031215613ac757600080fd5b8235613ad281613a94565b91506020830135613ae281613a94565b809150509250929050565b602080825282518282018190526000919060409081850190868401855b82811015613b3857815180516001600160a01b03168552860151868501529284019290850190600101613b0a565b5091979650505050505050565b60008060006102408486031215613b5b57600080fd5b613b658585613720565b9250613b748560608601613732565b9150613b84856101c086016139e4565b90509250925092565b60038110613b9d57613b9d613922565b9052565b6000604082019050613bb4828451613b8d565b6020830151613bc66020840182613b8d565b5092915050565b600060608284031215613bdf57600080fd5b604051606081016001600160401b0381118282101715613c0157613c01613754565b80604052508235815260208301356020820152604083013560408201528091505092915050565b6000818303610160811215613c3c57600080fd5b613c4461376a565b61012080831215613c5457600080fd5b613c5c613792565b9250843583526020850135602084015260408501356040840152613c8260608601613aa9565b60608401526080858101359084015260a0808601359084015260c0808601359084015260e08086013590840152610100808601359084015291815290830135602082015261014090920135604083015250919050565b600060a08284031215613cea57600080fd5b61032983836137e5565b600060808284031215613d0657600080fd5b604051608081016001600160401b0381118282101715613d2857613d28613754565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600080600060608486031215613d6e57600080fd5b8351613d7981613a94565b6020850151909350613d8a81613a94565b6040850151909250613d9b81613a94565b809150509250925092565b60006001600160401b03821115613dbf57613dbf613754565b5060051b60200190565b60006020808385031215613ddc57600080fd5b82516001600160401b03811115613df257600080fd5b8301601f81018513613e0357600080fd5b8051613e16613e1182613da6565b6137b5565b81815260059190911b82018301908381019087831115613e3557600080fd5b928401925b828410156103ed578351613e4d81613a94565b82529284019290840190613e3a565b600082601f830112613e6d57600080fd5b81516020613e7d613e1183613da6565b82815260059290921b84018101918181019086841115613e9c57600080fd5b8286015b84811015613eb75780518352918301918301613ea0565b509695505050505050565b60008060408385031215613ed557600080fd5b825160208401519092506001600160401b03811115613ef357600080fd5b613eff85828601613e5c565b9150509250929050565b6001600160a01b0391909116815260200190565b600060208284031215613f2f57600080fd5b81516001600160401b03811115613f4557600080fd5b61037d84828501613e5c565b634e487b7160e01b600052601160045260246000fd5b818103818111156102fb576102fb613f51565b808201808211156102fb576102fb613f51565b9283526020830191909152604082015260600190565b918252602082015260400190565b634e487b7160e01b600052601260045260246000fd5b600082613fd657613fd6613fb1565b500490565b600060018201613fed57613fed613f51565b5060010190565b634e487b7160e01b600052603260045260246000fd5b80820281158282048414176102fb576102fb613f51565b80820260008212600160ff1b8414161561403d5761403d613f51565b81810583148215176102fb576102fb613f51565b60008261406057614060613fb1565b600160ff1b82146000198414161561407a5761407a613f51565b500590565b6000600160ff1b820161409457614094613f51565b5060000390565b8181036000831280158383131683831282161715613bc657613bc6613f51565b80820182811260008312801582168215821617156140db576140db613f51565b50509291505056fea2646970667358221220a359bbeaa16240fb0414e1327bee0993045886a5032157af1ddee252a3f8ce4964736f6c63430008110033",
|
|
1069
|
+
"linkReferences": {},
|
|
1070
|
+
"deployedLinkReferences": {}
|
|
1071
|
+
}
|