@pendle/core-v2 2.23.1 → 2.23.2-mantle

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 (568) 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/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +4 -0
  45. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +373 -0
  46. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  49. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  51. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.json +128 -0
  53. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +682 -0
  55. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +4 -0
  56. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +1214 -0
  57. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.json +2 -2
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +2 -191
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.dbg.json +4 -0
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.json +219 -0
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.dbg.json +4 -0
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.json +133 -0
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.dbg.json +4 -0
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.json +133 -0
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.json +2 -2
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +4 -0
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +154 -0
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +4 -0
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.json +96 -0
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +4 -0
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +976 -0
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +4 -0
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +149 -0
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  160. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  161. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  162. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  163. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  164. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  165. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  166. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  167. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  168. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  169. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  170. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  171. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  172. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  173. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  174. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  175. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  176. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  177. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  178. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  179. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  180. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  181. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  182. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  183. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +18 -2
  184. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  185. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  186. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  187. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  188. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  189. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.dbg.json +4 -0
  202. package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.json +133 -0
  203. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.dbg.json +4 -0
  206. package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.json +24 -0
  207. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.dbg.json +4 -0
  256. package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.json +109 -0
  257. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  261. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  262. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  263. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  264. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  265. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  266. package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +4 -0
  267. package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.json +166 -0
  268. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  269. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  270. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  271. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  272. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +4 -0
  273. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.json +24 -0
  274. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  275. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  276. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  277. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  278. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  279. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  280. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  281. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  282. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  283. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  284. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
  285. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  286. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  287. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  288. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  289. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  290. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  291. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  292. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  293. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  294. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
  295. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  296. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  297. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +1 -1
  298. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +1 -1
  299. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +1 -1
  300. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +1 -1
  301. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  302. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  303. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  304. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  305. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  306. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  307. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  308. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  309. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  310. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  311. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  312. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  313. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  314. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  315. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  316. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
  317. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +2 -2
  318. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +4 -0
  319. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +1543 -0
  320. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  321. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  322. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  323. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  324. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  325. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  326. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  327. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  328. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  329. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  330. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  331. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  332. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  333. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  334. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  335. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  336. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  337. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  338. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  339. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  340. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  341. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  342. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  343. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  344. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  345. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  346. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  347. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  348. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  349. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  350. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  351. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  352. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  353. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  354. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  355. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  356. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  357. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  358. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  359. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  360. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  361. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  362. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  363. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  364. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  365. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  366. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  367. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  368. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  369. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  370. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  371. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  372. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  373. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  374. package/build/artifacts/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  375. package/build/artifacts/contracts/router/swap-aggregator/{1inch → oneinch}/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +1 -1
  376. package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  377. package/build/artifacts/contracts/router/swap-aggregator/{1inch → oneinch}/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +1 -1
  378. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +4 -0
  379. package/contracts/core/Market/PendleExternalRewardDistributor.sol +126 -0
  380. package/contracts/core/Market/v2/PendleGaugeV2.sol +137 -0
  381. package/contracts/core/Market/v2/PendleMarketFactoryV2.sol +170 -0
  382. package/contracts/core/Market/v2/PendleMarketV2.sol +373 -0
  383. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +1 -607
  384. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol +53 -0
  385. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol +600 -0
  386. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol +621 -0
  387. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol +8 -0
  388. package/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol +46 -0
  389. package/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol +43 -0
  390. package/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol +120 -0
  391. package/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol +23 -0
  392. package/contracts/core/libraries/ArrayLib.sol +30 -0
  393. package/contracts/core/libraries/Errors.sol +2 -0
  394. package/contracts/interfaces/Balancer/IPComposableStablePreview.sol +23 -0
  395. package/contracts/interfaces/Balancer/IVersion.sol +13 -0
  396. package/contracts/interfaces/IPExternalRewardDistributor.sol +19 -0
  397. package/contracts/interfaces/IPMarketFactoryV2.sol +8 -0
  398. package/contracts/interfaces/IPOracleForSy.sol +7 -0
  399. package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +149 -0
  400. package/contracts/router/swap-aggregator/PendleSwap.sol +1 -1
  401. package/deployments/5000-core.json +30 -0
  402. package/deployments/5000-markets/WSTETH-MANTLE-MARCH2024.json +10 -0
  403. package/package.json +7 -7
  404. package/typechain-types/AllErrorsDirectory.ts +57 -0
  405. package/typechain-types/ComposableStablePreview.ts +3 -287
  406. package/typechain-types/{CamelotV1Preview.ts → ComposableStablePreviewProxy.ts} +5 -84
  407. package/typechain-types/ComposableStablePreviewV4.ts +217 -0
  408. package/typechain-types/ComposableStablePreviewV5.ts +217 -0
  409. package/typechain-types/IPComposableStablePreview.ts +217 -0
  410. package/typechain-types/{ICamelotSY.ts → IPOracleForSy.ts} +13 -26
  411. package/typechain-types/{MarketExtLib.ts → IVersion.ts} +13 -13
  412. package/typechain-types/PendleChainlinkReceiver.ts +239 -0
  413. package/typechain-types/PendleChainlinkRelayer.ts +158 -0
  414. package/typechain-types/PendleExternalRewardDistributor.ts +49 -0
  415. package/typechain-types/{PendleSwETH.ts → PendleMantleStakedEthSY.ts} +24 -18
  416. package/typechain-types/PendleOracleForSyProxy.ts +275 -0
  417. package/typechain-types/SDKErrorsDirectory.ts +57 -0
  418. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  419. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  420. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  421. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  422. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  423. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  424. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  425. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  426. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  427. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  428. package/typechain-types/factories/AllErrorsDirectory__factory.ts +1596 -0
  429. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  430. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  431. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  432. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  433. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  434. package/typechain-types/factories/ComposableStablePreviewProxy__factory.ts +288 -0
  435. package/typechain-types/factories/ComposableStablePreviewV4__factory.ts +190 -0
  436. package/typechain-types/factories/ComposableStablePreviewV5__factory.ts +190 -0
  437. package/typechain-types/factories/ComposableStablePreview__factory.ts +4 -231
  438. package/typechain-types/factories/Errors__factory.ts +17 -1
  439. package/typechain-types/factories/IPComposableStablePreview__factory.ts +152 -0
  440. package/typechain-types/factories/IPOracleForSy__factory.ts +36 -0
  441. package/typechain-types/factories/IVersion__factory.ts +36 -0
  442. package/typechain-types/factories/LinearPreview__factory.ts +1 -1
  443. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  444. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  445. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  446. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  447. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  448. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  449. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  450. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  451. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  452. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1 -1
  453. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  454. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  455. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  456. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +216 -0
  457. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +180 -0
  458. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  459. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  460. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +29 -1
  461. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  462. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  463. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  464. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  465. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  466. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  467. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  468. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  469. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1068 -0
  470. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
  471. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  472. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  473. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  474. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  475. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  476. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +211 -0
  477. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  478. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  479. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  480. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  481. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  482. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  483. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  484. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  485. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  486. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  487. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  488. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  489. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  490. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  491. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  492. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  493. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  494. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  495. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  496. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  497. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  498. package/typechain-types/factories/SAPE__factory.ts +1 -1
  499. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1596 -0
  500. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  501. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  502. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  503. package/typechain-types/hardhat.d.ts +125 -26
  504. package/typechain-types/index.ts +26 -6
  505. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +0 -4
  506. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +0 -4
  507. package/typechain-types/BotActionCallback.ts +0 -900
  508. package/typechain-types/BotActionHelper.ts +0 -950
  509. package/typechain-types/BotDecisionHelper.ts +0 -561
  510. package/typechain-types/BotDecisionHelperBase.ts +0 -484
  511. package/typechain-types/BotDecisionLib.ts +0 -335
  512. package/typechain-types/CamelotV1LpHelper.ts +0 -203
  513. package/typechain-types/IBotDecisionHelper.ts +0 -452
  514. package/typechain-types/IExecutorHelper1.ts +0 -643
  515. package/typechain-types/IExecutorHelper2.ts +0 -115
  516. package/typechain-types/IExecutorHelperEthereum1.ts +0 -643
  517. package/typechain-types/IHashflow.ts +0 -159
  518. package/typechain-types/ILongYieldDecisionHelper.ts +0 -486
  519. package/typechain-types/ILongYieldTradingBot.ts +0 -878
  520. package/typechain-types/IShortYieldDecisionHelper.ts +0 -452
  521. package/typechain-types/IShortYieldTradingBot.ts +0 -770
  522. package/typechain-types/ITradingBotBase.ts +0 -569
  523. package/typechain-types/LongYieldActionHelper.ts +0 -900
  524. package/typechain-types/LongYieldDecisionHelper.ts +0 -601
  525. package/typechain-types/LongYieldTradingBot.ts +0 -1364
  526. package/typechain-types/PendleBinanceEth.ts +0 -1229
  527. package/typechain-types/PendleCamelotV1SY.ts +0 -1961
  528. package/typechain-types/PendleSwapArbitrum.ts +0 -126
  529. package/typechain-types/PendleSwapEthereum.ts +0 -126
  530. package/typechain-types/ShortYieldActionHelper.ts +0 -856
  531. package/typechain-types/ShortYieldDecisionHelper.ts +0 -601
  532. package/typechain-types/ShortYieldTradingBot.ts +0 -1212
  533. package/typechain-types/TradingBotBase.ts +0 -856
  534. package/typechain-types/TradingBotOffchain.ts +0 -568
  535. package/typechain-types/factories/BotActionCallback__factory.ts +0 -830
  536. package/typechain-types/factories/BotActionHelper__factory.ts +0 -947
  537. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +0 -808
  538. package/typechain-types/factories/BotDecisionHelper__factory.ts +0 -1192
  539. package/typechain-types/factories/BotDecisionLib__factory.ts +0 -642
  540. package/typechain-types/factories/CamelotV1LpHelper__factory.ts +0 -143
  541. package/typechain-types/factories/CamelotV1Preview__factory.ts +0 -309
  542. package/typechain-types/factories/IBotDecisionHelper__factory.ts +0 -667
  543. package/typechain-types/factories/ICamelotSY__factory.ts +0 -49
  544. package/typechain-types/factories/IExecutorHelper1__factory.ts +0 -403
  545. package/typechain-types/factories/IExecutorHelper2__factory.ts +0 -55
  546. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -407
  547. package/typechain-types/factories/IHashflow__factory.ts +0 -113
  548. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +0 -690
  549. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +0 -996
  550. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +0 -671
  551. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +0 -977
  552. package/typechain-types/factories/ITradingBotBase__factory.ts +0 -530
  553. package/typechain-types/factories/LongYieldActionHelper__factory.ts +0 -834
  554. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +0 -1272
  555. package/typechain-types/factories/LongYieldTradingBot__factory.ts +0 -1637
  556. package/typechain-types/factories/MarketExtLib__factory.ts +0 -74
  557. package/typechain-types/factories/PendleBinanceEth__factory.ts +0 -1052
  558. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +0 -1595
  559. package/typechain-types/factories/PendleSwETH__factory.ts +0 -1022
  560. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +0 -129
  561. package/typechain-types/factories/PendleSwapEthereum__factory.ts +0 -129
  562. package/typechain-types/factories/ShortYieldActionHelper__factory.ts +0 -784
  563. package/typechain-types/factories/ShortYieldDecisionHelper__factory.ts +0 -1272
  564. package/typechain-types/factories/ShortYieldTradingBot__factory.ts +0 -1445
  565. package/typechain-types/factories/TradingBotBase__factory.ts +0 -780
  566. package/typechain-types/factories/TradingBotOffchain__factory.ts +0 -1133
  567. /package/contracts/router/swap-aggregator/{1inch → oneinch}/I1inchAggregationRouterV5.sol +0 -0
  568. /package/contracts/router/swap-aggregator/{1inch → oneinch}/OneInchAggregationRouterHelper.sol +0 -0
@@ -0,0 +1,600 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
5
+ import "../../../../../../interfaces/Balancer/IComposableStable.sol";
6
+
7
+ import "../FixedPoint.sol";
8
+ import "../StablePoolUserData.sol";
9
+
10
+ import "./ComposableStableMath.sol";
11
+ import "./ComposableStablePreview.sol";
12
+
13
+ contract ComposableStablePreviewV4 is ComposableStablePreview {
14
+ using ComposableStableMath for uint256;
15
+ using StablePoolUserData for bytes;
16
+ using FixedPoint for uint256;
17
+
18
+ function onJoinPool(
19
+ bytes32 poolId,
20
+ address sender,
21
+ address recipient,
22
+ uint256[] memory balances,
23
+ uint256 lastChangeBlock,
24
+ uint256 protocolSwapFeePercentage,
25
+ bytes memory userData,
26
+ bytes memory poolImmutableData
27
+ ) internal view override returns (uint256 bptAmountOut) {
28
+ ImmutableData memory imd = abi.decode(poolImmutableData, (ImmutableData));
29
+
30
+ TokenRateCache[] memory caches = _beforeSwapJoinExit(imd);
31
+
32
+ uint256[] memory scalingFactors = _scalingFactors(imd, caches);
33
+
34
+ // skip totalSupply == 0 case
35
+
36
+ _upscaleArray(balances, scalingFactors);
37
+ (bptAmountOut, ) = _onJoinPool(
38
+ poolId,
39
+ sender,
40
+ recipient,
41
+ balances,
42
+ lastChangeBlock,
43
+ protocolSwapFeePercentage,
44
+ scalingFactors,
45
+ userData,
46
+ imd,
47
+ caches
48
+ );
49
+
50
+ // skip _mintPoolTokens, _downscaleUpArray
51
+
52
+ // we return bptAmountOut instead of minting
53
+ }
54
+
55
+ function onExitPool(
56
+ bytes32 poolId,
57
+ address sender,
58
+ address recipient,
59
+ uint256[] memory balances,
60
+ uint256 lastChangeBlock,
61
+ uint256 protocolSwapFeePercentage,
62
+ bytes memory userData,
63
+ bytes memory poolImmutableData
64
+ ) internal view override returns (uint256 amountTokenOut) {
65
+ ImmutableData memory imd = abi.decode(poolImmutableData, (ImmutableData));
66
+
67
+ uint256 bptAmountIn;
68
+ uint256[] memory amountsOut;
69
+
70
+ // skip recovery mode
71
+
72
+ TokenRateCache[] memory caches = _beforeSwapJoinExit(imd);
73
+
74
+ uint256[] memory scalingFactors = _scalingFactors(imd, caches);
75
+ _upscaleArray(balances, scalingFactors);
76
+
77
+ (bptAmountIn, amountsOut) = _onExitPool(
78
+ poolId,
79
+ sender,
80
+ recipient,
81
+ balances,
82
+ lastChangeBlock,
83
+ protocolSwapFeePercentage, // assume no recovery mode
84
+ scalingFactors,
85
+ userData,
86
+ imd,
87
+ caches
88
+ );
89
+
90
+ _downscaleDownArray(amountsOut, scalingFactors);
91
+
92
+ // skip burnPoolTokens
93
+
94
+ for (uint256 i = 0; i < amountsOut.length; i++) {
95
+ if (amountsOut[i] > 0) return amountsOut[i];
96
+ }
97
+ }
98
+
99
+ function _onJoinPool(
100
+ bytes32,
101
+ address,
102
+ address,
103
+ uint256[] memory registeredBalances,
104
+ uint256,
105
+ uint256,
106
+ uint256[] memory scalingFactors,
107
+ bytes memory userData,
108
+ ImmutableData memory imd,
109
+ TokenRateCache[] memory caches
110
+ ) internal view returns (uint256, uint256[] memory) {
111
+ return _onJoinExitPool(true, registeredBalances, scalingFactors, userData, imd, caches);
112
+ }
113
+
114
+ function _onExitPool(
115
+ bytes32,
116
+ address,
117
+ address,
118
+ uint256[] memory registeredBalances,
119
+ uint256,
120
+ uint256,
121
+ uint256[] memory scalingFactors,
122
+ bytes memory userData,
123
+ ImmutableData memory imd,
124
+ TokenRateCache[] memory caches
125
+ ) internal view returns (uint256, uint256[] memory) {
126
+ return _onJoinExitPool(false, registeredBalances, scalingFactors, userData, imd, caches);
127
+ }
128
+
129
+ /**
130
+ * @return bptAmount
131
+ * @return amountsDelta this will not contain bpt item since it will be discarded on the upper level
132
+ */
133
+ function _onJoinExitPool(
134
+ bool isJoin,
135
+ uint256[] memory registeredBalances,
136
+ uint256[] memory scalingFactors,
137
+ bytes memory userData,
138
+ ImmutableData memory imd,
139
+ TokenRateCache[] memory caches
140
+ ) internal view returns (uint256 bptAmount, uint256[] memory amountsDelta) {
141
+ (
142
+ uint256 preJoinExitSupply,
143
+ uint256[] memory balances,
144
+ uint256 currentAmp,
145
+ uint256 preJoinExitInvariant
146
+ ) = _beforeJoinExit(registeredBalances, imd, caches);
147
+
148
+ function(
149
+ uint256[] memory,
150
+ uint256,
151
+ uint256,
152
+ uint256,
153
+ uint256[] memory,
154
+ bytes memory,
155
+ ImmutableData memory
156
+ ) internal view returns (uint256, uint256[] memory) _doJoinOrExit = (
157
+ isJoin ? _doJoin : _doExit
158
+ );
159
+
160
+ (bptAmount, amountsDelta) = _doJoinOrExit(
161
+ balances,
162
+ currentAmp,
163
+ preJoinExitSupply,
164
+ preJoinExitInvariant,
165
+ scalingFactors,
166
+ userData,
167
+ imd
168
+ );
169
+ amountsDelta = _addBptItem(amountsDelta, 0, imd);
170
+
171
+ // _mutateAmounts
172
+
173
+ // skip _updateInvariantAfterJoinExit here
174
+ }
175
+
176
+ function _addBptItem(
177
+ uint256[] memory amounts,
178
+ uint256 bptAmount,
179
+ ImmutableData memory imd
180
+ ) internal pure returns (uint256[] memory registeredTokenAmounts) {
181
+ registeredTokenAmounts = new uint256[](amounts.length + 1);
182
+ for (uint256 i = 0; i < registeredTokenAmounts.length; i++) {
183
+ registeredTokenAmounts[i] = i == imd.bptIndex
184
+ ? bptAmount
185
+ : amounts[i < imd.bptIndex ? i : i - 1];
186
+ }
187
+ }
188
+
189
+ function _doJoin(
190
+ uint256[] memory balances,
191
+ uint256 currentAmp,
192
+ uint256 preJoinExitSupply,
193
+ uint256 preJoinExitInvariant,
194
+ uint256[] memory scalingFactors,
195
+ bytes memory userData,
196
+ ImmutableData memory imd
197
+ ) internal view returns (uint256, uint256[] memory) {
198
+ // this is always true given Pendle SY context
199
+ return
200
+ _joinExactTokensInForBPTOut(
201
+ preJoinExitSupply,
202
+ preJoinExitInvariant,
203
+ currentAmp,
204
+ balances,
205
+ scalingFactors,
206
+ userData,
207
+ imd
208
+ );
209
+ }
210
+
211
+ function _joinExactTokensInForBPTOut(
212
+ uint256 actualSupply,
213
+ uint256 preJoinExitInvariant,
214
+ uint256 currentAmp,
215
+ uint256[] memory balances,
216
+ uint256[] memory scalingFactors,
217
+ bytes memory userData,
218
+ ImmutableData memory imd
219
+ ) private view returns (uint256, uint256[] memory) {
220
+ (uint256[] memory amountsIn, ) = userData.exactTokensInForBptOut();
221
+
222
+ // The user-provided amountsIn is unscaled, so we address that.
223
+ _upscaleArray(amountsIn, _dropBptItem(imd, scalingFactors));
224
+
225
+ uint256 bptAmountOut = currentAmp._calcBptOutGivenExactTokensIn(
226
+ balances,
227
+ amountsIn,
228
+ actualSupply,
229
+ preJoinExitInvariant,
230
+ IBasePool(imd.LP).getSwapFeePercentage()
231
+ );
232
+ return (bptAmountOut, amountsIn);
233
+ }
234
+
235
+ function _doExit(
236
+ uint256[] memory balances,
237
+ uint256 currentAmp,
238
+ uint256 preJoinExitSupply,
239
+ uint256 preJoinExitInvariant,
240
+ uint256[] memory, /*scalingFactors*/
241
+ bytes memory userData,
242
+ ImmutableData memory imd
243
+ ) internal view returns (uint256, uint256[] memory) {
244
+ // this is always true given Pendle SY context
245
+ return
246
+ _exitExactBPTInForTokenOut(
247
+ preJoinExitSupply,
248
+ preJoinExitInvariant,
249
+ currentAmp,
250
+ balances,
251
+ userData,
252
+ imd
253
+ );
254
+ }
255
+
256
+ function _exitExactBPTInForTokenOut(
257
+ uint256 actualSupply,
258
+ uint256 preJoinExitInvariant,
259
+ uint256 currentAmp,
260
+ uint256[] memory balances,
261
+ bytes memory userData,
262
+ ImmutableData memory imd
263
+ ) private view returns (uint256, uint256[] memory) {
264
+ (uint256 bptAmountIn, uint256 tokenIndex) = userData.exactBptInForTokenOut();
265
+
266
+ uint256[] memory amountsOut = new uint256[](balances.length);
267
+
268
+ amountsOut[tokenIndex] = currentAmp._calcTokenOutGivenExactBptIn(
269
+ balances,
270
+ tokenIndex,
271
+ bptAmountIn,
272
+ actualSupply,
273
+ preJoinExitInvariant,
274
+ IBasePool(imd.LP).getSwapFeePercentage()
275
+ );
276
+
277
+ return (bptAmountIn, amountsOut);
278
+ }
279
+
280
+ function _beforeJoinExit(
281
+ uint256[] memory registeredBalances,
282
+ ImmutableData memory imd,
283
+ TokenRateCache[] memory caches
284
+ )
285
+ internal
286
+ view
287
+ returns (
288
+ uint256,
289
+ uint256[] memory,
290
+ uint256,
291
+ uint256
292
+ )
293
+ {
294
+ (uint256 lastJoinExitAmp, uint256 lastPostJoinExitInvariant) = IComposableStable(imd.LP)
295
+ .getLastJoinExitData();
296
+
297
+ (
298
+ uint256 preJoinExitSupply,
299
+ uint256[] memory balances,
300
+ uint256 oldAmpPreJoinExitInvariant
301
+ ) = _payProtocolFeesBeforeJoinExit(
302
+ registeredBalances,
303
+ lastJoinExitAmp,
304
+ lastPostJoinExitInvariant,
305
+ imd,
306
+ caches
307
+ );
308
+
309
+ (uint256 currentAmp, , ) = IComposableStable(imd.LP).getAmplificationParameter();
310
+ uint256 preJoinExitInvariant = currentAmp == lastJoinExitAmp
311
+ ? oldAmpPreJoinExitInvariant
312
+ : currentAmp._calculateInvariant(balances);
313
+
314
+ return (preJoinExitSupply, balances, currentAmp, preJoinExitInvariant);
315
+ }
316
+
317
+ function _payProtocolFeesBeforeJoinExit(
318
+ uint256[] memory registeredBalances,
319
+ uint256 lastJoinExitAmp,
320
+ uint256 lastPostJoinExitInvariant,
321
+ ImmutableData memory imd,
322
+ TokenRateCache[] memory caches
323
+ )
324
+ internal
325
+ view
326
+ returns (
327
+ uint256,
328
+ uint256[] memory,
329
+ uint256
330
+ )
331
+ {
332
+ (uint256 virtualSupply, uint256[] memory balances) = _dropBptItemFromBalances(
333
+ imd,
334
+ registeredBalances
335
+ );
336
+
337
+ (
338
+ uint256 expectedProtocolOwnershipPercentage,
339
+ uint256 currentInvariantWithLastJoinExitAmp
340
+ ) = _getProtocolPoolOwnershipPercentage(
341
+ balances,
342
+ lastJoinExitAmp,
343
+ lastPostJoinExitInvariant,
344
+ imd,
345
+ caches
346
+ );
347
+
348
+ uint256 protocolFeeAmount = _calculateAdjustedProtocolFeeAmount(
349
+ virtualSupply,
350
+ expectedProtocolOwnershipPercentage
351
+ );
352
+
353
+ // skip _payProtocolFee, which will make the LP balance from this point onwards to be off
354
+
355
+ return (virtualSupply + protocolFeeAmount, balances, currentInvariantWithLastJoinExitAmp);
356
+ }
357
+
358
+ function _getProtocolPoolOwnershipPercentage(
359
+ uint256[] memory balances,
360
+ uint256 lastJoinExitAmp,
361
+ uint256 lastPostJoinExitInvariant,
362
+ ImmutableData memory imd,
363
+ TokenRateCache[] memory caches
364
+ ) internal view returns (uint256, uint256) {
365
+ (
366
+ uint256 swapFeeGrowthInvariant,
367
+ uint256 totalNonExemptGrowthInvariant,
368
+ uint256 totalGrowthInvariant
369
+ ) = _getGrowthInvariants(balances, lastJoinExitAmp, imd, caches);
370
+
371
+ uint256 swapFeeGrowthInvariantDelta = (swapFeeGrowthInvariant > lastPostJoinExitInvariant)
372
+ ? swapFeeGrowthInvariant - lastPostJoinExitInvariant
373
+ : 0;
374
+ uint256 nonExemptYieldGrowthInvariantDelta = (totalNonExemptGrowthInvariant >
375
+ swapFeeGrowthInvariant)
376
+ ? totalNonExemptGrowthInvariant - swapFeeGrowthInvariant
377
+ : 0;
378
+
379
+ uint256 protocolSwapFeePercentage = swapFeeGrowthInvariantDelta
380
+ .divDown(totalGrowthInvariant)
381
+ .mulDown(
382
+ IComposableStable(imd.LP).getProtocolFeePercentageCache(0) // ProtocolFeeType.SWAP // can't get better
383
+ );
384
+
385
+ uint256 protocolYieldPercentage = nonExemptYieldGrowthInvariantDelta
386
+ .divDown(totalGrowthInvariant)
387
+ .mulDown(
388
+ IComposableStable(imd.LP).getProtocolFeePercentageCache(2) // ProtocolFeeType.YIELD // can't get better
389
+ );
390
+
391
+ // These percentages can then be simply added to compute the total protocol Pool ownership percentage.
392
+ // This is naturally bounded above by FixedPoint.ONE so this addition cannot overflow.
393
+ return (protocolSwapFeePercentage + protocolYieldPercentage, totalGrowthInvariant);
394
+ }
395
+
396
+ function _getGrowthInvariants(
397
+ uint256[] memory balances,
398
+ uint256 lastJoinExitAmp,
399
+ ImmutableData memory imd,
400
+ TokenRateCache[] memory caches
401
+ )
402
+ internal
403
+ pure
404
+ returns (
405
+ uint256 swapFeeGrowthInvariant,
406
+ uint256 totalNonExemptGrowthInvariant,
407
+ uint256 totalGrowthInvariant
408
+ )
409
+ {
410
+ swapFeeGrowthInvariant = lastJoinExitAmp._calculateInvariant(
411
+ _getAdjustedBalances(balances, true, imd, caches)
412
+ );
413
+
414
+ if (imd.noTokensExempt) {
415
+ totalNonExemptGrowthInvariant = lastJoinExitAmp._calculateInvariant(balances);
416
+ totalGrowthInvariant = totalNonExemptGrowthInvariant;
417
+ } else if (imd.allTokensExempt) {
418
+ totalNonExemptGrowthInvariant = swapFeeGrowthInvariant;
419
+ totalGrowthInvariant = lastJoinExitAmp._calculateInvariant(balances);
420
+ } else {
421
+ totalNonExemptGrowthInvariant = lastJoinExitAmp._calculateInvariant(
422
+ _getAdjustedBalances(balances, false, imd, caches)
423
+ );
424
+
425
+ totalGrowthInvariant = lastJoinExitAmp._calculateInvariant(balances);
426
+ }
427
+ }
428
+
429
+ function _getAdjustedBalances(
430
+ uint256[] memory balances,
431
+ bool ignoreExemptFlags,
432
+ ImmutableData memory imd,
433
+ TokenRateCache[] memory tokenRateCaches
434
+ ) internal pure returns (uint256[] memory) {
435
+ uint256 totalTokensWithoutBpt = balances.length;
436
+ uint256[] memory adjustedBalances = new uint256[](totalTokensWithoutBpt);
437
+
438
+ for (uint256 i = 0; i < totalTokensWithoutBpt; ++i) {
439
+ uint256 skipBptIndex = i >= imd.bptIndex ? i + 1 : i;
440
+ adjustedBalances[i] = _isTokenExemptFromYieldProtocolFee(imd, skipBptIndex) ||
441
+ (ignoreExemptFlags && _hasRateProvider(imd, skipBptIndex))
442
+ ? _adjustedBalance(balances[i], tokenRateCaches[skipBptIndex])
443
+ : balances[i];
444
+ }
445
+
446
+ return adjustedBalances;
447
+ }
448
+
449
+ function _adjustedBalance(uint256 balance, TokenRateCache memory cache)
450
+ private
451
+ pure
452
+ returns (uint256)
453
+ {
454
+ return (balance * cache.oldRate) / cache.currentRate;
455
+ }
456
+
457
+ function _calculateAdjustedProtocolFeeAmount(uint256 supply, uint256 basePercentage)
458
+ internal
459
+ pure
460
+ returns (uint256)
461
+ {
462
+ return supply.mulDown(basePercentage).divDown(basePercentage.complement());
463
+ }
464
+
465
+ function _dropBptItemFromBalances(
466
+ ImmutableData memory imd,
467
+ uint256[] memory registeredBalances
468
+ ) internal view returns (uint256, uint256[] memory) {
469
+ return (
470
+ _getVirtualSupply(imd, registeredBalances[imd.bptIndex]),
471
+ _dropBptItem(imd, registeredBalances)
472
+ );
473
+ }
474
+
475
+ function _dropBptItem(ImmutableData memory imd, uint256[] memory amounts)
476
+ internal
477
+ pure
478
+ returns (uint256[] memory)
479
+ {
480
+ uint256[] memory amountsWithoutBpt = new uint256[](amounts.length - 1);
481
+ for (uint256 i = 0; i < amountsWithoutBpt.length; i++) {
482
+ amountsWithoutBpt[i] = amounts[i < imd.bptIndex ? i : i + 1];
483
+ }
484
+
485
+ return amountsWithoutBpt;
486
+ }
487
+
488
+ function _getVirtualSupply(ImmutableData memory imd, uint256 bptBalance)
489
+ internal
490
+ view
491
+ returns (uint256)
492
+ {
493
+ return (IERC20(imd.LP).totalSupply()).sub(bptBalance); // can't get better
494
+ }
495
+
496
+ function _beforeSwapJoinExit(ImmutableData memory imd)
497
+ internal
498
+ view
499
+ returns (TokenRateCache[] memory tokenRateCaches)
500
+ {
501
+ return _cacheTokenRatesIfNecessary(imd);
502
+ }
503
+
504
+ function _cacheTokenRatesIfNecessary(ImmutableData memory imd)
505
+ internal
506
+ view
507
+ returns (TokenRateCache[] memory tokenRateCaches)
508
+ {
509
+ tokenRateCaches = new TokenRateCache[](imd.totalTokens);
510
+
511
+ for (uint256 i = 0; i < imd.totalTokens; ++i) {
512
+ tokenRateCaches[i] = _cacheTokenRateIfNecessary(i, imd);
513
+ }
514
+ }
515
+
516
+ /**
517
+ * @dev Caches the rate for a token if necessary. It ignores the call if there is no provider set.
518
+ */
519
+ function _cacheTokenRateIfNecessary(uint256 index, ImmutableData memory imd)
520
+ internal
521
+ view
522
+ returns (TokenRateCache memory res)
523
+ {
524
+ if (index == imd.bptIndex || !_hasRateProvider(imd, index)) return res;
525
+
526
+ uint256 expires;
527
+ (res.currentRate, res.oldRate, , expires) = IComposableStable(imd.LP).getTokenRateCache(
528
+ IERC20(imd.poolTokens[index])
529
+ );
530
+
531
+ if (block.timestamp > expires) {
532
+ res.currentRate = IRateProvider(imd.rateProviders[index]).getRate();
533
+ }
534
+ }
535
+
536
+ function _scalingFactors(ImmutableData memory imd, TokenRateCache[] memory caches)
537
+ internal
538
+ view
539
+ virtual
540
+ returns (uint256[] memory)
541
+ {
542
+ // There is no need to check the arrays length since both are based on `_getTotalTokens`
543
+ uint256[] memory scalingFactors = new uint256[](imd.totalTokens);
544
+
545
+ for (uint256 i = 0; i < imd.totalTokens; ++i) {
546
+ scalingFactors[i] = imd.rawScalingFactors[i].mulDown(_getTokenRate(caches, i));
547
+ }
548
+
549
+ return scalingFactors;
550
+ }
551
+
552
+ function _getTokenRate(TokenRateCache[] memory caches, uint256 index)
553
+ internal
554
+ view
555
+ virtual
556
+ returns (uint256)
557
+ {
558
+ return caches[index].currentRate == 0 ? FixedPoint.ONE : caches[index].currentRate;
559
+ }
560
+
561
+ /*///////////////////////////////////////////////////////////////
562
+ Helpers functions
563
+ //////////////////////////////////////////////////////////////*/
564
+
565
+ function _upscaleArray(uint256[] memory amounts, uint256[] memory scalingFactors)
566
+ internal
567
+ pure
568
+ {
569
+ uint256 length = amounts.length;
570
+ for (uint256 i = 0; i < length; ++i) {
571
+ amounts[i] = FixedPoint.mulDown(amounts[i], scalingFactors[i]);
572
+ }
573
+ }
574
+
575
+ function _downscaleDownArray(uint256[] memory amounts, uint256[] memory scalingFactors)
576
+ internal
577
+ pure
578
+ {
579
+ uint256 length = amounts.length;
580
+ for (uint256 i = 0; i < length; ++i) {
581
+ amounts[i] = FixedPoint.divDown(amounts[i], scalingFactors[i]);
582
+ }
583
+ }
584
+
585
+ function _hasRateProvider(ImmutableData memory imd, uint256 index)
586
+ internal
587
+ pure
588
+ returns (bool)
589
+ {
590
+ return address(imd.rateProviders[index]) != address(0);
591
+ }
592
+
593
+ function _isTokenExemptFromYieldProtocolFee(ImmutableData memory imd, uint256 index)
594
+ internal
595
+ pure
596
+ returns (bool)
597
+ {
598
+ return imd.isExemptFromYieldProtocolFee[index];
599
+ }
600
+ }