@pendle/core-v2 3.0.0-beta-9 → 3.0.0

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 (1164) 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/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +20 -2
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +20 -2
  17. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +4 -0
  18. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +426 -0
  19. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  34. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  35. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  36. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  37. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +4 -0
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +642 -0
  40. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +4 -0
  41. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +521 -0
  42. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +4 -0
  43. package/build/artifacts/contracts/{limit/LimitMathCore.sol/LimitMathCore.json → core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json} +4 -4
  44. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  46. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  48. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +2 -2
  50. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +74 -9
  53. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  55. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +2 -2
  58. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +74 -9
  60. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +4 -0
  61. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +610 -0
  62. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +4 -0
  63. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +1271 -0
  64. package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.dbg.json +4 -0
  65. package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.json +570 -0
  66. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.json +65 -0
  72. package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +4 -0
  73. package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.json +976 -0
  74. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.json +65 -0
  76. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +4 -0
  77. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.json +1042 -0
  78. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  80. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +67 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +67 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +67 -2
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +67 -2
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +4 -0
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +1211 -0
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +67 -2
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +67 -2
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +67 -2
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +67 -2
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +67 -2
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +67 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +2 -2
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.json +2 -2
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.json +2 -2
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.json +2 -2
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.json +2 -2
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.json +2 -2
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.json +65 -0
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +4 -0
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.json +1188 -0
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +67 -2
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.json +2 -2
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +67 -2
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.json +2 -2
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +67 -2
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +67 -2
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.json +65 -0
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.dbg.json +1 -1
  160. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.json +2 -2
  161. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  162. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +67 -2
  163. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  164. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/GMTokenPricingHelper.dbg.json +4 -0
  165. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/GMTokenPricingHelper.json +297 -0
  166. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2DataStore.dbg.json +4 -0
  167. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2DataStore.json +30 -0
  168. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2Oracle.dbg.json +4 -0
  169. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2Oracle.json +35 -0
  170. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2Reader.dbg.json +4 -0
  171. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2Reader.json +180 -0
  172. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.dbg.json +4 -0
  173. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.json +1159 -0
  174. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  175. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +67 -2
  176. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/HLPPricingHelper.sol/HLPPricingHelper.dbg.json +1 -1
  177. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/HLPPricingHelper.sol/HLPPricingHelper.json +2 -2
  178. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  179. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +67 -2
  180. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.dbg.json +4 -0
  181. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.json +375 -0
  182. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +4 -0
  183. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.json +82 -0
  184. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +4 -0
  185. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +1287 -0
  186. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol/FullMath.dbg.json +4 -0
  187. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol/FullMath.json +10 -0
  188. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol/LiqDeltaMath.dbg.json +4 -0
  189. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol/LiqDeltaMath.json +10 -0
  190. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol/LiquidityMath.dbg.json +4 -0
  191. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol/LiquidityMath.json +10 -0
  192. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol/MathConstants.dbg.json +4 -0
  193. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol/MathConstants.json +10 -0
  194. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol/QtyDeltaMath.dbg.json +4 -0
  195. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol/QtyDeltaMath.json +10 -0
  196. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol/QuadMath.dbg.json +4 -0
  197. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol/QuadMath.json +10 -0
  198. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol/ReinvestmentMath.dbg.json +4 -0
  199. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol/ReinvestmentMath.json +10 -0
  200. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol/SafeCast.dbg.json +4 -0
  201. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol/SafeCast.json +10 -0
  202. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol/SwapMath.dbg.json +4 -0
  203. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol/SwapMath.json +10 -0
  204. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol/TickMath.dbg.json +4 -0
  205. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol/TickMath.json +10 -0
  206. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/MlpPricingHelper.sol/MlpPricingHelper.dbg.json +4 -0
  207. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/MlpPricingHelper.sol/MlpPricingHelper.json +245 -0
  208. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.dbg.json +4 -0
  209. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.json +1248 -0
  210. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  211. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +67 -2
  212. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  213. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  214. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  215. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +67 -2
  216. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  217. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +67 -2
  218. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  219. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +67 -2
  220. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  221. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +67 -2
  222. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  223. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +67 -2
  224. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  225. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +67 -2
  226. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  227. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +67 -2
  228. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  229. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +67 -2
  230. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  231. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +67 -2
  232. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  233. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +67 -2
  234. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +4 -0
  235. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +1177 -0
  236. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  237. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +67 -2
  238. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  239. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +67 -2
  240. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  241. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +67 -2
  242. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  243. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  244. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  245. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  246. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.json +2 -2
  247. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  248. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.json +13 -0
  249. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  250. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +67 -2
  251. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  252. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  253. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  254. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +99 -21
  255. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  256. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  257. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +67 -2
  258. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  259. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  260. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  261. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +67 -2
  262. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  263. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  264. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  265. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +67 -2
  266. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +4 -0
  267. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.json +370 -0
  268. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.dbg.json +4 -0
  269. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.json +246 -0
  270. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  271. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  272. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  273. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  274. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  275. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  276. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  277. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  278. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  279. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  280. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +237 -9
  281. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  282. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  283. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  284. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  285. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  286. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  287. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  288. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  289. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  290. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  291. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
  292. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +1 -1
  293. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  294. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  295. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  296. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  297. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  298. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  299. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  300. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  301. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  302. package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.dbg.json +1 -1
  303. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  304. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  305. package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.dbg.json +1 -1
  306. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
  307. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  308. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  309. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  310. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  311. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.json +1 -1
  312. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  313. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.json +1 -1
  314. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  315. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  316. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  317. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  318. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  319. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  320. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  321. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  322. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  323. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  324. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  325. package/build/artifacts/contracts/interfaces/Flux/IFluxErc20.sol/IFluxErc20.dbg.json +1 -1
  326. package/build/artifacts/contracts/interfaces/Flux/IFluxInterestRateModel.sol/IFluxInterestRateModel.dbg.json +1 -1
  327. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  328. package/build/artifacts/contracts/interfaces/GMX/IGMXPriceHelper.sol/IGMXPriceHelper.dbg.json +4 -0
  329. package/build/artifacts/contracts/interfaces/GMX/IGMXPriceHelper.sol/IGMXPriceHelper.json +30 -0
  330. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  331. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  332. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  333. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  334. package/build/artifacts/contracts/interfaces/HMX/IHLPStaking.sol/IHLPStaking.dbg.json +1 -1
  335. package/build/artifacts/contracts/interfaces/HMX/IHMXCalculator.sol/IHMXCalculator.dbg.json +1 -1
  336. package/build/artifacts/contracts/interfaces/HMX/IHMXCompounder.sol/IHMXCompounder.dbg.json +1 -1
  337. package/build/artifacts/contracts/interfaces/HMX/IHMXStaking.sol/IHMXStaking.dbg.json +1 -1
  338. package/build/artifacts/contracts/interfaces/HMX/IHMXVester.sol/IHMXVester.dbg.json +1 -1
  339. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  340. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  341. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  342. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  343. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  344. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  345. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  346. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  347. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  348. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  349. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  350. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +4 -0
  351. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +1427 -0
  352. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  353. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  354. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  355. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +45 -0
  356. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +4 -0
  357. package/build/artifacts/contracts/interfaces/{IPActionMiscV3.sol/IPActionMiscV3.json → IPActionMintRedeem.sol/IPActionMintRedeem.json} +22 -293
  358. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  359. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +69 -0
  360. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +4 -0
  361. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +79 -0
  362. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  363. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +26 -0
  364. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +4 -0
  365. package/build/artifacts/contracts/{router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.json → interfaces/IPActionSwapPT.sol/IPActionSwapPT.json} +226 -163
  366. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +4 -0
  367. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +708 -0
  368. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  369. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +4 -0
  370. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +3503 -0
  371. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +4 -0
  372. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +321 -0
  373. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +4 -0
  374. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +92 -0
  375. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +4 -0
  376. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +34 -0
  377. package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.dbg.json +1 -1
  378. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  379. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  380. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  381. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  382. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  383. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  384. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.json +13 -0
  385. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  386. package/build/artifacts/contracts/interfaces/IPLinearDistributor.sol/IPLinearDistributor.dbg.json +4 -0
  387. package/build/artifacts/contracts/interfaces/IPLinearDistributor.sol/IPLinearDistributor.json +135 -0
  388. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  389. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  390. package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
  391. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.dbg.json +4 -0
  392. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.json +145 -0
  393. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  394. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +4 -0
  395. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.json +833 -0
  396. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +4 -0
  397. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.json +150 -0
  398. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  399. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  400. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  401. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +4 -0
  402. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.json +67 -0
  403. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  404. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +4 -0
  405. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.json +24 -0
  406. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  407. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  408. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  409. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.json +25 -0
  410. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  411. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +140 -0
  412. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  413. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  414. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  415. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  416. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  417. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +32 -19
  418. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  419. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
  420. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  421. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  422. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  423. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  424. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  425. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  426. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  427. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  428. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  429. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
  430. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  431. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  432. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticFactory.sol/IKyberElasticFactory.dbg.json +4 -0
  433. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticFactory.sol/IKyberElasticFactory.json +436 -0
  434. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticPool.sol/IKyberElasticPool.dbg.json +4 -0
  435. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticPool.sol/IKyberElasticPool.json +300 -0
  436. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticRouter.sol/IKyberElasticRouter.dbg.json +4 -0
  437. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticRouter.sol/IKyberElasticRouter.json +225 -0
  438. package/build/artifacts/contracts/interfaces/Kyber/IKyberLiquidityMining.sol/IKyberLiquidityMining.dbg.json +4 -0
  439. package/build/artifacts/contracts/interfaces/Kyber/IKyberLiquidityMining.sol/IKyberLiquidityMining.json +894 -0
  440. package/build/artifacts/contracts/interfaces/Kyber/IKyberMathHelper.sol/IKyberMathHelper.dbg.json +4 -0
  441. package/build/artifacts/contracts/interfaces/Kyber/IKyberMathHelper.sol/IKyberMathHelper.json +128 -0
  442. package/build/artifacts/contracts/interfaces/Kyber/IKyberPositionManager.sol/IKyberPositionManager.dbg.json +4 -0
  443. package/build/artifacts/contracts/interfaces/Kyber/IKyberPositionManager.sol/IKyberPositionManager.json +614 -0
  444. package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.dbg.json +1 -1
  445. package/build/artifacts/contracts/interfaces/MUX/IMUXRewardRouter.sol/IMUXRewardRouter.dbg.json +4 -0
  446. package/build/artifacts/contracts/interfaces/MUX/IMUXRewardRouter.sol/IMUXRewardRouter.json +870 -0
  447. package/build/artifacts/contracts/interfaces/Silo/ISilo.sol/ISilo.dbg.json +4 -0
  448. package/build/artifacts/contracts/interfaces/Silo/ISilo.sol/ISilo.json +837 -0
  449. package/build/artifacts/contracts/interfaces/Silo/ISiloIncentiveController.sol/ISiloIncentiveController.dbg.json +4 -0
  450. package/build/artifacts/contracts/interfaces/Silo/ISiloIncentiveController.sol/ISiloIncentiveController.json +48 -0
  451. package/build/artifacts/contracts/interfaces/Silo/ISiloLens.sol/ISiloLens.dbg.json +4 -0
  452. package/build/artifacts/contracts/interfaces/Silo/ISiloLens.sol/ISiloLens.json +35 -0
  453. package/build/artifacts/contracts/interfaces/Stader/IStaderStakeManager.sol/IStaderStakeManager.dbg.json +1 -1
  454. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +1 -1
  455. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +1 -1
  456. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +1 -1
  457. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +1 -1
  458. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  459. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  460. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  461. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  462. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  463. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  464. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  465. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  466. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  467. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  468. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  469. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  470. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +4 -0
  471. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +125 -0
  472. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  473. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  474. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  475. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  476. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  477. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  478. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  479. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  480. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  481. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  482. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  483. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  484. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  485. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +4 -0
  486. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +435 -0
  487. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  488. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +171 -2
  489. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  490. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  491. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  492. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  493. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  494. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  495. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  496. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +47 -2
  497. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  498. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +103 -2
  499. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  500. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +28 -2
  501. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  502. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  503. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  504. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  505. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  506. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  507. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  508. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  509. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  510. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  511. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  512. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  513. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  514. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  515. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +2 -2
  516. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +4 -0
  517. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1623 -0
  518. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +4 -0
  519. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +753 -0
  520. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +4 -0
  521. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +79 -0
  522. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +4 -0
  523. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +720 -0
  524. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +4 -0
  525. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +976 -0
  526. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +4 -0
  527. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +190 -0
  528. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  529. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +33 -3
  530. package/build/artifacts/contracts/router/PendleRouterHelper2.sol/PendleRouterHelper2.dbg.json +4 -0
  531. package/build/artifacts/contracts/router/PendleRouterHelper2.sol/PendleRouterHelper2.json +145 -0
  532. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  533. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +59 -0
  534. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +4 -0
  535. package/build/artifacts/contracts/{interfaces/IPLimitRouter.sol/IPOrderMixinType.json → router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json} +2 -2
  536. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  537. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  538. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  539. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  540. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  541. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  542. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapBase.dbg.json +4 -0
  543. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapBase.json +76 -0
  544. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL1.dbg.json +4 -0
  545. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL1.json +76 -0
  546. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL2.dbg.json +4 -0
  547. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL2.json +76 -0
  548. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  549. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{IAggregationExecutor.sol → interfaces/IAggregationExecutor.sol}/IAggregationExecutor.json +1 -1
  550. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.dbg.json +4 -0
  551. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.json +194 -0
  552. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.dbg.json +4 -0
  553. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{IExecutorHelper.sol → interfaces/IExecutorHelper.sol}/IExecutorHelper.json +409 -1
  554. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.dbg.json +4 -0
  555. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.json +1847 -0
  556. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  557. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{IMetaAggregationRouterV2.sol → interfaces/IMetaAggregationRouterV2.sol}/IMetaAggregationRouterV2.json +1 -1
  558. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.dbg.json +4 -0
  559. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.json +10 -0
  560. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.dbg.json +4 -0
  561. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{ScalingDataLib.sol → l1-contracts/ScalingDataLib.sol}/ScalingDataLib.json +3 -3
  562. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.dbg.json +4 -0
  563. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.json +10 -0
  564. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.dbg.json +4 -0
  565. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.json +10 -0
  566. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.dbg.json +4 -0
  567. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.json +10 -0
  568. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.dbg.json +4 -0
  569. package/build/artifacts/contracts/{limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.json → router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.json} +4 -4
  570. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.dbg.json +4 -0
  571. package/build/artifacts/contracts/{limit/helpers/RevertReasonParser.sol/RevertReasonParser.json → router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.json} +4 -4
  572. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.dbg.json +4 -0
  573. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.json +10 -0
  574. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.dbg.json +4 -0
  575. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.json +10 -0
  576. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.dbg.json +4 -0
  577. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.json +10 -0
  578. package/build/artifacts/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  579. package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  580. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +5 -23
  581. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +2 -5
  582. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +6 -20
  583. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +6 -27
  584. package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +1 -2
  585. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +1 -1
  586. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +16 -17
  587. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +10 -15
  588. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +7 -8
  589. package/contracts/LiquidityMining/PendleMerkleDistributor.sol +86 -0
  590. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +14 -37
  591. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol +19 -34
  592. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -14
  593. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +4 -16
  594. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +11 -39
  595. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -10
  596. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +1 -1
  597. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +5 -20
  598. package/contracts/LiquidityMining/libraries/VeHistoryLib.sol +1 -3
  599. package/contracts/core/BulkSeller/BulkSeller.sol +215 -0
  600. package/contracts/core/BulkSeller/BulkSellerFactory.sol +71 -0
  601. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +126 -0
  602. package/contracts/core/Market/MarketMathCore.sol +12 -37
  603. package/contracts/core/Market/OracleLib.sol +6 -24
  604. package/contracts/core/Market/PendleExternalRewardDistributor.sol +4 -10
  605. package/contracts/core/Market/PendleGauge.sol +3 -9
  606. package/contracts/core/Market/PendleMarket.sol +14 -39
  607. package/contracts/core/Market/PendleMarketFactory.sol +14 -21
  608. package/contracts/core/Market/v2/PendleGaugeV2.sol +8 -24
  609. package/contracts/core/Market/v2/PendleMarketFactoryV2.sol +7 -27
  610. package/contracts/core/Market/v2/PendleMarketV2.sol +13 -36
  611. package/contracts/core/Market/v3/PendleMarketFactoryV3.sol +137 -0
  612. package/contracts/core/Market/v3/PendleMarketV3.sol +360 -0
  613. package/contracts/core/RewardManager/PendleLinearDistributor.sol +143 -0
  614. package/contracts/core/RewardManager/RewardManager.sol +14 -7
  615. package/contracts/core/RewardManager/RewardManagerAbstract.sol +5 -17
  616. package/contracts/core/StandardizedYield/SYBase.sol +9 -40
  617. package/contracts/core/StandardizedYield/SYBaseUpg.sol +197 -0
  618. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +9 -41
  619. package/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol +88 -0
  620. package/contracts/core/StandardizedYield/SYUtils.sol +1 -4
  621. package/contracts/core/StandardizedYield/StEthHelper.sol +3 -9
  622. package/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol +4 -12
  623. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +5 -19
  624. package/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol +4 -14
  625. package/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol +4 -14
  626. package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethVethSY.sol → AuraWethVethSYUpg.sol} +13 -20
  627. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol +3 -7
  628. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol +12 -29
  629. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol +12 -29
  630. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol +12 -29
  631. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol +14 -39
  632. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol +7 -28
  633. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +13 -30
  634. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol +1 -1
  635. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol +50 -153
  636. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol +50 -157
  637. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol +4 -16
  638. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol +6 -25
  639. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol +36 -34
  640. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +4 -13
  641. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +20 -58
  642. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol +28 -79
  643. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol +310 -0
  644. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +1 -3
  645. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +2 -6
  646. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol +5 -13
  647. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +9 -29
  648. package/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol +2 -8
  649. package/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol +1 -5
  650. package/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol +8 -19
  651. package/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol +7 -25
  652. package/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol +8 -27
  653. package/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol +2 -2
  654. package/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol +4 -9
  655. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +3 -15
  656. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +5 -23
  657. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +10 -40
  658. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +2 -8
  659. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +2 -7
  660. package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +5 -20
  661. package/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol +6 -4
  662. package/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol +3 -11
  663. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +3 -9
  664. package/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol +115 -0
  665. package/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol +134 -0
  666. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +5 -19
  667. package/contracts/core/StandardizedYield/implementations/HMX/HLPPricingHelper.sol +3 -4
  668. package/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol +18 -25
  669. package/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol +425 -0
  670. package/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol +438 -0
  671. package/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol +155 -0
  672. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol +123 -0
  673. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol +17 -0
  674. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol +74 -0
  675. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol +19 -0
  676. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol +103 -0
  677. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol +31 -0
  678. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol +26 -0
  679. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol +73 -0
  680. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol +272 -0
  681. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol +223 -0
  682. package/contracts/core/StandardizedYield/implementations/MUX/MlpPricingHelper.sol +26 -0
  683. package/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol +195 -0
  684. package/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol +12 -41
  685. package/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol +1 -1
  686. package/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol +13 -42
  687. package/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol +4 -11
  688. package/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol +4 -16
  689. package/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol +3 -11
  690. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +3 -11
  691. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +5 -18
  692. package/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol +3 -7
  693. package/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol +5 -18
  694. package/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol +3 -10
  695. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +4 -12
  696. package/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol +157 -0
  697. package/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol +4 -12
  698. package/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol +4 -12
  699. package/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol +9 -29
  700. package/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol +3 -10
  701. package/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol +9 -30
  702. package/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol +10 -40
  703. package/contracts/core/YieldContracts/InterestManagerYT.sol +6 -8
  704. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +1 -1
  705. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +2 -3
  706. package/contracts/core/YieldContracts/PendleYieldToken.sol +17 -44
  707. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +5 -14
  708. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +1 -1
  709. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +2 -3
  710. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +13 -48
  711. package/contracts/core/erc20/PendleERC20.sol +2 -8
  712. package/contracts/core/erc20/PendleERC20Permit.sol +2 -6
  713. package/contracts/core/erc20/PendleERC20PermitUpg.sol +82 -0
  714. package/contracts/core/erc20/PendleERC20Upg.sol +334 -0
  715. package/contracts/core/libraries/ArrayLib.sol +7 -8
  716. package/contracts/core/libraries/BaseSplitCodeFactory.sol +1 -6
  717. package/contracts/core/libraries/Errors.sol +22 -3
  718. package/contracts/core/libraries/ExpiryUtilsLib.sol +3 -26
  719. package/contracts/core/libraries/StringLib.sol +5 -21
  720. package/contracts/core/libraries/TokenHelper.sol +3 -5
  721. package/contracts/core/libraries/math/LogExpMath.sol +1 -4
  722. package/contracts/core/libraries/math/PMath.sol +13 -15
  723. package/contracts/interfaces/Balancer/IComposableStable.sol +3 -4
  724. package/contracts/interfaces/Balancer/IERC4626LinearPool.sol +2 -10
  725. package/contracts/interfaces/Balancer/IMetaStablePool.sol +3 -11
  726. package/contracts/interfaces/Balancer/IVault.sol +3 -8
  727. package/contracts/interfaces/BinanceEth/IWBETH.sol +1 -1
  728. package/contracts/interfaces/Camelot/ICamelotNFTFactory.sol +1 -3
  729. package/contracts/interfaces/Camelot/ICamelotNFTHandler.sol +2 -10
  730. package/contracts/interfaces/Camelot/ICamelotNitroPool.sol +0 -1
  731. package/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol +3 -12
  732. package/contracts/interfaces/Camelot/ICamelotPair.sol +5 -25
  733. package/contracts/interfaces/Camelot/ICamelotRouter.sol +1 -5
  734. package/contracts/interfaces/Camelot/IXGrail.sol +3 -11
  735. package/contracts/interfaces/ConvexCurve/IBooster.sol +1 -3
  736. package/contracts/interfaces/Curve/ICrvPool.sol +3 -12
  737. package/contracts/interfaces/Curve/ITriCrvPool.sol +2 -9
  738. package/contracts/interfaces/Flux/IFluxErc20.sol +1 -1
  739. package/contracts/interfaces/Flux/IFluxInterestRateModel.sol +1 -5
  740. package/contracts/interfaces/GMX/IGMXPriceHelper.sol +6 -0
  741. package/contracts/interfaces/GMX/IGMXVault.sol +2 -9
  742. package/contracts/interfaces/GMX/IRewardRouterV2.sol +1 -4
  743. package/contracts/interfaces/HMX/IHLPStaking.sol +1 -1
  744. package/contracts/interfaces/HMX/IHMXCalculator.sol +1 -1
  745. package/contracts/interfaces/HMX/IHMXCompounder.sol +1 -1
  746. package/contracts/interfaces/HMX/IHMXStaking.sol +1 -1
  747. package/contracts/interfaces/HMX/IHMXVester.sol +1 -1
  748. package/contracts/interfaces/IApeStaking.sol +3 -9
  749. package/contracts/interfaces/IBenQiInterestRateModel.sol +1 -5
  750. package/contracts/interfaces/IDiamondCut.sol +1 -5
  751. package/contracts/interfaces/IDiamondLoupe.sol +1 -3
  752. package/contracts/interfaces/ILayerZeroReceiver.sol +1 -6
  753. package/contracts/interfaces/{IPActionAddRemoveLiqV3.sol → IPActionAddRemoveLiq.sol} +50 -54
  754. package/contracts/interfaces/IPActionInfoStatic.sol +4 -7
  755. package/contracts/interfaces/IPActionMarketAuxStatic.sol +5 -9
  756. package/contracts/interfaces/IPActionMarketCoreStatic.sol +118 -58
  757. package/contracts/interfaces/IPActionMintRedeem.sol +108 -0
  758. package/contracts/interfaces/IPActionMintRedeemStatic.sol +38 -21
  759. package/contracts/interfaces/IPActionMisc.sol +23 -0
  760. package/contracts/interfaces/IPActionStorageStatic.sol +5 -1
  761. package/contracts/interfaces/{IPActionSwapPTV3.sol → IPActionSwapPT.sol} +31 -21
  762. package/contracts/interfaces/{IPActionSwapYTV3.sol → IPActionSwapYT.sol} +35 -25
  763. package/contracts/interfaces/IPAllAction.sol +21 -0
  764. package/contracts/interfaces/IPBulkSeller.sol +43 -0
  765. package/contracts/interfaces/IPBulkSellerFactory.sol +12 -0
  766. package/contracts/interfaces/IPBulkSellerSYCallback.sol +6 -0
  767. package/contracts/interfaces/IPFeeDistributor.sol +1 -3
  768. package/contracts/interfaces/IPFeeDistributorV2.sol +8 -7
  769. package/contracts/interfaces/IPGaugeController.sol +2 -8
  770. package/contracts/interfaces/IPGaugeControllerMainchain.sol +1 -5
  771. package/contracts/interfaces/IPInterestManagerYT.sol +3 -3
  772. package/contracts/interfaces/IPInterestManagerYTV2.sol +1 -4
  773. package/contracts/interfaces/IPLinearDistributor.sol +21 -0
  774. package/contracts/interfaces/IPMarket.sol +4 -17
  775. package/contracts/interfaces/IPMarketFactory.sol +2 -13
  776. package/contracts/interfaces/IPMarketFactoryV3.sol +24 -0
  777. package/contracts/interfaces/IPMarketV3.sol +8 -0
  778. package/contracts/interfaces/IPMerkleDistributor.sol +24 -0
  779. package/contracts/interfaces/IPOffchainStorage.sol +11 -0
  780. package/contracts/interfaces/IPPriceFeed.sol +6 -0
  781. package/contracts/interfaces/IPPtOracle.sol +2 -9
  782. package/contracts/interfaces/IPRouterHelper.sol +19 -13
  783. package/contracts/interfaces/IPRouterStatic.sol +1 -3
  784. package/contracts/interfaces/IPVotingController.sol +7 -19
  785. package/contracts/interfaces/IPVotingEscrowMainchain.sol +2 -8
  786. package/contracts/interfaces/IPYieldToken.sol +2 -8
  787. package/contracts/interfaces/IPYieldTokenV2.sol +1 -6
  788. package/contracts/interfaces/IPendlePreviewHelper.sol +2 -8
  789. package/contracts/interfaces/IRewardManager.sol +1 -4
  790. package/contracts/interfaces/IStETH.sol +1 -4
  791. package/contracts/interfaces/IStandardizedYield.sol +9 -16
  792. package/contracts/interfaces/IStargateLP.sol +0 -3
  793. package/contracts/interfaces/IStargateRouter.sol +1 -5
  794. package/contracts/interfaces/Kyber/IKyberElasticFactory.sol +157 -0
  795. package/contracts/interfaces/Kyber/IKyberElasticPool.sol +101 -0
  796. package/contracts/interfaces/Kyber/IKyberElasticRouter.sol +98 -0
  797. package/contracts/interfaces/Kyber/IKyberLiquidityMining.sol +209 -0
  798. package/contracts/interfaces/Kyber/IKyberMathHelper.sol +28 -0
  799. package/contracts/interfaces/Kyber/IKyberPositionManager.sol +179 -0
  800. package/contracts/interfaces/Lybra/IEUSD.sol +1 -1
  801. package/contracts/interfaces/MUX/IMUXRewardRouter.sol +139 -0
  802. package/contracts/interfaces/Silo/ISilo.sol +298 -0
  803. package/contracts/interfaces/Silo/ISiloIncentiveController.sol +16 -0
  804. package/contracts/interfaces/Silo/ISiloLens.sol +6 -0
  805. package/contracts/interfaces/Stader/IStaderStakeManager.sol +2 -2
  806. package/contracts/interfaces/Thena/IThenaFactory.sol +1 -5
  807. package/contracts/interfaces/Thena/IThenaGaugeV2.sol +1 -2
  808. package/contracts/interfaces/Thena/IThenaPair.sol +3 -5
  809. package/contracts/limit/Mock.sol +429 -0
  810. package/contracts/offchain-helpers/AutomateReady.sol +17 -32
  811. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +6 -3
  812. package/contracts/offchain-helpers/BoringLpSeller.sol +4 -17
  813. package/contracts/offchain-helpers/BoringPtSeller.sol +2 -7
  814. package/contracts/offchain-helpers/Broadcaster.sol +1 -1
  815. package/contracts/offchain-helpers/BulkSellerOffchain.sol +57 -0
  816. package/contracts/offchain-helpers/EmptyUUPS.sol +0 -1
  817. package/contracts/offchain-helpers/LegacyNFTHelper.sol +4 -23
  818. package/contracts/offchain-helpers/MarketExchangeRateLib.sol +2 -13
  819. package/contracts/offchain-helpers/Multicall2.sol +2 -7
  820. package/contracts/offchain-helpers/PendleMulticallV1.sol +7 -7
  821. package/contracts/offchain-helpers/PendleMulticallV2.sol +12 -13
  822. package/contracts/offchain-helpers/PendleOffchainStorage.sol +59 -0
  823. package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +15 -1
  824. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +10 -11
  825. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +37 -26
  826. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +219 -119
  827. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +88 -33
  828. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +10 -2
  829. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +9 -7
  830. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +3 -0
  831. package/contracts/oracles/PendleLpOracleLib.sol +9 -10
  832. package/contracts/oracles/PendlePtOracle.sol +7 -19
  833. package/contracts/oracles/PendlePtOracleLib.sol +8 -13
  834. package/contracts/oracles/samples/PendleLpGlpOracle.sol +6 -10
  835. package/contracts/oracles/samples/PendlePtGlpOracle.sol +6 -10
  836. package/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol +8 -15
  837. package/contracts/router/ActionAddRemoveLiq.sol +525 -0
  838. package/contracts/router/ActionMintRedeem.sol +134 -0
  839. package/contracts/router/ActionMisc.sol +51 -0
  840. package/contracts/router/ActionSwapPT.sol +197 -0
  841. package/contracts/router/ActionSwapYT.sol +323 -0
  842. package/contracts/router/PendleRouter.sol +242 -0
  843. package/contracts/router/PendleRouterHelper.sol +80 -90
  844. package/contracts/router/PendleRouterHelper2.sol +41 -0
  845. package/contracts/router/base/ActionBaseCallback.sol +87 -21
  846. package/contracts/router/base/ActionBaseMintRedeem.sol +182 -0
  847. package/contracts/router/base/CallbackHelper.sol +94 -35
  848. package/contracts/router/base/MarketApproxLib.sol +123 -144
  849. package/contracts/router/swap-aggregator/PendleSwap.sol +31 -7
  850. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol +63 -0
  851. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol +314 -0
  852. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol +560 -0
  853. package/contracts/router/swap-aggregator/kyberswap/{IMetaAggregationRouterV2.sol → interfaces/IMetaAggregationRouterV2.sol} +11 -6
  854. package/contracts/router/swap-aggregator/kyberswap/{KyberInputScalingHelper.sol → l1-contracts/InputScalingHelper.sol} +70 -19
  855. package/contracts/router/swap-aggregator/kyberswap/{ScalingDataLib.sol → l1-contracts/ScalingDataLib.sol} +111 -53
  856. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol +29 -0
  857. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol +149 -0
  858. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol +118 -0
  859. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol +42 -0
  860. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol +382 -0
  861. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol +61 -0
  862. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol +329 -0
  863. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol +173 -0
  864. package/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol +4 -10
  865. package/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol +20 -14
  866. package/deployments/1-core.json +3 -1
  867. package/deployments/1-markets/EPENDLE-SEP2024.json +12 -0
  868. package/deployments/1-markets/SFRAX-MARCH2024.json +10 -0
  869. package/deployments/1-markets/SILO-CRVUSD-MARCH2024.json +10 -0
  870. package/deployments/10-core.json +4 -2
  871. package/deployments/42161-core.json +4 -4
  872. package/deployments/42161-markets/ARBSILO-USDC-FEB2024.json +10 -0
  873. package/deployments/42161-markets/GM-ARB-USDC-MARCH2024.json +10 -0
  874. package/deployments/42161-markets/KYBER-AXLWSTETH-WSTETH-MARCH2024.json +10 -0
  875. package/deployments/42161-markets/MLP-MARCH2024.json +10 -0
  876. package/deployments/56-core.json +3 -1
  877. package/deployments/merkle-distribution/2023-10-26.json +7300 -0
  878. package/package.json +6 -6
  879. package/typechain-types/ActionMarketCoreStatic.ts +63 -18
  880. package/typechain-types/ActionMintRedeemStatic.ts +102 -10
  881. package/typechain-types/ActionStorageStatic.ts +55 -0
  882. package/typechain-types/AuraEthxBbAWethSY.ts +65 -0
  883. package/typechain-types/AuraSwEthBbAWethSYV2.ts +65 -0
  884. package/typechain-types/EIP712Upgradeable.ts +83 -7
  885. package/typechain-types/ERC20Permit.ts +65 -0
  886. package/typechain-types/ICamelotNFTPool.ts +5 -5
  887. package/typechain-types/ICamelotNitroPool.ts +5 -5
  888. package/typechain-types/IERC721.ts +5 -5
  889. package/typechain-types/IExecutorHelper.ts +666 -3
  890. package/typechain-types/IPActionMarketCoreStatic.ts +63 -18
  891. package/typechain-types/IPActionMintRedeemStatic.ts +102 -10
  892. package/typechain-types/IPActionStorageStatic.ts +55 -0
  893. package/typechain-types/IPInterestManagerYT.ts +20 -3
  894. package/typechain-types/IPMarketFactoryV3.ts +225 -0
  895. package/typechain-types/IPMarketV3.ts +1068 -0
  896. package/typechain-types/IPRouterHelper.ts +19 -6
  897. package/typechain-types/IPRouterStatic.ts +220 -28
  898. package/typechain-types/IPYieldToken.ts +34 -19
  899. package/typechain-types/InterestManagerYT.ts +20 -3
  900. package/typechain-types/PendleAnkrBNBSY.ts +65 -0
  901. package/typechain-types/PendleArbitrumStakedEthSY.ts +65 -0
  902. package/typechain-types/PendleAuraBalancerStableLPSYV2.ts +65 -0
  903. package/typechain-types/PendleAuraBbAWethSwethSY.ts +65 -0
  904. package/typechain-types/PendleAuraWethAnkrethSYV2.ts +65 -0
  905. package/typechain-types/PendleAuraWethRocketEthSYV2.ts +65 -0
  906. package/typechain-types/PendleAuraWethStafiEthSY.ts +65 -0
  907. package/typechain-types/PendleAuraWethWstethSYV2.ts +65 -0
  908. package/typechain-types/PendleAuraWstethAnkreth.ts +65 -0
  909. package/typechain-types/PendleBridgedLSDSY.ts +65 -0
  910. package/typechain-types/PendleCamelotV1VolatileSY.ts +65 -0
  911. package/typechain-types/PendleConvexLPSY.ts +65 -0
  912. package/typechain-types/PendleCurveFraxUsdcSY.ts +65 -0
  913. package/typechain-types/PendleCurveUsdd3CrvSY.ts +65 -0
  914. package/typechain-types/PendleERC20Permit.ts +65 -0
  915. package/typechain-types/PendleERC4626SY.ts +65 -0
  916. package/typechain-types/PendleETHXSY.ts +65 -0
  917. package/typechain-types/PendleEUSDSY.ts +65 -0
  918. package/typechain-types/PendleFluxLendingSY.ts +65 -0
  919. package/typechain-types/PendleGDaiSY.ts +65 -0
  920. package/typechain-types/PendleGaugeControllerBaseUpg.ts +19 -0
  921. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +19 -0
  922. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +19 -0
  923. package/typechain-types/PendleGlpSY.ts +65 -0
  924. package/typechain-types/PendleHlpSY.ts +65 -0
  925. package/typechain-types/PendleLooksStakingSY.ts +65 -0
  926. package/typechain-types/PendleMantleStakedEthSY.ts +65 -0
  927. package/typechain-types/PendleMarket.ts +65 -0
  928. package/typechain-types/PendleMarketFactoryV3.ts +719 -0
  929. package/typechain-types/PendleMarketV2.ts +65 -0
  930. package/typechain-types/PendleMarketV3.ts +1364 -0
  931. package/typechain-types/PendlePrincipalToken.ts +65 -0
  932. package/typechain-types/PendlePrincipalTokenV2.ts +65 -0
  933. package/typechain-types/PendleQiTokenSY.ts +65 -0
  934. package/typechain-types/PendleRouterHelper.ts +23 -7
  935. package/typechain-types/PendleSfrxEthSY.ts +65 -0
  936. package/typechain-types/PendleStargateLPSY.ts +65 -0
  937. package/typechain-types/PendleThenaSY.ts +65 -0
  938. package/typechain-types/PendleWbEthSY.ts +65 -0
  939. package/typechain-types/PendleWstEthSY.ts +65 -0
  940. package/typechain-types/PendleYieldToken.ts +99 -19
  941. package/typechain-types/PendleYieldTokenV2.ts +65 -0
  942. package/typechain-types/SAPE.ts +65 -0
  943. package/typechain-types/SYBase.ts +65 -0
  944. package/typechain-types/SYBaseWithRewards.ts +65 -0
  945. package/typechain-types/SwETHSY.ts +65 -0
  946. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  947. package/typechain-types/factories/ActionBaseCallback__factory.ts +59 -0
  948. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  949. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  950. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +46 -1
  951. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +102 -1
  952. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  953. package/typechain-types/factories/ActionStorageStatic__factory.ts +27 -1
  954. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  955. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  956. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  957. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  958. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +66 -1
  959. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +66 -1
  960. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1 -1
  961. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  962. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  963. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  964. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  965. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  966. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  967. package/typechain-types/factories/CamelotRewardHelper__factory.ts +1 -1
  968. package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
  969. package/typechain-types/factories/ComposableStablePreviewProxy__factory.ts +1 -1
  970. package/typechain-types/factories/ComposableStablePreviewV4__factory.ts +1 -1
  971. package/typechain-types/factories/ComposableStablePreviewV5__factory.ts +1 -1
  972. package/typechain-types/factories/EIP712Upgradeable__factory.ts +49 -0
  973. package/typechain-types/factories/ERC20Permit__factory.ts +65 -0
  974. package/typechain-types/factories/ERC20__factory.ts +1 -1
  975. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  976. package/typechain-types/factories/Errors__factory.ts +236 -8
  977. package/typechain-types/factories/HLPPricingHelper__factory.ts +1 -1
  978. package/typechain-types/factories/ICamelotNFTPool__factory.ts +1 -1
  979. package/typechain-types/factories/ICamelotNitroPool__factory.ts +1 -1
  980. package/typechain-types/factories/IERC721__factory.ts +1 -1
  981. package/typechain-types/factories/IExecutorHelper__factory.ts +408 -0
  982. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +45 -0
  983. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +69 -0
  984. package/typechain-types/factories/IPActionStorageStatic__factory.ts +26 -0
  985. package/typechain-types/factories/IPInterestManagerYT__factory.ts +13 -0
  986. package/typechain-types/factories/IPMarketFactoryV3__factory.ts +160 -0
  987. package/typechain-types/factories/IPMarketV3__factory.ts +845 -0
  988. package/typechain-types/factories/IPRouterHelper__factory.ts +25 -0
  989. package/typechain-types/factories/IPRouterStatic__factory.ts +140 -0
  990. package/typechain-types/factories/IPYieldToken__factory.ts +32 -19
  991. package/typechain-types/factories/InterestManagerYT__factory.ts +13 -0
  992. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  993. package/typechain-types/factories/LinearPreview__factory.ts +1 -1
  994. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  995. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  996. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  997. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  998. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +66 -1
  999. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +66 -1
  1000. package/typechain-types/factories/PendleAuraBalancerStableLPSYV2__factory.ts +65 -0
  1001. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +66 -1
  1002. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +66 -1
  1003. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +66 -1
  1004. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +66 -1
  1005. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +66 -1
  1006. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +66 -1
  1007. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +66 -1
  1008. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +66 -1
  1009. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +1 -1
  1010. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +1 -1
  1011. package/typechain-types/factories/PendleConvexLPSY__factory.ts +65 -0
  1012. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +66 -1
  1013. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +66 -1
  1014. package/typechain-types/factories/PendleERC20Permit__factory.ts +66 -1
  1015. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  1016. package/typechain-types/factories/PendleERC4626SY__factory.ts +66 -1
  1017. package/typechain-types/factories/PendleETHXSY__factory.ts +66 -1
  1018. package/typechain-types/factories/PendleEUSDSY__factory.ts +66 -1
  1019. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  1020. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  1021. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  1022. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +66 -1
  1023. package/typechain-types/factories/PendleGDaiSY__factory.ts +66 -1
  1024. package/typechain-types/factories/PendleGMV2TokenSY__factory.ts +1 -1
  1025. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
  1026. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +23 -1
  1027. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +23 -1
  1028. package/typechain-types/factories/PendleGlpSY__factory.ts +66 -1
  1029. package/typechain-types/factories/PendleHlpSY__factory.ts +66 -1
  1030. package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1 -1
  1031. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +66 -1
  1032. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  1033. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +66 -1
  1034. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
  1035. package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +714 -0
  1036. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  1037. package/typechain-types/factories/PendleMarketV2__factory.ts +66 -1
  1038. package/typechain-types/factories/PendleMarketV3__factory.ts +1351 -0
  1039. package/typechain-types/factories/PendleMarket__factory.ts +66 -1
  1040. package/typechain-types/factories/PendleMlpSY__factory.ts +1 -1
  1041. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  1042. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  1043. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  1044. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  1045. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  1046. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +66 -1
  1047. package/typechain-types/factories/PendlePrincipalToken__factory.ts +66 -1
  1048. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  1049. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  1050. package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +1 -1
  1051. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  1052. package/typechain-types/factories/PendleQiTokenSY__factory.ts +66 -1
  1053. package/typechain-types/factories/PendleRouterHelper2__factory.ts +1 -1
  1054. package/typechain-types/factories/PendleRouterHelper__factory.ts +32 -2
  1055. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  1056. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  1057. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +66 -1
  1058. package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1 -1
  1059. package/typechain-types/factories/PendleStargateLPSY__factory.ts +66 -1
  1060. package/typechain-types/factories/PendleSwapL1__factory.ts +1 -1
  1061. package/typechain-types/factories/PendleSwapL2__factory.ts +1 -1
  1062. package/typechain-types/factories/PendleThenaSY__factory.ts +66 -1
  1063. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  1064. package/typechain-types/factories/PendleWbEthSY__factory.ts +66 -1
  1065. package/typechain-types/factories/PendleWstEthSY__factory.ts +66 -1
  1066. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  1067. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  1068. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +66 -1
  1069. package/typechain-types/factories/PendleYieldToken__factory.ts +98 -20
  1070. package/typechain-types/factories/SAPE__factory.ts +66 -1
  1071. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +170 -1
  1072. package/typechain-types/factories/SYBaseWithRewards__factory.ts +65 -0
  1073. package/typechain-types/factories/SYBase__factory.ts +65 -0
  1074. package/typechain-types/factories/SwETHSY__factory.ts +66 -1
  1075. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  1076. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  1077. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  1078. package/typechain-types/hardhat.d.ts +36 -0
  1079. package/typechain-types/index.ts +8 -0
  1080. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +0 -4
  1081. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.json +0 -1166
  1082. package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.dbg.json +0 -4
  1083. package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.json +0 -59
  1084. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +0 -4
  1085. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +0 -2584
  1086. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +0 -4
  1087. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +0 -4
  1088. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +0 -1165
  1089. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +0 -4
  1090. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +0 -1344
  1091. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +0 -4
  1092. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +0 -6135
  1093. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.dbg.json +0 -4
  1094. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.json +0 -77
  1095. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +0 -4
  1096. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +0 -649
  1097. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.dbg.json +0 -4
  1098. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.json +0 -438
  1099. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixinType.dbg.json +0 -4
  1100. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +0 -4
  1101. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +0 -4
  1102. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +0 -876
  1103. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.dbg.json +0 -4
  1104. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.json +0 -654
  1105. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.dbg.json +0 -4
  1106. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +0 -4
  1107. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +0 -99
  1108. package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.dbg.json +0 -4
  1109. package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.json +0 -10
  1110. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.dbg.json +0 -4
  1111. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +0 -4
  1112. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.json +0 -190
  1113. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +0 -4
  1114. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +0 -97
  1115. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +0 -4
  1116. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +0 -2780
  1117. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +0 -4
  1118. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +0 -1040
  1119. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +0 -4
  1120. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +0 -1303
  1121. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +0 -4
  1122. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +0 -1553
  1123. package/build/artifacts/contracts/router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.dbg.json +0 -4
  1124. package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.dbg.json +0 -4
  1125. package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.json +0 -174
  1126. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +0 -4
  1127. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.json +0 -10
  1128. package/build/artifacts/contracts/router/base/SimulateHelper.sol/SimulateHelper.dbg.json +0 -4
  1129. package/build/artifacts/contracts/router/base/SimulateHelper.sol/SimulateHelper.json +0 -69
  1130. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +0 -4
  1131. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +0 -76
  1132. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  1133. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +0 -4
  1134. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  1135. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +0 -4
  1136. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.json +0 -10
  1137. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +0 -4
  1138. package/contracts/interfaces/IDailLikePermit.sol +0 -17
  1139. package/contracts/interfaces/IPActionMiscV3.sol +0 -120
  1140. package/contracts/interfaces/IPAllActionTypeV3.sol +0 -33
  1141. package/contracts/interfaces/IPAllActionV3.sol +0 -19
  1142. package/contracts/interfaces/IPLimitRouter.sol +0 -149
  1143. package/contracts/limit/LimitMathCore.sol +0 -231
  1144. package/contracts/limit/PendleLimitRouter.sol +0 -67
  1145. package/contracts/limit/PendleOrderMixin.sol +0 -533
  1146. package/contracts/limit/helpers/ArgumentsDecoder.sol +0 -47
  1147. package/contracts/limit/helpers/NonceManager.sol +0 -30
  1148. package/contracts/limit/helpers/Permitable.sol +0 -48
  1149. package/contracts/limit/helpers/RevertReasonParser.sol +0 -75
  1150. package/contracts/offchain-helpers/ChainlinkRelayerGelato.sol +0 -37
  1151. package/contracts/offchain-helpers/PtAndLpToAsset.sol +0 -62
  1152. package/contracts/offchain-helpers/router-static/base/ActionLimitOrdersStatic.sol +0 -145
  1153. package/contracts/router/ActionAddRemoveLiqV3.sol +0 -409
  1154. package/contracts/router/ActionMiscV3.sol +0 -163
  1155. package/contracts/router/ActionSwapPTV3.sol +0 -75
  1156. package/contracts/router/ActionSwapYTV3.sol +0 -212
  1157. package/contracts/router/PendleRouterV3.sol +0 -228
  1158. package/contracts/router/base/ActionBase.sol +0 -241
  1159. package/contracts/router/base/SimulateHelper.sol +0 -33
  1160. package/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol +0 -231
  1161. package/deployments/1-markets/BALANCER-LP-AURA-VETH-WETH-SEP2024.json +0 -8
  1162. /package/contracts/router/swap-aggregator/kyberswap/{IAggregationExecutor.sol → interfaces/IAggregationExecutor.sol} +0 -0
  1163. /package/deployments/1-markets/{BALANCER-LP-AURA-BBAWETHSWETH-SEP-26-2024.json → deprecated/BALANCER-LP-AURA-BBAWETHSWETH-SEP-26-2024.json} +0 -0
  1164. /package/deployments/1-markets/{BALANCER-LP-AURA-ETHX-BBAWETH-SEP-26-2024.json → deprecated/BALANCER-LP-AURA-ETHX-BBAWETH-SEP-26-2024.json} +0 -0
@@ -0,0 +1,525 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "./base/ActionBaseMintRedeem.sol";
5
+ import "../interfaces/IPActionAddRemoveLiq.sol";
6
+ import "../interfaces/IPMarket.sol";
7
+ import "../core/libraries/Errors.sol";
8
+
9
+ /**
10
+ * @dev If market is expired, all actions will revert, except for the following:
11
+ * - removeLiquidityDualSyAndPt()
12
+ * - removeLiquidityDualTokenAndPt()
13
+ * - removeLiquiditySingleSy()
14
+ * - removeLiquiditySingleToken()
15
+ * This is because swapping and adding liquidity are not allowed on an expired market.
16
+ */
17
+ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
18
+ using PMath for uint256;
19
+ using PMath for int256;
20
+ using MarketMathCore for MarketState;
21
+ using MarketApproxPtInLib for MarketState;
22
+ using MarketApproxPtOutLib for MarketState;
23
+ using PYIndexLib for IPYieldToken;
24
+ using PYIndexLib for PYIndex;
25
+
26
+ /**
27
+ * @notice Adds liquidity to the SY/PT market, granting LP tokens in return
28
+ * @dev Will mint as much LP as possible given no more than `netSyDesired` and `netPtDesired`,
29
+ * while not changing the market's price
30
+ * @dev Only the necessary SY/PT amount will be transferred
31
+ * @dev Reverts if market is expired
32
+ */
33
+ function addLiquidityDualSyAndPt(
34
+ address receiver,
35
+ address market,
36
+ uint256 netSyDesired,
37
+ uint256 netPtDesired,
38
+ uint256 minLpOut
39
+ ) external returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
40
+ (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
41
+
42
+ // calculate the amount of SY and PT to be used
43
+ MarketState memory state = IPMarket(market).readState(address(this));
44
+ (, netLpOut, netSyUsed, netPtUsed) = state.addLiquidity(netSyDesired, netPtDesired, block.timestamp);
45
+
46
+ // early-check
47
+ if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
48
+
49
+ // execute the addLiquidity
50
+ _transferFrom(IERC20(SY), msg.sender, market, netSyUsed);
51
+ _transferFrom(IERC20(PT), msg.sender, market, netPtUsed);
52
+
53
+ (netLpOut, , ) = IPMarket(market).mint(receiver, netSyUsed, netPtUsed);
54
+
55
+ // fail-safe
56
+ if (netLpOut < minLpOut) assert(false);
57
+
58
+ emit AddLiquidityDualSyAndPt(msg.sender, market, receiver, netSyUsed, netPtUsed, netLpOut);
59
+ }
60
+
61
+ /**
62
+ * @notice Adds liquidity to SY/PT market using PT + any token.
63
+ * @dev Input token is first swapped to SY-mintable token using Kyber, then SY is minted from
64
+ * such. Finally the SY/PT pair is added to the market
65
+ * @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
66
+ * @param netPtDesired maximum PT to be used
67
+ * @dev Only the necessary PT amount will be transferred
68
+ * @dev All SY minted must be used, otherwise the call will revert. Therefore it is recommended
69
+ * that `netPtDesired` is slightly higher than actual expected.
70
+ * @dev Reverts if market is expired
71
+ */
72
+ function addLiquidityDualTokenAndPt(
73
+ address receiver,
74
+ address market,
75
+ TokenInput calldata input,
76
+ uint256 netPtDesired,
77
+ uint256 minLpOut
78
+ ) external payable returns (uint256 netLpOut, uint256 netTokenUsed, uint256 netPtUsed) {
79
+ (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
80
+
81
+ uint256 netSyDesired = _mintSyFromToken(market, address(SY), 1, input);
82
+ uint256 netSyUsed;
83
+
84
+ {
85
+ // calc the amount of SY and PT to be used
86
+ MarketState memory state = IPMarket(market).readState(address(this));
87
+ (, netLpOut, netSyUsed, netPtUsed) = state.addLiquidity(netSyDesired, netPtDesired, block.timestamp);
88
+
89
+ if (netSyDesired != netSyUsed) revert Errors.RouterNotAllSyUsed(netSyDesired, netSyUsed);
90
+ if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
91
+
92
+ netTokenUsed = input.netTokenIn;
93
+ }
94
+
95
+ // SY has been minted and transferred to the market
96
+ _transferFrom(IERC20(PT), msg.sender, market, netPtUsed);
97
+ (netLpOut, , ) = IPMarket(market).mint(receiver, netSyUsed, netPtUsed);
98
+
99
+ // fail-safe
100
+ if (netLpOut < minLpOut) assert(false);
101
+
102
+ emit AddLiquidityDualTokenAndPt(msg.sender, market, input.tokenIn, receiver, netTokenUsed, netPtUsed, netLpOut);
103
+ }
104
+
105
+ /**
106
+ * @notice Swaps partial PT to SY, then use them to add liquidity to SY/PT pair
107
+ * @param netPtIn amount of PT to be transferred in from caller
108
+ * @param guessPtSwapToSy approximate info for the swap
109
+ * @return netLpOut actual LP output, will not be lower than `minLpOut`
110
+ * @return netSyFee amount of SY fee incurred from the swap
111
+ * @dev Reverts if market is expired
112
+ */
113
+ function addLiquiditySinglePt(
114
+ address receiver,
115
+ address market,
116
+ uint256 netPtIn,
117
+ uint256 minLpOut,
118
+ ApproxParams calldata guessPtSwapToSy
119
+ ) external returns (uint256 netLpOut, uint256 netSyFee) {
120
+ (, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
121
+
122
+ // calculate the amount of PT to swap
123
+ MarketState memory state = IPMarket(market).readState(address(this));
124
+
125
+ (uint256 netPtSwap, , ) = state.approxSwapPtToAddLiquidity(
126
+ YT.newIndex(),
127
+ netPtIn,
128
+ block.timestamp,
129
+ guessPtSwapToSy
130
+ );
131
+
132
+ // execute the swap
133
+ _transferFrom(IERC20(PT), msg.sender, market, netPtIn);
134
+
135
+ uint256 netSyReceived;
136
+ (netSyReceived, netSyFee) = IPMarket(market).swapExactPtForSy(market, netPtSwap, EMPTY_BYTES);
137
+
138
+ // execute the addLiquidity
139
+ (netLpOut, , ) = IPMarket(market).mint(receiver, netSyReceived, netPtIn - netPtSwap);
140
+
141
+ if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
142
+
143
+ emit AddLiquiditySinglePt(msg.sender, market, receiver, netPtIn, netLpOut);
144
+ }
145
+
146
+ /**
147
+ * @notice Swaps partial SY to PT, then use them to add liquidity to SY/PT pair
148
+ * @param netSyIn amount of SY to be transferred in from caller
149
+ * @param guessPtReceivedFromSy approx. output PT from the swap
150
+ * @return netLpOut actual LP output, will not be lower than `minLpOut`
151
+ * @return netSyFee amount of SY fee incurred from the swap
152
+ * @dev Reverts if market is expired
153
+ */
154
+ function addLiquiditySingleSy(
155
+ address receiver,
156
+ address market,
157
+ uint256 netSyIn,
158
+ uint256 minLpOut,
159
+ ApproxParams calldata guessPtReceivedFromSy
160
+ ) external returns (uint256 netLpOut, uint256 netSyFee) {
161
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
162
+
163
+ // transfer SY to market
164
+ _transferFrom(IERC20(SY), msg.sender, market, netSyIn);
165
+
166
+ // mint LP
167
+ (netLpOut, netSyFee) = _addLiquiditySingleSy(receiver, market, YT, netSyIn, minLpOut, guessPtReceivedFromSy);
168
+
169
+ emit AddLiquiditySingleSy(msg.sender, market, receiver, netSyIn, netLpOut);
170
+ }
171
+
172
+ /**
173
+ * @notice Adds liquidity using a single token input. The input token is first swapped through
174
+ * Kyberswap to a SY-mintable token, the rest is the same as `addLiquiditySingleSy()`
175
+ * @param guessPtReceivedFromSy approximate PT output for the SY-to-PT swap
176
+ * @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
177
+ * @return netLpOut actual LP output, will not be lower than `minLpOut`
178
+ * @return netSyFee amount of SY fee incurred from the swap
179
+ * @dev Reverts if market is expired
180
+ */
181
+ function addLiquiditySingleToken(
182
+ address receiver,
183
+ address market,
184
+ uint256 minLpOut,
185
+ ApproxParams calldata guessPtReceivedFromSy,
186
+ TokenInput calldata input
187
+ ) external payable returns (uint256 netLpOut, uint256 netSyFee) {
188
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
189
+
190
+ // mint SY directly to the market
191
+ uint256 netSyUsed = _mintSyFromToken(market, address(SY), 1, input);
192
+
193
+ // mint LP
194
+ (netLpOut, netSyFee) = _addLiquiditySingleSy(receiver, market, YT, netSyUsed, minLpOut, guessPtReceivedFromSy);
195
+
196
+ emit AddLiquiditySingleToken(msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut);
197
+ }
198
+
199
+ /**
200
+ * @notice Mints partial SY to PT+YT, returns YT to user, then uses PT+SY to add liquidity
201
+ * @param netSyIn amount of SY to be transferred in from caller
202
+ * @return netLpOut actual LP output, will not be lower than `minLpOut`
203
+ * @return netYtOut actual YT output, will not be lower than `minYtOut`
204
+ * @dev Reverts if market is expired
205
+ */
206
+ function addLiquiditySingleSyKeepYt(
207
+ address receiver,
208
+ address market,
209
+ uint256 netSyIn,
210
+ uint256 minLpOut,
211
+ uint256 minYtOut
212
+ ) external returns (uint256 netLpOut, uint256 netYtOut) {
213
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
214
+
215
+ _transferIn(address(SY), msg.sender, netSyIn);
216
+
217
+ (netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyIn, minLpOut, minYtOut);
218
+
219
+ emit AddLiquiditySingleSyKeepYt(msg.sender, market, receiver, netSyIn, netLpOut, netYtOut);
220
+ }
221
+
222
+ /**
223
+ * @notice Adds liquidity and returns leftover YT using a single token input. The input token
224
+ * is first swapped through Kyberswap to a SY-mintable token, the rest is the same as
225
+ * `addLiquiditySingleSyKeepYt()`
226
+ * @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
227
+ * @return netLpOut actual LP output, will not be lower than `minLpOut`
228
+ * @return netYtOut actual YT output, will not be lower than `minYtOut`
229
+ * @dev Reverts if market is expired
230
+ */
231
+ function addLiquiditySingleTokenKeepYt(
232
+ address receiver,
233
+ address market,
234
+ uint256 minLpOut,
235
+ uint256 minYtOut,
236
+ TokenInput calldata input
237
+ ) external returns (uint256 netLpOut, uint256 netYtOut) {
238
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
239
+
240
+ uint256 netSyUsed = _mintSyFromToken(address(this), address(SY), 1, input);
241
+
242
+ (netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyUsed, minLpOut, minYtOut);
243
+
244
+ emit AddLiquiditySingleTokenKeepYt(
245
+ msg.sender,
246
+ market,
247
+ input.tokenIn,
248
+ receiver,
249
+ input.netTokenIn,
250
+ netLpOut,
251
+ netYtOut
252
+ );
253
+ }
254
+
255
+ /**
256
+ * @notice Burns LP token to remove SY/PT liquidity
257
+ * @param netLpToRemove amount of LP to be burned from caller
258
+ * @dev Will work even if market is expired
259
+ */
260
+ function removeLiquidityDualSyAndPt(
261
+ address receiver,
262
+ address market,
263
+ uint256 netLpToRemove,
264
+ uint256 minSyOut,
265
+ uint256 minPtOut
266
+ ) external returns (uint256 netSyOut, uint256 netPtOut) {
267
+ _transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
268
+
269
+ (netSyOut, netPtOut) = IPMarket(market).burn(receiver, receiver, netLpToRemove);
270
+
271
+ if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
272
+ if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
273
+
274
+ emit RemoveLiquidityDualSyAndPt(msg.sender, market, receiver, netLpToRemove, netPtOut, netSyOut);
275
+ }
276
+
277
+ /**
278
+ * @notice Burns LP token to remove SY/PT liquidity, then redeems SY, finally (if needed)
279
+ * swaps SY redeemings through Kyberswap to desired output token.
280
+ * @param netLpToRemove amount of LP to be burned from caller
281
+ * @param output data for desired output token, see {`./kyberswap/KyberSwapHelper.sol`}
282
+ * @dev Will work even if market is expired
283
+ */
284
+ function removeLiquidityDualTokenAndPt(
285
+ address receiver,
286
+ address market,
287
+ uint256 netLpToRemove,
288
+ TokenOutput calldata output,
289
+ uint256 minPtOut
290
+ ) external returns (uint256 netTokenOut, uint256 netPtOut) {
291
+ (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
292
+
293
+ // burn LP, SY sent to either SY or bulk, PT sent to receiver
294
+ _transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
295
+
296
+ uint256 netSyOut;
297
+ (netSyOut, netPtOut) = IPMarket(market).burn(_syOrBulk(address(SY), output), receiver, netLpToRemove);
298
+
299
+ if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
300
+
301
+ // redeem SY to token
302
+ netTokenOut = _redeemSyToToken(receiver, address(SY), netSyOut, output, false);
303
+
304
+ emit RemoveLiquidityDualTokenAndPt(
305
+ msg.sender,
306
+ market,
307
+ output.tokenOut,
308
+ receiver,
309
+ netLpToRemove,
310
+ netPtOut,
311
+ netTokenOut
312
+ );
313
+ }
314
+
315
+ /**
316
+ * @notice Removes SY/PT liquidity, then swaps all resulting SY to return only PT
317
+ * @param netLpToRemove amount of LP to be burned from caller
318
+ * @param guessPtReceivedFromSy approximate info for the swap
319
+ * @return netPtOut total PT output, will not be lower than `minPtOut`
320
+ * @return netSyFee amount of SY fee incurred from the swap
321
+ * @dev Reverts if market is expired
322
+ */
323
+ function removeLiquiditySinglePt(
324
+ address receiver,
325
+ address market,
326
+ uint256 netLpToRemove,
327
+ uint256 minPtOut,
328
+ ApproxParams calldata guessPtReceivedFromSy
329
+ ) external returns (uint256 netPtOut, uint256 netSyFee) {
330
+ (, , IPYieldToken YT) = IPMarket(market).readTokens();
331
+
332
+ // calculate the total amount of PT received from burning & selling SY
333
+ MarketState memory state = IPMarket(market).readState(address(this));
334
+ (uint256 syFromBurn, uint256 ptFromBurn) = state.removeLiquidity(netLpToRemove);
335
+ (uint256 ptFromSwap, ) = state.approxSwapExactSyForPt(
336
+ YT.newIndex(),
337
+ syFromBurn,
338
+ block.timestamp,
339
+ guessPtReceivedFromSy
340
+ );
341
+
342
+ if (ptFromBurn + ptFromSwap < minPtOut)
343
+ revert Errors.RouterInsufficientPtOut(ptFromBurn + ptFromSwap, minPtOut);
344
+
345
+ // execute the burn & the swap
346
+ _transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
347
+
348
+ (, ptFromBurn) = IPMarket(market).burn(market, receiver, netLpToRemove);
349
+ (, netSyFee) = IPMarket(market).swapSyForExactPt(receiver, ptFromSwap, EMPTY_BYTES);
350
+
351
+ netPtOut = ptFromBurn + ptFromSwap;
352
+
353
+ // fail-safe
354
+ if (netPtOut < minPtOut) assert(false);
355
+
356
+ emit RemoveLiquiditySinglePt(msg.sender, market, receiver, netLpToRemove, netPtOut);
357
+ }
358
+
359
+ /**
360
+ * @notice Removes SY/PT liquidity, then converts all resulting PT to return only SY
361
+ * @dev Conversion is done with market swap if not expired, or with PT redeeming if expired
362
+ * @param netLpToRemove amount of LP to be burned from caller
363
+ * @return netSyOut total SY output, will not be lower than `minSyOut`
364
+ * @return netSyFee amount of SY fee incurred from the swap
365
+ * @dev Will work even if market is expired
366
+ */
367
+ function removeLiquiditySingleSy(
368
+ address receiver,
369
+ address market,
370
+ uint256 netLpToRemove,
371
+ uint256 minSyOut
372
+ ) external returns (uint256 netSyOut, uint256 netSyFee) {
373
+ // transfer LP to market
374
+ _transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
375
+
376
+ // burn LP, SY sent to receiver
377
+ (netSyOut, netSyFee) = _removeLiquiditySingleSy(receiver, market, netLpToRemove, minSyOut);
378
+
379
+ emit RemoveLiquiditySingleSy(msg.sender, market, receiver, netLpToRemove, netSyOut);
380
+ }
381
+
382
+ /**
383
+ * @notice Removes SY/PT liquidity, then converts all to desired output token.
384
+ * @dev inner workings of this function:
385
+ - Removes SY/PT liquidity to only SY (see `removeLiquiditySingleSy()`)
386
+ - Burns SY to redeem SY-mintable tokens
387
+ - (If needed) swaps resulting tokens to desired output token using Kyberswap
388
+ * @param netLpToRemove amount of LP to be burned from caller
389
+ * @param output data for desired output token, see {`./kyberswap/KyberSwapHelper.sol`}
390
+ * @return netTokenOut total token output, will not be lower than `output.minTokenOut`
391
+ * @return netSyFee amount of SY fee incurred from the swap
392
+ * @dev Will work even if market is expired
393
+ */
394
+ function removeLiquiditySingleToken(
395
+ address receiver,
396
+ address market,
397
+ uint256 netLpToRemove,
398
+ TokenOutput calldata output
399
+ ) external returns (uint256 netTokenOut, uint256 netSyFee) {
400
+ (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
401
+
402
+ // transfer LP to market, burn LP, SY sent to either SY or bulk
403
+ _transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
404
+
405
+ uint256 netSyReceived;
406
+
407
+ (netSyReceived, netSyFee) = _removeLiquiditySingleSy(_syOrBulk(address(SY), output), market, netLpToRemove, 1);
408
+
409
+ // redeem SY to token
410
+ netTokenOut = _redeemSyToToken(receiver, address(SY), netSyReceived, output, false);
411
+
412
+ emit RemoveLiquiditySingleToken(msg.sender, market, output.tokenOut, receiver, netLpToRemove, netTokenOut);
413
+ }
414
+
415
+ /// @dev swaps SY to PT, then adds liquidity
416
+ function _addLiquiditySingleSy(
417
+ address receiver,
418
+ address market,
419
+ IPYieldToken YT,
420
+ uint256 netSyIn,
421
+ uint256 minLpOut,
422
+ ApproxParams calldata guessPtReceivedFromSy
423
+ ) internal returns (uint256 netLpOut, uint256 netSyFee) {
424
+ MarketState memory state = IPMarket(market).readState(address(this));
425
+
426
+ // calculate the PT amount needed to add liquidity
427
+ (uint256 netPtFromSwap, , ) = state.approxSwapSyToAddLiquidity(
428
+ YT.newIndex(),
429
+ netSyIn,
430
+ block.timestamp,
431
+ guessPtReceivedFromSy
432
+ );
433
+
434
+ // execute the swap & the addLiquidity
435
+ uint256 netSySwapped;
436
+ (netSySwapped, netSyFee) = IPMarket(market).swapSyForExactPt(market, netPtFromSwap, EMPTY_BYTES);
437
+
438
+ (netLpOut, , ) = IPMarket(market).mint(receiver, netSyIn - netSySwapped, netPtFromSwap);
439
+
440
+ if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
441
+ }
442
+
443
+ /**
444
+ * @dev algorithm:
445
+ - Split SY into a SY and b SY (with a + b = netSyIn)
446
+ - Mint PY with a SY ---> gives (a * pyIndex / ONE) PT + YT
447
+ - Mint LP with (a * pyIndex / ONE) PT and b SY
448
+
449
+ -> We want (a * pyIndex / ONE) / totalPt = b / totalSy
450
+ -> a * (1 + pyIndex * totalSy / ONE / totalPt) = netSyIn
451
+ -> a = (netSyIn * totalPt) / (totalPt + (pyIndex * totalSy / ONE))
452
+ -> a = (netSyIn * totalPt) / (totalPt + totalAsset)
453
+ */
454
+ function _addLiquiditySingleSyKeepYt(
455
+ address receiver,
456
+ address market,
457
+ IStandardizedYield SY,
458
+ IPYieldToken YT,
459
+ uint256 netSyIn,
460
+ uint256 minLpOut,
461
+ uint256 minYtOut
462
+ ) internal returns (uint256 netLpOut, uint256 netYtOut) {
463
+ MarketState memory state = IPMarket(market).readState(address(this));
464
+
465
+ PYIndex pyIndex = YT.newIndex();
466
+
467
+ uint256 netSyToPt = (netSyIn * state.totalPt.Uint()) /
468
+ (state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
469
+
470
+ // transfer SY to mint PY
471
+ _transferOut(address(SY), address(YT), netSyToPt);
472
+
473
+ // the rest of SY goes to market
474
+ _transferOut(address(SY), market, netSyIn - netSyToPt);
475
+
476
+ // PT goes to market, YT goes to receiver
477
+ netYtOut = YT.mintPY(market, receiver);
478
+
479
+ (netLpOut, , ) = IPMarket(market).mint(receiver, netSyIn - netSyToPt, netYtOut);
480
+
481
+ if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
482
+ if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
483
+ }
484
+
485
+ /// @dev removes SY/PT liquidity, then converts PT to SY
486
+ function _removeLiquiditySingleSy(
487
+ address receiver,
488
+ address market,
489
+ uint256 netLpToRemove,
490
+ uint256 minSyOut
491
+ ) internal returns (uint256 netSyOut, uint256 netSyFee) {
492
+ if (IPMarket(market).isExpired()) {
493
+ netSyOut = __removeLpToSyAfterExpiry(receiver, market, netLpToRemove);
494
+ } else {
495
+ (netSyOut, netSyFee) = __removeLpToSyBeforeExpiry(receiver, market, netLpToRemove);
496
+ }
497
+
498
+ if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
499
+ }
500
+
501
+ /// @dev converts PT to SY post-expiry
502
+ function __removeLpToSyAfterExpiry(
503
+ address receiver,
504
+ address market,
505
+ uint256 netLpToRemove
506
+ ) internal returns (uint256 netSyOut) {
507
+ (, , IPYieldToken YT) = IPMarket(market).readTokens();
508
+ (uint256 syFromBurn, ) = IPMarket(market).burn(receiver, address(YT), netLpToRemove);
509
+ netSyOut = syFromBurn + YT.redeemPY(receiver);
510
+ }
511
+
512
+ /// @dev swaps PT to SY pre-expiry
513
+ function __removeLpToSyBeforeExpiry(
514
+ address receiver,
515
+ address market,
516
+ uint256 netLpToRemove
517
+ ) internal returns (uint256 netSyOut, uint256 netSyFee) {
518
+ (uint256 syFromBurn, uint256 ptFromBurn) = IPMarket(market).burn(receiver, market, netLpToRemove);
519
+
520
+ uint256 syFromSwap;
521
+ (syFromSwap, netSyFee) = IPMarket(market).swapExactPtForSy(receiver, ptFromBurn, EMPTY_BYTES);
522
+
523
+ netSyOut = syFromBurn + syFromSwap;
524
+ }
525
+ }
@@ -0,0 +1,134 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "./base/ActionBaseMintRedeem.sol";
5
+ import "../interfaces/IPMarket.sol";
6
+ import "../interfaces/IPActionMintRedeem.sol";
7
+ import "../core/libraries/Errors.sol";
8
+
9
+ contract ActionMintRedeem is IPActionMintRedeem, ActionBaseMintRedeem {
10
+ using MarketMathCore for MarketState;
11
+ using PMath for uint256;
12
+ using PMath for int256;
13
+
14
+ /**
15
+ * @notice swaps input token for SY-mintable tokens (if needed), then mints SY from such
16
+ * @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
17
+ */
18
+ function mintSyFromToken(
19
+ address receiver,
20
+ address SY,
21
+ uint256 minSyOut,
22
+ TokenInput calldata input
23
+ ) external payable returns (uint256 netSyOut) {
24
+ netSyOut = _mintSyFromToken(receiver, SY, minSyOut, input);
25
+ emit MintSyFromToken(msg.sender, input.tokenIn, SY, receiver, input.netTokenIn, netSyOut);
26
+ }
27
+
28
+ /**
29
+ * @notice redeems SY for SY-mintable tokens, then (if needed) swaps resulting tokens for
30
+ * desired output token through Kyberswap
31
+ * @param output data for desired output token, see {`./kyberswap/KyberSwapHelper.sol`}
32
+ */
33
+ function redeemSyToToken(
34
+ address receiver,
35
+ address SY,
36
+ uint256 netSyIn,
37
+ TokenOutput calldata output
38
+ ) external returns (uint256 netTokenOut) {
39
+ netTokenOut = _redeemSyToToken(receiver, SY, netSyIn, output, true);
40
+ emit RedeemSyToToken(msg.sender, output.tokenOut, SY, receiver, netSyIn, netTokenOut);
41
+ }
42
+
43
+ /**
44
+ * @notice mints PY from any input token
45
+ * @dev swaps input token through Kyberswap to SY-mintable tokens first, then mints SY, finally
46
+ * mints PY from SY
47
+ * @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
48
+ * @dev reverts if PY is expired
49
+ */
50
+ function mintPyFromToken(
51
+ address receiver,
52
+ address YT,
53
+ uint256 minPyOut,
54
+ TokenInput calldata input
55
+ ) external payable returns (uint256 netPyOut) {
56
+ address SY = IPYieldToken(YT).SY();
57
+
58
+ uint256 netSyToMint = _mintSyFromToken(YT, SY, 0, input);
59
+ netPyOut = _mintPyFromSy(receiver, SY, YT, netSyToMint, minPyOut, false);
60
+
61
+ emit MintPyFromToken(msg.sender, input.tokenIn, YT, receiver, input.netTokenIn, netPyOut);
62
+ }
63
+
64
+ /**
65
+ * @notice redeems PY for token
66
+ * @dev redeems PT(+YT) for SY first, then redeems SY, finally swaps resulting tokens to output
67
+ * token through Kyberswap (if needed)
68
+ * @param output data for desired output token, see {`./kyberswap/KyberSwapHelper.sol`}
69
+ */
70
+ function redeemPyToToken(
71
+ address receiver,
72
+ address YT,
73
+ uint256 netPyIn,
74
+ TokenOutput calldata output
75
+ ) external returns (uint256 netTokenOut) {
76
+ address SY = IPYieldToken(YT).SY();
77
+
78
+ uint256 netSyToRedeem = _redeemPyToSy(_syOrBulk(SY, output), YT, netPyIn, 1);
79
+ netTokenOut = _redeemSyToToken(receiver, SY, netSyToRedeem, output, false);
80
+
81
+ emit RedeemPyToToken(msg.sender, output.tokenOut, YT, receiver, netPyIn, netTokenOut);
82
+ }
83
+
84
+ /**
85
+ * @notice mints PT+YT from input SY
86
+ * @dev reverts if the PY pair is expired
87
+ */
88
+ function mintPyFromSy(
89
+ address receiver,
90
+ address YT,
91
+ uint256 netSyIn,
92
+ uint256 minPyOut
93
+ ) external returns (uint256 netPyOut) {
94
+ netPyOut = _mintPyFromSy(receiver, IPYieldToken(YT).SY(), YT, netSyIn, minPyOut, true);
95
+ emit MintPyFromSy(msg.sender, receiver, YT, netSyIn, netPyOut);
96
+ }
97
+
98
+ /// @notice redeems PT(+YT) for its corresponding SY
99
+ function redeemPyToSy(
100
+ address receiver,
101
+ address YT,
102
+ uint256 netPyIn,
103
+ uint256 minSyOut
104
+ ) external returns (uint256 netSyOut) {
105
+ netSyOut = _redeemPyToSy(receiver, YT, netPyIn, minSyOut);
106
+ emit RedeemPyToSy(msg.sender, receiver, YT, netPyIn, netSyOut);
107
+ }
108
+
109
+ /**
110
+ * @notice A unified interface for redeeming rewards and interests for any SYs,
111
+ * YTs, and markets alike for `user`.
112
+ * @dev returns arrays of amounts claimed for each asset.
113
+ */
114
+ function redeemDueInterestAndRewards(
115
+ address user,
116
+ address[] calldata sys,
117
+ address[] calldata yts,
118
+ address[] calldata markets
119
+ ) external {
120
+ unchecked {
121
+ for (uint256 i = 0; i < sys.length; ++i) {
122
+ IStandardizedYield(sys[i]).claimRewards(user);
123
+ }
124
+
125
+ for (uint256 i = 0; i < yts.length; ++i) {
126
+ IPYieldToken(yts[i]).redeemDueInterestAndRewards(user, true, true);
127
+ }
128
+
129
+ for (uint256 i = 0; i < markets.length; ++i) {
130
+ IPMarket(markets[i]).redeemRewards(user);
131
+ }
132
+ }
133
+ }
134
+ }