@pendle/core-v2 2.17.7-tradingbot → 2.18.0-tradingbot

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  19. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  21. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.json +32 -17
  68. package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.json +32 -17
  70. package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.json +2 -2
  72. package/build/artifacts/contracts/core/TradingBot/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  73. package/build/artifacts/contracts/core/TradingBot/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1190 -0
  74. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +301 -397
  76. package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/TradingBot/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +4 -0
  78. package/build/artifacts/contracts/core/TradingBot/SpecSegmentLib.sol/SpecSegmentLib.json +10 -0
  79. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +32 -17
  81. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +542 -581
  119. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +256 -325
  121. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +6 -17
  123. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  124. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  125. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  126. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  127. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  128. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  130. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  131. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  132. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  133. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  134. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  135. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  136. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  137. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  138. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  139. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  140. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  141. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  142. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  143. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  144. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  145. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  146. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  147. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  148. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  149. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  150. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  151. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  152. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  153. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  154. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  155. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  156. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  157. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  158. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  159. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  160. package/contracts/core/TradingBot/BotActionCallback.sol +1 -1
  161. package/contracts/core/TradingBot/BotActionHelper.sol +1 -3
  162. package/contracts/core/TradingBot/BotSimulationLib.sol +2 -1
  163. package/contracts/core/TradingBot/LongYieldDecisionHelper.sol +413 -0
  164. package/contracts/core/TradingBot/LongYieldTradingBot.sol +63 -91
  165. package/contracts/core/TradingBot/SpecSegmentLib.sol +62 -0
  166. package/contracts/core/TradingBot/TradingBotBase.sol +14 -9
  167. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +41 -57
  168. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +24 -34
  169. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +1 -3
  170. package/package.json +1 -1
  171. package/typechain-types/BotActionCallback.ts +40 -22
  172. package/typechain-types/BotActionHelper.ts +40 -22
  173. package/typechain-types/BotDecisionHelper.ts +221 -187
  174. package/typechain-types/IAnkrBNB.ts +150 -0
  175. package/typechain-types/IAnkrLiquidStaking.ts +253 -0
  176. package/typechain-types/IBotDecisionHelper.ts +142 -212
  177. package/typechain-types/ILongYieldTradingBot.ts +147 -230
  178. package/typechain-types/ISwETH.ts +123 -0
  179. package/typechain-types/ITradingBotBase.ts +14 -22
  180. package/typechain-types/LongYieldDecisionHelper.ts +598 -0
  181. package/typechain-types/LongYieldTradingBot.ts +191 -248
  182. package/typechain-types/PendleAnkrBNBSY.ts +1235 -0
  183. package/typechain-types/PendleAuraWstethAnkreth.ts +1511 -0
  184. package/typechain-types/PendleSwETH.ts +1216 -0
  185. package/typechain-types/PendleThenaSY.ts +153 -0
  186. package/typechain-types/PendleWbEthSY.ts +1229 -0
  187. package/typechain-types/ThenaLpHelper.ts +19 -0
  188. package/typechain-types/ThenaMath.ts +87 -0
  189. package/typechain-types/ThenaPreview.ts +19 -0
  190. package/typechain-types/TradingBotBase.ts +40 -22
  191. package/typechain-types/factories/BotActionCallback__factory.ts +31 -16
  192. package/typechain-types/factories/BotActionHelper__factory.ts +31 -16
  193. package/typechain-types/factories/BotDecisionHelper__factory.ts +490 -421
  194. package/typechain-types/factories/IAnkrBNB__factory.ts +74 -0
  195. package/typechain-types/factories/IAnkrLiquidStaking__factory.ts +123 -0
  196. package/typechain-types/factories/IBotDecisionHelper__factory.ts +540 -579
  197. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +255 -324
  198. package/typechain-types/factories/ISwETH__factory.ts +53 -0
  199. package/typechain-types/factories/ITradingBotBase__factory.ts +6 -17
  200. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1247 -0
  201. package/typechain-types/factories/LongYieldTradingBot__factory.ts +301 -393
  202. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1100 -0
  203. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1244 -0
  204. package/typechain-types/factories/PendleSwETH__factory.ts +1022 -0
  205. package/typechain-types/factories/PendleThenaSY__factory.ts +85 -1
  206. package/typechain-types/factories/PendleWbEthSY__factory.ts +1049 -0
  207. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  208. package/typechain-types/factories/ThenaLpHelper__factory.ts +13 -0
  209. package/typechain-types/factories/ThenaMath__factory.ts +36 -0
  210. package/typechain-types/factories/ThenaPreview__factory.ts +14 -1
  211. package/typechain-types/factories/TradingBotBase__factory.ts +31 -16
  212. package/typechain-types/hardhat.d.ts +4 -40
  213. package/typechain-types/index.ts +2 -10
  214. package/build/artifacts/contracts/core/TradingBot/BotDecisionHelper.sol/BotDecisionHelper.dbg.json +0 -4
  215. package/build/artifacts/contracts/core/TradingBot/BotDecisionHelper.sol/BotDecisionHelper.json +0 -1070
  216. package/contracts/core/TradingBot/BotDecisionHelper.sol +0 -306
@@ -0,0 +1,1247 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ LongYieldDecisionHelper,
8
+ LongYieldDecisionHelperInterface,
9
+ } from "../LongYieldDecisionHelper";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [],
14
+ name: "ApproxFail",
15
+ type: "error",
16
+ },
17
+ {
18
+ inputs: [
19
+ {
20
+ internalType: "uint256",
21
+ name: "guessMin",
22
+ type: "uint256",
23
+ },
24
+ {
25
+ internalType: "uint256",
26
+ name: "guessMax",
27
+ type: "uint256",
28
+ },
29
+ {
30
+ internalType: "uint256",
31
+ name: "eps",
32
+ type: "uint256",
33
+ },
34
+ ],
35
+ name: "ApproxParamsInvalid",
36
+ type: "error",
37
+ },
38
+ {
39
+ inputs: [],
40
+ name: "BotBinarySearchFail",
41
+ type: "error",
42
+ },
43
+ {
44
+ inputs: [
45
+ {
46
+ internalType: "uint256",
47
+ name: "action",
48
+ type: "uint256",
49
+ },
50
+ {
51
+ internalType: "uint256",
52
+ name: "guessMin",
53
+ type: "uint256",
54
+ },
55
+ {
56
+ internalType: "uint256",
57
+ name: "guessMax",
58
+ type: "uint256",
59
+ },
60
+ ],
61
+ name: "BotBinarySearchInvalidRange",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [
66
+ {
67
+ internalType: "int256",
68
+ name: "exchangeRate",
69
+ type: "int256",
70
+ },
71
+ ],
72
+ name: "MarketExchangeRateBelowOne",
73
+ type: "error",
74
+ },
75
+ {
76
+ inputs: [],
77
+ name: "MarketExpired",
78
+ type: "error",
79
+ },
80
+ {
81
+ inputs: [
82
+ {
83
+ internalType: "int256",
84
+ name: "currentAmount",
85
+ type: "int256",
86
+ },
87
+ {
88
+ internalType: "int256",
89
+ name: "requiredAmount",
90
+ type: "int256",
91
+ },
92
+ ],
93
+ name: "MarketInsufficientPtForTrade",
94
+ type: "error",
95
+ },
96
+ {
97
+ inputs: [],
98
+ name: "MarketProportionMustNotEqualOne",
99
+ type: "error",
100
+ },
101
+ {
102
+ inputs: [
103
+ {
104
+ internalType: "int256",
105
+ name: "proportion",
106
+ type: "int256",
107
+ },
108
+ {
109
+ internalType: "int256",
110
+ name: "maxProportion",
111
+ type: "int256",
112
+ },
113
+ ],
114
+ name: "MarketProportionTooHigh",
115
+ type: "error",
116
+ },
117
+ {
118
+ inputs: [
119
+ {
120
+ internalType: "int256",
121
+ name: "rateScalar",
122
+ type: "int256",
123
+ },
124
+ ],
125
+ name: "MarketRateScalarBelowZero",
126
+ type: "error",
127
+ },
128
+ {
129
+ inputs: [],
130
+ name: "MarketZeroLnImpliedRate",
131
+ type: "error",
132
+ },
133
+ {
134
+ inputs: [
135
+ {
136
+ internalType: "int256",
137
+ name: "totalPt",
138
+ type: "int256",
139
+ },
140
+ {
141
+ internalType: "int256",
142
+ name: "totalAsset",
143
+ type: "int256",
144
+ },
145
+ ],
146
+ name: "MarketZeroTotalPtOrTotalAsset",
147
+ type: "error",
148
+ },
149
+ {
150
+ inputs: [],
151
+ name: "INF",
152
+ outputs: [
153
+ {
154
+ internalType: "uint256",
155
+ name: "",
156
+ type: "uint256",
157
+ },
158
+ ],
159
+ stateMutability: "view",
160
+ type: "function",
161
+ },
162
+ {
163
+ inputs: [],
164
+ name: "MINIMAL_EPS",
165
+ outputs: [
166
+ {
167
+ internalType: "uint256",
168
+ name: "",
169
+ type: "uint256",
170
+ },
171
+ ],
172
+ stateMutability: "view",
173
+ type: "function",
174
+ },
175
+ {
176
+ inputs: [
177
+ {
178
+ components: [
179
+ {
180
+ components: [
181
+ {
182
+ internalType: "int256",
183
+ name: "totalPt",
184
+ type: "int256",
185
+ },
186
+ {
187
+ internalType: "int256",
188
+ name: "totalSy",
189
+ type: "int256",
190
+ },
191
+ {
192
+ internalType: "int256",
193
+ name: "totalLp",
194
+ type: "int256",
195
+ },
196
+ {
197
+ internalType: "address",
198
+ name: "treasury",
199
+ type: "address",
200
+ },
201
+ {
202
+ internalType: "int256",
203
+ name: "scalarRoot",
204
+ type: "int256",
205
+ },
206
+ {
207
+ internalType: "uint256",
208
+ name: "expiry",
209
+ type: "uint256",
210
+ },
211
+ {
212
+ internalType: "uint256",
213
+ name: "lnFeeRateRoot",
214
+ type: "uint256",
215
+ },
216
+ {
217
+ internalType: "uint256",
218
+ name: "reserveFeePercent",
219
+ type: "uint256",
220
+ },
221
+ {
222
+ internalType: "uint256",
223
+ name: "lastLnImpliedRate",
224
+ type: "uint256",
225
+ },
226
+ ],
227
+ internalType: "struct MarketState",
228
+ name: "state",
229
+ type: "tuple",
230
+ },
231
+ {
232
+ internalType: "PYIndex",
233
+ name: "index",
234
+ type: "uint256",
235
+ },
236
+ {
237
+ internalType: "uint256",
238
+ name: "blockTime",
239
+ type: "uint256",
240
+ },
241
+ ],
242
+ internalType: "struct MarketExtState",
243
+ name: "marketExt",
244
+ type: "tuple",
245
+ },
246
+ {
247
+ internalType: "enum ActionType",
248
+ name: "action",
249
+ type: "uint8",
250
+ },
251
+ {
252
+ internalType: "uint256",
253
+ name: "botParam",
254
+ type: "uint256",
255
+ },
256
+ ],
257
+ name: "_calcAmountOutAndIntParams",
258
+ outputs: [
259
+ {
260
+ internalType: "uint256",
261
+ name: "amountOut",
262
+ type: "uint256",
263
+ },
264
+ {
265
+ internalType: "uint256",
266
+ name: "intParams",
267
+ type: "uint256",
268
+ },
269
+ ],
270
+ stateMutability: "pure",
271
+ type: "function",
272
+ },
273
+ {
274
+ inputs: [
275
+ {
276
+ components: [
277
+ {
278
+ components: [
279
+ {
280
+ internalType: "uint256",
281
+ name: "lpBalance",
282
+ type: "uint256",
283
+ },
284
+ {
285
+ internalType: "uint256",
286
+ name: "ytBalance",
287
+ type: "uint256",
288
+ },
289
+ {
290
+ internalType: "uint256",
291
+ name: "syBalance",
292
+ type: "uint256",
293
+ },
294
+ {
295
+ internalType: "uint256",
296
+ name: "buyBins",
297
+ type: "uint256",
298
+ },
299
+ ],
300
+ internalType: "struct BotState",
301
+ name: "botState",
302
+ type: "tuple",
303
+ },
304
+ {
305
+ components: [
306
+ {
307
+ components: [
308
+ {
309
+ internalType: "int256",
310
+ name: "totalPt",
311
+ type: "int256",
312
+ },
313
+ {
314
+ internalType: "int256",
315
+ name: "totalSy",
316
+ type: "int256",
317
+ },
318
+ {
319
+ internalType: "int256",
320
+ name: "totalLp",
321
+ type: "int256",
322
+ },
323
+ {
324
+ internalType: "address",
325
+ name: "treasury",
326
+ type: "address",
327
+ },
328
+ {
329
+ internalType: "int256",
330
+ name: "scalarRoot",
331
+ type: "int256",
332
+ },
333
+ {
334
+ internalType: "uint256",
335
+ name: "expiry",
336
+ type: "uint256",
337
+ },
338
+ {
339
+ internalType: "uint256",
340
+ name: "lnFeeRateRoot",
341
+ type: "uint256",
342
+ },
343
+ {
344
+ internalType: "uint256",
345
+ name: "reserveFeePercent",
346
+ type: "uint256",
347
+ },
348
+ {
349
+ internalType: "uint256",
350
+ name: "lastLnImpliedRate",
351
+ type: "uint256",
352
+ },
353
+ ],
354
+ internalType: "struct MarketState",
355
+ name: "state",
356
+ type: "tuple",
357
+ },
358
+ {
359
+ internalType: "PYIndex",
360
+ name: "index",
361
+ type: "uint256",
362
+ },
363
+ {
364
+ internalType: "uint256",
365
+ name: "blockTime",
366
+ type: "uint256",
367
+ },
368
+ ],
369
+ internalType: "struct MarketExtState",
370
+ name: "marketExt",
371
+ type: "tuple",
372
+ },
373
+ {
374
+ components: [
375
+ {
376
+ internalType: "uint256",
377
+ name: "buyYtIy",
378
+ type: "uint256",
379
+ },
380
+ {
381
+ internalType: "uint256",
382
+ name: "sellYtIy",
383
+ type: "uint256",
384
+ },
385
+ {
386
+ internalType: "uint256",
387
+ name: "targetSyRatio",
388
+ type: "uint256",
389
+ },
390
+ {
391
+ internalType: "uint256",
392
+ name: "maxSyRatio",
393
+ type: "uint256",
394
+ },
395
+ {
396
+ internalType: "uint256",
397
+ name: "minYtPtRatio",
398
+ type: "uint256",
399
+ },
400
+ {
401
+ internalType: "uint256",
402
+ name: "numOfBins",
403
+ type: "uint256",
404
+ },
405
+ ],
406
+ internalType: "struct LongTradingSpecs",
407
+ name: "specs",
408
+ type: "tuple",
409
+ },
410
+ ],
411
+ internalType: "struct StrategyData",
412
+ name: "strategyData",
413
+ type: "tuple",
414
+ },
415
+ ],
416
+ name: "botExtStats",
417
+ outputs: [
418
+ {
419
+ internalType: "uint256",
420
+ name: "tvlInSy",
421
+ type: "uint256",
422
+ },
423
+ {
424
+ internalType: "uint256",
425
+ name: "iy",
426
+ type: "uint256",
427
+ },
428
+ {
429
+ internalType: "uint256",
430
+ name: "currentSyRatio",
431
+ type: "uint256",
432
+ },
433
+ {
434
+ internalType: "uint256",
435
+ name: "currentYtPtRatio",
436
+ type: "uint256",
437
+ },
438
+ ],
439
+ stateMutability: "pure",
440
+ type: "function",
441
+ },
442
+ {
443
+ inputs: [
444
+ {
445
+ internalType: "address",
446
+ name: "botAddress",
447
+ type: "address",
448
+ },
449
+ ],
450
+ name: "getActionDetails",
451
+ outputs: [
452
+ {
453
+ components: [
454
+ {
455
+ internalType: "enum ActionType",
456
+ name: "action",
457
+ type: "uint8",
458
+ },
459
+ {
460
+ internalType: "int256",
461
+ name: "currentBin",
462
+ type: "int256",
463
+ },
464
+ {
465
+ internalType: "uint256",
466
+ name: "targetIy",
467
+ type: "uint256",
468
+ },
469
+ {
470
+ internalType: "uint256",
471
+ name: "guessBotParams",
472
+ type: "uint256",
473
+ },
474
+ {
475
+ internalType: "uint256",
476
+ name: "guessIntParams",
477
+ type: "uint256",
478
+ },
479
+ {
480
+ internalType: "uint256",
481
+ name: "amountOut",
482
+ type: "uint256",
483
+ },
484
+ ],
485
+ internalType: "struct IBotDecisionHelper.ActionToTakeResult",
486
+ name: "res",
487
+ type: "tuple",
488
+ },
489
+ ],
490
+ stateMutability: "nonpayable",
491
+ type: "function",
492
+ },
493
+ {
494
+ inputs: [
495
+ {
496
+ internalType: "address",
497
+ name: "botAddress",
498
+ type: "address",
499
+ },
500
+ ],
501
+ name: "getAvailableZpiAmount",
502
+ outputs: [
503
+ {
504
+ internalType: "uint256",
505
+ name: "amountSyToZpi",
506
+ type: "uint256",
507
+ },
508
+ ],
509
+ stateMutability: "nonpayable",
510
+ type: "function",
511
+ },
512
+ {
513
+ inputs: [
514
+ {
515
+ components: [
516
+ {
517
+ components: [
518
+ {
519
+ internalType: "uint256",
520
+ name: "lpBalance",
521
+ type: "uint256",
522
+ },
523
+ {
524
+ internalType: "uint256",
525
+ name: "ytBalance",
526
+ type: "uint256",
527
+ },
528
+ {
529
+ internalType: "uint256",
530
+ name: "syBalance",
531
+ type: "uint256",
532
+ },
533
+ {
534
+ internalType: "uint256",
535
+ name: "buyBins",
536
+ type: "uint256",
537
+ },
538
+ ],
539
+ internalType: "struct BotState",
540
+ name: "botState",
541
+ type: "tuple",
542
+ },
543
+ {
544
+ components: [
545
+ {
546
+ components: [
547
+ {
548
+ internalType: "int256",
549
+ name: "totalPt",
550
+ type: "int256",
551
+ },
552
+ {
553
+ internalType: "int256",
554
+ name: "totalSy",
555
+ type: "int256",
556
+ },
557
+ {
558
+ internalType: "int256",
559
+ name: "totalLp",
560
+ type: "int256",
561
+ },
562
+ {
563
+ internalType: "address",
564
+ name: "treasury",
565
+ type: "address",
566
+ },
567
+ {
568
+ internalType: "int256",
569
+ name: "scalarRoot",
570
+ type: "int256",
571
+ },
572
+ {
573
+ internalType: "uint256",
574
+ name: "expiry",
575
+ type: "uint256",
576
+ },
577
+ {
578
+ internalType: "uint256",
579
+ name: "lnFeeRateRoot",
580
+ type: "uint256",
581
+ },
582
+ {
583
+ internalType: "uint256",
584
+ name: "reserveFeePercent",
585
+ type: "uint256",
586
+ },
587
+ {
588
+ internalType: "uint256",
589
+ name: "lastLnImpliedRate",
590
+ type: "uint256",
591
+ },
592
+ ],
593
+ internalType: "struct MarketState",
594
+ name: "state",
595
+ type: "tuple",
596
+ },
597
+ {
598
+ internalType: "PYIndex",
599
+ name: "index",
600
+ type: "uint256",
601
+ },
602
+ {
603
+ internalType: "uint256",
604
+ name: "blockTime",
605
+ type: "uint256",
606
+ },
607
+ ],
608
+ internalType: "struct MarketExtState",
609
+ name: "marketExt",
610
+ type: "tuple",
611
+ },
612
+ {
613
+ components: [
614
+ {
615
+ internalType: "uint256",
616
+ name: "buyYtIy",
617
+ type: "uint256",
618
+ },
619
+ {
620
+ internalType: "uint256",
621
+ name: "sellYtIy",
622
+ type: "uint256",
623
+ },
624
+ {
625
+ internalType: "uint256",
626
+ name: "targetSyRatio",
627
+ type: "uint256",
628
+ },
629
+ {
630
+ internalType: "uint256",
631
+ name: "maxSyRatio",
632
+ type: "uint256",
633
+ },
634
+ {
635
+ internalType: "uint256",
636
+ name: "minYtPtRatio",
637
+ type: "uint256",
638
+ },
639
+ {
640
+ internalType: "uint256",
641
+ name: "numOfBins",
642
+ type: "uint256",
643
+ },
644
+ ],
645
+ internalType: "struct LongTradingSpecs",
646
+ name: "specs",
647
+ type: "tuple",
648
+ },
649
+ ],
650
+ internalType: "struct StrategyData",
651
+ name: "strategyData",
652
+ type: "tuple",
653
+ },
654
+ ],
655
+ name: "getCurrentBin",
656
+ outputs: [
657
+ {
658
+ internalType: "int256",
659
+ name: "",
660
+ type: "int256",
661
+ },
662
+ ],
663
+ stateMutability: "view",
664
+ type: "function",
665
+ },
666
+ {
667
+ inputs: [
668
+ {
669
+ components: [
670
+ {
671
+ components: [
672
+ {
673
+ internalType: "uint256",
674
+ name: "lpBalance",
675
+ type: "uint256",
676
+ },
677
+ {
678
+ internalType: "uint256",
679
+ name: "ytBalance",
680
+ type: "uint256",
681
+ },
682
+ {
683
+ internalType: "uint256",
684
+ name: "syBalance",
685
+ type: "uint256",
686
+ },
687
+ {
688
+ internalType: "uint256",
689
+ name: "buyBins",
690
+ type: "uint256",
691
+ },
692
+ ],
693
+ internalType: "struct BotState",
694
+ name: "botState",
695
+ type: "tuple",
696
+ },
697
+ {
698
+ components: [
699
+ {
700
+ components: [
701
+ {
702
+ internalType: "int256",
703
+ name: "totalPt",
704
+ type: "int256",
705
+ },
706
+ {
707
+ internalType: "int256",
708
+ name: "totalSy",
709
+ type: "int256",
710
+ },
711
+ {
712
+ internalType: "int256",
713
+ name: "totalLp",
714
+ type: "int256",
715
+ },
716
+ {
717
+ internalType: "address",
718
+ name: "treasury",
719
+ type: "address",
720
+ },
721
+ {
722
+ internalType: "int256",
723
+ name: "scalarRoot",
724
+ type: "int256",
725
+ },
726
+ {
727
+ internalType: "uint256",
728
+ name: "expiry",
729
+ type: "uint256",
730
+ },
731
+ {
732
+ internalType: "uint256",
733
+ name: "lnFeeRateRoot",
734
+ type: "uint256",
735
+ },
736
+ {
737
+ internalType: "uint256",
738
+ name: "reserveFeePercent",
739
+ type: "uint256",
740
+ },
741
+ {
742
+ internalType: "uint256",
743
+ name: "lastLnImpliedRate",
744
+ type: "uint256",
745
+ },
746
+ ],
747
+ internalType: "struct MarketState",
748
+ name: "state",
749
+ type: "tuple",
750
+ },
751
+ {
752
+ internalType: "PYIndex",
753
+ name: "index",
754
+ type: "uint256",
755
+ },
756
+ {
757
+ internalType: "uint256",
758
+ name: "blockTime",
759
+ type: "uint256",
760
+ },
761
+ ],
762
+ internalType: "struct MarketExtState",
763
+ name: "marketExt",
764
+ type: "tuple",
765
+ },
766
+ {
767
+ components: [
768
+ {
769
+ internalType: "uint256",
770
+ name: "buyYtIy",
771
+ type: "uint256",
772
+ },
773
+ {
774
+ internalType: "uint256",
775
+ name: "sellYtIy",
776
+ type: "uint256",
777
+ },
778
+ {
779
+ internalType: "uint256",
780
+ name: "targetSyRatio",
781
+ type: "uint256",
782
+ },
783
+ {
784
+ internalType: "uint256",
785
+ name: "maxSyRatio",
786
+ type: "uint256",
787
+ },
788
+ {
789
+ internalType: "uint256",
790
+ name: "minYtPtRatio",
791
+ type: "uint256",
792
+ },
793
+ {
794
+ internalType: "uint256",
795
+ name: "numOfBins",
796
+ type: "uint256",
797
+ },
798
+ ],
799
+ internalType: "struct LongTradingSpecs",
800
+ name: "specs",
801
+ type: "tuple",
802
+ },
803
+ ],
804
+ internalType: "struct StrategyData",
805
+ name: "strategyData",
806
+ type: "tuple",
807
+ },
808
+ {
809
+ internalType: "enum ActionType",
810
+ name: "action",
811
+ type: "uint8",
812
+ },
813
+ {
814
+ internalType: "uint256",
815
+ name: "botParam",
816
+ type: "uint256",
817
+ },
818
+ {
819
+ components: [
820
+ {
821
+ internalType: "uint256",
822
+ name: "guessMin",
823
+ type: "uint256",
824
+ },
825
+ {
826
+ internalType: "uint256",
827
+ name: "guessMax",
828
+ type: "uint256",
829
+ },
830
+ {
831
+ internalType: "uint256",
832
+ name: "guessOffchain",
833
+ type: "uint256",
834
+ },
835
+ {
836
+ internalType: "uint256",
837
+ name: "maxIteration",
838
+ type: "uint256",
839
+ },
840
+ {
841
+ internalType: "uint256",
842
+ name: "eps",
843
+ type: "uint256",
844
+ },
845
+ ],
846
+ internalType: "struct ApproxParams",
847
+ name: "intParams",
848
+ type: "tuple",
849
+ },
850
+ ],
851
+ name: "previewAction",
852
+ outputs: [
853
+ {
854
+ internalType: "bool",
855
+ name: "success",
856
+ type: "bool",
857
+ },
858
+ {
859
+ components: [
860
+ {
861
+ internalType: "uint256",
862
+ name: "lpBalance",
863
+ type: "uint256",
864
+ },
865
+ {
866
+ internalType: "uint256",
867
+ name: "ytBalance",
868
+ type: "uint256",
869
+ },
870
+ {
871
+ internalType: "uint256",
872
+ name: "syBalance",
873
+ type: "uint256",
874
+ },
875
+ {
876
+ internalType: "uint256",
877
+ name: "buyBins",
878
+ type: "uint256",
879
+ },
880
+ ],
881
+ internalType: "struct BotState",
882
+ name: "bot",
883
+ type: "tuple",
884
+ },
885
+ {
886
+ components: [
887
+ {
888
+ components: [
889
+ {
890
+ internalType: "int256",
891
+ name: "totalPt",
892
+ type: "int256",
893
+ },
894
+ {
895
+ internalType: "int256",
896
+ name: "totalSy",
897
+ type: "int256",
898
+ },
899
+ {
900
+ internalType: "int256",
901
+ name: "totalLp",
902
+ type: "int256",
903
+ },
904
+ {
905
+ internalType: "address",
906
+ name: "treasury",
907
+ type: "address",
908
+ },
909
+ {
910
+ internalType: "int256",
911
+ name: "scalarRoot",
912
+ type: "int256",
913
+ },
914
+ {
915
+ internalType: "uint256",
916
+ name: "expiry",
917
+ type: "uint256",
918
+ },
919
+ {
920
+ internalType: "uint256",
921
+ name: "lnFeeRateRoot",
922
+ type: "uint256",
923
+ },
924
+ {
925
+ internalType: "uint256",
926
+ name: "reserveFeePercent",
927
+ type: "uint256",
928
+ },
929
+ {
930
+ internalType: "uint256",
931
+ name: "lastLnImpliedRate",
932
+ type: "uint256",
933
+ },
934
+ ],
935
+ internalType: "struct MarketState",
936
+ name: "state",
937
+ type: "tuple",
938
+ },
939
+ {
940
+ internalType: "PYIndex",
941
+ name: "index",
942
+ type: "uint256",
943
+ },
944
+ {
945
+ internalType: "uint256",
946
+ name: "blockTime",
947
+ type: "uint256",
948
+ },
949
+ ],
950
+ internalType: "struct MarketExtState",
951
+ name: "marketExt",
952
+ type: "tuple",
953
+ },
954
+ ],
955
+ stateMutability: "pure",
956
+ type: "function",
957
+ },
958
+ {
959
+ inputs: [
960
+ {
961
+ components: [
962
+ {
963
+ components: [
964
+ {
965
+ internalType: "uint256",
966
+ name: "lpBalance",
967
+ type: "uint256",
968
+ },
969
+ {
970
+ internalType: "uint256",
971
+ name: "ytBalance",
972
+ type: "uint256",
973
+ },
974
+ {
975
+ internalType: "uint256",
976
+ name: "syBalance",
977
+ type: "uint256",
978
+ },
979
+ {
980
+ internalType: "uint256",
981
+ name: "buyBins",
982
+ type: "uint256",
983
+ },
984
+ ],
985
+ internalType: "struct BotState",
986
+ name: "botState",
987
+ type: "tuple",
988
+ },
989
+ {
990
+ components: [
991
+ {
992
+ components: [
993
+ {
994
+ internalType: "int256",
995
+ name: "totalPt",
996
+ type: "int256",
997
+ },
998
+ {
999
+ internalType: "int256",
1000
+ name: "totalSy",
1001
+ type: "int256",
1002
+ },
1003
+ {
1004
+ internalType: "int256",
1005
+ name: "totalLp",
1006
+ type: "int256",
1007
+ },
1008
+ {
1009
+ internalType: "address",
1010
+ name: "treasury",
1011
+ type: "address",
1012
+ },
1013
+ {
1014
+ internalType: "int256",
1015
+ name: "scalarRoot",
1016
+ type: "int256",
1017
+ },
1018
+ {
1019
+ internalType: "uint256",
1020
+ name: "expiry",
1021
+ type: "uint256",
1022
+ },
1023
+ {
1024
+ internalType: "uint256",
1025
+ name: "lnFeeRateRoot",
1026
+ type: "uint256",
1027
+ },
1028
+ {
1029
+ internalType: "uint256",
1030
+ name: "reserveFeePercent",
1031
+ type: "uint256",
1032
+ },
1033
+ {
1034
+ internalType: "uint256",
1035
+ name: "lastLnImpliedRate",
1036
+ type: "uint256",
1037
+ },
1038
+ ],
1039
+ internalType: "struct MarketState",
1040
+ name: "state",
1041
+ type: "tuple",
1042
+ },
1043
+ {
1044
+ internalType: "PYIndex",
1045
+ name: "index",
1046
+ type: "uint256",
1047
+ },
1048
+ {
1049
+ internalType: "uint256",
1050
+ name: "blockTime",
1051
+ type: "uint256",
1052
+ },
1053
+ ],
1054
+ internalType: "struct MarketExtState",
1055
+ name: "marketExt",
1056
+ type: "tuple",
1057
+ },
1058
+ {
1059
+ components: [
1060
+ {
1061
+ internalType: "uint256",
1062
+ name: "buyYtIy",
1063
+ type: "uint256",
1064
+ },
1065
+ {
1066
+ internalType: "uint256",
1067
+ name: "sellYtIy",
1068
+ type: "uint256",
1069
+ },
1070
+ {
1071
+ internalType: "uint256",
1072
+ name: "targetSyRatio",
1073
+ type: "uint256",
1074
+ },
1075
+ {
1076
+ internalType: "uint256",
1077
+ name: "maxSyRatio",
1078
+ type: "uint256",
1079
+ },
1080
+ {
1081
+ internalType: "uint256",
1082
+ name: "minYtPtRatio",
1083
+ type: "uint256",
1084
+ },
1085
+ {
1086
+ internalType: "uint256",
1087
+ name: "numOfBins",
1088
+ type: "uint256",
1089
+ },
1090
+ ],
1091
+ internalType: "struct LongTradingSpecs",
1092
+ name: "specs",
1093
+ type: "tuple",
1094
+ },
1095
+ ],
1096
+ internalType: "struct StrategyData",
1097
+ name: "strategyData",
1098
+ type: "tuple",
1099
+ },
1100
+ {
1101
+ internalType: "enum ActionType",
1102
+ name: "action",
1103
+ type: "uint8",
1104
+ },
1105
+ {
1106
+ internalType: "uint256",
1107
+ name: "targetIy",
1108
+ type: "uint256",
1109
+ },
1110
+ {
1111
+ internalType: "uint256",
1112
+ name: "rebalanceAdditionalCheck",
1113
+ type: "uint256",
1114
+ },
1115
+ {
1116
+ components: [
1117
+ {
1118
+ internalType: "uint256",
1119
+ name: "guessMin",
1120
+ type: "uint256",
1121
+ },
1122
+ {
1123
+ internalType: "uint256",
1124
+ name: "guessMax",
1125
+ type: "uint256",
1126
+ },
1127
+ {
1128
+ internalType: "uint256",
1129
+ name: "guessOffchain",
1130
+ type: "uint256",
1131
+ },
1132
+ {
1133
+ internalType: "uint256",
1134
+ name: "maxIteration",
1135
+ type: "uint256",
1136
+ },
1137
+ {
1138
+ internalType: "uint256",
1139
+ name: "eps",
1140
+ type: "uint256",
1141
+ },
1142
+ ],
1143
+ internalType: "struct ApproxParams",
1144
+ name: "botParams",
1145
+ type: "tuple",
1146
+ },
1147
+ {
1148
+ components: [
1149
+ {
1150
+ internalType: "uint256",
1151
+ name: "guessMin",
1152
+ type: "uint256",
1153
+ },
1154
+ {
1155
+ internalType: "uint256",
1156
+ name: "guessMax",
1157
+ type: "uint256",
1158
+ },
1159
+ {
1160
+ internalType: "uint256",
1161
+ name: "guessOffchain",
1162
+ type: "uint256",
1163
+ },
1164
+ {
1165
+ internalType: "uint256",
1166
+ name: "maxIteration",
1167
+ type: "uint256",
1168
+ },
1169
+ {
1170
+ internalType: "uint256",
1171
+ name: "eps",
1172
+ type: "uint256",
1173
+ },
1174
+ ],
1175
+ internalType: "struct ApproxParams",
1176
+ name: "intParams",
1177
+ type: "tuple",
1178
+ },
1179
+ ],
1180
+ name: "searchForBotParam",
1181
+ outputs: [
1182
+ {
1183
+ internalType: "uint256",
1184
+ name: "",
1185
+ type: "uint256",
1186
+ },
1187
+ ],
1188
+ stateMutability: "pure",
1189
+ type: "function",
1190
+ },
1191
+ ];
1192
+
1193
+ const _bytecode =
1194
+ "0x608060405234801561001057600080fd5b506137e5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c80631cd7e2011461008857806322bcc1e51461016a57806333a26e851461018b5780638d57b2821461019e5780638e727446146101d15780639d2a679f146101f1578063ac4c7e84146101fa578063cf09336114610207578063d8b88a1a14610228575b600080fd5b61009b61009636600461329d565b61023b565b604051610161939291906000610200820190508415158252835160208301526020840151604083015260408401516060830152606084015160808301528251805160a0840152602081015160c0840152604081015160e0840152606081015161010060018060a01b03821681860152608083015161012086015260a083015161014086015260c083015161016086015260e0830151610180860152808301516101a086015250505060208301516101c083015260408301516101e0830152949350505050565b60405180910390f35b61017d6101783660046132f0565b6102c8565b604051908152602001610161565b61017d61019936600461330d565b610394565b6101b16101ac36600461337c565b610590565b604080519485526020850193909352918301526060820152608001610161565b6101e46101df3660046132f0565b6105b7565b60405161016191906133af565b61017d60001981565b61017d655af3107a400081565b61021a610215366004613410565b610797565b604051610161929190613450565b61017d61023636600461337c565b6107f8565b6000610245612ecf565b61024d612ef7565b86516102589061081f565b9150610267876020015161085f565b9050600186600281111561027d5761027d613399565b036102945761028d82828761089d565b92506102be565b60028660028111156102a8576102a8613399565b036102b95761028d828287876108fd565b600092505b9450945094915050565b600080826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102a0604051808303816000875af115801561030c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033091906134c1565b90506000806103478360000151846020015161095b565b50925050915082604001516060015181101561036857506000949350505050565b604080840151015161037b9083906109cf565b83516040015161038b9190613605565b95945050505050565b60008060405180606001604052808981526020018860028111156103ba576103ba613399565b81526020018790526040850151909150156104085760016103e6828660400151888860800151886109f2565b60028111156103f7576103f7613399565b036104085750506040820151610586565b600061041d89600001518a602001518a610b0f565b9050808560200151111561043357602085018190525b60208501518551111561047e5787600281111561045257610452613399565b8551602087015160405163f25ccea360e01b815261047593929190600401613618565b60405180910390fd5b506002610496828660200151888860800151886109f2565b60028111156104a7576104a7613399565b146104b85750506020820151610586565b60005b846060015181101561056c5760006002866000015187602001516104df9190613605565b6104e99190613644565b86516104f59190613658565b9050600061050a84838a8a608001518a6109f2565b9050600181600281111561052057610520613399565b0361053057509250610586915050565b600081600281111561054457610544613399565b0361055157818752610559565b602087018290525b5050806105659061366b565b90506104bb565b5060405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b6000806000806105a88560000151866020015161095b565b93509350935093509193509193565b6105f16040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102a0604051808303816000875af1158015610634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065891906134c1565b905060006106698260200151610b42565b905061067e8260000151836040015183610b8f565b6020840181905260000361069757505060008152919050565b6106ae826000015183604001518560200151610b9c565b60408401526020830151600019906000908113156107055760028552835180516020870151606090920151604087015160a001516106ed939190610bf0565b9150816000036107005750505050919050565b61074c565b60018552600061071485610c90565b9050610736818760200151876000015160600151886040015160a00151610bf0565b91508160000361074a575050505050919050565b505b61076c84866000015187604001518461076487610daa565b610199610de6565b606086018190526020850151865161078392610797565b608087015260a08601525092949350505050565b60008060028460028111156107ae576107ae613399565b036107d9576107cf836107bf610de6565b6107c88861085f565b9190610e26565b90925090506107f0565b6107ec836107e68761085f565b90610ec3565b5091505b935093915050565b6000610819826000015183604001516108148560200151610b42565b610b8f565b92915050565b610827612ecf565b604051806080016040528083600001518152602001836020015181526020018360400151815260200183606001518152509050919050565b610867612ef7565b604051806060016040528061087f8460000151610fc7565b81526020018360200151815260200183604001518152509050919050565b600080806108ab8585610ec3565b9150915085602001518111156108c6576000925050506108f6565b80866020018181516108d89190613605565b9052508551829087906108ec908390613658565b9052506001925050505b9392505050565b835160009083111561091157506000610953565b600061091e858585610e26565b50905083866000018181516109339190613605565b90525060208601805182919061094a908390613658565b90525060019150505b949350505050565b600080808061096a8686611044565b935061097585610b42565b6040870151909350610987908561111b565b915060006109a2876000015161099c8861085f565b90611141565b91505080156109bf5760208701516109ba908261111b565b6109c3565b6000195b91505092959194509250565b6000806109dc8385613684565b9050670de0b6b3a7640000815b04949350505050565b600080600080610a0c89600001518a602001518a8861023b565b92509250925082610a23576002935050505061038b565b6000610a2e82610b42565b905060018a602001516002811115610a4857610a48613399565b03610ac8576020808401518b515190910151600091610a6691613605565b905088811115610a7e5760029550505050505061038b565b610a8d828c604001518a6111f8565b15610aa05760019550505050505061038b565b8a60400151821015610aba5760029550505050505061038b565b60009550505050505061038b565b610ad7818b604001518961122b565b15610ae957600194505050505061038b565b8960400151811115610b0257600294505050505061038b565b600094505050505061038b565b60006001826002811115610b2557610b25613399565b03610b3a57610b3383611259565b90506108f6565b5082516108f6565b6000670de0b6b3a7640000610b85610b768460400151856000015160a00151610b6b9190613605565b6301e133809061111b565b610b7f8561127f565b906112cc565b6108199190613605565b6000610953838584611475565b600081600003610bae57610bae61369b565b6000610bba858461148a565b90506000831215610be257610bda610bd3826001613658565b85906114d1565b9150506108f6565b610bda610bd3600183613605565b600083600003610c0257610c0261369b565b6000808512610c265783610c17846002613684565b610c219190613605565b610c28565b835b9050600081670de0b6b3a7640000610c3f88611540565b610c499190613684565b610c539190613644565b90506000670de0b6b3a7640000610c6e83610b7f8184613658565b610c789190613605565b9050610c8488826109cf565b98975050505050505050565b600080610ca58360000151846020015161095b565b9350505050826040015160800151811015610cc35750600092915050565b6000610cd6846000015160200151610daa565b90506000610ce2610de6565b90505b8151610cf2906001613658565b82602001511115610da1576000600283600001518460200151610d159190613605565b610d1f9190613644565b8351610d2b9190613658565b90506000806000610d3f896001868861023b565b92509250925082610d6457610d55600185613605565b602087015250610ce592505050565b610d6e828261095b565b60408d015160800151909a508a109250610d8d91505057838652610d98565b610d55600185613605565b50505050610ce5565b50519392505050565b610db2612f1e565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610dee612f1e565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b600080600080610e368787611141565b915091506000610e5383896020015161155b90919063ffffffff16565b90506000610e618284613658565b90506000610e878a60200151838c60400151610e7c8c611567565b8e51939291906115b1565b5060208c015160408d01518d51929950929350610ea59289906116d2565b5050508083610eb49190613658565b96505050505050935093915050565b6000806000610eeb85602001518587604001518860000151611723909392919063ffffffff16565b505060208601519091506000610f018284613684565b610f13670de0b6b3a764000088613684565b610f1d9190613605565b875151909150600090610f2f9061174c565b83610f418a600001516020015161174c565b610f4b9190613684565b610f559190613644565b610f6790670de0b6b3a7640000613658565b90506000610f758284613644565b9050610f818189613605565b95506000610f9c878b6020015161175b90919063ffffffff16565b90506000610faa8783613605565b9050610fb78b8285611767565b9850505050505050509250929050565b610fcf612f4d565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b6000806110508361085f565b905060008061106c86600001518461114190919063ffffffff16565b9150915060008287604001516110829190613658565b9050866020015182116110d057611099848361193d565b6110a39082613658565b90506110bf8288602001516110b89190613605565b859061194f565b6110c99082613658565b9050610586565b60208701516110e090859061193d565b6110ea9082613658565b90506111068760200151836110ff9190613605565b85906119aa565b6111109082613658565b979650505050505050565b600080611130670de0b6b3a764000085613684565b90508281816109e9576109e961362e565b600080600061114f846119ce565b8551604081015160209091015191925060009161116c90846136b1565b61117691906136e1565b86516040810151905191925060009161118f90856136b1565b61119991906136e1565b8751604001519091506111ac90846119e4565b8751604001528651516111bf90826119e4565b8751528651602001516111d290836119e4565b8751602001526111e18261174c565b6111ea8261174c565b945094505050509250929050565b600082841015801561095357506112208361121b84670de0b6b3a7640000613658565b6109cf565b909311159392505050565b6000828411158015610953575061124e8361121b84670de0b6b3a7640000613605565b909310159392505050565b60208101516040820151825160009261081992611277929190611a2b565b835151611b25565b602081015160408201518251600092839261129b929190611a2b565b905060006112c18460000151600001518360200151846000015185604001516000611bb9565b90506109538161174c565b6000816000036112e55750670de0b6b3a7640000610819565b826000036112f557506000610819565b600160ff1b831061133a5760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b6044820152606401610475565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106113945760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610475565b826000670c7d713b49da0000831380156113b55750670f43fc2c04ee000083125b156113ec5760006113c584611c6a565b9050670de0b6b3a764000080820784020583670de0b6b3a7640000830502019150506113fa565b816113f684611d89565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611428575068070c1cc73b00c800008113155b61146c5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610475565b6105868161212c565b6000610953836114858685612541565b6125ad565b60008160000361149c5761149c61369b565b600182126114b257816114ae8161370f565b9250505b6108f66114c284606001516119ce565b6114cc9084613727565b61174c565b600081158015906114f1575060a08301516114ed906002613684565b8214155b6114fd576114fd61369b565b6000611508846125e4565b9050611515600282613644565b611520600185613605565b61152a9083613684565b85516115369190613658565b6109539190613658565b6000808213611557576115528261374f565b610819565b5090565b60006108f68383612612565b61156f612f1e565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b60008080806115c1898988611a2b565b905084604001516000036116035784516115db9088612631565b855260208501516115f5906115f08b84612647565b6126cb565b6020860152611603856126da565b60005b85606001518110156116ad57600061161e8783612728565b905060008061162f8d868e8661278d565b50909250905060006116418d8461155b565b9050600061164f8286613605565b90508c811161168657611667818e8d6080015161122b565b1561167e575097509195509093506116c792505050565b848b52611697565b611691600186613605565b60208c01525b5050505050806116a69061366b565b9050611606565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806000806116ef8a8a6116e98b6127be565b8a6127d5565b9250925092506116fe8361174c565b95506117098261174c565b94506117148161174c565b93505050509450945094915050565b60008060008060008061173a8a8a6116e98b6119ce565b9250925092506116fe6114cc84612868565b60008082121561155757600080fd5b60006108f68383612876565b825160a001516040840151600091116117c15760405162461bcd60e51b815260206004820152601c60248201527b13585c9ad95d115e1d131a588e88195e1c1a5c9959081b585c9ad95d60221b6044820152606401610475565b83516040015160001261180d5760405162461bcd60e51b815260206004820152601460248201527304d61726b65744578744c69623a204c50203c20360641b6044820152606401610475565b6000611818846119ce565b90506000611825846119ce565b90506000806000808960000151600001518a60000151604001518661184a91906136b1565b61185491906136e1565b8a51602081015160409091015191925060009161187190896136b1565b61187b91906136e1565b9050808212156118b6578a51604081015160209091015192955086945085926118a59084906136b1565b6118af91906136e1565b92506118df565b8a516040810151905191955087935085916118d29083906136b1565b6118dc91906136e1565b93505b828b600001516020018181516118f59190613727565b9052508a51805185919061190a908390613727565b9052508a516040018051869190611922908390613727565b90525061192e8561174c565b9b9a5050505050505050505050565b60208201516000906108f6908361175b565b602082015160408301518351600092839261196d9291908690611723565b50509050600061198a82866020015161288b90919063ffffffff16565b905060006119988286613605565b6020870151909150610586908261175b565b6020820151604083015183516000926119c49285906116d2565b5090949350505050565b60006001600160ff1b0382111561155757600080fd5b600081831215611a215760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610475565b6108f6828461376b565b611a566040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210611a7a5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151611a8c9190613605565b9050611a988582612898565b82526020850151611aaa9085906128f9565b602083015284511580611abf57506020820151155b15611ae6578451602083015160405163b1c4aefb60e01b8152610475929190600401613450565b611b0485600001518661010001518460200151856000015185612930565b604083015260c0850151611b1890826129b1565b6060830152509392505050565b600080611b52611b4d856000015186604001518760600151611b47919061376b565b906129e5565b61212c565b90506000611b72611b6b670de0b6b3a764000084613727565b8390612a08565b90506000611b90866020015186611b899190613727565b83906129e5565b90506000611b9e828761376b565b90506103e8611baf826103e7613684565b6111109190613644565b600080611bc687846119e4565b90506000611bd7611b6b888a613727565b9050670d529ae9e8600000811315611c0e5780670d529ae9e8600000604051637e34684f60e11b8152600401610475929190613450565b6000611c1982612a2e565b905085611c268289612a08565b611c309190613727565b9350670de0b6b3a7640000841215611c5e5760405163329e322960e21b815260048101859052602401610475565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281611cab57611cab61362e565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215611dca57611dc1826a0c097ce7bc90715b34b9f160241b81611dbb57611dbb61362e565b05611d89565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312611e155772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611e4c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611e94576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611ecf576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611f0657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611f3d57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611f725768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611f9d57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611fd2576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612007576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261203b576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261206f576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816120985761209861362e565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015612151575068070c1cc73b00c800008213155b6121905760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610475565b60008212156121c8576121a58260000361212c565b6a0c097ce7bc90715b34b9f160241b816121c1576121c161362e565b0592915050565b60006806f05b59d3b2000000831261220657506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61223c565b6803782dace9d9000000831261223857506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061223c565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261228c5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126122c8576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261230257682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261233c576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261237557680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126123ae5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126123e7576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126124205768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561255557506000610819565b82602001518211156125835760a0830151612571906002613684565b61257c906001613658565b9050610819565b61258c836125e4565b83516125989084613605565b6125a29190613644565b6108f6906001613658565b6000806125bd84606001516119ce565b6125c6846119ce565b6125d0919061376b565b9050600181126108f6578061038b81613792565b60008160a0015160026125f79190613684565b825160208401516126089190613605565b6108199190613644565b6000670de0b6b3a76400006126278484613684565b6108f69190613644565b600081831161264057816108f6565b5090919050565b600080600090506000600184602001516126619190613605565b90505b8082146126c357600060026126798385613658565b612684906001613658565b61268e9190613644565b905060006126a186886000015184612a81565b12156126b9576126b2600182613605565b91506126bd565b8092505b50612664565b509392505050565b600081831061264057816108f6565b6020810151815111806126f85750670de0b6b3a76400008160800151115b1561272557805160208201516080830151604051632cc06bc160e21b815261047593929190600401613618565b50565b60008115801561273b5750604083015115155b1561274b57506040820151610819565b6020830151835111612774576020830151835160029161276a91613658565b61257c9190613644565b604051637d388ed960e11b815260040160405180910390fd5b600080808080806127ab89896127a28a61374f565b8d929190612b73565b919c909b50909950975050505050505050565b60006127c9826119ce565b610819906000196136b1565b60008060006127e88760a0015185101590565b156128065760405163b2094b5960e01b815260040160405180910390fd5b8651851261282c578651604051632185509b60e21b815261047591908790600401613450565b6000612839888887611a2b565b905061284788828989612b73565b9195509350915061285d8882898988878b612cc7565b509450945094915050565b6000610819826000196136b1565b600082612627670de0b6b3a764000084613684565b6000826109538184612d59565b60006128a3826119ce565b6128ba6128b56201518061016d613684565b6119ce565b84608001516128c991906136b1565b6128d391906136e1565b90506000811361081957604051630e520c3b60e11b815260048101829052602401610475565b6000806000831261290b57600161290f565b6000195b90506129266128b58561292186611540565b612612565b61095390826136b1565b60008061293d86846129b1565b9050670de0b6b3a764000081121561296b5760405163329e322960e21b815260048101829052602401610475565b600061298161297a878a613727565b8990612a08565b9050600061298e82612a2e565b905061299a8187612a08565b6129a4908461376b565b9998505050505050505050565b6000806129c36201518061016d613684565b6129cd8486613684565b6129d79190613644565b9050610953611b4d826119ce565b6000806129f283856136b1565b9050670de0b6b3a7640000815b05949350505050565b600080612a1d670de0b6b3a7640000856136b1565b90508281816129ff576129ff61362e565b6000670de0b6b3a76400008203612a585760405163a9c8b14d60e01b815260040160405180910390fd5b6000612a76612a6f84670de0b6b3a764000061376b565b8490612a08565b90506108f681612d85565b600080828560200151612a94919061376b565b90506000612aa28585613727565b9050600082138015612ab45750600081135b612af55760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610475565b6000612b23612b0484846136b1565b6020890151612b139089613727565b612b1d90886136b1565b90612a08565b90506000612b39612b348486612a08565b612d85565b8851909150600090612b5490670de0b6b3a764000090612a08565b9050612b6481611b47848661376b565b89604001516129a4919061376b565b600080600080612b968860000151886020015189600001518a6040015189611bb9565b90506000612bac612ba78784612a08565b612868565b60608901519091506000871315612c1b576000612bc98483612a08565b9050670de0b6b3a7640000811215612bf75760405163329e322960e21b815260048101829052602401610475565b612c13612c0c83670de0b6b3a764000061376b565b84906129e5565b915050612c48565b612c4581612c3181670de0b6b3a764000061376b565b612c3b90856136b1565b612ba791906136e1565b90505b60006064612c598c60e001516119ce565b612c6390846136b1565b612c6d91906136e1565b90506000612c7b838561376b565b905060008112612c9457612c8f8a82612e16565b612c9e565b612c9e8a82612e43565b9750612caa8a84612e16565b9650612cb68a83612e16565b955050505050509450945094915050565b6000818860a00151612cd99190613605565b8851909150612ce890866119e4565b8852612d02612cf78486613727565b60208a0151906119e4565b602089018190528851612d2791612d1a9089906128f9565b895160408b015185612e70565b6101008901819052600003612d4f57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b6000670de0b6b3a7640000600181612d718686613684565b612d7b9190613658565b6126279190613605565b6000808213612dc65760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610475565b670c7d713b49da000082138015612de45750670f43fc2c04ee000082125b15612e0857670de0b6b3a7640000612dfb83611c6a565b816121c1576121c161362e565b61081982611d89565b919050565b60008060008312612e28576001612e2c565b6000195b90506129266128b585612e3e86611540565b612876565b60008060008312612e55576001612e59565b6000195b90506129266128b585612e6b86611540565b612eb7565b600080612e81878787876000611bb9565b90506000612e916114cc83612d85565b905083612ea36201518061016d613684565b612ead9083613684565b610c849190613644565b600082600181612d71670de0b6b3a764000086613684565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b6040518060600160405280612f0a612f4d565b815260200160008152602001600081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051606081016001600160401b0381118282101715612fd257634e487b7160e01b600052604160045260246000fd5b60405290565b60405161012081016001600160401b0381118282101715612fd257634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715612fd257634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715612fd257634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461272557600080fd5b8035612e1181613069565b600081830361016081121561309d57600080fd5b6130a5612fa2565b9150610120808212156130b757600080fd5b6130bf612fd8565b91508335825260208401356020830152604084013560408301526130e56060850161307e565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102a081121561315157600080fd5b613159612fa2565b9150608081121561316957600080fd5b613171613039565b83358152602084013560208201526040840135604082015260608401356060820152808352506131a48460808501613089565b602083015260c06101df19820112156131bc57600080fd5b506131c5613009565b6101e08301358152610200830135602082015261022083013560408201526102408301356060820152610260830135608082015261028083013560a08201528060408301525092915050565b803560038110612e1157600080fd5b600060a0828403121561323257600080fd5b60405160a081016001600160401b038111828210171561326257634e487b7160e01b600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b60008060008061038085870312156132b457600080fd5b6132be868661313d565b93506132cd6102a08601613211565b92506102c085013591506132e5866102e08701613220565b905092959194509250565b60006020828403121561330257600080fd5b81356108f681613069565b600080600080600080610440878903121561332757600080fd5b613331888861313d565b95506133406102a08801613211565b94506102c087013593506102e08701359250613360886103008901613220565b9150613370886103a08901613220565b90509295509295509295565b60006102a0828403121561338f57600080fd5b6108f6838361313d565b634e487b7160e01b600052602160045260246000fd5b815160c0820190600381106133d457634e487b7160e01b600052602160045260246000fd5b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60008060006101a0848603121561342657600080fd5b6134308585613089565b925061343f6101608501613211565b915061018084013590509250925092565b918252602082015260400190565b8051612e1181613069565b600060c0828403121561347b57600080fd5b613483613009565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102a08112156134d557600080fd5b6134dd612fa2565b60808212156134eb57600080fd5b6134f3613039565b8451815260208501516020820152604085015160408201526060850151606082015280825250607f19820191506101608083121561353057600080fd5b613538612fa2565b6101208085121561354857600080fd5b613550612fd8565b94506080870151855260a0870151602086015260c0870151604086015261357960e0880161345e565b60608601526101008088015160808701528188015160a087015261014088015160c08701528388015160e08701526101808801518187015250508381526101a086015160208201526101c0860151604082015280602084015250506135e2856101e08601613469565b6040820152949350505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610819576108196135ef565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601260045260246000fd5b6000826136535761365361362e565b500490565b80820180821115610819576108196135ef565b60006001820161367d5761367d6135ef565b5060010190565b8082028115828204841417610819576108196135ef565b634e487b7160e01b600052600160045260246000fd5b80820260008212600160ff1b841416156136cd576136cd6135ef565b8181058314821517610819576108196135ef565b6000826136f0576136f061362e565b600160ff1b82146000198414161561370a5761370a6135ef565b500590565b60006001600160ff1b01820161367d5761367d6135ef565b8082018281126000831280158216821582161715613747576137476135ef565b505092915050565b6000600160ff1b8201613764576137646135ef565b5060000390565b818103600083128015838313168383128216171561378b5761378b6135ef565b5092915050565b6000600160ff1b82016137a7576137a76135ef565b50600019019056fea2646970667358221220f25a78b89754e73b4a5e532b244c5b19f5681ed797565f0eb14142d44db1bf7064736f6c63430008110033";
1195
+
1196
+ type LongYieldDecisionHelperConstructorParams =
1197
+ | [signer?: Signer]
1198
+ | ConstructorParameters<typeof ContractFactory>;
1199
+
1200
+ const isSuperArgs = (
1201
+ xs: LongYieldDecisionHelperConstructorParams
1202
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1203
+
1204
+ export class LongYieldDecisionHelper__factory extends ContractFactory {
1205
+ constructor(...args: LongYieldDecisionHelperConstructorParams) {
1206
+ if (isSuperArgs(args)) {
1207
+ super(...args);
1208
+ } else {
1209
+ super(_abi, _bytecode, args[0]);
1210
+ }
1211
+ this.contractName = "LongYieldDecisionHelper";
1212
+ }
1213
+
1214
+ deploy(
1215
+ overrides?: Overrides & { from?: string | Promise<string> }
1216
+ ): Promise<LongYieldDecisionHelper> {
1217
+ return super.deploy(overrides || {}) as Promise<LongYieldDecisionHelper>;
1218
+ }
1219
+ getDeployTransaction(
1220
+ overrides?: Overrides & { from?: string | Promise<string> }
1221
+ ): TransactionRequest {
1222
+ return super.getDeployTransaction(overrides || {});
1223
+ }
1224
+ attach(address: string): LongYieldDecisionHelper {
1225
+ return super.attach(address) as LongYieldDecisionHelper;
1226
+ }
1227
+ connect(signer: Signer): LongYieldDecisionHelper__factory {
1228
+ return super.connect(signer) as LongYieldDecisionHelper__factory;
1229
+ }
1230
+ static readonly contractName: "LongYieldDecisionHelper";
1231
+ public readonly contractName: "LongYieldDecisionHelper";
1232
+ static readonly bytecode = _bytecode;
1233
+ static readonly abi = _abi;
1234
+ static createInterface(): LongYieldDecisionHelperInterface {
1235
+ return new utils.Interface(_abi) as LongYieldDecisionHelperInterface;
1236
+ }
1237
+ static connect(
1238
+ address: string,
1239
+ signerOrProvider: Signer | Provider
1240
+ ): LongYieldDecisionHelper {
1241
+ return new Contract(
1242
+ address,
1243
+ _abi,
1244
+ signerOrProvider
1245
+ ) as LongYieldDecisionHelper;
1246
+ }
1247
+ }