@pendle/core-v2 2.17.6-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 (362) 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/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  46. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  102. package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.dbg.json +4 -0
  103. package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.json +678 -0
  104. package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.dbg.json +4 -0
  105. package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.json +678 -0
  106. package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
  107. package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.json +10 -0
  108. package/build/artifacts/contracts/core/TradingBot/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  109. package/build/artifacts/contracts/core/TradingBot/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1190 -0
  110. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  111. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +1671 -0
  112. package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
  113. package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.json +24 -0
  114. package/build/artifacts/contracts/core/TradingBot/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +4 -0
  115. package/build/artifacts/contracts/core/TradingBot/SpecSegmentLib.sol/SpecSegmentLib.json +10 -0
  116. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  117. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +628 -0
  118. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  121. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  123. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  125. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  128. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  130. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  132. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
  134. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
  135. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
  136. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +6 -82
  147. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +22 -22
  149. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +4 -42
  152. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +32 -146
  162. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +4 -0
  167. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +878 -0
  168. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
  169. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +1084 -0
  170. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
  171. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +429 -0
  172. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  173. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  174. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  175. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  176. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  178. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  179. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  180. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  182. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  184. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +8 -84
  186. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +24 -24
  188. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +6 -44
  190. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  192. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  194. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  195. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  196. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  197. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  198. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  199. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  200. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  201. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  202. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  203. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  204. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  205. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  206. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  207. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  208. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  209. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  210. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  211. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  212. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  213. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  214. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  215. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  216. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  217. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  218. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  219. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  220. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  221. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  222. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  223. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  224. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  225. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  226. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  227. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  228. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  229. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  230. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  231. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  232. package/contracts/core/TradingBot/BotActionCallback.sol +1 -1
  233. package/contracts/core/TradingBot/BotActionHelper.sol +1 -3
  234. package/contracts/core/TradingBot/BotSimulationLib.sol +2 -1
  235. package/contracts/core/TradingBot/LongYieldDecisionHelper.sol +413 -0
  236. package/contracts/core/TradingBot/LongYieldTradingBot.sol +63 -91
  237. package/contracts/core/TradingBot/SpecSegmentLib.sol +62 -0
  238. package/contracts/core/TradingBot/TradingBotBase.sol +14 -9
  239. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +41 -57
  240. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +24 -34
  241. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +1 -3
  242. package/package.json +1 -1
  243. package/typechain-types/ActionMarketAuxStatic.ts +38 -191
  244. package/typechain-types/ActionMarketCoreStatic.ts +134 -600
  245. package/typechain-types/ActionMintRedeemStatic.ts +26 -92
  246. package/typechain-types/BotActionCallback.ts +76 -22
  247. package/typechain-types/BotActionHelper.ts +76 -22
  248. package/typechain-types/BotDecisionHelper.ts +561 -0
  249. package/typechain-types/IAnkrBNB.ts +150 -0
  250. package/typechain-types/IAnkrLiquidStaking.ts +253 -0
  251. package/typechain-types/IBotDecisionHelper.ts +437 -0
  252. package/typechain-types/ILongYieldTradingBot.ts +567 -298
  253. package/typechain-types/IPActionMarketAuxStatic.ts +38 -191
  254. package/typechain-types/IPActionMarketCoreStatic.ts +134 -600
  255. package/typechain-types/IPActionMintRedeemStatic.ts +26 -92
  256. package/typechain-types/IPRouterStatic.ts +197 -888
  257. package/typechain-types/ISwETH.ts +123 -0
  258. package/typechain-types/ITradingBotBase.ts +90 -22
  259. package/typechain-types/LongYieldDecisionHelper.ts +598 -0
  260. package/typechain-types/LongYieldTradingBot.ts +248 -361
  261. package/typechain-types/PendleAnkrBNBSY.ts +1235 -0
  262. package/typechain-types/PendleAuraWstethAnkreth.ts +1511 -0
  263. package/typechain-types/PendleSwETH.ts +1216 -0
  264. package/typechain-types/PendleThenaSY.ts +153 -0
  265. package/typechain-types/PendleWbEthSY.ts +1229 -0
  266. package/typechain-types/ThenaLpHelper.ts +19 -0
  267. package/typechain-types/ThenaMath.ts +87 -0
  268. package/typechain-types/ThenaPreview.ts +19 -0
  269. package/typechain-types/TradingBotBase.ts +76 -22
  270. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  271. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  272. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +7 -83
  273. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +23 -23
  274. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +5 -43
  275. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  276. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  277. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  278. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  279. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  280. package/typechain-types/factories/BotActionCallback__factory.ts +56 -16
  281. package/typechain-types/factories/BotActionHelper__factory.ts +56 -16
  282. package/typechain-types/factories/BotDecisionHelper__factory.ts +1192 -0
  283. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  284. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  285. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  286. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  287. package/typechain-types/factories/Errors__factory.ts +150 -1
  288. package/typechain-types/factories/IAnkrBNB__factory.ts +74 -0
  289. package/typechain-types/factories/IAnkrLiquidStaking__factory.ts +123 -0
  290. package/typechain-types/factories/IBotDecisionHelper__factory.ts +893 -0
  291. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +586 -391
  292. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +6 -82
  293. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +22 -22
  294. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +4 -42
  295. package/typechain-types/factories/IPRouterStatic__factory.ts +32 -146
  296. package/typechain-types/factories/ISwETH__factory.ts +53 -0
  297. package/typechain-types/factories/ITradingBotBase__factory.ts +54 -15
  298. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1247 -0
  299. package/typechain-types/factories/LongYieldTradingBot__factory.ts +363 -575
  300. package/typechain-types/factories/MarketExtLib__factory.ts +1 -1
  301. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  302. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1100 -0
  303. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  304. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  305. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  306. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  307. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  308. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1244 -0
  309. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  310. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  311. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  312. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  313. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  314. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  315. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  316. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  317. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  318. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  319. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  320. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  321. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  322. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  323. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  324. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  325. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  326. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  327. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  328. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  329. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  330. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  331. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  332. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  333. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  334. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  335. package/typechain-types/factories/PendleSwETH__factory.ts +1022 -0
  336. package/typechain-types/factories/PendleThenaSY__factory.ts +85 -1
  337. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  338. package/typechain-types/factories/PendleWbEthSY__factory.ts +1049 -0
  339. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  340. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  341. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  342. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  343. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  344. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  345. package/typechain-types/factories/SAPE__factory.ts +1 -1
  346. package/typechain-types/factories/ThenaLpHelper__factory.ts +13 -0
  347. package/typechain-types/factories/ThenaMath__factory.ts +36 -0
  348. package/typechain-types/factories/ThenaPreview__factory.ts +14 -1
  349. package/typechain-types/factories/TradingBotBase__factory.ts +56 -16
  350. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  351. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  352. package/typechain-types/hardhat.d.ts +81 -36
  353. package/typechain-types/index.ts +18 -8
  354. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +0 -4
  355. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +0 -976
  356. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBinanceEth.sol/PendleBinanceEth.dbg.json +0 -4
  357. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBinanceEth.sol/PendleBinanceEth.json +0 -979
  358. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +0 -4
  359. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.json +0 -42
  360. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +0 -4
  361. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +0 -97
  362. package/contracts/core/TradingBot/BotDecisionHelper.sol +0 -306
@@ -12,16 +12,20 @@ abstract contract TradingBotBase is BoringOwnableUpgradeable, TokenHelper, ITrad
12
12
  using PYIndexLib for IPYieldToken;
13
13
 
14
14
  address public immutable market;
15
+ address public immutable router;
15
16
  address public immutable SY;
16
17
  address public immutable PT;
17
18
  address public immutable YT;
18
19
  address public immutable PENDLE;
19
20
 
20
- constructor(address _market, address _PENDLE) initializer {
21
+ uint256 public buyBins;
22
+
23
+ constructor(address _market, address _router, address _PENDLE) initializer {
21
24
  (IStandardizedYield _SY, IPPrincipalToken _PT, IPYieldToken _YT) = IPMarket(_market)
22
25
  .readTokens();
23
26
 
24
27
  market = _market;
28
+ router = _router;
25
29
  SY = address(_SY);
26
30
  PT = address(_PT);
27
31
  YT = address(_YT);
@@ -52,12 +56,11 @@ abstract contract TradingBotBase is BoringOwnableUpgradeable, TokenHelper, ITrad
52
56
 
53
57
  /// @dev Receives token and compound to SY
54
58
  function depositToken(
55
- address router,
56
59
  TokenInput calldata inp,
57
60
  uint256 minSyOut
58
61
  ) external payable onlyOwner {
59
62
  _transferIn(inp.tokenIn, msg.sender, inp.netTokenIn);
60
- _compoundSingle(router, inp, minSyOut);
63
+ _compoundSingle(inp, minSyOut);
61
64
  emit DepositToken(inp.tokenIn, inp.netTokenIn);
62
65
  }
63
66
 
@@ -68,13 +71,12 @@ abstract contract TradingBotBase is BoringOwnableUpgradeable, TokenHelper, ITrad
68
71
  }
69
72
 
70
73
  function claimAndCompound(
71
- address router,
72
74
  TokenInput[] calldata inps,
73
75
  uint256 minSyOut
74
76
  ) external onlyOwner returns (uint256 netSyOut, uint256 netPendleOut) {
75
77
  _claimRewards();
76
78
 
77
- netSyOut = _compound(router, inps, minSyOut);
79
+ netSyOut = _compound(inps, minSyOut);
78
80
 
79
81
  netPendleOut = _selfBalance(PENDLE);
80
82
  _transferOut(PENDLE, owner, netPendleOut);
@@ -101,7 +103,7 @@ abstract contract TradingBotBase is BoringOwnableUpgradeable, TokenHelper, ITrad
101
103
  rewards = rewards.add(lpRewardTokens, lpRewardAmounts);
102
104
  }
103
105
 
104
- function readMarketExtState(address router) public returns (MarketExtState memory marketExt) {
106
+ function readMarketExtState() public returns (MarketExtState memory marketExt) {
105
107
  marketExt.state = IPMarket(market).readState(router);
106
108
  marketExt.index = IPYieldToken(YT).newIndex();
107
109
  marketExt.blockTime = block.timestamp;
@@ -111,10 +113,15 @@ abstract contract TradingBotBase is BoringOwnableUpgradeable, TokenHelper, ITrad
111
113
  botState.lpBalance = _selfBalance(market);
112
114
  botState.syBalance = _selfBalance(SY);
113
115
  botState.ytBalance = _selfBalance(YT);
116
+ botState.buyBins = buyBins;
114
117
  }
115
118
 
116
119
  receive() external payable {}
117
120
 
121
+ function _setBuyBins(uint256 _buyBins) internal {
122
+ buyBins = _buyBins;
123
+ }
124
+
118
125
  function _claimRewards() internal {
119
126
  IPYieldToken(YT).redeemDueInterestAndRewards(address(this), true, true);
120
127
  IStandardizedYield(SY).claimRewards(address(this));
@@ -122,14 +129,13 @@ abstract contract TradingBotBase is BoringOwnableUpgradeable, TokenHelper, ITrad
122
129
  }
123
130
 
124
131
  function _compound(
125
- address router,
126
132
  TokenInput[] calldata inps,
127
133
  uint256 minSyOut
128
134
  ) internal returns (uint256 netSyOut) {
129
135
  netSyOut = 0;
130
136
 
131
137
  for (uint256 i = 0; i < inps.length; ++i) {
132
- netSyOut += _compoundSingle(router, inps[i], 0);
138
+ netSyOut += _compoundSingle(inps[i], 0);
133
139
  }
134
140
 
135
141
  if (netSyOut < minSyOut) revert Errors.BotInsufficientSyOut(netSyOut, minSyOut);
@@ -137,7 +143,6 @@ abstract contract TradingBotBase is BoringOwnableUpgradeable, TokenHelper, ITrad
137
143
  }
138
144
 
139
145
  function _compoundSingle(
140
- address router,
141
146
  TokenInput memory inp,
142
147
  uint256 minSyOut
143
148
  ) internal returns (uint256 /*netSyOut*/) {
@@ -4,88 +4,72 @@ pragma solidity 0.8.17;
4
4
  import "../../core/TradingBot/BotSimulationLib.sol";
5
5
 
6
6
  struct LongTradingSpecs {
7
- uint256 lowerIyLimit; // apeYtApy
8
- uint256 upperIyLimit; // sellYtApy
9
- uint256 floatingSyRatioLimit; // h_r
10
- uint256 floatingSyRatioTarget; // l_r
11
- uint256 ytPtRatioLimit; // h_x
12
- uint256 ytPtRatioTarget; // l_x
7
+ uint256 buyYtIy;
8
+ uint256 sellYtIy;
9
+ uint256 targetSyRatio;
10
+ uint256 maxSyRatio;
11
+ uint256 minYtPtRatio;
12
+ uint256 numOfBins;
13
13
  }
14
14
 
15
15
  enum ActionType {
16
- SwapSyToYt, // Buy YT with SY
17
- AddLiqKeepYt, // ZPI Zap
18
- AddLiqFromSy, // Single sided LP
16
+ NONE,
19
17
  AddLiqFromYt, // Sell YT for LP
20
- RemoveLiqToYt, // Zap out to YT,
21
- NONE
18
+ RemoveLiqToYt // Zap out to YT,
22
19
  }
23
20
 
24
- enum StrategyFlag {
25
- GOOD,
26
- TOO_LOW,
27
- TOO_HIGH
28
- }
29
-
30
- struct StrategyState {
31
- StrategyFlag iyFlag;
32
- StrategyFlag syRatioFlag;
21
+ struct StrategyData {
22
+ BotState botState;
23
+ MarketExtState marketExt;
24
+ LongTradingSpecs specs;
33
25
  }
34
26
 
35
27
  interface IBotDecisionHelper {
36
28
  enum RebalanceResult {
37
- FAIL,
38
- TARGET_REACHED,
39
- TARGET_NOT_REACHED
29
+ TARGET_NOT_REACHED,
30
+ SUCCESS,
31
+ FAIL_OR_TARGET_EXCEED
40
32
  }
41
33
 
42
34
  struct RebalanceDetails {
43
- BotState bot;
44
- MarketExtState marketExt;
45
- LongTradingSpecs specs;
35
+ StrategyData strategyData;
46
36
  ActionType action;
37
+ uint256 targetIy;
47
38
  }
48
39
 
49
- function searchForBotParam(
50
- BotState memory bot,
51
- MarketExtState memory marketExt,
52
- LongTradingSpecs memory specs,
53
- ActionType action,
54
- ApproxParams memory botParams,
55
- ApproxParams memory intParams
56
- ) external pure returns (uint256, RebalanceResult);
57
-
58
- function searchForIntParam(
59
- MarketExtState memory marketExt,
60
- ActionType action,
61
- uint256 botParam,
62
- ApproxParams memory intParams
63
- ) external pure returns (uint256);
64
-
65
- function strategyState(
66
- BotState memory bot,
67
- MarketExtState memory marketExt,
68
- LongTradingSpecs memory specs
69
- ) external pure returns (StrategyState memory);
40
+ struct ActionToTakeResult {
41
+ ActionType action;
42
+ int currentBin;
43
+ uint256 targetIy;
44
+ uint256 guessBotParams;
45
+ uint256 guessIntParams;
46
+ uint256 amountOut;
47
+ }
70
48
 
71
- function actionToTake(
72
- BotState memory botState,
73
- StrategyState memory currentState
74
- ) external pure returns (ActionType);
49
+ function getCurrentBin(StrategyData memory strategyData) external view returns (int256);
75
50
 
76
51
  function previewAction(
77
- BotState memory botData,
78
- MarketExtState memory marketExtData,
52
+ StrategyData memory strategyData,
79
53
  ActionType action,
80
54
  uint256 botParam,
81
55
  ApproxParams memory swapApproxParams
82
- ) external pure returns (bool, BotState memory, MarketExtState memory);
56
+ ) external view returns (bool, BotState memory, MarketExtState memory);
83
57
 
84
58
  function botExtStats(
85
- BotState memory bot,
86
- MarketExtState memory marketExt
59
+ StrategyData memory strategyData
87
60
  )
88
61
  external
89
- pure
62
+ view
90
63
  returns (uint256 tvlInSy, uint256 iy, uint256 currentSyRatio, uint256 currentYtPtRatio);
64
+
65
+ function searchForBotParam(
66
+ StrategyData memory strategyData,
67
+ ActionType action,
68
+ uint256 targetIy,
69
+ uint256 rebalanceAdditionalCheck,
70
+ ApproxParams memory botParams,
71
+ ApproxParams memory intParams
72
+ ) external view returns (uint256);
73
+
74
+ function getAvailableZpiAmount(address botAddress) external returns (uint256 amountSyToZpi);
91
75
  }
@@ -8,8 +8,6 @@ interface ILongYieldTradingBot is ITradingBotBase {
8
8
  event SwapSyToYt(ApproxParams botParams, uint256 maxSyIn, uint256 exactYtOut, uint256 netSyIn);
9
9
 
10
10
  event AddLiqKeepYt(
11
- ApproxParams botParams,
12
- uint256 maxSyIn,
13
11
  uint256 netSyIn,
14
12
  uint256 netLpOut,
15
13
  uint256 netYtOut
@@ -17,48 +15,40 @@ interface ILongYieldTradingBot is ITradingBotBase {
17
15
 
18
16
  event AddLiqFromSy(ApproxParams botParams, uint256 maxSyIn, uint256 netSyIn, uint256 netLpOut);
19
17
 
20
- event AddLiqFromYt(ApproxParams botParams, uint256 maxYtIn, uint256 netYtIn, uint256 netLpOut);
18
+ event AddLiqFromYt(ApproxParams botParams, uint256 netYtIn, uint256 netLpOut);
21
19
 
22
- event RemoveLiqToYt(
23
- ApproxParams botParams,
24
- uint256 maxLpRemoved,
25
- uint256 netLpIn,
26
- uint256 netYtOut
27
- );
20
+ event RemoveLiqToYt(ApproxParams botParams, uint256 netLpIn, uint256 netYtOut);
28
21
 
29
- function setSpecs(LongTradingSpecs calldata _specs) external;
22
+ struct AddLiqFromYtInput {
23
+ ApproxParams botParams;
24
+ uint256 minLpOut;
25
+ uint256 targetIy;
26
+ int256 currentBin;
27
+ }
30
28
 
31
- function swapSyToYt(
32
- address router,
33
- ApproxParams calldata botParams,
34
- uint256 minYtOut,
35
- uint256 maxSyIn
36
- ) external returns (uint256 exactYtOut, uint256 netSyIn);
29
+ struct RemoveLiqToYtInput {
30
+ ApproxParams botParams;
31
+ ApproxParams guessTotalPtToSwap;
32
+ uint256 minYtOut;
33
+ uint256 targetIy;
34
+ int256 currentBin;
35
+ }
36
+
37
+ function setSpecs(LongTradingSpecs calldata _specs) external;
37
38
 
38
39
  function addLiqKeepYt(
39
- address router,
40
- ApproxParams calldata botParams,
41
- uint256 maxSyIn,
40
+ uint256 netSyIn,
42
41
  uint256 minLpOut,
43
42
  uint256 minYtOut
44
- ) external returns (uint256 netSyIn, uint256 netLpOut, uint256 netYtOut);
45
-
46
- function addLiqFromSy(
47
- ApproxParams calldata botParams,
48
- uint256 minLpOut,
49
- uint256 maxSyIn
50
- ) external returns (uint256 netPtFromSwap, uint256 netLpOut, uint256 netSyIn);
43
+ ) external returns (uint256 netLpOut, uint256 netYtOut);
51
44
 
52
45
  function addLiqFromYt(
53
- ApproxParams calldata botParams,
54
- uint256 minLpOut,
55
- uint256 maxYtIn
46
+ AddLiqFromYtInput calldata inputParams
56
47
  ) external returns (uint256 netPtFromSwap, uint256 netLpOut, uint256 netYtIn);
57
48
 
58
49
  function removeLiqToYt(
59
- ApproxParams calldata botParams,
60
- ApproxParams calldata guessTotalPtToSwap,
61
- uint256 maxLpRemoved,
62
- uint256 minYtOut
63
- ) external returns (uint256 netLpRemoved, uint256 netYtOut, uint256 totalPtToSwap);
50
+ RemoveLiqToYtInput calldata inputParams
51
+ ) external returns (uint256 netLpRemoved, uint256 netYtOut);
52
+
53
+ function readStrategyData() external returns (StrategyData memory strategyData);
64
54
  }
@@ -24,7 +24,6 @@ interface ITradingBotBase {
24
24
  function depositSy(uint256 netSyIn) external;
25
25
 
26
26
  function depositToken(
27
- address router,
28
27
  TokenInput calldata inp,
29
28
  uint256 minSyOut
30
29
  ) external payable;
@@ -32,14 +31,13 @@ interface ITradingBotBase {
32
31
  function withdrawFunds(address token, uint256 amount) external;
33
32
 
34
33
  function claimAndCompound(
35
- address router,
36
34
  TokenInput[] calldata inps,
37
35
  uint256 minSyOut
38
36
  ) external returns (uint256 netSyOut, uint256 netPendleOut);
39
37
 
40
38
  function claimWithoutCompound() external returns (TokenAmount[] memory rewards);
41
39
 
42
- function readMarketExtState(address router) external returns (MarketExtState memory marketExt);
40
+ function readMarketExtState() external returns (MarketExtState memory marketExt);
43
41
 
44
42
  function readBotState() external view returns (BotState memory botState);
45
43
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "2.17.6-tradingbot",
5
+ "version": "2.18.0-tradingbot",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",