@pendle/core-v2 2.29.0 → 3.0.0-beta-1

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 (743) 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/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  34. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  35. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.json +2 -2
  36. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  38. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  40. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +2 -2
  42. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  47. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +2 -2
  50. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +2 -2
  52. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +2 -2
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.json +2 -2
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.json +2 -2
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.json +2 -2
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.json +2 -2
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/HLPPricingHelper.sol/HLPPricingHelper.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  160. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  161. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  162. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  163. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  164. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  165. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +4 -0
  166. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +1001 -0
  167. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  168. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  169. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  170. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  171. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  172. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  173. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  174. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  175. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  176. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  177. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  178. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  179. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  180. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  181. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  182. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  183. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  184. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  185. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  186. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  187. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  188. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  189. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  190. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  191. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  192. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  193. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  194. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  195. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  196. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  197. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  198. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  199. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  200. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  201. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  202. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  203. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +9 -162
  204. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  205. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  206. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  207. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
  208. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  209. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  210. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  211. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  212. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  213. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  214. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  215. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/Flux/IFluxErc20.sol/IFluxErc20.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/Flux/IFluxInterestRateModel.sol/IFluxInterestRateModel.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/HMX/IHLPStaking.sol/IHLPStaking.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/HMX/IHMXCalculator.sol/IHMXCalculator.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/HMX/IHMXCompounder.sol/IHMXCompounder.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/HMX/IHMXStaking.sol/IHMXStaking.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/HMX/IHMXVester.sol/IHMXVester.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  261. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  262. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  263. package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.dbg.json +4 -0
  264. package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.json +59 -0
  265. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  266. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  267. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  268. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  269. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  270. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  271. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  272. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  273. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +1050 -30
  274. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  275. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  276. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  277. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +0 -45
  278. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  279. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +0 -69
  280. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  281. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +734 -1
  282. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  283. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +0 -26
  284. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  285. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +688 -108
  286. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  287. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +688 -108
  288. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  289. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  290. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +2550 -331
  291. package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.dbg.json +1 -1
  292. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  293. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  294. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  295. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  296. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  297. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  298. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  299. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.dbg.json +4 -0
  300. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.json +77 -0
  301. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +4 -0
  302. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +779 -0
  303. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.dbg.json +4 -0
  304. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.json +544 -0
  305. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixinType.dbg.json +4 -0
  306. package/build/artifacts/contracts/{router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json → interfaces/IPLimitRouter.sol/IPOrderMixinType.json} +2 -2
  307. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  308. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  309. package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
  310. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  311. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  312. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  313. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  314. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  315. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  316. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  317. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  318. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.json +0 -25
  319. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  320. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -140
  321. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  322. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  323. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  324. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  325. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  326. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  327. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
  328. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  329. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  330. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  331. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  332. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  333. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  334. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  335. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  336. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  337. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
  338. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  339. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  340. package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.dbg.json +1 -1
  341. package/build/artifacts/contracts/interfaces/Stader/IStaderStakeManager.sol/IStaderStakeManager.dbg.json +4 -0
  342. package/build/artifacts/contracts/interfaces/Stader/IStaderStakeManager.sol/IStaderStakeManager.json +420 -0
  343. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +1 -1
  344. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +1 -1
  345. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +1 -1
  346. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +1 -1
  347. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +4 -0
  348. package/build/artifacts/contracts/{core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json → limit/LimitMathCore.sol/LimitMathCore.json} +4 -4
  349. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +4 -0
  350. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +1006 -0
  351. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.dbg.json +4 -0
  352. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.json +760 -0
  353. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.dbg.json +4 -0
  354. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.json +10 -0
  355. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +4 -0
  356. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +99 -0
  357. package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.dbg.json +4 -0
  358. package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.json +10 -0
  359. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.dbg.json +4 -0
  360. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.json +10 -0
  361. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  362. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  363. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  364. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  365. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  366. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  367. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  368. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  369. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  370. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  371. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  372. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  373. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.dbg.json +1 -1
  374. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.json +2 -2
  375. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +1 -1
  376. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.json +2 -2
  377. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  378. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  379. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  380. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  381. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  382. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  383. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  384. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  385. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  386. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  387. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  388. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  389. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  390. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
  391. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +2 -2
  392. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  393. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -171
  394. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  395. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  396. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  397. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  398. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  399. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  400. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  401. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -47
  402. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  403. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -103
  404. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  405. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -28
  406. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  407. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  408. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  409. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  410. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  411. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  412. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  413. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  414. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  415. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  416. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  417. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  418. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  419. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  420. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  421. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1052 -32
  422. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  423. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +878 -3
  424. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  425. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +690 -163
  426. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  427. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +690 -169
  428. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  429. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -18
  430. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  431. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +3 -33
  432. package/build/artifacts/contracts/router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.dbg.json +4 -0
  433. package/build/artifacts/contracts/{interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json → router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.json} +113 -352
  434. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +4 -0
  435. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.json +10 -0
  436. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  437. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +0 -59
  438. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  439. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  440. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  441. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  442. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  443. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  444. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  445. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  446. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  447. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  448. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  449. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  450. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  451. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.json +2 -2
  452. package/build/artifacts/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  453. package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  454. package/contracts/core/Market/PendleMarketFactory.sol +21 -27
  455. package/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol +110 -0
  456. package/contracts/core/libraries/ArrayLib.sol +4 -3
  457. package/contracts/core/libraries/Errors.sol +4 -21
  458. package/contracts/core/libraries/TokenHelper.sol +7 -7
  459. package/contracts/interfaces/IDailLikePermit.sol +17 -0
  460. package/contracts/interfaces/IPActionAddRemoveLiq.sol +16 -18
  461. package/contracts/interfaces/IPActionMarketCoreStatic.sol +20 -118
  462. package/contracts/interfaces/IPActionMintRedeemStatic.sol +17 -47
  463. package/contracts/interfaces/IPActionMisc.sol +88 -1
  464. package/contracts/interfaces/IPActionStorageStatic.sol +1 -8
  465. package/contracts/interfaces/IPActionSwapPT.sol +9 -20
  466. package/contracts/interfaces/IPActionSwapYT.sol +10 -21
  467. package/contracts/interfaces/IPAllAction.sol +0 -2
  468. package/contracts/interfaces/IPAllActionType.sol +33 -0
  469. package/contracts/interfaces/IPLimitRouter.sol +162 -0
  470. package/contracts/interfaces/IPMarketFactory.sol +2 -0
  471. package/contracts/interfaces/IPRouterHelper.sol +11 -45
  472. package/contracts/interfaces/Stader/IStaderStakeManager.sol +57 -0
  473. package/contracts/limit/LimitMathCore.sol +208 -0
  474. package/contracts/limit/PendleLimitRouter.sol +72 -0
  475. package/contracts/limit/PendleOrderMixin.sol +526 -0
  476. package/contracts/limit/helpers/ArgumentsDecoder.sol +47 -0
  477. package/contracts/limit/helpers/NonceManager.sol +28 -0
  478. package/contracts/limit/helpers/Permitable.sol +48 -0
  479. package/contracts/limit/helpers/RevertReasonParser.sol +75 -0
  480. package/contracts/offchain-helpers/AddressProvider.sol +1 -1
  481. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +5 -18
  482. package/contracts/offchain-helpers/Broadcaster.sol +3 -3
  483. package/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol +6 -13
  484. package/contracts/offchain-helpers/ChainlinkRelayerGelato.sol +5 -4
  485. package/contracts/offchain-helpers/EmptyUUPS.sol +2 -1
  486. package/contracts/offchain-helpers/PendleMulticallV1.sol +9 -11
  487. package/contracts/offchain-helpers/PendleMulticallV2.sol +1 -1
  488. package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +2 -19
  489. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
  490. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +5 -18
  491. package/contracts/offchain-helpers/router-static/base/ActionLimitOrdersStatic.sol +145 -0
  492. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +29 -82
  493. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +82 -288
  494. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +37 -108
  495. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +4 -16
  496. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +8 -10
  497. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +1 -4
  498. package/contracts/router/ActionAddRemoveLiq.sol +225 -440
  499. package/contracts/router/ActionMisc.sol +134 -14
  500. package/contracts/router/ActionSwapPT.sol +35 -195
  501. package/contracts/router/ActionSwapYT.sol +127 -288
  502. package/contracts/router/PendleRouter.sol +104 -128
  503. package/contracts/router/PendleRouterHelper.sol +100 -186
  504. package/contracts/router/base/ActionBase.sol +238 -0
  505. package/contracts/router/base/ActionBaseCallback.sol +25 -124
  506. package/contracts/router/base/CallbackHelper.sol +31 -110
  507. package/contracts/router/base/MarketApproxLib.sol +143 -176
  508. package/contracts/router/swap-aggregator/PendleSwap.sol +9 -20
  509. package/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol +11 -23
  510. package/deployments/1-markets/ETHX-DEC2024.json +12 -0
  511. package/deployments/1-markets/SWETH-JUNE2024.json +10 -0
  512. package/deployments/42161-core.json +4 -2
  513. package/deployments/42161-markets/MPENDLE-SEP2024.json +12 -0
  514. package/deployments/merkle-distribution/2023-09-28.json +6770 -0
  515. package/package.json +4 -4
  516. package/typechain-types/ActionAddRemoveLiq.ts +151 -26
  517. package/typechain-types/ActionLimitOrdersStatic.ts +262 -0
  518. package/typechain-types/ActionMarketCoreStatic.ts +18 -63
  519. package/typechain-types/ActionMintRedeem.ts +4 -10
  520. package/typechain-types/ActionMintRedeemStatic.ts +10 -102
  521. package/typechain-types/ActionMisc.ts +732 -11
  522. package/typechain-types/ActionStorageStatic.ts +0 -55
  523. package/typechain-types/ActionSwapPT.ts +119 -121
  524. package/typechain-types/ActionSwapYT.ts +124 -126
  525. package/typechain-types/AllErrorsDirectory.ts +57 -0
  526. package/typechain-types/AuraWethVethSYUpg.ts +1547 -0
  527. package/typechain-types/EIP712Upgradeable.ts +68 -0
  528. package/typechain-types/IDaiLikePermit.ts +146 -0
  529. package/typechain-types/IERC1271.ts +107 -0
  530. package/typechain-types/IKyberElasticFactory.ts +734 -0
  531. package/typechain-types/IKyberElasticPool.ts +514 -0
  532. package/typechain-types/IKyberElasticRouter.ts +315 -0
  533. package/typechain-types/IKyberLiquidityMining.ts +968 -0
  534. package/typechain-types/IKyberMathHelper.ts +231 -0
  535. package/typechain-types/IKyberPositionManager.ts +773 -0
  536. package/typechain-types/ILimitOrderCallee.ts +179 -0
  537. package/typechain-types/IPActionAddRemoveLiq.ts +151 -26
  538. package/typechain-types/IPActionMarketCoreStatic.ts +18 -63
  539. package/typechain-types/IPActionMintRedeem.ts +4 -10
  540. package/typechain-types/IPActionMintRedeemStatic.ts +10 -102
  541. package/typechain-types/IPActionMisc.ts +688 -11
  542. package/typechain-types/IPActionStorageStatic.ts +0 -55
  543. package/typechain-types/IPActionSwapPT.ts +119 -121
  544. package/typechain-types/IPActionSwapYT.ts +124 -126
  545. package/typechain-types/IPAllAction.ts +355 -284
  546. package/typechain-types/IPLimitRouter.ts +702 -0
  547. package/typechain-types/IPOrderMixin.ts +479 -0
  548. package/typechain-types/IPRouterHelper.ts +6 -19
  549. package/typechain-types/IPRouterStatic.ts +28 -220
  550. package/typechain-types/IStaderStakeManager.ts +700 -0
  551. package/typechain-types/KyberMathHelper.ts +604 -0
  552. package/typechain-types/KyberNftManagerBaseUpg.ts +148 -0
  553. package/typechain-types/NonceManager.ts +209 -0
  554. package/typechain-types/PendleAuraBalancerStableLPSYV3Upg.ts +1512 -0
  555. package/typechain-types/PendleERC20PermitUpg.ts +452 -0
  556. package/typechain-types/PendleERC20Upg.ts +348 -0
  557. package/typechain-types/PendleETHXSY.ts +1231 -0
  558. package/typechain-types/PendleKyberElasticSY.ts +1583 -0
  559. package/typechain-types/PendleLimitRouter.ts +1041 -0
  560. package/typechain-types/PendleOrderMixin.ts +818 -0
  561. package/typechain-types/PendleRouterHelper.ts +7 -23
  562. package/typechain-types/PredicateHelper.ts +298 -0
  563. package/typechain-types/RouterV2InterfaceForRouterHelper.ts +479 -0
  564. package/typechain-types/SYBaseUpg.ts +1205 -0
  565. package/typechain-types/SYBaseWithRewardsUpg.ts +1298 -0
  566. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1051 -31
  567. package/typechain-types/factories/ActionBaseCallback__factory.ts +0 -59
  568. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  569. package/typechain-types/factories/ActionLimitOrdersStatic__factory.ts +499 -0
  570. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  571. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -46
  572. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -102
  573. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -21
  574. package/typechain-types/factories/ActionMisc__factory.ts +877 -2
  575. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -27
  576. package/typechain-types/factories/ActionSwapPT__factory.ts +689 -162
  577. package/typechain-types/factories/ActionSwapYT__factory.ts +692 -186
  578. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  579. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  580. package/typechain-types/factories/AllErrorsDirectory__factory.ts +1596 -0
  581. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  582. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  583. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1215 -0
  584. package/typechain-types/factories/AutomationBase__factory.ts +1 -1
  585. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  586. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  587. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  588. package/typechain-types/factories/CamelotRewardHelper__factory.ts +1 -1
  589. package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
  590. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +1 -1
  591. package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +1 -1
  592. package/typechain-types/factories/EIP712Upgradeable__factory.ts +39 -0
  593. package/typechain-types/factories/ERC20__factory.ts +1 -1
  594. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  595. package/typechain-types/factories/Errors__factory.ts +8 -161
  596. package/typechain-types/factories/IDaiLikePermit__factory.ts +74 -0
  597. package/typechain-types/factories/IERC1271__factory.ts +47 -0
  598. package/typechain-types/factories/IKyberElasticFactory__factory.ts +455 -0
  599. package/typechain-types/factories/IKyberElasticPool__factory.ts +315 -0
  600. package/typechain-types/factories/IKyberElasticRouter__factory.ts +240 -0
  601. package/typechain-types/factories/IKyberLiquidityMining__factory.ts +913 -0
  602. package/typechain-types/factories/IKyberMathHelper__factory.ts +143 -0
  603. package/typechain-types/factories/IKyberPositionManager__factory.ts +633 -0
  604. package/typechain-types/factories/ILimitOrderCallee__factory.ts +92 -0
  605. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +1050 -30
  606. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +0 -45
  607. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +0 -69
  608. package/typechain-types/factories/IPActionMintRedeem__factory.ts +0 -20
  609. package/typechain-types/factories/IPActionMisc__factory.ts +734 -1
  610. package/typechain-types/factories/IPActionStorageStatic__factory.ts +0 -26
  611. package/typechain-types/factories/IPActionSwapPT__factory.ts +688 -108
  612. package/typechain-types/factories/IPActionSwapYT__factory.ts +688 -108
  613. package/typechain-types/factories/IPAllAction__factory.ts +2550 -331
  614. package/typechain-types/factories/IPLimitRouter__factory.ts +791 -0
  615. package/typechain-types/factories/IPOrderMixin__factory.ts +556 -0
  616. package/typechain-types/factories/IPRouterHelper__factory.ts +0 -25
  617. package/typechain-types/factories/IPRouterStatic__factory.ts +0 -140
  618. package/typechain-types/factories/IStaderStakeManager__factory.ts +435 -0
  619. package/typechain-types/factories/KyberMathHelper__factory.ts +430 -0
  620. package/typechain-types/factories/KyberNftManagerBaseUpg__factory.ts +101 -0
  621. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  622. package/typechain-types/factories/LinearPreview__factory.ts +1 -1
  623. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  624. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  625. package/typechain-types/factories/NonceManager__factory.ts +149 -0
  626. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  627. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  628. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  629. package/typechain-types/factories/PendleAuraBalancerStableLPSYV3Upg__factory.ts +1160 -0
  630. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  631. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  632. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  633. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  634. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1 -1
  635. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  636. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  637. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  638. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  639. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +1 -1
  640. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  641. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  642. package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +340 -0
  643. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  644. package/typechain-types/factories/PendleERC20Upg__factory.ts +261 -0
  645. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  646. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  647. package/typechain-types/factories/PendleETHXSY__factory.ts +1059 -0
  648. package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
  649. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  650. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  651. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  652. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
  653. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  654. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  655. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  656. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  657. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  658. package/typechain-types/factories/PendleKyberElasticSY__factory.ts +1302 -0
  659. package/typechain-types/factories/PendleLimitRouter__factory.ts +1064 -0
  660. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  661. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  662. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
  663. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
  664. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  665. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  666. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  667. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  668. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  669. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  670. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  671. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  672. package/typechain-types/factories/PendleOrderMixin__factory.ts +775 -0
  673. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  674. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  675. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  676. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  677. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  678. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  679. package/typechain-types/factories/PendleRouterHelper__factory.ts +2 -32
  680. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  681. package/typechain-types/factories/PendleRouter__factory.ts +1 -21
  682. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  683. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  684. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  685. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  686. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  687. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  688. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  689. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  690. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  691. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  692. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  693. package/typechain-types/factories/PredicateHelper__factory.ts +218 -0
  694. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  695. package/typechain-types/factories/RouterV2InterfaceForRouterHelper__factory.ts +487 -0
  696. package/typechain-types/factories/SAPE__factory.ts +1 -1
  697. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -170
  698. package/typechain-types/factories/SYBaseUpg__factory.ts +939 -0
  699. package/typechain-types/factories/SYBaseWithRewardsUpg__factory.ts +1012 -0
  700. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  701. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  702. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  703. package/typechain-types/hardhat.d.ts +108 -63
  704. package/typechain-types/index.ts +24 -14
  705. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +0 -4
  706. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +0 -642
  707. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +0 -4
  708. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +0 -521
  709. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +0 -4
  710. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +0 -4
  711. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +0 -4
  712. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +0 -321
  713. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +0 -4
  714. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +0 -92
  715. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +0 -4
  716. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +0 -34
  717. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +0 -4
  718. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +0 -125
  719. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +0 -4
  720. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +0 -753
  721. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +0 -4
  722. package/contracts/core/BulkSeller/BulkSeller.sol +0 -233
  723. package/contracts/core/BulkSeller/BulkSellerFactory.sol +0 -85
  724. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +0 -139
  725. package/contracts/interfaces/IPActionMintRedeem.sol +0 -108
  726. package/contracts/interfaces/IPBulkSeller.sol +0 -48
  727. package/contracts/interfaces/IPBulkSellerFactory.sol +0 -12
  728. package/contracts/interfaces/IPBulkSellerSYCallback.sol +0 -6
  729. package/contracts/offchain-helpers/BulkSellerOffchain.sol +0 -69
  730. package/contracts/router/ActionMintRedeem.sol +0 -134
  731. package/contracts/router/base/ActionBaseMintRedeem.sol +0 -203
  732. package/deployments/core.ts +0 -29
  733. package/deployments/index.ts +0 -4
  734. package/deployments/markets/ape-june-29-2023.ts +0 -3
  735. package/deployments/markets/balancer-reth-dec-28-2023.ts +0 -3
  736. package/deployments/markets/balancer-wsteth-jun-27-2024.ts +0 -3
  737. package/deployments/markets/curve-fraxusdc-march-30-2023.ts +0 -3
  738. package/deployments/markets/index.ts +0 -17
  739. package/deployments/markets/looks-march-30-2023.ts +0 -3
  740. package/deployments/markets/steth-june-29-2023.ts +0 -3
  741. package/deployments/markets/steth-march-30-2023.ts +0 -3
  742. package/deployments/markets/types.ts +0 -9
  743. package/deployments/misc.ts +0 -23
@@ -1,254 +1,168 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "./base/ActionBaseMintRedeem.sol";
5
- import "./base/CallbackHelper.sol";
6
- import "../interfaces/IPActionSwapYT.sol";
7
- import "../interfaces/IAddressProvider.sol";
8
- import "../interfaces/IPMarket.sol";
9
- import "../core/libraries/Errors.sol";
2
+ pragma solidity 0.8.21;
10
3
 
4
+ import "./base/ActionBase.sol";
11
5
  import "./base/ActionBaseCallback.sol";
6
+ import "../interfaces/IPActionSwapYT.sol";
12
7
 
13
- /// @dev All swap actions will revert if market is expired
14
- contract ActionSwapYT is ActionBaseCallback, IPActionSwapYT, ActionBaseMintRedeem {
8
+ contract ActionSwapYT is ActionBaseCallback, IPActionSwapYT, ActionBase {
15
9
  using PMath for uint256;
16
- using PMath for int256;
17
- using MarketMathCore for MarketState;
18
10
  using MarketApproxPtInLib for MarketState;
19
11
  using MarketApproxPtOutLib for MarketState;
20
12
  using PYIndexLib for IPYieldToken;
21
13
 
22
- constructor(
23
- IAddressProvider provider,
24
- uint256 providerId
25
- ) ActionBaseCallback(_getMarketFactory(provider, providerId)) {}
14
+ // ------------------ SWAP TOKEN FOR YT ------------------
15
+
16
+ function swapExactTokenForYt(
17
+ address receiver,
18
+ address market,
19
+ uint256 minYtOut,
20
+ ApproxParams calldata guessYtOut,
21
+ TokenInput calldata input,
22
+ LimitOrderData calldata limit
23
+ ) external payable returns (uint256 netYtOut, uint256 netSyFee) {
24
+ (IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
25
+
26
+ uint256 netSyUsedToBuyYT = _mintSyFromToken(_entry_swapExactSyForYt(YT, limit), address(SY), 1, input);
27
+ (netYtOut, netSyFee) =
28
+ _swapExactSyForYt(receiver, market, SY, YT, netSyUsedToBuyYT, minYtOut, guessYtOut, limit);
26
29
 
27
- function _getMarketFactory(
28
- IAddressProvider provider,
29
- uint256 providerId
30
- ) internal view returns (address) {
31
- return provider.get(providerId);
30
+ emit SwapYtAndToken(msg.sender, market, input.tokenIn, receiver, netYtOut.Int(), input.netTokenIn.neg());
32
31
  }
33
32
 
34
- /**
35
- * @notice swap exact SY to YT with the help of flashswaps & YT tokenization / redemption
36
- * @dev inner working of this function:
37
- - `exactSyIn` SY is transferred to YT contract
38
- - `market.swapExactPtForSy` is called, which will transfer more SY directly to YT contract &
39
- callback is invoked. Note that now we owe PT
40
- - in callback, all SY in YT contract is used to mint PT + YT, with all PT used to pay back the
41
- loan, and all YT transferred to the receiver
42
- * @param exactSyIn will always consume this amount of SY for as much YT as possible
43
- * @param guessYtOut approximation data for total YT output
44
- * @dev this function works in conjunction with ActionCallback
45
- */
46
33
  function swapExactSyForYt(
47
34
  address receiver,
48
35
  address market,
49
36
  uint256 exactSyIn,
50
37
  uint256 minYtOut,
51
- ApproxParams calldata guessYtOut
38
+ ApproxParams calldata guessYtOut,
39
+ LimitOrderData calldata limit
52
40
  ) external returns (uint256 netYtOut, uint256 netSyFee) {
53
- (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
54
-
55
- _transferFrom(IERC20(SY), msg.sender, address(YT), exactSyIn);
56
-
57
- (netYtOut, netSyFee) = _swapExactSyForYt(
58
- receiver,
59
- market,
60
- YT,
61
- exactSyIn,
62
- minYtOut,
63
- guessYtOut
64
- );
41
+ (IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
42
+ _transferFrom(SY, msg.sender, _entry_swapExactSyForYt(YT, limit), exactSyIn);
65
43
 
44
+ (netYtOut, netSyFee) = _swapExactSyForYt(receiver, market, SY, YT, exactSyIn, minYtOut, guessYtOut, limit);
66
45
  emit SwapYtAndSy(msg.sender, market, receiver, netYtOut.Int(), exactSyIn.neg());
67
46
  }
68
47
 
69
- /**
70
- * @notice swap exact YT to SY with the help of flashswaps & YT tokenization / redemption
71
- * @dev inner working of this function:
72
- - `exactYtIn` YT is transferred to YT contract
73
- - `market.swapSyForExactPt` is called, which will transfer PT directly to YT contract &
74
- callback is invoked. Note that now we owe SY.
75
- - In callback, all PT + YT in YT contract is used to redeem SY. A portion of SY is used to
76
- payback the loan, the rest is transferred to the `receiver`
77
- * @param exactYtIn will consume exactly this much YT for as much SY as possible
78
- * @dev this function works in conjunction with ActionCallback
79
- */
80
- function swapExactYtForSy(
81
- address receiver,
82
- address market,
83
- uint256 exactYtIn,
84
- uint256 minSyOut
85
- ) external returns (uint256 netSyOut, uint256 netSyFee) {
86
- (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
87
-
88
- _transferFrom(IERC20(YT), msg.sender, address(YT), exactYtIn);
89
-
90
- (netSyOut, netSyFee) = _swapExactYtForSy(receiver, market, SY, YT, exactYtIn, minSyOut);
91
-
92
- emit SwapYtAndSy(msg.sender, market, receiver, exactYtIn.neg(), netSyOut.Int());
48
+ function _entry_swapExactSyForYt(IPYieldToken YT, LimitOrderData calldata limit) internal view returns (address) {
49
+ return !_isEmptyLimit(limit) ? address(this) : address(YT);
93
50
  }
94
51
 
95
- /**
96
- * @notice swap SY to exact YT with the help of flashswaps & YT tokenization / redemption
97
- * @dev inner working of this function:
98
- - `market.swapExactPtForSy` is called, which will transfer SY directly to YT contract &
99
- callback is invoked. Note that now we owe PT
100
- - In callback, we will pull in more SY as needed from caller & mint all SY to PT + YT. PT is
101
- then used to payback the loan, while YT is transferred to `receiver`
102
- * @param exactYtOut will output exactly this amount of YT, no approximation is used
103
- * @dev this function works in conjunction with ActionCallback
104
- */
105
- function swapSyForExactYt(
52
+ function _swapExactSyForYt(
106
53
  address receiver,
107
54
  address market,
108
- uint256 exactYtOut,
109
- uint256 maxSyIn
110
- ) external returns (uint256 netSyIn, uint256 netSyFee) {
111
- (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
112
-
113
- uint256 preSyBalance = SY.balanceOf(msg.sender);
114
-
115
- (, netSyFee) = IPMarket(market).swapExactPtForSy(
116
- address(YT),
117
- exactYtOut, // exactPtIn = exactYtOut
118
- _encodeSwapSyForExactYt(msg.sender, receiver, maxSyIn, SY, YT)
119
- );
120
-
121
- netSyIn = preSyBalance - SY.balanceOf(msg.sender);
55
+ IStandardizedYield SY,
56
+ IPYieldToken YT,
57
+ uint256 exactSyIn,
58
+ uint256 minYtOut,
59
+ ApproxParams calldata guessYtOut,
60
+ LimitOrderData calldata limit
61
+ ) internal returns (uint256 netYtOut, uint256 netSyFee) {
62
+ uint256 netSyLeft = exactSyIn;
63
+ bool doMarketOrder = true;
64
+
65
+ if (!_isEmptyLimit(limit)) {
66
+ (netSyLeft, netYtOut, netSyFee, doMarketOrder) = _fillLimit(receiver, netSyLeft, limit);
67
+ if (doMarketOrder) {
68
+ _transferOut(address(SY), address(YT), netSyLeft);
69
+ }
70
+ }
71
+
72
+ if (doMarketOrder) {
73
+ (uint256 netYtOutMarket,) =
74
+ _readMarket(market).approxSwapExactSyForYt(YT.newIndex(), netSyLeft, block.timestamp, guessYtOut);
75
+
76
+ (, uint256 netSyFeeMarket) = IPMarket(market).swapExactPtForSy(
77
+ address(YT),
78
+ netYtOutMarket, // exactPtIn = netYtOut
79
+ _encodeSwapExactSyForYt(receiver, YT)
80
+ );
81
+
82
+ netYtOut += netYtOutMarket;
83
+ netSyFee += netSyFeeMarket;
84
+ }
122
85
 
123
- emit SwapYtAndSy(msg.sender, market, receiver, exactYtOut.Int(), netSyIn.neg());
86
+ if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
124
87
  }
125
88
 
126
- /**
127
- * @notice swap YT to exact SY with the help of flashswaps & YT tokenization / redemption
128
- * @dev inner working of this function:
129
- - Approximates `netYtIn` using the data from `guessYtIn`
130
- - Pulls `netYtIn` amount of YT from caller
131
- - `market.swapSyForExactPt` is called, which will transfer PT directly to YT contract &
132
- callback is invoked. Note that now we owe SY
133
- - In callback, we will redeem all PT + YT to get SY. A portion of it is used to payback the
134
- loan. The rest is transferred to `receiver`
135
- * @dev this function works in conjunction with ActionCallback
136
- */
137
- function swapYtForExactSy(
89
+ // ------------------ SWAP TOKEN FOR TOKEN ------------------
90
+
91
+ function swapExactYtForToken(
138
92
  address receiver,
139
93
  address market,
140
- uint256 exactSyOut,
141
- uint256 maxYtIn,
142
- ApproxParams calldata guessYtIn
143
- ) external returns (uint256 netYtIn, uint256 netSyFee) {
144
- MarketState memory state = IPMarket(market).readState(address(this));
145
- (, , IPYieldToken YT) = IPMarket(market).readTokens();
146
-
147
- (netYtIn, , ) = state.approxSwapYtForExactSy(
148
- YT.newIndex(),
149
- exactSyOut,
150
- block.timestamp,
151
- guessYtIn
152
- );
94
+ uint256 exactYtIn,
95
+ TokenOutput calldata output,
96
+ LimitOrderData calldata limit
97
+ ) external returns (uint256 netTokenOut, uint256 netSyFee) {
98
+ (IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
99
+ _transferFrom(YT, msg.sender, _entry_swapExactYtForSy(YT, limit), exactYtIn);
153
100
 
154
- if (netYtIn > maxYtIn) revert Errors.RouterExceededLimitYtIn(netYtIn, maxYtIn);
101
+ uint256 netSyOut;
155
102
 
156
- _transferFrom(IERC20(YT), msg.sender, address(YT), netYtIn);
103
+ (netSyOut, netSyFee) = _swapExactYtForSy(address(SY), market, SY, YT, exactYtIn, 0, limit);
157
104
 
158
- (, netSyFee) = IPMarket(market).swapSyForExactPt(
159
- address(YT),
160
- netYtIn, // exactPtOut = netYtIn
161
- _encodeSwapYtForSy(receiver, exactSyOut, YT)
162
- );
105
+ netTokenOut = _redeemSyToToken(receiver, address(SY), netSyOut, output, false);
163
106
 
164
- emit SwapYtAndSy(msg.sender, market, receiver, netYtIn.neg(), exactSyOut.Int());
107
+ emit SwapYtAndToken(msg.sender, market, output.tokenOut, receiver, exactYtIn.neg(), netTokenOut.Int());
165
108
  }
166
109
 
167
- /**
168
- * @notice swaps any token to YT
169
- * @dev this function swaps token for SY-mintable token first through Kyberswap, then mints SY
170
- * from such, finally swaps SY to YT (see `swapSyForExactYt()`)
171
- */
172
- function swapExactTokenForYt(
110
+ function swapExactYtForSy(
173
111
  address receiver,
174
112
  address market,
175
- uint256 minYtOut,
176
- ApproxParams calldata guessYtOut,
177
- TokenInput calldata input
178
- ) external payable returns (uint256 netYtOut, uint256 netSyFee) {
179
- (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
180
-
181
- uint256 netSyUsedToBuyYT = _mintSyFromToken(address(YT), address(SY), 1, input);
113
+ uint256 exactYtIn,
114
+ uint256 minSyOut,
115
+ LimitOrderData calldata limit
116
+ ) external returns (uint256 netSyOut, uint256 netSyFee) {
117
+ (IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
118
+ _transferFrom(YT, msg.sender, _entry_swapExactYtForSy(YT, limit), exactYtIn);
182
119
 
183
- (netYtOut, netSyFee) = _swapExactSyForYt(
184
- receiver,
185
- market,
186
- YT,
187
- netSyUsedToBuyYT,
188
- minYtOut,
189
- guessYtOut
190
- );
120
+ (netSyOut, netSyFee) = _swapExactYtForSy(receiver, market, SY, YT, exactYtIn, minSyOut, limit);
121
+ emit SwapYtAndSy(msg.sender, market, receiver, exactYtIn.neg(), netSyOut.Int());
122
+ }
191
123
 
192
- emit SwapYtAndToken(
193
- msg.sender,
194
- market,
195
- input.tokenIn,
196
- receiver,
197
- netYtOut.Int(),
198
- input.netTokenIn.neg()
199
- );
124
+ function _entry_swapExactYtForSy(IPYieldToken YT, LimitOrderData calldata limit) internal view returns (address) {
125
+ return !_isEmptyLimit(limit) ? address(this) : address(YT);
200
126
  }
201
127
 
202
- /**
203
- * @notice swaps YT to a given token
204
- * @dev the function first swaps YT to SY (see `swapExactYtForSy()`), then redeems SY,
205
- * finally swaps resulting tokens to desired output token using Kyberswap
206
- */
207
- function swapExactYtForToken(
128
+ function _swapExactYtForSy(
208
129
  address receiver,
209
130
  address market,
210
- uint256 netYtIn,
211
- TokenOutput calldata output
212
- ) external returns (uint256 netTokenOut, uint256 netSyFee) {
213
- (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
214
-
215
- _transferFrom(IERC20(YT), msg.sender, address(YT), netYtIn);
216
-
217
- uint256 netSyOut;
218
-
219
- (netSyOut, netSyFee) = _swapExactYtForSy(
220
- _syOrBulk(address(SY), output),
221
- market,
222
- SY,
223
- YT,
224
- netYtIn,
225
- 1
226
- );
227
-
228
- netTokenOut = _redeemSyToToken(receiver, address(SY), netSyOut, output, false);
229
-
230
- emit SwapYtAndToken(
231
- msg.sender,
232
- market,
233
- output.tokenOut,
234
- receiver,
235
- netYtIn.neg(),
236
- netTokenOut.Int()
237
- );
131
+ IStandardizedYield SY,
132
+ IPYieldToken YT,
133
+ uint256 exactYtIn,
134
+ uint256 minSyOut,
135
+ LimitOrderData calldata limit
136
+ ) internal returns (uint256 netSyOut, uint256 netSyFee) {
137
+ uint256 netYtLeft = exactYtIn;
138
+ bool doMarketOrder = true;
139
+
140
+ if (!_isEmptyLimit(limit)) {
141
+ (netYtLeft, netSyOut, netSyFee, doMarketOrder) = _fillLimit(receiver, netYtLeft, limit);
142
+ if (doMarketOrder) {
143
+ _transferOut(address(YT), address(YT), netYtLeft);
144
+ }
145
+ }
146
+
147
+ if (doMarketOrder) {
148
+ uint256 preSyBalance = SY.balanceOf(receiver);
149
+
150
+ (, uint256 netSyFeeMarket) = IPMarket(market).swapSyForExactPt(
151
+ address(YT),
152
+ netYtLeft, // exactPtOut = netYtLeft
153
+ _encodeSwapYtForSy(receiver, YT)
154
+ );
155
+
156
+ // avoid stack issue
157
+ netSyFee += netSyFeeMarket;
158
+ netSyOut += SY.balanceOf(receiver) - preSyBalance;
159
+ }
160
+
161
+ if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
238
162
  }
239
163
 
240
- /**
241
- * @notice swap exact PT to YT with the help of flashswaps & YT tokenization / redemption
242
- * @dev inner working of this function:
243
- - `exactPtIn` PT is transferred to market contract
244
- - `market.swapExactPtForSy` is called, which will transfer SY directly to YT contract & callback is invoked.
245
- Note that we will owe PT, the amount before is not sufficient
246
- - in callback, all SY in YT contract is used to mint PT + YT, with PT used to pay the rest of the loan, and YT
247
- transferred to the receiver
248
- * @param exactPtIn will always consume this amount of PT for as much YT as possible
249
- * @param guessTotalPtToSwap approximation data for PT used for the PT-to-SY flashswap
250
- * @dev this function works in conjunction with ActionCallback
251
- */
164
+ // ------------------ SWAP PT FOR YT ------------------
165
+
252
166
  function swapExactPtForYt(
253
167
  address receiver,
254
168
  address market,
@@ -257,41 +171,20 @@ contract ActionSwapYT is ActionBaseCallback, IPActionSwapYT, ActionBaseMintRedee
257
171
  ApproxParams calldata guessTotalPtToSwap
258
172
  ) external returns (uint256 netYtOut, uint256 netSyFee) {
259
173
  (, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
260
- MarketState memory state = IPMarket(market).readState(address(this));
261
-
262
- _transferFrom(IERC20(PT), msg.sender, market, exactPtIn);
263
174
 
264
175
  uint256 totalPtToSwap;
265
- (netYtOut, totalPtToSwap, netSyFee) = state.approxSwapExactPtForYt(
266
- YT.newIndex(),
267
- exactPtIn,
268
- block.timestamp,
269
- guessTotalPtToSwap
270
- );
271
-
272
- if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
176
+ (, totalPtToSwap, netSyFee) =
177
+ _readMarket(market).approxSwapExactPtForYt(YT.newIndex(), exactPtIn, block.timestamp, guessTotalPtToSwap);
273
178
 
179
+ _transferFrom(IERC20(PT), msg.sender, market, exactPtIn);
274
180
  IPMarket(market).swapExactPtForSy(
275
- address(YT),
276
- totalPtToSwap,
277
- _encodeSwapExactPtForYt(receiver, exactPtIn, minYtOut, YT)
181
+ address(YT), totalPtToSwap, _encodeSwapExactPtForYt(receiver, exactPtIn, minYtOut, YT)
278
182
  );
279
183
 
280
184
  emit SwapPtAndYt(msg.sender, market, receiver, exactPtIn.neg(), netYtOut.Int());
281
185
  }
282
186
 
283
- /**
284
- * @notice swap exact YT to PT with the help of flashswaps & YT tokenization / redemption
285
- * @dev inner working of this function:
286
- - `exactYtIn` YT is transferred to yield contract
287
- - `market.swapSyForExactPt` is called, which will transfer PT directly to this contract & callback is invoked.
288
- Note that we now owe SY
289
- - in callback, a portion of PT + YT is used to redeem SY, which is then used to payback the loan. The rest of
290
- of the PT is transferred to `receiver`
291
- * @param exactYtIn will always consume this amount of YT for as much PT as possible
292
- * @param guessTotalPtFromSwap approximation data for PT output of the SY-to-PT flashswap
293
- * @dev this function works in conjunction with ActionCallback
294
- */
187
+ // ------------------ SWAP YT FOR PT ------------------
295
188
  function swapExactYtForPt(
296
189
  address receiver,
297
190
  address market,
@@ -300,72 +193,18 @@ contract ActionSwapYT is ActionBaseCallback, IPActionSwapYT, ActionBaseMintRedee
300
193
  ApproxParams calldata guessTotalPtFromSwap
301
194
  ) external returns (uint256 netPtOut, uint256 netSyFee) {
302
195
  (, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
303
- MarketState memory state = IPMarket(market).readState(address(this));
304
-
305
- _transferFrom(IERC20(YT), msg.sender, address(YT), exactYtIn);
306
196
 
307
197
  uint256 totalPtFromSwap;
308
- (netPtOut, totalPtFromSwap, netSyFee) = state.approxSwapExactYtForPt(
309
- YT.newIndex(),
310
- exactYtIn,
311
- block.timestamp,
312
- guessTotalPtFromSwap
313
- );
198
+ (netPtOut, totalPtFromSwap, netSyFee) =
199
+ _readMarket(market).approxSwapExactYtForPt(YT.newIndex(), exactYtIn, block.timestamp, guessTotalPtFromSwap);
314
200
 
315
201
  if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
316
202
 
203
+ _transferFrom(IERC20(YT), msg.sender, address(YT), exactYtIn);
317
204
  IPMarket(market).swapSyForExactPt(
318
- address(this),
319
- totalPtFromSwap,
320
- _encodeSwapExactYtForPt(receiver, exactYtIn, minPtOut, PT, YT)
205
+ address(this), totalPtFromSwap, _encodeSwapExactYtForPt(receiver, netPtOut, PT, YT)
321
206
  );
322
207
 
323
208
  emit SwapPtAndYt(msg.sender, market, receiver, netPtOut.Int(), exactYtIn.neg());
324
209
  }
325
-
326
- function _swapExactSyForYt(
327
- address receiver,
328
- address market,
329
- IPYieldToken YT,
330
- uint256 exactSyIn,
331
- uint256 minYtOut,
332
- ApproxParams calldata guessYtOut
333
- ) internal returns (uint256 netYtOut, uint256 netSyFee) {
334
- MarketState memory state = IPMarket(market).readState(address(this));
335
-
336
- (netYtOut, ) = state.approxSwapExactSyForYt(
337
- YT.newIndex(),
338
- exactSyIn,
339
- block.timestamp,
340
- guessYtOut
341
- );
342
-
343
- // early-check
344
- if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
345
-
346
- (, netSyFee) = IPMarket(market).swapExactPtForSy(
347
- address(YT),
348
- netYtOut, // exactPtIn = netYtOut
349
- _encodeSwapExactSyForYt(receiver, minYtOut, YT)
350
- );
351
- }
352
-
353
- function _swapExactYtForSy(
354
- address receiver,
355
- address market,
356
- IStandardizedYield SY,
357
- IPYieldToken YT,
358
- uint256 exactYtIn,
359
- uint256 minSyOut
360
- ) internal returns (uint256 netSyOut, uint256 netSyFee) {
361
- uint256 preSyBalance = SY.balanceOf(receiver);
362
-
363
- (, netSyFee) = IPMarket(market).swapSyForExactPt(
364
- address(YT),
365
- exactYtIn, // exactPtOut = exactYtIn
366
- _encodeSwapYtForSy(receiver, minSyOut, YT)
367
- );
368
-
369
- netSyOut = SY.balanceOf(receiver) - preSyBalance;
370
- }
371
210
  }