@pendle/core-v2 2.19.1-tradingbot → 2.20.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 (503) 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/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  28. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  32. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  34. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  38. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +4 -0
  81. package/build/artifacts/contracts/core/TradingBot/{base → DecisionHelper}/BotDecisionHelperBase.sol/BotDecisionHelperBase.json +93 -66
  82. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  83. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1411 -0
  84. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  85. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +2332 -0
  86. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  87. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +1641 -0
  88. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.json +2 -2
  90. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.dbg.json +4 -0
  91. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.json +154 -0
  92. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.json +2 -2
  94. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.json +2 -2
  96. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.dbg.json +4 -0
  97. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.json +262 -0
  98. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +91 -64
  215. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.json +110 -83
  217. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +7 -171
  219. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.json +91 -64
  221. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.json +7 -171
  223. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +7 -171
  225. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  227. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  230. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  231. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  233. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  234. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  235. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  236. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  237. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  238. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  239. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  240. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  241. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  242. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  243. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  244. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  247. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  248. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  249. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  250. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  251. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  252. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  253. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  254. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  255. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  256. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  257. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  258. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  259. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  260. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  261. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  262. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  263. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  264. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  265. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  266. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  268. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  269. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  271. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  273. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  275. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  277. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  279. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  280. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  281. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  282. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  283. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  284. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  285. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  286. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  287. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  288. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  289. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  290. package/contracts/core/StandardizedYield/PYIndex.sol +14 -0
  291. package/contracts/core/TradingBot/{base → DecisionHelper}/BotDecisionHelperBase.sol +60 -35
  292. package/contracts/core/TradingBot/{LongYield → DecisionHelper}/LongYieldDecisionHelper.sol +116 -41
  293. package/contracts/core/TradingBot/{LongYield/LongYieldTradingBot.sol → LongYieldTradingBot.sol} +41 -10
  294. package/contracts/core/TradingBot/TradingBotBase.sol +254 -0
  295. package/contracts/core/TradingBot/libraries/LongYieldActionLib.sol +279 -0
  296. package/contracts/core/TradingBot/libraries/SpecSegmentLib.sol +1 -1
  297. package/contracts/core/TradingBot/libraries/TvlLib.sol +57 -0
  298. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +37 -19
  299. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +6 -16
  300. package/contracts/oracles/PendleLpOracleLib.sol +1 -1
  301. package/deployments/core.ts +29 -0
  302. package/deployments/index.ts +4 -0
  303. package/deployments/markets/ape-june-29-2023.ts +3 -0
  304. package/deployments/markets/balancer-reth-dec-28-2023.ts +3 -0
  305. package/deployments/markets/balancer-wsteth-jun-27-2024.ts +3 -0
  306. package/deployments/markets/curve-fraxusdc-march-30-2023.ts +3 -0
  307. package/deployments/markets/index.ts +17 -0
  308. package/deployments/markets/looks-march-30-2023.ts +3 -0
  309. package/deployments/markets/steth-june-29-2023.ts +3 -0
  310. package/deployments/markets/steth-march-30-2023.ts +3 -0
  311. package/deployments/markets/types.ts +9 -0
  312. package/deployments/misc.ts +23 -0
  313. package/package.json +1 -1
  314. package/typechain-types/{PendleCamelotV1SY.ts → AuraEthxBbAWethSY.ts} +170 -599
  315. package/typechain-types/AuraSwEthBbAWethSYV2.ts +1532 -0
  316. package/typechain-types/AuraWethVethSY.ts +1598 -0
  317. package/typechain-types/AutomateReady.ts +102 -0
  318. package/typechain-types/AutomationBase.ts +57 -0
  319. package/typechain-types/AutomationCompatible.ts +140 -0
  320. package/typechain-types/AutomationCompatibleInterface.ts +141 -0
  321. package/typechain-types/BotActionCallbackLib.ts +57 -0
  322. package/typechain-types/BotDecisionHelperBase.ts +93 -69
  323. package/typechain-types/ChainlinkRelayerAutomation.ts +305 -0
  324. package/typechain-types/ChainlinkRelayerGelato.ts +311 -0
  325. package/typechain-types/{CamelotV1Preview.ts → ComposableStablePreviewProxy.ts} +5 -84
  326. package/typechain-types/ComposableStablePreviewV4.ts +217 -0
  327. package/typechain-types/ComposableStablePreviewV5.ts +217 -0
  328. package/typechain-types/IAutomate.ts +203 -0
  329. package/typechain-types/IBotDecisionHelper.ts +93 -69
  330. package/typechain-types/IFluxErc20.ts +298 -0
  331. package/typechain-types/{IExecutorHelper2.ts → IFluxInterestRateModel.ts} +35 -37
  332. package/typechain-types/ILongYieldDecisionHelper.ts +112 -86
  333. package/typechain-types/ILongYieldTradingBot.ts +28 -224
  334. package/typechain-types/IOpsProxyFactory.ts +93 -0
  335. package/typechain-types/IPComposableStablePreview.ts +217 -0
  336. package/typechain-types/IPExternalRewardDistributor.ts +38 -32
  337. package/typechain-types/{ICamelotSY.ts → IPOracleForSy.ts} +13 -26
  338. package/typechain-types/IShortYieldDecisionHelper.ts +93 -69
  339. package/typechain-types/IShortYieldTradingBot.ts +28 -224
  340. package/typechain-types/ITaskTreasuryUpgradable.ts +160 -0
  341. package/typechain-types/ITradingBotBase.ts +28 -224
  342. package/typechain-types/IVersion.ts +81 -0
  343. package/typechain-types/LegacyNFTHelper.ts +87 -0
  344. package/typechain-types/LongYieldActionLib.ts +57 -0
  345. package/typechain-types/LongYieldDecisionHelper.ts +139 -77
  346. package/typechain-types/LongYieldTradingBot.ts +1210 -154
  347. package/typechain-types/PendleAuraBalancerStableLPSYV3.ts +1599 -0
  348. package/typechain-types/PendleAuraWethVethSY.ts +1511 -0
  349. package/typechain-types/PendleBridgedLSDSY.ts +1222 -0
  350. package/typechain-types/PendleChainlinkReceiver.ts +239 -0
  351. package/typechain-types/PendleChainlinkRelayer.ts +158 -0
  352. package/typechain-types/PendleERC20PermitUpgradable.ts +452 -0
  353. package/typechain-types/PendleERC20Upgradable.ts +348 -0
  354. package/typechain-types/{PendleBinanceEth.ts → PendleERC4626SY.ts} +18 -31
  355. package/typechain-types/PendleExternalRewardDistributor.ts +136 -86
  356. package/typechain-types/PendleFluxLendingSY.ts +1232 -0
  357. package/typechain-types/PendleMantleStakedEthSY.ts +1222 -0
  358. package/typechain-types/PendleMarketFactoryV2.ts +26 -24
  359. package/typechain-types/PendleOracleForSyProxy.ts +275 -0
  360. package/typechain-types/SDKErrorsDirectory.ts +57 -0
  361. package/typechain-types/SYBaseUpgradable.ts +1132 -0
  362. package/typechain-types/SYBaseWithRewardsUpgradable.ts +1225 -0
  363. package/typechain-types/StarNFTV1.ts +880 -0
  364. package/typechain-types/{PendleSwETH.ts → SwETHSY.ts} +5 -5
  365. package/typechain-types/TradingBotBase.ts +1132 -151
  366. package/typechain-types/TvlLib.ts +215 -0
  367. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  368. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  369. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  370. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  371. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  372. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  373. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  374. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  375. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  376. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  377. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1240 -0
  378. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1244 -0
  379. package/typechain-types/factories/AuraWethVethSY__factory.ts +1270 -0
  380. package/typechain-types/factories/{ICamelotSY__factory.ts → AutomateReady__factory.ts} +9 -9
  381. package/typechain-types/factories/AutomationBase__factory.ts +69 -0
  382. package/typechain-types/factories/AutomationCompatibleInterface__factory.ts +67 -0
  383. package/typechain-types/factories/AutomationCompatible__factory.ts +72 -0
  384. package/typechain-types/factories/BotActionCallbackLib__factory.ts +84 -0
  385. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +91 -64
  386. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +238 -0
  387. package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +263 -0
  388. package/typechain-types/factories/ComposableStablePreviewProxy__factory.ts +288 -0
  389. package/typechain-types/factories/ComposableStablePreviewV4__factory.ts +190 -0
  390. package/typechain-types/factories/ComposableStablePreviewV5__factory.ts +190 -0
  391. package/typechain-types/factories/IAutomate__factory.ts +126 -0
  392. package/typechain-types/factories/IBotDecisionHelper__factory.ts +90 -63
  393. package/typechain-types/factories/{CamelotV1LpHelper__factory.ts → IFluxErc20__factory.ts} +66 -31
  394. package/typechain-types/factories/{IExecutorHelper2__factory.ts → IFluxInterestRateModel__factory.ts} +19 -15
  395. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +109 -82
  396. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +7 -171
  397. package/typechain-types/factories/IOpsProxyFactory__factory.ts +50 -0
  398. package/typechain-types/factories/IPComposableStablePreview__factory.ts +152 -0
  399. package/typechain-types/factories/IPExternalRewardDistributor__factory.ts +32 -32
  400. package/typechain-types/factories/IPOracleForSy__factory.ts +36 -0
  401. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +90 -63
  402. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +7 -171
  403. package/typechain-types/factories/ITaskTreasuryUpgradable__factory.ts +76 -0
  404. package/typechain-types/factories/ITradingBotBase__factory.ts +7 -171
  405. package/typechain-types/factories/IVersion__factory.ts +36 -0
  406. package/typechain-types/factories/LegacyNFTHelper__factory.ts +83 -0
  407. package/typechain-types/factories/LongYieldActionLib__factory.ts +207 -0
  408. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +265 -69
  409. package/typechain-types/factories/LongYieldTradingBot__factory.ts +967 -271
  410. package/typechain-types/factories/MarketExtLib__factory.ts +1 -1
  411. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  412. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  413. package/typechain-types/factories/PendleAuraBalancerStableLPSYV3__factory.ts +1212 -0
  414. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1231 -0
  415. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  416. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1064 -0
  417. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +216 -0
  418. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +180 -0
  419. package/typechain-types/factories/PendleERC20PermitUpgradable__factory.ts +401 -0
  420. package/typechain-types/factories/PendleERC20Upgradable__factory.ts +326 -0
  421. package/typechain-types/factories/PendleERC4626SY__factory.ts +1030 -0
  422. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +91 -68
  423. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1038 -0
  424. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  425. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  426. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  427. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1068 -0
  428. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +15 -15
  429. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  430. package/typechain-types/factories/PendleMarketV2__factory.ts +10 -1
  431. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  432. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +211 -0
  433. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  434. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  435. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  436. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  437. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  438. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  439. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  440. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  441. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1596 -0
  442. package/typechain-types/factories/SYBaseUpgradable__factory.ts +889 -0
  443. package/typechain-types/factories/SYBaseWithRewardsUpgradable__factory.ts +959 -0
  444. package/typechain-types/factories/StarNFTV1__factory.ts +584 -0
  445. package/typechain-types/factories/{PendleSwETH__factory.ts → SwETHSY__factory.ts} +19 -19
  446. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  447. package/typechain-types/factories/TradingBotBase__factory.ts +1020 -144
  448. package/typechain-types/factories/TvlLib__factory.ts +309 -0
  449. package/typechain-types/hardhat.d.ts +56 -56
  450. package/typechain-types/index.ts +14 -16
  451. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldActionHelper.sol/LongYieldActionHelper.dbg.json +0 -4
  452. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldActionHelper.sol/LongYieldActionHelper.json +0 -815
  453. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +0 -4
  454. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +0 -1215
  455. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +0 -4
  456. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.json +0 -1564
  457. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldActionHelper.sol/ShortYieldActionHelper.dbg.json +0 -4
  458. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldActionHelper.sol/ShortYieldActionHelper.json +0 -765
  459. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.dbg.json +0 -4
  460. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.json +0 -1215
  461. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.dbg.json +0 -4
  462. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.json +0 -1368
  463. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.dbg.json +0 -4
  464. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.json +0 -815
  465. package/build/artifacts/contracts/core/TradingBot/base/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +0 -4
  466. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.dbg.json +0 -4
  467. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.json +0 -765
  468. package/contracts/core/TradingBot/LongYield/LongYieldActionHelper.sol +0 -101
  469. package/contracts/core/TradingBot/ShortYield/ShortYieldActionHelper.sol +0 -54
  470. package/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol +0 -198
  471. package/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol +0 -101
  472. package/contracts/core/TradingBot/base/BotActionCallback.sol +0 -112
  473. package/contracts/core/TradingBot/base/TradingBotBase.sol +0 -184
  474. package/typechain-types/BotActionCallback.ts +0 -900
  475. package/typechain-types/BotActionHelper.ts +0 -950
  476. package/typechain-types/BotDecisionHelper.ts +0 -561
  477. package/typechain-types/BotDecisionLib.ts +0 -335
  478. package/typechain-types/CamelotV1LpHelper.ts +0 -203
  479. package/typechain-types/IExecutorHelper1.ts +0 -643
  480. package/typechain-types/IExecutorHelperEthereum1.ts +0 -643
  481. package/typechain-types/LongYieldActionHelper.ts +0 -900
  482. package/typechain-types/PendleSwapArbitrum.ts +0 -126
  483. package/typechain-types/PendleSwapEthereum.ts +0 -126
  484. package/typechain-types/ShortYieldActionHelper.ts +0 -856
  485. package/typechain-types/ShortYieldDecisionHelper.ts +0 -601
  486. package/typechain-types/ShortYieldTradingBot.ts +0 -1212
  487. package/typechain-types/TradingBotOffchain.ts +0 -568
  488. package/typechain-types/factories/BotActionCallback__factory.ts +0 -830
  489. package/typechain-types/factories/BotActionHelper__factory.ts +0 -947
  490. package/typechain-types/factories/BotDecisionHelper__factory.ts +0 -1192
  491. package/typechain-types/factories/BotDecisionLib__factory.ts +0 -642
  492. package/typechain-types/factories/CamelotV1Preview__factory.ts +0 -309
  493. package/typechain-types/factories/IExecutorHelper1__factory.ts +0 -403
  494. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -407
  495. package/typechain-types/factories/LongYieldActionHelper__factory.ts +0 -834
  496. package/typechain-types/factories/PendleBinanceEth__factory.ts +0 -1052
  497. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +0 -1595
  498. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +0 -129
  499. package/typechain-types/factories/PendleSwapEthereum__factory.ts +0 -129
  500. package/typechain-types/factories/ShortYieldActionHelper__factory.ts +0 -784
  501. package/typechain-types/factories/ShortYieldDecisionHelper__factory.ts +0 -1272
  502. package/typechain-types/factories/ShortYieldTradingBot__factory.ts +0 -1445
  503. package/typechain-types/factories/TradingBotOffchain__factory.ts +0 -1133
@@ -1,101 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "../base/TradingBotBase.sol";
5
- import "../base/BotActionCallback.sol";
6
-
7
- abstract contract LongYieldActionHelper is TradingBotBase, BotActionCallback {
8
- using PYIndexLib for IPYieldToken;
9
- using PYIndexLib for PYIndex;
10
- using MarketMathCore for MarketState;
11
- using MarketApproxPtInLib for MarketState;
12
- using Math for int256;
13
-
14
- bytes internal constant EMPTY_BYTES = abi.encode();
15
-
16
- function _addLiqKeepYt(
17
- address router,
18
- uint256 netSyIn,
19
- uint256 minLpOut,
20
- uint256 minYtOut
21
- ) internal returns (uint256 /*netLpOut*/, uint256 /*netYtOut*/) {
22
- return
23
- IPAllAction(router).addLiquiditySingleSyKeepYt(
24
- address(this),
25
- market,
26
- netSyIn,
27
- minLpOut,
28
- minYtOut
29
- );
30
- }
31
-
32
- function _addLiqFromYt(
33
- uint256 netPtFromSwap,
34
- uint256 minLpOut
35
- ) internal returns (uint256 netLpOut, uint256 netYtIn) {
36
- MarketState memory state = IPMarket(market).readState(address(this));
37
- PYIndex index = IPYieldToken(YT).newIndex();
38
-
39
- (uint256 netSyToSwap, , ) = state.swapSyForExactPt(index, netPtFromSwap, block.timestamp);
40
-
41
- // (1) --> netPtRedeemSy = netPtFromSwap - netPtToAdd
42
- // (2) --> (netPtRedeemSy * ONE / pyIndex) = (netPtToAdd * totalSy / totalPt) + netSyToSwap
43
- // (2) * pyIndex / ONE --> netPtRedeemSy = (netPtToAdd * totalSy / totalPt * pyIndex / ONE) + netSyToSwap * pyIndex / ONE
44
- // ==> netPtFromSwap - netPtToAdd = (netPtToAdd * totalSy / totalPt * pyIndex / ONE) + netSyToSwap * pyIndex / ONE
45
- // ==> netPtToAdd * (ONE + totalSy * pyIndex / totalPt) = netPtFromSwap * ONE - netSyToSwap * pyIndex
46
-
47
- uint256 pyIndex = PYIndex.unwrap(index);
48
- uint256 netPtToAddNumerator = (netPtFromSwap * Math.ONE - netSyToSwap * pyIndex);
49
- uint256 netPtToAddDenominator = (Math.ONE +
50
- (state.totalSy.Uint() * pyIndex) /
51
- state.totalPt.Uint());
52
- uint256 netPtToAdd = netPtToAddNumerator / netPtToAddDenominator;
53
-
54
- netYtIn = netPtFromSwap - netPtToAdd; // = netPtRedeemSy
55
-
56
- IPMarket(market).swapSyForExactPt(
57
- address(this),
58
- netPtFromSwap,
59
- _encodeAddLiqFromYt(netYtIn)
60
- );
61
-
62
- uint256 netSyFromPy = index.assetToSy(netYtIn);
63
- uint256 netSyToAdd = netSyFromPy - netSyToSwap;
64
-
65
- (netLpOut, , ) = IPMarket(market).mint(address(this), netSyToAdd, netPtToAdd);
66
- if (netLpOut < minLpOut) revert Errors.BotInsufficientLpOut(netLpOut, minLpOut);
67
- }
68
-
69
- /// @dev Behaves like PendleRouter's removeLiquidityDualSyAndPt then swapExactPtForYt
70
- /// @param guessTotalPtToSwap Same like for PendleRouter's swapExactPtForYt
71
- function _removeLiqToYt(
72
- uint256 netLpToRemove,
73
- ApproxParams memory guessTotalPtToSwap,
74
- uint256 minYtOut
75
- ) internal returns (uint256 netYtOut, uint256 totalPtToSwap) {
76
- _transferOut(market, market, netLpToRemove);
77
- (uint256 netSyFromLp, uint256 netPtFromLp) = IPMarket(market).burn(
78
- YT,
79
- market,
80
- netLpToRemove
81
- ); // SY goes to YT to mint PY, PT goes to market to swap
82
-
83
- MarketState memory state = IPMarket(market).readState(address(this));
84
- PYIndex index = IPYieldToken(YT).newIndex();
85
-
86
- uint256 netPtFromSy = index.syToAsset(netSyFromLp);
87
-
88
- uint256 netYtFromSwap;
89
- (netYtFromSwap, totalPtToSwap, ) = state.approxSwapExactPtForYt(
90
- index,
91
- netPtFromLp + netPtFromSy,
92
- block.timestamp,
93
- guessTotalPtToSwap
94
- );
95
-
96
- netYtOut = netYtFromSwap + netPtFromSy;
97
- if (netYtOut < minYtOut) revert Errors.BotInsufficientYtOut(netYtOut, minYtOut);
98
-
99
- IPMarket(market).swapExactPtForSy(YT, totalPtToSwap, _encodeRemoveLiqToYt(minYtOut)); // SY goes to YT to mint PY
100
- }
101
- }
@@ -1,54 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "../base/TradingBotBase.sol";
5
-
6
- abstract contract ShortYieldActionHelper is TradingBotBase {
7
- using PYIndexLib for IPYieldToken;
8
- using PYIndexLib for PYIndex;
9
- using MarketMathCore for MarketState;
10
- using MarketApproxPtInLib for MarketState;
11
- using Math for int256;
12
-
13
- bytes internal constant EMPTY_BYTES = abi.encode();
14
-
15
- function _mintPY(
16
- uint256 netSyIn,
17
- uint256 minPyOut
18
- ) internal returns (uint256 netPyOut) {
19
- return IPAllAction(router).mintPyFromSy(
20
- address(this),
21
- YT,
22
- netSyIn,
23
- minPyOut
24
- );
25
- }
26
-
27
- function _swapPtForYt(
28
- uint256 netPtToSwap,
29
- ApproxParams memory guessTotalPtToSwap,
30
- uint256 minYtOut
31
- ) internal returns (uint256 netYtOut) {
32
- (netYtOut, ) = IPAllAction(router).swapExactPtForYt(
33
- address(this),
34
- market,
35
- netPtToSwap,
36
- minYtOut,
37
- guessTotalPtToSwap
38
- );
39
- }
40
-
41
- function _swapYtForPt(
42
- uint256 netYtToSwap,
43
- ApproxParams memory guessTotalYtToSwap,
44
- uint256 minPtOut
45
- ) internal returns (uint256 netPtOut) {
46
- (netPtOut, ) = IPAllAction(router).swapExactYtForPt(
47
- address(this),
48
- market,
49
- netYtToSwap,
50
- minPtOut,
51
- guessTotalYtToSwap
52
- );
53
- }
54
- }
@@ -1,198 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.0;
3
-
4
- import "../libraries/BotSimulationLib.sol";
5
- import "../../libraries/Errors.sol";
6
- import "../libraries/SpecSegmentLib.sol";
7
- import "../base/BotDecisionHelperBase.sol";
8
- import "../../../interfaces/TradingBot/IShortYieldDecisionHelper.sol";
9
- import "../../../interfaces/TradingBot/IShortYieldTradingBot.sol";
10
-
11
- contract ShortYieldDecisionHelper is BotDecisionHelperBase, IShortYieldDecisionHelper {
12
- using MarketExtLib for MarketExtState;
13
- using MarketExtLib for ApproxParams;
14
- using MarketMathCore for MarketState;
15
- using MarketApproxPtInLib for MarketState;
16
- using BotSimulationLib for BotState;
17
- using PYIndexLib for PYIndex;
18
- using Math for uint256;
19
- using Math for int256;
20
- using LogExpMath for uint256;
21
- using SpecSegmentLib for TradingSpecs;
22
-
23
- // We dont care about AddLiqKeepYt here
24
- function getActionDetails(address botAddress) public returns (ActionToTakeResult memory res) {
25
- StrategyData memory strategyData = IShortYieldTradingBot(botAddress).readStrategyData();
26
- uint256 iy = strategyData.marketExt.impliedYield();
27
-
28
- res.currentBin = _getCurrentBin(strategyData.botState, strategyData.specs, iy);
29
- if (res.currentBin == 0) {
30
- res.action = ActionType.NONE;
31
- return res;
32
- }
33
- res.targetIy = _getTargetImpliedYieldForBin(
34
- strategyData.botState,
35
- strategyData.specs,
36
- res.currentBin
37
- );
38
-
39
- uint256 maxAmountForAction = INF;
40
-
41
- if (res.currentBin < 0) {
42
- res.action = ActionType.SwapPtForYt;
43
- uint256 maxPtToSwap = _searchMaxPtToSwap(strategyData);
44
- maxAmountForAction = _calcMaxAmountForAction(
45
- maxPtToSwap,
46
- res.currentBin,
47
- strategyData.botState.buyBins,
48
- strategyData.specs.numOfBins
49
- );
50
- } else {
51
- res.action = ActionType.SwapYtForPt;
52
- maxAmountForAction = _calcMaxAmountForAction(
53
- strategyData.botState.ytBalance,
54
- res.currentBin,
55
- strategyData.botState.buyBins,
56
- strategyData.specs.numOfBins
57
- );
58
- }
59
-
60
- if (maxAmountForAction == 0) {
61
- return res;
62
- }
63
-
64
- res.guessBotParams = searchForBotParam(
65
- strategyData,
66
- res.action,
67
- res.targetIy,
68
- 0,
69
- _getMockApproxParamsWithGuessMax(maxAmountForAction),
70
- _getMockApproxParams()
71
- );
72
- (res.amountOut, res.guessIntParams) = _calcAmountOutAndIntParams(
73
- strategyData.marketExt,
74
- res.action,
75
- res.guessBotParams
76
- );
77
- }
78
-
79
- /**
80
- * Given the rebalancing action and its `botParam`, binary search for the optimal internal
81
- * parameter `intParam` for the internal action's approximation (e.g. for router's swap)
82
- */
83
- function _calcAmountOutAndIntParams(
84
- MarketExtState memory marketExt,
85
- ActionType action,
86
- uint256 botParam
87
- ) public pure returns (uint256 amountOut, uint256 intParams) {
88
- if (action == ActionType.SwapPtForYt) {
89
- (amountOut, intParams) = marketExt.clone().swapPtToYt(
90
- botParam,
91
- _getMockApproxParams()
92
- );
93
- } else {
94
- (amountOut, intParams) = marketExt.clone().swapYtToPt(
95
- botParam,
96
- _getMockApproxParams()
97
- );
98
- }
99
- }
100
-
101
- function _searchMaxPtToSwap(StrategyData memory strategyData) internal pure returns (uint256) {
102
- (, , , uint256 ytPtRatio) = _calcBotExtStats(
103
- strategyData.botState,
104
- strategyData.marketExt
105
- );
106
- if (ytPtRatio > strategyData.specs.targetYtPtRatio) {
107
- return 0;
108
- }
109
-
110
- ApproxParams memory guessParams = _getMockApproxParamsWithGuessMax(
111
- strategyData.botState.ptBalance
112
- );
113
- ApproxParams memory mockSwapParams = _getMockApproxParams();
114
- while (guessParams.guessMax > guessParams.guessMin + 1) {
115
- uint256 guess = guessParams.guessMin +
116
- (guessParams.guessMax - guessParams.guessMin) /
117
- 2;
118
-
119
- (
120
- bool success,
121
- BotState memory botStateAfter,
122
- MarketExtState memory marketExtAfter
123
- ) = previewAction(strategyData, ActionType.SwapPtForYt, guess, mockSwapParams);
124
-
125
- if (!success) {
126
- guessParams.guessMax = guess - 1;
127
- continue;
128
- }
129
-
130
- (, , , uint256 ytPtRatioAfter) = _calcBotExtStats(botStateAfter, marketExtAfter);
131
- if (ytPtRatioAfter <= strategyData.specs.targetYtPtRatio) {
132
- guessParams.guessMin = guess;
133
- } else {
134
- guessParams.guessMax = guess - 1;
135
- }
136
- }
137
- return guessParams.guessMin;
138
- }
139
-
140
- /// @dev Does not modify params, structs are cloned before simulation
141
- function previewAction(
142
- StrategyData memory strategyData,
143
- ActionType action,
144
- uint256 botParam,
145
- ApproxParams memory intParams
146
- ) public pure returns (bool success, BotState memory bot, MarketExtState memory marketExt) {
147
- bot = strategyData.botState.clone();
148
- marketExt = strategyData.marketExt.clone();
149
-
150
- if (action == ActionType.SwapPtForYt) {
151
- success = bot.swapPtToYt(marketExt, botParam, intParams);
152
- } else if (action == ActionType.SwapYtForPt) {
153
- success = bot.swapYtToPt(marketExt, botParam, intParams);
154
- } else {
155
- success = false;
156
- }
157
- }
158
-
159
- /// @dev Gives a weak upper bound so that MarketExtLib's simulation doesn't revert
160
- function _weakUpperBound(
161
- BotState memory bot,
162
- MarketExtState memory,
163
- ActionType action
164
- ) internal pure override returns (uint256) {
165
- if (action == ActionType.SwapPtForYt) {
166
- return bot.ptBalance;
167
- } else {
168
- return bot.ytBalance;
169
- }
170
- }
171
-
172
- function _rebalanceResult(
173
- RebalanceDetails memory rebalance,
174
- uint256 botParam,
175
- uint256,
176
- uint256 eps,
177
- ApproxParams memory intParams
178
- ) internal pure override returns (RebalanceResult) {
179
- (bool success, , MarketExtState memory marketExt) = previewAction(
180
- rebalance.strategyData,
181
- rebalance.action,
182
- botParam,
183
- intParams
184
- );
185
-
186
- if (!success) return RebalanceResult.FAIL_OR_TARGET_EXCEED;
187
-
188
- uint256 iy = marketExt.impliedYield();
189
- if (rebalance.action == ActionType.SwapPtForYt) {
190
- if (iy > rebalance.targetIy) return RebalanceResult.FAIL_OR_TARGET_EXCEED;
191
- } else {
192
- if (iy < rebalance.targetIy) return RebalanceResult.FAIL_OR_TARGET_EXCEED;
193
- }
194
-
195
- if (Math.isAApproxB(iy, rebalance.targetIy, eps)) return RebalanceResult.SUCCESS;
196
- else return RebalanceResult.TARGET_NOT_REACHED;
197
- }
198
- }
@@ -1,101 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "../base/TradingBotBase.sol";
5
- import "./ShortYieldActionHelper.sol";
6
- import "../../../interfaces/TradingBot/IShortYieldTradingBot.sol";
7
- import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
8
-
9
- contract ShortYieldTradingBot is
10
- TradingBotBase,
11
- ShortYieldActionHelper,
12
- IShortYieldTradingBot,
13
- UUPSUpgradeable
14
- {
15
- using MarketExtLib for MarketExtState;
16
- using Math for uint256;
17
- using Math for int256;
18
-
19
- constructor(
20
- address _market,
21
- address _router,
22
- address _PENDLE,
23
- address _decisionHelper
24
- ) TradingBotBase(_market, _router, _PENDLE, _decisionHelper) {}
25
-
26
- function _authorizeUpgrade(address) internal override onlyOwner {}
27
-
28
- function initialize(TradingSpecs memory _specs) external initializer {
29
- _setSpecs(_specs);
30
- __BoringOwnable_init();
31
- }
32
-
33
- function mintPY(
34
- uint256 netSyIn,
35
- uint256 minPyOut
36
- ) external onlyOwner returns (uint256 netPyOut) {
37
- netPyOut = _mintPY(netSyIn, minPyOut);
38
- emit MintPy(netSyIn, minPyOut);
39
- }
40
-
41
- function swapPtForYt(
42
- SwapInput calldata inputParams
43
- ) external onlyOwner returns (uint256 netYtOut) {
44
- StrategyData memory strategyData = readStrategyData();
45
-
46
- require(
47
- IBotDecisionHelper(decisionHelper).getCurrentBin(strategyData) ==
48
- inputParams.currentBin,
49
- "removeLiqToYt: bin state expired"
50
- );
51
-
52
- uint256 netPtToSwap = decisionHelper.searchForBotParam(
53
- strategyData,
54
- ActionType.SwapPtForYt,
55
- inputParams.targetIy,
56
- type(uint256).max,
57
- inputParams.botParams,
58
- inputParams.guessTotalPtToSwap
59
- );
60
-
61
- netYtOut = _swapPtForYt(
62
- netPtToSwap,
63
- inputParams.guessTotalPtToSwap,
64
- inputParams.minAmountOut
65
- );
66
-
67
- _updateSellBinAfterTrade();
68
-
69
- emit SwapPtForYt(inputParams, netYtOut);
70
- }
71
-
72
- function swapYtForPt(
73
- SwapInput calldata inputParams
74
- ) external onlyOwner returns (uint256 netPtOut) {
75
- StrategyData memory strategyData = readStrategyData();
76
-
77
- require(
78
- IBotDecisionHelper(decisionHelper).getCurrentBin(strategyData) ==
79
- inputParams.currentBin,
80
- "removeLiqToYt: bin state expired"
81
- );
82
-
83
- uint256 netYtToSwap = decisionHelper.searchForBotParam(
84
- strategyData,
85
- ActionType.SwapYtForPt,
86
- inputParams.targetIy,
87
- type(uint256).max,
88
- inputParams.botParams,
89
- inputParams.guessTotalPtToSwap
90
- );
91
-
92
- netPtOut = _swapYtForPt(
93
- netYtToSwap,
94
- inputParams.guessTotalPtToSwap,
95
- inputParams.minAmountOut
96
- );
97
-
98
- _updateSellBinAfterTrade();
99
- emit SwapYtForPt(inputParams, netPtOut);
100
- }
101
- }
@@ -1,112 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "../../../interfaces/IPMarketSwapCallback.sol";
5
- import "../../../interfaces/TradingBot/IBotDecisionHelper.sol";
6
- import "./TradingBotBase.sol";
7
-
8
- abstract contract BotActionCallback is TradingBotBase, IPMarketSwapCallback {
9
- using Math for int256;
10
-
11
- modifier onlyMarket(address caller) {
12
- if (caller != market) revert Errors.BotCallbackNotMarket(caller);
13
- _;
14
- }
15
-
16
- function swapCallback(
17
- int256 ptToAccount,
18
- int256 syToAccount,
19
- bytes calldata data
20
- ) external override onlyMarket(msg.sender) {
21
- ActionType swapType = _getActionType(data);
22
- if (swapType == ActionType.AddLiqFromYt) {
23
- _callbackAddLiqFromYt(ptToAccount, syToAccount, data);
24
- } else if (swapType == ActionType.RemoveLiqToYt) {
25
- _callbackRemoveLiqToYt(ptToAccount, syToAccount, data);
26
- } else {
27
- assert(false);
28
- }
29
- }
30
-
31
- /// ------------------------------------------------------------
32
- /// AddLiqFromYt
33
- /// ------------------------------------------------------------
34
-
35
- function _callbackAddLiqFromYt(
36
- int256 ptToAccount,
37
- int256 /*syToAccount*/,
38
- bytes calldata data
39
- ) internal {
40
- uint256 netPyRedeemSy = _decodeAddLiqFromYt(data);
41
-
42
- _transferOut(PT, YT, netPyRedeemSy);
43
-
44
- bool needToBurnYt = (!IPYieldToken(YT).isExpired());
45
- if (needToBurnYt) _transferOut(YT, YT, netPyRedeemSy);
46
-
47
- IPYieldToken(YT).redeemPY(market); // all SY goes to market to repay and mint LP
48
-
49
- _transferOut(PT, market, ptToAccount.Uint() - netPyRedeemSy); // remaining PT goes to market to mint LP
50
- }
51
-
52
- function _encodeAddLiqFromYt(uint256 netPyRedeemSy) internal pure returns (bytes memory res) {
53
- res = new bytes(64);
54
- uint256 actionType = uint256(ActionType.AddLiqFromYt);
55
-
56
- assembly {
57
- mstore(add(res, 32), actionType)
58
- mstore(add(res, 64), netPyRedeemSy)
59
- }
60
- }
61
-
62
- function _decodeAddLiqFromYt(
63
- bytes calldata data
64
- ) internal pure returns (uint256 netPyRedeemSy) {
65
- assembly {
66
- // first 32 bytes is ActionType
67
- netPyRedeemSy := calldataload(add(data.offset, 32))
68
- }
69
- }
70
-
71
- /// ------------------------------------------------------------
72
- /// RemoveLiqToYt
73
- /// ------------------------------------------------------------
74
-
75
- function _callbackRemoveLiqToYt(
76
- int256 /*ptToAccount*/,
77
- int256 /*syToAccount*/,
78
- bytes calldata data
79
- ) internal {
80
- uint256 minYtOut = _decodeRemoveLiqToYt(data);
81
-
82
- uint256 netYtOut = IPYieldToken(YT).mintPY(market, address(this)); // PT goes to market to repay
83
- if (netYtOut < minYtOut) revert Errors.BotInsufficientYtOut(netYtOut, minYtOut); // 2nd check
84
- }
85
-
86
- function _encodeRemoveLiqToYt(uint256 minYtOut) internal pure returns (bytes memory res) {
87
- res = new bytes(64);
88
- uint256 actionType = uint256(ActionType.RemoveLiqToYt);
89
-
90
- assembly {
91
- mstore(add(res, 32), actionType)
92
- mstore(add(res, 64), minYtOut)
93
- }
94
- }
95
-
96
- function _decodeRemoveLiqToYt(bytes calldata data) internal pure returns (uint256 minYtOut) {
97
- assembly {
98
- // first 32 bytes is ActionType
99
- minYtOut := calldataload(add(data.offset, 32))
100
- }
101
- }
102
-
103
- /// ------------------------------------------------------------
104
- /// Misc functions
105
- /// ------------------------------------------------------------
106
-
107
- function _getActionType(bytes calldata data) internal pure returns (ActionType actionType) {
108
- assembly {
109
- actionType := calldataload(data.offset)
110
- }
111
- }
112
- }