@pendle/core-v2 2.20.0 → 2.21.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 (665) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.json +0 -19
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -21
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  50. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  113. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol/BotDecisionHelperBase.json +816 -0
  115. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  116. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1411 -0
  117. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  118. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +2240 -0
  119. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  120. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +1641 -0
  121. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
  122. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.json +10 -0
  123. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.dbg.json +4 -0
  124. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.json +154 -0
  125. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
  126. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.json +24 -0
  127. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +4 -0
  128. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.json +10 -0
  129. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.dbg.json +4 -0
  130. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.json +262 -0
  131. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  134. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  136. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  138. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  141. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  143. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  145. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  152. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
  154. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  157. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
  158. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
  159. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  160. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  161. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +6 -82
  209. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +22 -22
  211. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +4 -42
  214. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +0 -19
  227. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +0 -19
  233. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +32 -146
  243. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +4 -0
  261. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +679 -0
  262. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.dbg.json +4 -0
  263. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.json +698 -0
  264. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
  265. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +745 -0
  266. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.dbg.json +4 -0
  267. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.json +679 -0
  268. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.dbg.json +4 -0
  269. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.json +794 -0
  270. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
  271. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +351 -0
  272. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  273. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  274. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  275. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  276. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  277. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  278. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  279. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  280. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  281. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  282. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  283. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  284. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  285. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  286. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  287. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  288. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  289. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  290. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +8 -84
  291. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  292. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +24 -24
  293. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  294. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +6 -44
  295. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  296. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  297. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  298. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  299. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  300. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  301. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  302. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  303. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  304. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  305. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  306. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  307. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  308. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  309. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  310. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  311. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  313. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  314. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  315. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  316. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  317. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  318. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  320. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  321. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  322. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  323. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  324. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  325. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  326. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  327. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  328. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  329. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  330. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  331. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  332. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  333. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  334. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  335. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  336. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  337. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  338. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  339. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +0 -4
  340. package/contracts/core/Market/PendleGauge.sol +2 -3
  341. package/contracts/core/StandardizedYield/PYIndex.sol +14 -0
  342. package/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol +265 -0
  343. package/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol +333 -0
  344. package/contracts/core/TradingBot/LongYieldTradingBot.sol +144 -0
  345. package/contracts/core/TradingBot/TradingBotBase.sol +253 -0
  346. package/contracts/core/TradingBot/libraries/BotSimulationLib.sol +99 -0
  347. package/contracts/core/TradingBot/libraries/LongYieldActionLib.sol +308 -0
  348. package/contracts/core/TradingBot/libraries/MarketExtLib.sol +272 -0
  349. package/contracts/core/TradingBot/libraries/SpecSegmentLib.sol +78 -0
  350. package/contracts/core/TradingBot/libraries/TvlLib.sol +69 -0
  351. package/contracts/core/libraries/Errors.sol +12 -0
  352. package/contracts/core/libraries/TokenAmountLib.sol +47 -0
  353. package/contracts/interfaces/IPActionInfoStatic.sol +7 -8
  354. package/contracts/interfaces/IPActionMarketAuxStatic.sol +14 -21
  355. package/contracts/interfaces/IPActionMarketCoreStatic.sol +67 -70
  356. package/contracts/interfaces/IPActionMintRedeemStatic.sol +11 -23
  357. package/contracts/interfaces/IPGauge.sol +0 -3
  358. package/contracts/interfaces/IPRouterStatic.sol +1 -5
  359. package/contracts/interfaces/IStandardizedYield.sol +10 -15
  360. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +76 -0
  361. package/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol +8 -0
  362. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +74 -0
  363. package/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol +7 -0
  364. package/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol +27 -0
  365. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +54 -0
  366. package/contracts/offchain-helpers/BulkSellerOffchain.sol +8 -11
  367. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +11 -14
  368. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +37 -96
  369. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +80 -88
  370. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +14 -43
  371. package/contracts/oracles/PendleLpOracleLib.sol +1 -1
  372. package/deployments/core.ts +29 -0
  373. package/deployments/index.ts +4 -0
  374. package/deployments/markets/ape-june-29-2023.ts +3 -0
  375. package/deployments/markets/balancer-reth-dec-28-2023.ts +3 -0
  376. package/deployments/markets/balancer-wsteth-jun-27-2024.ts +3 -0
  377. package/deployments/markets/curve-fraxusdc-march-30-2023.ts +3 -0
  378. package/deployments/markets/index.ts +17 -0
  379. package/deployments/markets/looks-march-30-2023.ts +3 -0
  380. package/deployments/markets/steth-june-29-2023.ts +3 -0
  381. package/deployments/markets/steth-march-30-2023.ts +3 -0
  382. package/deployments/markets/types.ts +9 -0
  383. package/deployments/misc.ts +23 -0
  384. package/package.json +1 -1
  385. package/typechain-types/ActionMarketAuxStatic.ts +38 -191
  386. package/typechain-types/ActionMarketCoreStatic.ts +134 -600
  387. package/typechain-types/ActionMintRedeemStatic.ts +26 -92
  388. package/typechain-types/AuraEthxBbAWethSY.ts +1532 -0
  389. package/typechain-types/AuraSwEthBbAWethSYV2.ts +1532 -0
  390. package/typechain-types/AutomateReady.ts +102 -0
  391. package/typechain-types/AutomationBase.ts +57 -0
  392. package/typechain-types/AutomationCompatible.ts +140 -0
  393. package/typechain-types/AutomationCompatibleInterface.ts +141 -0
  394. package/typechain-types/BotDecisionHelperBase.ts +508 -0
  395. package/typechain-types/ChainlinkRelayerAutomation.ts +305 -0
  396. package/typechain-types/ChainlinkRelayerGelato.ts +311 -0
  397. package/typechain-types/ComposableStablePreviewProxy.ts +352 -0
  398. package/typechain-types/ComposableStablePreviewV4.ts +217 -0
  399. package/typechain-types/ComposableStablePreviewV5.ts +217 -0
  400. package/typechain-types/{CamelotV1Preview.ts → HLPPricingHelper.ts} +50 -84
  401. package/typechain-types/IAnkrBNB.ts +150 -0
  402. package/typechain-types/IAnkrLiquidStaking.ts +253 -0
  403. package/typechain-types/IAutomate.ts +203 -0
  404. package/typechain-types/IBotDecisionHelper.ts +208 -239
  405. package/typechain-types/IEUSD.ts +194 -0
  406. package/typechain-types/IFluxErc20.ts +298 -0
  407. package/typechain-types/IFluxInterestRateModel.ts +113 -0
  408. package/typechain-types/IHLPStaking.ts +154 -0
  409. package/typechain-types/IHMXCalculator.ts +96 -0
  410. package/typechain-types/IHMXCompounder.ts +122 -0
  411. package/typechain-types/IHMXStaking.ts +165 -0
  412. package/typechain-types/IHMXVester.ts +163 -0
  413. package/typechain-types/IInterestUSTP.ts +156 -0
  414. package/typechain-types/IKyberElasticFactory.ts +734 -0
  415. package/typechain-types/IKyberElasticPool.ts +514 -0
  416. package/typechain-types/IKyberElasticRouter.ts +315 -0
  417. package/typechain-types/IKyberLiquidityMining.ts +968 -0
  418. package/typechain-types/IKyberMathHelper.ts +231 -0
  419. package/typechain-types/IKyberPositionManager.ts +773 -0
  420. package/typechain-types/ILongYieldDecisionHelper.ts +512 -0
  421. package/typechain-types/ILongYieldTradingBot.ts +197 -502
  422. package/typechain-types/IOpsProxyFactory.ts +93 -0
  423. package/typechain-types/IPActionMarketAuxStatic.ts +38 -191
  424. package/typechain-types/IPActionMarketCoreStatic.ts +134 -600
  425. package/typechain-types/IPActionMintRedeemStatic.ts +26 -92
  426. package/typechain-types/IPComposableStablePreview.ts +217 -0
  427. package/typechain-types/IPExternalRewardDistributor.ts +198 -0
  428. package/typechain-types/IPGauge.ts +3 -23
  429. package/typechain-types/IPMarket.ts +0 -18
  430. package/typechain-types/IPMarketFactoryV2.ts +253 -0
  431. package/typechain-types/{ICamelotSY.ts → IPOracleForSy.ts} +13 -26
  432. package/typechain-types/IPRouterStatic.ts +197 -888
  433. package/typechain-types/IRebasingUSTP.ts +133 -0
  434. package/typechain-types/IShortYieldDecisionHelper.ts +476 -0
  435. package/typechain-types/IShortYieldTradingBot.ts +574 -0
  436. package/typechain-types/IStaderStakeManager.ts +700 -0
  437. package/typechain-types/{IExecutorHelper2.ts → ISwETH.ts} +40 -32
  438. package/typechain-types/ITaskTreasuryUpgradable.ts +160 -0
  439. package/typechain-types/ITradingBotBase.ts +97 -247
  440. package/typechain-types/IUSTP.ts +127 -0
  441. package/typechain-types/IVersion.ts +81 -0
  442. package/typechain-types/KyberMathHelper.ts +583 -0
  443. package/typechain-types/KyberNftManagerBase.ts +364 -0
  444. package/typechain-types/LegacyNFTHelper.ts +87 -0
  445. package/typechain-types/LongYieldActionLib.ts +57 -0
  446. package/typechain-types/LongYieldDecisionHelper.ts +663 -0
  447. package/typechain-types/LongYieldTradingBot.ts +1374 -437
  448. package/typechain-types/PendleAnkrBNBSY.ts +1235 -0
  449. package/typechain-types/PendleAuraWethVethSY.ts +1511 -0
  450. package/typechain-types/PendleAuraWstethAnkreth.ts +1511 -0
  451. package/typechain-types/PendleBridgedLSDSY.ts +1222 -0
  452. package/typechain-types/PendleChainlinkReceiver.ts +239 -0
  453. package/typechain-types/PendleChainlinkRelayer.ts +158 -0
  454. package/typechain-types/{PendleBinanceEth.ts → PendleERC4626SY.ts} +18 -31
  455. package/typechain-types/PendleETHXSY.ts +1231 -0
  456. package/typechain-types/PendleEUSDSY.ts +1216 -0
  457. package/typechain-types/PendleExternalRewardDistributor.ts +596 -0
  458. package/typechain-types/PendleFluxLendingSY.ts +1232 -0
  459. package/typechain-types/PendleGauge.ts +3 -23
  460. package/typechain-types/PendleGaugeV2.ts +225 -0
  461. package/typechain-types/PendleHlpSY.ts +1517 -0
  462. package/typechain-types/PendleIUSTPSY.ts +1255 -0
  463. package/typechain-types/{PendleCamelotV1SY.ts → PendleKyberElasticSY.ts} +385 -516
  464. package/typechain-types/PendleMantleStakedEthSY.ts +1222 -0
  465. package/typechain-types/PendleMarket.ts +0 -18
  466. package/typechain-types/PendleMarketFactoryV2.ts +932 -0
  467. package/typechain-types/PendleMarketV2.ts +1311 -0
  468. package/typechain-types/PendleMulticallV2.ts +241 -0
  469. package/typechain-types/PendleOracleForSyProxy.ts +275 -0
  470. package/typechain-types/SDKErrorsDirectory.ts +57 -0
  471. package/typechain-types/StarNFTV1.ts +880 -0
  472. package/typechain-types/SwETHSY.ts +1216 -0
  473. package/typechain-types/TradingBotBase.ts +1275 -157
  474. package/typechain-types/TvlLib.ts +215 -0
  475. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  476. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  477. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +7 -83
  478. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +23 -23
  479. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +5 -43
  480. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  481. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  482. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  483. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  484. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  485. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1240 -0
  486. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1244 -0
  487. package/typechain-types/factories/{ICamelotSY__factory.ts → AutomateReady__factory.ts} +9 -9
  488. package/typechain-types/factories/AutomationBase__factory.ts +69 -0
  489. package/typechain-types/factories/AutomationCompatibleInterface__factory.ts +67 -0
  490. package/typechain-types/factories/AutomationCompatible__factory.ts +72 -0
  491. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +835 -0
  492. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  493. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  494. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  495. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  496. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +238 -0
  497. package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +263 -0
  498. package/typechain-types/factories/ComposableStablePreviewProxy__factory.ts +288 -0
  499. package/typechain-types/factories/ComposableStablePreviewV4__factory.ts +190 -0
  500. package/typechain-types/factories/ComposableStablePreviewV5__factory.ts +190 -0
  501. package/typechain-types/factories/Errors__factory.ts +150 -1
  502. package/typechain-types/factories/HLPPricingHelper__factory.ts +311 -0
  503. package/typechain-types/factories/IAnkrBNB__factory.ts +74 -0
  504. package/typechain-types/factories/IAnkrLiquidStaking__factory.ts +123 -0
  505. package/typechain-types/factories/IAutomate__factory.ts +126 -0
  506. package/typechain-types/factories/IBotDecisionHelper__factory.ts +377 -615
  507. package/typechain-types/factories/IEUSD__factory.ts +101 -0
  508. package/typechain-types/factories/IFluxErc20__factory.ts +178 -0
  509. package/typechain-types/factories/{IExecutorHelper2__factory.ts → IFluxInterestRateModel__factory.ts} +19 -15
  510. package/typechain-types/factories/IHLPStaking__factory.ts +67 -0
  511. package/typechain-types/factories/IHMXCalculator__factory.ts +45 -0
  512. package/typechain-types/factories/IHMXCompounder__factory.ts +59 -0
  513. package/typechain-types/factories/IHMXStaking__factory.ts +78 -0
  514. package/typechain-types/factories/IHMXVester__factory.ts +85 -0
  515. package/typechain-types/factories/IInterestUSTP__factory.ts +75 -0
  516. package/typechain-types/factories/IKyberElasticFactory__factory.ts +455 -0
  517. package/typechain-types/factories/IKyberElasticPool__factory.ts +315 -0
  518. package/typechain-types/factories/IKyberElasticRouter__factory.ts +240 -0
  519. package/typechain-types/factories/IKyberLiquidityMining__factory.ts +913 -0
  520. package/typechain-types/factories/IKyberMathHelper__factory.ts +143 -0
  521. package/typechain-types/factories/IKyberPositionManager__factory.ts +633 -0
  522. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +717 -0
  523. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +250 -658
  524. package/typechain-types/factories/IOpsProxyFactory__factory.ts +50 -0
  525. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +6 -82
  526. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +22 -22
  527. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +4 -42
  528. package/typechain-types/factories/IPComposableStablePreview__factory.ts +152 -0
  529. package/typechain-types/factories/IPExternalRewardDistributor__factory.ts +128 -0
  530. package/typechain-types/factories/IPGauge__factory.ts +0 -19
  531. package/typechain-types/factories/IPMarketFactoryV2__factory.ts +181 -0
  532. package/typechain-types/factories/IPMarket__factory.ts +0 -19
  533. package/typechain-types/factories/IPOracleForSy__factory.ts +36 -0
  534. package/typechain-types/factories/IPRouterStatic__factory.ts +32 -146
  535. package/typechain-types/factories/IRebasingUSTP__factory.ts +49 -0
  536. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +698 -0
  537. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +813 -0
  538. package/typechain-types/factories/IStaderStakeManager__factory.ts +435 -0
  539. package/typechain-types/factories/ISwETH__factory.ts +53 -0
  540. package/typechain-types/factories/ITaskTreasuryUpgradable__factory.ts +76 -0
  541. package/typechain-types/factories/ITradingBotBase__factory.ts +138 -227
  542. package/typechain-types/factories/IUSTP__factory.ts +46 -0
  543. package/typechain-types/factories/IVersion__factory.ts +36 -0
  544. package/typechain-types/factories/KyberMathHelper__factory.ts +417 -0
  545. package/typechain-types/factories/KyberNftManagerBase__factory.ts +279 -0
  546. package/typechain-types/factories/LegacyNFTHelper__factory.ts +83 -0
  547. package/typechain-types/factories/LongYieldActionLib__factory.ts +207 -0
  548. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1468 -0
  549. package/typechain-types/factories/LongYieldTradingBot__factory.ts +1153 -748
  550. package/typechain-types/factories/MarketExtLib__factory.ts +1 -1
  551. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  552. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1100 -0
  553. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  554. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  555. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  556. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  557. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  558. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1231 -0
  559. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  560. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1244 -0
  561. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1064 -0
  562. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  563. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +216 -0
  564. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +180 -0
  565. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  566. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  567. package/typechain-types/factories/PendleERC4626SY__factory.ts +1030 -0
  568. package/typechain-types/factories/PendleETHXSY__factory.ts +1059 -0
  569. package/typechain-types/factories/PendleEUSDSY__factory.ts +1022 -0
  570. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +437 -0
  571. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  572. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  573. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1049 -0
  574. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  575. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  576. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  577. package/typechain-types/factories/{CamelotV1LpHelper__factory.ts → PendleGaugeV2__factory.ts} +50 -53
  578. package/typechain-types/factories/PendleGauge__factory.ts +0 -19
  579. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  580. package/typechain-types/factories/PendleHlpSY__factory.ts +1283 -0
  581. package/typechain-types/factories/PendleIUSTPSY__factory.ts +1061 -0
  582. package/typechain-types/factories/PendleKyberElasticSY__factory.ts +1512 -0
  583. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  584. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  585. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1068 -0
  586. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +770 -0
  587. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  588. package/typechain-types/factories/PendleMarketV2__factory.ts +1299 -0
  589. package/typechain-types/factories/PendleMarket__factory.ts +1 -20
  590. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  591. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  592. package/typechain-types/factories/PendleMulticallV2__factory.ts +212 -0
  593. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +211 -0
  594. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  595. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  596. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  597. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  598. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  599. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  600. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  601. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  602. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  603. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  604. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  605. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  606. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  607. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  608. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  609. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  610. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  611. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  612. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  613. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  614. package/typechain-types/factories/SAPE__factory.ts +1 -1
  615. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1596 -0
  616. package/typechain-types/factories/StarNFTV1__factory.ts +584 -0
  617. package/typechain-types/factories/SwETHSY__factory.ts +1022 -0
  618. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  619. package/typechain-types/factories/TradingBotBase__factory.ts +1258 -230
  620. package/typechain-types/factories/TvlLib__factory.ts +309 -0
  621. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  622. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  623. package/typechain-types/hardhat.d.ts +115 -232
  624. package/typechain-types/index.ts +34 -50
  625. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +0 -4
  626. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +0 -976
  627. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +0 -4
  628. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +0 -979
  629. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +0 -4
  630. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.json +0 -42
  631. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +0 -4
  632. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +0 -97
  633. package/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol +0 -120
  634. package/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol +0 -108
  635. package/contracts/interfaces/BinanceEth/IWBETH.sol +0 -9
  636. package/contracts/offchain-helpers/PtAndLpToAsset.sol +0 -62
  637. package/deployments/42161-markets/RETH-ARBITRUM-JUNE2025.json +0 -10
  638. package/deployments/42161-markets/WSTETH-ARBITRUM-JUNE2024.json +0 -10
  639. package/deployments/42161-markets/WSTETH-ARBITRUM-JUNE2025.json +0 -10
  640. package/deployments/56-core.json +0 -28
  641. package/deployments/56-markets/THENA-FRXETH-ETH-JUNE2024.json +0 -10
  642. package/deployments/56-markets/WBETH-DEC2024.json +0 -10
  643. package/deployments/56-offchain-helper.json +0 -4
  644. package/typechain-types/BotActionCallback.ts +0 -763
  645. package/typechain-types/BotActionHelper.ts +0 -763
  646. package/typechain-types/BotDecisionHelper.ts +0 -527
  647. package/typechain-types/BotDecisionLib.ts +0 -335
  648. package/typechain-types/CamelotV1LpHelper.ts +0 -203
  649. package/typechain-types/IExecutorHelper1.ts +0 -643
  650. package/typechain-types/IExecutorHelperEthereum1.ts +0 -643
  651. package/typechain-types/PendleSwapArbitrum.ts +0 -126
  652. package/typechain-types/PendleSwapEthereum.ts +0 -126
  653. package/typechain-types/TradingBotOffchain.ts +0 -568
  654. package/typechain-types/factories/BotActionCallback__factory.ts +0 -678
  655. package/typechain-types/factories/BotActionHelper__factory.ts +0 -678
  656. package/typechain-types/factories/BotDecisionHelper__factory.ts +0 -1123
  657. package/typechain-types/factories/BotDecisionLib__factory.ts +0 -642
  658. package/typechain-types/factories/CamelotV1Preview__factory.ts +0 -309
  659. package/typechain-types/factories/IExecutorHelper1__factory.ts +0 -403
  660. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -407
  661. package/typechain-types/factories/PendleBinanceEth__factory.ts +0 -1052
  662. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +0 -1595
  663. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +0 -129
  664. package/typechain-types/factories/PendleSwapEthereum__factory.ts +0 -129
  665. package/typechain-types/factories/TradingBotOffchain__factory.ts +0 -1133
@@ -0,0 +1,272 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "../../../interfaces/IPMarket.sol";
5
+ import "../../StandardizedYield/PYIndex.sol";
6
+ import "../../../router/base/MarketApproxLib.sol";
7
+
8
+ struct MarketExtState {
9
+ MarketState state;
10
+ PYIndex index;
11
+ uint256 blockTime;
12
+ }
13
+
14
+ // Audit notes for MarketExtLib:
15
+ // 1. All changes made by functions simulating the actions containing marketExt as input params
16
+ // should also be reflected in the params itself
17
+ // 2. All approxParams (used for MarketApproxLib) passing into the functions should be cloned
18
+ // before being used.
19
+
20
+ library MarketExtLib {
21
+ using MarketMathCore for MarketState;
22
+ using MarketApproxPtInLib for MarketState;
23
+ using MarketApproxPtOutLib for MarketState;
24
+ using PYIndexLib for PYIndex;
25
+ using PYIndexLib for IPYieldToken;
26
+ using LogExpMath for uint256;
27
+ using Math for uint256;
28
+ using Math for int256;
29
+
30
+ uint256 public constant ONE_YEAR = 365 days;
31
+
32
+ /// @dev Simulates PendleRouter's swapExactYtForSy
33
+ function swapYtToSy(
34
+ MarketExtState memory marketExt,
35
+ uint256 exactYtIn
36
+ ) internal pure returns (uint256 /*netSyOut*/) {
37
+ (uint256 netSyOwedInt, , ) = marketExt.state.swapSyForExactPt(
38
+ marketExt.index,
39
+ exactYtIn,
40
+ marketExt.blockTime
41
+ );
42
+
43
+ uint256 netPYToRepaySyOwedInt = marketExt.index.syToAssetUp(netSyOwedInt);
44
+ uint256 netPYToRedeemSyOutInt = exactYtIn - netPYToRepaySyOwedInt;
45
+
46
+ return marketExt.index.assetToSy(netPYToRedeemSyOutInt);
47
+ }
48
+
49
+ /// @dev Simulates PendleRouter's swapExactPtForSy
50
+ function swapPtToSy(
51
+ MarketExtState memory marketExt,
52
+ uint256 exactPtIn
53
+ ) internal pure returns (uint256 netSyOut) {
54
+ (netSyOut, , ) = marketExt.state.swapExactPtForSy(
55
+ marketExt.index,
56
+ exactPtIn,
57
+ marketExt.blockTime
58
+ );
59
+ }
60
+
61
+ /// @dev Simulates PendleRouter's addLiquiditySingleSyKeepYt
62
+ function addLiqKeepYt(
63
+ MarketExtState memory marketExt,
64
+ uint256 netSyIn
65
+ ) internal pure returns (uint256 netLpOut, uint256 netYtOut) {
66
+ uint256 netSyToPt = (netSyIn * marketExt.state.totalPt.Uint()) /
67
+ (marketExt.state.totalPt.Uint() +
68
+ marketExt.index.syToAsset(marketExt.state.totalSy.Uint()));
69
+
70
+ netYtOut = marketExt.index.syToAsset(netSyToPt);
71
+
72
+ netLpOut = addLiqDual(marketExt, netSyIn - netSyToPt, netYtOut);
73
+ }
74
+
75
+ /**
76
+ * Workflow of the addLiqFromYt action:
77
+ * - Call market.swapSyForExactPt(), getting [%%%%%%++*] PT where:
78
+ * - The % part used to redeemed to SY along with YT, and pay the SY debt for market
79
+ * - The + part used to redeemed to SY (combined with above) to add liquidity together with PT
80
+ * - The * part used to add liquidity to the market
81
+ *
82
+ * Amount of PT to swap to SY (%) is determined by amount of SY in debt
83
+ * Thus, some math calculation is made to determine how much PT is used to add liquidity (*) and later
84
+ * used to deduce the (+) part
85
+ */
86
+ function addLiqFromYt(
87
+ MarketExtState memory marketExt,
88
+ uint256 netPtFromSwap
89
+ ) internal pure returns (uint256 netLpOut, uint256 netYtIn) {
90
+ (uint256 netSyToSwap, , ) = marketExt.state.swapSyForExactPt(
91
+ marketExt.index,
92
+ netPtFromSwap,
93
+ marketExt.blockTime
94
+ );
95
+
96
+ // (1) --> netPtRedeemSy = netPtFromSwap - netPtToAdd
97
+ // (2) --> (netPtRedeemSy * ONE / pyIndex) = (netPtToAdd * totalSy / totalPt) + netSyToSwap
98
+ // (2) * pyIndex / ONE --> netPtRedeemSy = (netPtToAdd * totalSy / totalPt * pyIndex / ONE) + netSyToSwap * pyIndex / ONE
99
+ // ==> netPtFromSwap - netPtToAdd = (netPtToAdd * totalSy / totalPt * pyIndex / ONE) + netSyToSwap * pyIndex / ONE
100
+ // ==> netPtToAdd * (ONE + totalSy * pyIndex / totalPt) = netPtFromSwap * ONE - netSyToSwap * pyIndex
101
+
102
+ uint256 pyIndex = PYIndex.unwrap(marketExt.index);
103
+ uint256 netPtToAddNumerator = (netPtFromSwap * Math.ONE - netSyToSwap * pyIndex);
104
+ uint256 netPtToAddDenominator = (Math.ONE +
105
+ (marketExt.state.totalSy.Uint() * pyIndex) /
106
+ marketExt.state.totalPt.Uint());
107
+ uint256 netPtToAdd = netPtToAddNumerator / netPtToAddDenominator;
108
+
109
+ netYtIn = netPtFromSwap - netPtToAdd;
110
+
111
+ uint256 netSyFromPy = marketExt.index.assetToSy(netYtIn);
112
+ uint256 netSyToAdd = netSyFromPy - netSyToSwap;
113
+
114
+ netLpOut = addLiqDual(marketExt, netSyToAdd, netPtToAdd);
115
+ }
116
+
117
+ /// @dev Simulates PendleRouter's removeLiquidityDualSyAndPt then swapExactPtForYt
118
+ function removeLiqToYt(
119
+ MarketExtState memory marketExt,
120
+ uint256 netLpToRemove,
121
+ ApproxParams memory approxParams
122
+ ) internal pure returns (uint256 netYtOut, uint256 totalPtToSwap) {
123
+ (uint256 netSyRemoved, uint256 netPtRemoved) = removeLiqDual(marketExt, netLpToRemove);
124
+
125
+ uint256 netYtFromSy = marketExt.index.syToAsset(netSyRemoved);
126
+ uint256 netPtToSwap = netPtRemoved + netYtFromSy;
127
+
128
+ uint256 netYtFromSwap;
129
+ (netYtFromSwap, totalPtToSwap, ) = marketExt.state.approxSwapExactPtForYt(
130
+ marketExt.index,
131
+ netPtToSwap,
132
+ marketExt.blockTime,
133
+ clone(approxParams)
134
+ );
135
+
136
+ marketExt.state.swapExactPtForSy(marketExt.index, totalPtToSwap, marketExt.blockTime);
137
+
138
+ netYtOut = netYtFromSy + netYtFromSwap;
139
+ }
140
+
141
+ /// @dev Simplified version of MarketMathCore's addLiquidity
142
+ function addLiqDual(
143
+ MarketExtState memory marketExt,
144
+ uint256 netSyIn,
145
+ uint256 netPtIn
146
+ ) internal pure returns (uint256 /*netLpOut*/) {
147
+ require(
148
+ !MiniHelpers.isExpired(marketExt.state.expiry, marketExt.blockTime),
149
+ "MarketExtLib: expired market"
150
+ );
151
+ require(marketExt.state.totalLp > 0, "MarketExtLib: LP < 0");
152
+
153
+ int256 syDesired = netSyIn.Int();
154
+ int256 ptDesired = netPtIn.Int();
155
+ int256 lpToAccount;
156
+ int256 ptUsed;
157
+ int256 syUsed;
158
+
159
+ int256 netLpByPt = (ptDesired * marketExt.state.totalLp) / marketExt.state.totalPt;
160
+ int256 netLpBySy = (syDesired * marketExt.state.totalLp) / marketExt.state.totalSy;
161
+ if (netLpByPt < netLpBySy) {
162
+ lpToAccount = netLpByPt;
163
+ ptUsed = ptDesired;
164
+ syUsed = (marketExt.state.totalSy * lpToAccount) / marketExt.state.totalLp;
165
+ } else {
166
+ lpToAccount = netLpBySy;
167
+ syUsed = syDesired;
168
+ ptUsed = (marketExt.state.totalPt * lpToAccount) / marketExt.state.totalLp;
169
+ }
170
+
171
+ marketExt.state.totalSy += syUsed;
172
+ marketExt.state.totalPt += ptUsed;
173
+ marketExt.state.totalLp += lpToAccount;
174
+
175
+ return lpToAccount.Uint();
176
+ }
177
+
178
+ /// @dev Simplified version of MarketMathCore's removeLiquidity
179
+ function removeLiqDual(
180
+ MarketExtState memory marketExt,
181
+ uint256 netLpToRemove
182
+ ) internal pure returns (uint256 /*netSyToAccount*/, uint256 /*netPtToAccount*/) {
183
+ int256 lpToRemove = netLpToRemove.Int();
184
+
185
+ int256 netSyToAccount = (lpToRemove * marketExt.state.totalSy) / marketExt.state.totalLp;
186
+ int256 netPtToAccount = (lpToRemove * marketExt.state.totalPt) / marketExt.state.totalLp;
187
+
188
+ marketExt.state.totalLp = marketExt.state.totalLp.subNoNeg(lpToRemove);
189
+ marketExt.state.totalPt = marketExt.state.totalPt.subNoNeg(netPtToAccount);
190
+ marketExt.state.totalSy = marketExt.state.totalSy.subNoNeg(netSyToAccount);
191
+
192
+ return (netSyToAccount.Uint(), netPtToAccount.Uint());
193
+ }
194
+
195
+ function previewPyToSy(
196
+ MarketExtState memory marketExt,
197
+ uint256 netPYToRedeem
198
+ ) internal pure returns (uint256) {
199
+ return marketExt.index.assetToSy(netPYToRedeem);
200
+ }
201
+
202
+ /// @notice Returns the trade exchange rate, fee excluded
203
+ function exchangeRate(MarketExtState memory marketExt) internal pure returns (uint256) {
204
+ MarketPreCompute memory comp = marketExt.state.getMarketPreCompute(
205
+ marketExt.index,
206
+ marketExt.blockTime
207
+ );
208
+
209
+ int256 preFeeExchangeRate = MarketMathCore._getExchangeRate(
210
+ marketExt.state.totalPt,
211
+ comp.totalAsset,
212
+ comp.rateScalar,
213
+ comp.rateAnchor,
214
+ 0
215
+ );
216
+
217
+ return preFeeExchangeRate.Uint();
218
+ }
219
+
220
+ function impliedYield(MarketExtState memory marketExt) internal pure returns (uint256) {
221
+ return
222
+ exchangeRate(marketExt).pow(
223
+ ONE_YEAR.divDown(marketExt.state.expiry - marketExt.blockTime)
224
+ ) - Math.ONE;
225
+ }
226
+
227
+ function clone(MarketState memory state) internal pure returns (MarketState memory) {
228
+ return
229
+ MarketState(
230
+ state.totalPt,
231
+ state.totalSy,
232
+ state.totalLp,
233
+ state.treasury,
234
+ state.scalarRoot,
235
+ state.expiry,
236
+ state.lnFeeRateRoot,
237
+ state.reserveFeePercent,
238
+ state.lastLnImpliedRate
239
+ );
240
+ }
241
+
242
+ function clone(MarketExtState memory marketExt) internal pure returns (MarketExtState memory) {
243
+ return MarketExtState(clone(marketExt.state), marketExt.index, marketExt.blockTime);
244
+ }
245
+
246
+ function clone(ApproxParams memory params) internal pure returns (ApproxParams memory) {
247
+ return
248
+ ApproxParams(
249
+ params.guessMin,
250
+ params.guessMax,
251
+ params.guessOffchain,
252
+ params.maxIteration,
253
+ params.eps
254
+ );
255
+ }
256
+
257
+ function calcMaxPtIn(MarketExtState memory marketExt) internal pure returns (uint256) {
258
+ return
259
+ (MarketApproxPtInLib.calcMaxPtIn(
260
+ marketExt.state,
261
+ marketExt.state.getMarketPreCompute(marketExt.index, marketExt.blockTime)
262
+ ) * 9) / 10;
263
+ }
264
+
265
+ function calcMaxPtOut(MarketExtState memory marketExt) internal pure returns (uint256) {
266
+ return
267
+ MarketApproxPtOutLib.calcMaxPtOut(
268
+ marketExt.state.getMarketPreCompute(marketExt.index, marketExt.blockTime),
269
+ marketExt.state.totalPt
270
+ );
271
+ }
272
+ }
@@ -0,0 +1,78 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../../interfaces/TradingBot/IBotDecisionHelper.sol";
5
+ import "../../libraries/math/Math.sol";
6
+
7
+ // Library convention:
8
+ // BinId: the index of the bin as defined in the docs [-4 ... 4], could be [-3 ... 5] in case
9
+ // botState.buyBins is decreased
10
+ // SegId: the index of the bin shifted botState.buyBins to the right [0 ... 8], always remains
11
+ // in this range
12
+
13
+ // This library aims to implement:
14
+ // - The binId <-> segId <-> iy conversion
15
+ // - Calculate implied yield related information for bin/seg
16
+
17
+ library SpecSegmentLib {
18
+ using Math for uint256;
19
+ using Math for int256;
20
+
21
+ function getSegLength(TradingSpecs memory specs) internal pure returns (uint256) {
22
+ return (specs.sellYtIy - specs.buyYtIy) / (2 * specs.numOfBins);
23
+ }
24
+
25
+ function getMidIyOfSeg(
26
+ TradingSpecs memory specs,
27
+ uint256 segId
28
+ ) internal pure returns (uint256) {
29
+ // This function is called when the currentBin sees the segId bin as the target
30
+ // As so, the leftmost and rightmost bin should not be considered
31
+ assert(segId != 0 && segId != specs.numOfBins * 2 + 1);
32
+
33
+ uint256 length = getSegLength(specs);
34
+ return specs.buyYtIy + length * (segId - 1) + length / 2;
35
+ }
36
+
37
+ function getSegIdForIy(
38
+ TradingSpecs memory specs,
39
+ uint256 iy
40
+ ) internal pure returns (uint256) {
41
+ if (iy < specs.buyYtIy) {
42
+ return 0;
43
+ }
44
+ if (iy > specs.sellYtIy) {
45
+ return 2 * specs.numOfBins + 1;
46
+ }
47
+ return (iy - specs.buyYtIy) / getSegLength(specs) + 1;
48
+ }
49
+
50
+ function convertSegIdToBinId(
51
+ BotState memory botState,
52
+ uint256 segId
53
+ ) internal pure returns (int256) {
54
+ int256 binId = segId.Int() - botState.buyBins.Int();
55
+ if (binId >= 1) binId--;
56
+ return binId;
57
+ }
58
+
59
+ function convertBinIdToSegId(
60
+ BotState memory botState,
61
+ int256 binId
62
+ ) internal pure returns (uint256) {
63
+ // It's impossible to determine the segId of two middle bins as they share the binId value of 0
64
+ // In practice, we don't need to take any action in case currentBin = 0, so this case can be ignored
65
+ assert(binId != 0);
66
+
67
+ if (binId >= 1) binId++;
68
+ return (binId + botState.buyBins.Int()).Uint();
69
+ }
70
+
71
+ function getBinIdForIy(
72
+ TradingSpecs memory specs,
73
+ BotState memory botState,
74
+ uint256 iy
75
+ ) internal pure returns (int256) {
76
+ return convertSegIdToBinId(botState, getSegIdForIy(specs, iy));
77
+ }
78
+ }
@@ -0,0 +1,69 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "./MarketExtLib.sol";
5
+ import "../../../interfaces/TradingBot/IBotDecisionHelper.sol";
6
+ import "../../../oracles/PendleLpOracleLib.sol";
7
+
8
+ library TvlLib {
9
+ using MarketMathCore for MarketState;
10
+ using MarketExtLib for MarketExtState;
11
+ using Math for uint256;
12
+ using Math for int256;
13
+ using PendleLpOracleLib for IPMarket;
14
+ using PendlePtOracleLib for IPMarket;
15
+ using PYIndexLib for PYIndex;
16
+
17
+ uint32 internal constant ORACLE_DURATION = 1800;
18
+
19
+ /**
20
+ * @param market market address
21
+ * @param bot currnet bot state
22
+ * @return tvl total value locked in SY (excluding uncompounded reward tokens/interest) by oracle prices
23
+ */
24
+ function getOracleTvl(address market, BotState memory bot) public view returns (uint256) {
25
+ PYIndex index = IPMarket(market)._getPYIndexCurrent();
26
+
27
+ uint256 tvlInAsset;
28
+ if (bot.lpBalance > 0) {
29
+ tvlInAsset += bot.lpBalance.mulDown(
30
+ IPMarket(market).getLpToAssetRate(ORACLE_DURATION)
31
+ );
32
+ }
33
+
34
+ if (bot.ptBalance + bot.ytBalance > 0) {
35
+ uint256 ptPrice = IPMarket(market).getPtToAssetRate(ORACLE_DURATION);
36
+ uint256 ytPrice = Math.ONE - ptPrice;
37
+ tvlInAsset += bot.ptBalance.mulDown(ptPrice) + bot.ytBalance.mulDown(ytPrice);
38
+ }
39
+
40
+ return index.assetToSy(tvlInAsset) + bot.syBalance;
41
+ }
42
+
43
+ /**
44
+ *
45
+ * @param bot current bot state
46
+ * @param marketExt current market state
47
+ * @return Total value locked in SY (excluding uncompounded reward tokens/interest) if we perform liquidation
48
+ * on all bot's assets
49
+ */
50
+ function getLiquidateTvl(
51
+ BotState memory bot,
52
+ MarketExtState memory marketExt
53
+ ) public pure returns (uint256) {
54
+ MarketExtState memory marketExtClone = marketExt.clone();
55
+
56
+ (uint256 syInLp, uint256 ptInLp) = marketExtClone.removeLiqDual(bot.lpBalance);
57
+ uint256 totalValue = bot.syBalance + syInLp;
58
+
59
+ uint256 totalPt = ptInLp + bot.ptBalance;
60
+ if (totalPt <= bot.ytBalance) {
61
+ totalValue += marketExtClone.previewPyToSy(totalPt);
62
+ totalValue += marketExtClone.swapYtToSy(bot.ytBalance - totalPt);
63
+ } else {
64
+ totalValue += marketExtClone.previewPyToSy(bot.ytBalance);
65
+ totalValue += marketExtClone.swapPtToSy(totalPt - bot.ytBalance);
66
+ }
67
+ return totalValue;
68
+ }
69
+ }
@@ -177,4 +177,16 @@ library Errors {
177
177
  // Swap Aggregator
178
178
  error SAInsufficientTokenIn(address tokenIn, uint256 amountExpected, uint256 amountActual);
179
179
  error UnsupportedSelector(uint256 aggregatorType, bytes4 selector);
180
+
181
+ // Trading Bot
182
+ error BotBinarySearchInvalidRange(uint256 action, uint256 guessMin, uint256 guessMax);
183
+ error BotBinarySearchGuessMinInvalid(uint256 action, uint256 guessMin);
184
+ error BotBinarySearchFail();
185
+ error BotExceededLimitSyIn(uint256 actualSyIn, uint256 limitSyIn);
186
+ error BotExceededLimitYtIn(uint256 actualYtIn, uint256 limitYtIn);
187
+ error BotExceededLimitLpToRemove(uint256 actualLpToRemove, uint256 limitLpToRemove);
188
+ error BotInsufficientSyOut(uint256 actualSyOut, uint256 requiredSyOut);
189
+ error BotInsufficientYtOut(uint256 actualYtOut, uint256 requiredYtOut);
190
+ error BotInsufficientLpOut(uint256 actualLpOut, uint256 requiredLpOut);
191
+ error BotCallbackNotMarket(address caller);
180
192
  }
@@ -0,0 +1,47 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity >=0.8.0;
3
+
4
+ struct TokenAmount {
5
+ address token;
6
+ uint256 amount;
7
+ }
8
+
9
+ library TokenAmountLib {
10
+ function add(
11
+ TokenAmount[] memory list,
12
+ address token,
13
+ uint256 amount
14
+ ) internal pure returns (TokenAmount[] memory newList) {
15
+ if (amount == 0) return list;
16
+
17
+ uint256 newTokenIndex = list.length;
18
+ for (uint256 i = 0; i < list.length; i++) {
19
+ if (list[i].token == token) {
20
+ newTokenIndex = i;
21
+ break;
22
+ }
23
+ }
24
+
25
+ newList = new TokenAmount[](list.length + (newTokenIndex == list.length ? 1 : 0));
26
+ for (uint256 i = 0; i < list.length; i++) {
27
+ newList[i] = list[i];
28
+ }
29
+ newList[newTokenIndex] = TokenAmount(
30
+ token,
31
+ (newTokenIndex == list.length ? 0 : list[newTokenIndex].amount) + amount
32
+ );
33
+ }
34
+
35
+ function add(
36
+ TokenAmount[] memory list,
37
+ address[] memory tokens,
38
+ uint256[] memory amounts
39
+ ) internal pure returns (TokenAmount[] memory newList) {
40
+ newList = list;
41
+ require(tokens.length == amounts.length, "TokenAmountLib: length mismatch");
42
+ for (uint256 i = 0; i < tokens.length; i++) {
43
+ newList = add(newList, tokens[i], amounts[i]);
44
+ }
45
+ return newList;
46
+ }
47
+ }
@@ -1,4 +1,3 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
1
  pragma solidity ^0.8.17;
3
2
 
4
3
  interface IPActionInfoStatic {
@@ -29,16 +28,16 @@ interface IPActionInfoStatic {
29
28
  function getPY(address py) external view returns (address pt, address yt);
30
29
 
31
30
  /// can be SY, PY or Market
32
- function getTokensInOut(address token)
33
- external
34
- view
35
- returns (address[] memory tokensIn, address[] memory tokensOut);
31
+ function getTokensInOut(
32
+ address token
33
+ ) external view returns (address[] memory tokensIn, address[] memory tokensOut);
36
34
 
37
35
  function getUserSYInfo(address sy, address user) external returns (UserSYInfo memory res);
38
36
 
39
37
  function getUserPYInfo(address py, address user) external returns (UserPYInfo memory res);
40
38
 
41
- function getUserMarketInfo(address market, address user)
42
- external
43
- returns (UserMarketInfo memory res);
39
+ function getUserMarketInfo(
40
+ address market,
41
+ address user
42
+ ) external returns (UserMarketInfo memory res);
44
43
  }
@@ -3,15 +3,16 @@ pragma solidity ^0.8.17;
3
3
  import "./IPMarket.sol";
4
4
 
5
5
  interface IPActionMarketAuxStatic {
6
- function calcPriceImpactPY(address market, int256 netPtOut) external view returns (uint256);
6
+ function calcPriceImpactPY(address market, int256 netPtOut) external returns (uint256);
7
7
 
8
- function calcPriceImpactPt(address market, int256 netPtOut) external view returns (uint256);
8
+ function calcPriceImpactPt(address market, int256 netPtOut) external returns (uint256);
9
9
 
10
- function calcPriceImpactYt(address market, int256 netPtOut) external view returns (uint256);
10
+ function calcPriceImpactYt(address market, int256 netPtOut) external returns (uint256);
11
11
 
12
- function getMarketState(address market)
12
+ function getMarketState(
13
+ address market
14
+ )
13
15
  external
14
- view
15
16
  returns (
16
17
  address pt,
17
18
  address yt,
@@ -21,21 +22,13 @@ interface IPActionMarketAuxStatic {
21
22
  MarketState memory state
22
23
  );
23
24
 
24
- function getTradeExchangeRateExcludeFee(address market, MarketState memory state)
25
- external
26
- view
27
- returns (uint256);
28
-
29
- function getTradeExchangeRateIncludeFee(address market, int256 netPtOut)
30
- external
31
- view
32
- returns (uint256);
33
-
34
- function getLpToSyRate(address market) external view returns (uint256);
35
-
36
- function getPtToSyRate(address market) external view returns (uint256);
37
-
38
- function getLpToAssetRate(address market) external view returns (uint256);
25
+ function getTradeExchangeRateExcludeFee(
26
+ address market,
27
+ MarketState memory state
28
+ ) external returns (uint256);
39
29
 
40
- function getPtToAssetRate(address market) external view returns (uint256);
30
+ function getTradeExchangeRateIncludeFee(
31
+ address market,
32
+ int256 netPtOut
33
+ ) external returns (uint256);
41
34
  }