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