@pendle/core-v2 3.0.0-beta-3 → 3.0.0-beta-5

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 (549) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +2 -2
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.json +2 -2
  27. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  29. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  31. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  42. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.json +2 -2
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.json +2 -2
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/HLPPricingHelper.sol/HLPPricingHelper.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  135. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  137. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  139. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  141. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  143. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  145. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  146. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -2
  148. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  150. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
  152. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  154. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  157. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  158. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  159. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/Flux/IFluxErc20.sol/IFluxErc20.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/Flux/IFluxInterestRateModel.sol/IFluxInterestRateModel.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/HMX/IHLPStaking.sol/IHLPStaking.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/HMX/IHMXCalculator.sol/IHMXCalculator.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/HMX/IHMXCompounder.sol/IHMXCompounder.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/HMX/IHMXStaking.sol/IHMXStaking.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/HMX/IHMXVester.sol/IHMXVester.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +4 -0
  216. package/build/artifacts/contracts/interfaces/{IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json → IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json} +80 -3
  217. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +4 -0
  222. package/build/artifacts/contracts/interfaces/{IPActionMisc.sol/IPActionMisc.json → IPActionMiscV3.sol/IPActionMiscV3.json} +124 -34
  223. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +4 -0
  225. package/build/artifacts/contracts/interfaces/{IPActionSwapPT.sol/IPActionSwapPT.json → IPActionSwapPTV3.sol/IPActionSwapPTV3.json} +18 -2
  226. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +4 -0
  227. package/build/artifacts/contracts/interfaces/{IPActionSwapYT.sol/IPActionSwapYT.json → IPActionSwapYTV3.sol/IPActionSwapYTV3.json} +19 -3
  228. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +4 -0
  230. package/build/artifacts/contracts/interfaces/{IPAllAction.sol/IPAllAction.json → IPAllActionV3.sol/IPAllActionV3.json} +235 -36
  231. package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +18 -52
  242. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixinType.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  261. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  262. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
  263. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  264. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  265. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  266. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  267. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  268. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  269. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  270. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  271. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  272. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
  273. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  274. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  275. package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.dbg.json +1 -1
  276. package/build/artifacts/contracts/interfaces/Stader/IStaderStakeManager.sol/IStaderStakeManager.dbg.json +1 -1
  277. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +1 -1
  278. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +1 -1
  279. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +1 -1
  280. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +1 -1
  281. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  282. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  283. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  284. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +35 -69
  285. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.dbg.json +1 -1
  286. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.dbg.json +1 -1
  287. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.json +2 -2
  288. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  289. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +2 -2
  290. package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.dbg.json +1 -1
  291. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.dbg.json +1 -1
  292. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.json +2 -2
  293. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  294. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  295. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  296. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  297. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  298. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  299. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  300. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  301. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  302. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  303. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  304. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  305. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +1 -1
  306. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  307. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  308. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  309. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  310. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  311. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  312. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  313. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  314. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  315. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  316. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  317. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  318. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  319. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
  320. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +2 -2
  321. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  322. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
  323. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  324. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  325. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  326. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  327. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  328. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  329. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  330. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  331. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  332. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  333. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  334. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  335. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  336. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  337. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  338. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  339. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  340. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  341. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  342. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  343. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  344. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  345. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  346. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +4 -0
  347. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2780 -0
  348. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +4 -0
  349. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +1040 -0
  350. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +4 -0
  351. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +1303 -0
  352. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +4 -0
  353. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +1553 -0
  354. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  355. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  356. package/build/artifacts/contracts/router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.dbg.json +1 -1
  357. package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.dbg.json +4 -0
  358. package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.json +174 -0
  359. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  360. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  361. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  362. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  363. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  364. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  365. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  366. package/build/artifacts/contracts/router/base/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  367. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  368. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  369. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  370. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  371. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  372. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  373. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  374. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  375. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.json +2 -2
  376. package/build/artifacts/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  377. package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  378. package/contracts/interfaces/{IPActionAddRemoveLiq.sol → IPActionAddRemoveLiqV3.sol} +46 -40
  379. package/contracts/interfaces/{IPActionMisc.sol → IPActionMiscV3.sol} +17 -14
  380. package/contracts/interfaces/IPActionStorageStatic.sol +1 -1
  381. package/contracts/interfaces/{IPActionSwapPT.sol → IPActionSwapPTV3.sol} +16 -15
  382. package/contracts/interfaces/{IPActionSwapYT.sol → IPActionSwapYTV3.sol} +20 -19
  383. package/contracts/interfaces/IPAllActionV3.sol +19 -0
  384. package/contracts/interfaces/IPLimitRouter.sol +13 -11
  385. package/contracts/interfaces/IPRouterHelper.sol +1 -1
  386. package/contracts/limit/PendleLimitRouter.sol +29 -34
  387. package/contracts/limit/PendleOrderMixin.sol +17 -11
  388. package/contracts/limit/helpers/NonceManager.sol +2 -0
  389. package/contracts/router/{ActionAddRemoveLiq.sol → ActionAddRemoveLiqV3.sol} +43 -37
  390. package/contracts/router/{ActionMisc.sol → ActionMiscV3.sol} +28 -30
  391. package/contracts/router/{ActionSwapPT.sol → ActionSwapPTV3.sol} +15 -15
  392. package/contracts/router/{ActionSwapYT.sol → ActionSwapYTV3.sol} +19 -17
  393. package/contracts/router/PendleRouterHelper.sol +1 -1
  394. package/contracts/router/{PendleRouter.sol → PendleRouterV3.sol} +20 -20
  395. package/contracts/router/base/ActionBase.sol +7 -4
  396. package/contracts/router/swap-aggregator/PendleSwap.sol +1 -1
  397. package/deployments/42161-core.json +3 -3
  398. package/package.json +7 -7
  399. package/typechain-types/{ActionAddRemoveLiq.ts → ActionAddRemoveLiqV3.ts} +95 -39
  400. package/typechain-types/{IPActionMisc.ts → ActionMiscV3.ts} +111 -77
  401. package/typechain-types/{IPActionSwapPT.ts → ActionSwapPTV3.ts} +23 -12
  402. package/typechain-types/{ActionSwapYT.ts → ActionSwapYTV3.ts} +23 -12
  403. package/typechain-types/{IPActionAddRemoveLiq.ts → IPActionAddRemoveLiqV3.ts} +100 -44
  404. package/typechain-types/{ActionMisc.ts → IPActionMiscV3.ts} +111 -77
  405. package/typechain-types/{ActionSwapPT.ts → IPActionSwapPTV3.ts} +23 -12
  406. package/typechain-types/{IPActionSwapYT.ts → IPActionSwapYTV3.ts} +28 -17
  407. package/typechain-types/{IPAllAction.ts → IPAllActionV3.ts} +258 -146
  408. package/typechain-types/IPLimitRouter.ts +59 -100
  409. package/typechain-types/PendleLimitRouter.ts +85 -126
  410. package/typechain-types/{PendleRouter.ts → PendleRouterV3.ts} +5 -5
  411. package/typechain-types/factories/{ActionAddRemoveLiq__factory.ts → ActionAddRemoveLiqV3__factory.ts} +102 -21
  412. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  413. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  414. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  415. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  416. package/typechain-types/factories/ActionMiscV3__factory.ts +1090 -0
  417. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  418. package/typechain-types/factories/{ActionSwapPT__factory.ts → ActionSwapPTV3__factory.ts} +38 -19
  419. package/typechain-types/factories/{ActionSwapYT__factory.ts → ActionSwapYTV3__factory.ts} +38 -19
  420. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  421. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  422. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  423. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  424. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  425. package/typechain-types/factories/CamelotRewardHelper__factory.ts +1 -1
  426. package/typechain-types/factories/ERC20__factory.ts +1 -1
  427. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  428. package/typechain-types/factories/Errors__factory.ts +1 -1
  429. package/typechain-types/factories/{IPActionAddRemoveLiq__factory.ts → IPActionAddRemoveLiqV3__factory.ts} +86 -9
  430. package/typechain-types/factories/{IPActionMisc__factory.ts → IPActionMiscV3__factory.ts} +131 -38
  431. package/typechain-types/factories/{IPActionSwapPT__factory.ts → IPActionSwapPTV3__factory.ts} +24 -8
  432. package/typechain-types/factories/{IPActionSwapYT__factory.ts → IPActionSwapYTV3__factory.ts} +25 -9
  433. package/typechain-types/factories/{IPAllAction__factory.ts → IPAllActionV3__factory.ts} +239 -40
  434. package/typechain-types/factories/IPLimitRouter__factory.ts +17 -51
  435. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  436. package/typechain-types/factories/LinearPreview__factory.ts +1 -1
  437. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  438. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  439. package/typechain-types/factories/NonceManager__factory.ts +1 -1
  440. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  441. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  442. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  443. package/typechain-types/factories/PendleLimitRouter__factory.ts +34 -68
  444. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  445. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  446. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  447. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  448. package/typechain-types/factories/PendleRouterV3__factory.ts +247 -0
  449. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  450. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  451. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
  452. package/typechain-types/hardhat.d.ts +45 -144
  453. package/typechain-types/index.ts +20 -42
  454. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +0 -4
  455. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +0 -4
  456. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +0 -4
  457. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +0 -4
  458. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +0 -4
  459. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.dbg.json +0 -4
  460. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.json +0 -176
  461. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +0 -4
  462. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +0 -2703
  463. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +0 -4
  464. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +0 -950
  465. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +0 -4
  466. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +0 -1287
  467. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +0 -4
  468. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +0 -1537
  469. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +0 -4
  470. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +0 -174
  471. package/contracts/interfaces/IPAllAction.sol +0 -19
  472. package/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol +0 -45
  473. package/typechain-types/AccessControlUpgradeable.ts +0 -369
  474. package/typechain-types/ActionLimitOrdersStatic.ts +0 -262
  475. package/typechain-types/ActionMintRedeem.ts +0 -667
  476. package/typechain-types/AllErrorsDirectory.ts +0 -57
  477. package/typechain-types/AuraWethVethSYUpg.ts +0 -1547
  478. package/typechain-types/AutomationBase.ts +0 -57
  479. package/typechain-types/AutomationCompatible.ts +0 -140
  480. package/typechain-types/AutomationCompatibleInterface.ts +0 -141
  481. package/typechain-types/BeaconProxy.ts +0 -97
  482. package/typechain-types/BulkSeller.ts +0 -743
  483. package/typechain-types/BulkSellerFactory.ts +0 -712
  484. package/typechain-types/BulkSellerOffchain.ts +0 -251
  485. package/typechain-types/ChainlinkRelayerAutomation.ts +0 -305
  486. package/typechain-types/ContextUpgradeable.ts +0 -68
  487. package/typechain-types/ERC165Upgradeable.ts +0 -113
  488. package/typechain-types/IAccessControlUpgradeable.ts +0 -305
  489. package/typechain-types/IERC165Upgradeable.ts +0 -102
  490. package/typechain-types/IKyberElasticFactory.ts +0 -734
  491. package/typechain-types/IKyberElasticPool.ts +0 -514
  492. package/typechain-types/IKyberElasticRouter.ts +0 -315
  493. package/typechain-types/IKyberLiquidityMining.ts +0 -968
  494. package/typechain-types/IKyberMathHelper.ts +0 -231
  495. package/typechain-types/IKyberPositionManager.ts +0 -773
  496. package/typechain-types/IPActionMintRedeem.ts +0 -667
  497. package/typechain-types/IPBulkSeller.ts +0 -391
  498. package/typechain-types/IPBulkSellerCallback.ts +0 -115
  499. package/typechain-types/IPBulkSellerFactory.ts +0 -152
  500. package/typechain-types/KyberMathHelper.ts +0 -604
  501. package/typechain-types/KyberNftManagerBaseUpg.ts +0 -148
  502. package/typechain-types/PendleAuraBalancerStableLPSYV3Upg.ts +0 -1512
  503. package/typechain-types/PendleERC20PermitUpg.ts +0 -452
  504. package/typechain-types/PendleERC20Upg.ts +0 -348
  505. package/typechain-types/PendleKyberElasticSY.ts +0 -1583
  506. package/typechain-types/PredicateHelper.ts +0 -298
  507. package/typechain-types/ReentrancyGuardUpgradeable.ts +0 -68
  508. package/typechain-types/SYBaseUpg.ts +0 -1205
  509. package/typechain-types/SYBaseWithRewardsUpg.ts +0 -1298
  510. package/typechain-types/factories/AccessControlUpgradeable__factory.ts +0 -247
  511. package/typechain-types/factories/ActionLimitOrdersStatic__factory.ts +0 -499
  512. package/typechain-types/factories/ActionMintRedeem__factory.ts +0 -786
  513. package/typechain-types/factories/ActionMisc__factory.ts +0 -1000
  514. package/typechain-types/factories/AllErrorsDirectory__factory.ts +0 -1596
  515. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +0 -1215
  516. package/typechain-types/factories/AutomationBase__factory.ts +0 -69
  517. package/typechain-types/factories/AutomationCompatibleInterface__factory.ts +0 -67
  518. package/typechain-types/factories/AutomationCompatible__factory.ts +0 -72
  519. package/typechain-types/factories/BeaconProxy__factory.ts +0 -141
  520. package/typechain-types/factories/BulkSellerFactory__factory.ts +0 -574
  521. package/typechain-types/factories/BulkSellerOffchain__factory.ts +0 -178
  522. package/typechain-types/factories/BulkSeller__factory.ts +0 -692
  523. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +0 -238
  524. package/typechain-types/factories/ContextUpgradeable__factory.ts +0 -39
  525. package/typechain-types/factories/ERC165Upgradeable__factory.ts +0 -58
  526. package/typechain-types/factories/IAccessControlUpgradeable__factory.ts +0 -202
  527. package/typechain-types/factories/IERC165Upgradeable__factory.ts +0 -45
  528. package/typechain-types/factories/IKyberElasticFactory__factory.ts +0 -455
  529. package/typechain-types/factories/IKyberElasticPool__factory.ts +0 -315
  530. package/typechain-types/factories/IKyberElasticRouter__factory.ts +0 -240
  531. package/typechain-types/factories/IKyberLiquidityMining__factory.ts +0 -913
  532. package/typechain-types/factories/IKyberMathHelper__factory.ts +0 -143
  533. package/typechain-types/factories/IKyberPositionManager__factory.ts +0 -633
  534. package/typechain-types/factories/IPActionMintRedeem__factory.ts +0 -700
  535. package/typechain-types/factories/IPBulkSellerCallback__factory.ts +0 -53
  536. package/typechain-types/factories/IPBulkSellerFactory__factory.ts +0 -107
  537. package/typechain-types/factories/IPBulkSeller__factory.ts +0 -333
  538. package/typechain-types/factories/KyberMathHelper__factory.ts +0 -430
  539. package/typechain-types/factories/KyberNftManagerBaseUpg__factory.ts +0 -101
  540. package/typechain-types/factories/PendleAuraBalancerStableLPSYV3Upg__factory.ts +0 -1160
  541. package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +0 -340
  542. package/typechain-types/factories/PendleERC20Upg__factory.ts +0 -261
  543. package/typechain-types/factories/PendleKyberElasticSY__factory.ts +0 -1302
  544. package/typechain-types/factories/PendleRouter__factory.ts +0 -244
  545. package/typechain-types/factories/PredicateHelper__factory.ts +0 -218
  546. package/typechain-types/factories/ReentrancyGuardUpgradeable__factory.ts +0 -43
  547. package/typechain-types/factories/SYBaseUpg__factory.ts +0 -939
  548. package/typechain-types/factories/SYBaseWithRewardsUpg__factory.ts +0 -1012
  549. /package/contracts/interfaces/{IPAllActionType.sol → IPAllActionTypeV3.sol} +0 -0
@@ -2,9 +2,9 @@
2
2
  pragma solidity ^0.8.0;
3
3
 
4
4
  import "../router/base/MarketApproxLib.sol";
5
- import "./IPAllActionType.sol";
5
+ import "./IPAllActionTypeV3.sol";
6
6
 
7
- interface IPActionSwapYT {
7
+ interface IPActionSwapYTV3 {
8
8
  event SwapYtAndSy(
9
9
  address indexed caller,
10
10
  address indexed market,
@@ -19,7 +19,8 @@ interface IPActionSwapYT {
19
19
  address indexed token,
20
20
  address receiver,
21
21
  int256 netYtToAccount,
22
- int256 netTokenToAccount
22
+ int256 netTokenToAccount,
23
+ uint256 netSyInterm
23
24
  );
24
25
 
25
26
  event SwapPtAndYt(
@@ -30,31 +31,23 @@ interface IPActionSwapYT {
30
31
  int256 netYtToAccount
31
32
  );
32
33
 
33
- function swapExactSyForYt(
34
+ function swapExactTokenForYt(
34
35
  address receiver,
35
36
  address market,
36
- uint256 exactSyIn,
37
37
  uint256 minYtOut,
38
38
  ApproxParams calldata guessYtOut,
39
+ TokenInput calldata input,
39
40
  LimitOrderData calldata limit
40
- ) external returns (uint256 netYtOut, uint256 netSyFee);
41
-
42
- function swapExactYtForSy(
43
- address receiver,
44
- address market,
45
- uint256 exactYtIn,
46
- uint256 minSyOut,
47
- LimitOrderData calldata limit
48
- ) external returns (uint256 netSyOut, uint256 netSyFee);
41
+ ) external payable returns (uint256 netYtOut, uint256 netSyFee, uint256 netSyInterm);
49
42
 
50
- function swapExactTokenForYt(
43
+ function swapExactSyForYt(
51
44
  address receiver,
52
45
  address market,
46
+ uint256 exactSyIn,
53
47
  uint256 minYtOut,
54
48
  ApproxParams calldata guessYtOut,
55
- TokenInput calldata input,
56
49
  LimitOrderData calldata limit
57
- ) external payable returns (uint256 netYtOut, uint256 netSyFee);
50
+ ) external returns (uint256 netYtOut, uint256 netSyFee);
58
51
 
59
52
  function swapExactYtForToken(
60
53
  address receiver,
@@ -62,7 +55,15 @@ interface IPActionSwapYT {
62
55
  uint256 exactYtIn,
63
56
  TokenOutput calldata output,
64
57
  LimitOrderData calldata limit
65
- ) external returns (uint256 netTokenOut, uint256 netSyFee);
58
+ ) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm);
59
+
60
+ function swapExactYtForSy(
61
+ address receiver,
62
+ address market,
63
+ uint256 exactYtIn,
64
+ uint256 minSyOut,
65
+ LimitOrderData calldata limit
66
+ ) external returns (uint256 netSyOut, uint256 netSyFee);
66
67
 
67
68
  function swapExactPtForYt(
68
69
  address receiver,
@@ -77,6 +78,6 @@ interface IPActionSwapYT {
77
78
  address market,
78
79
  uint256 exactYtIn,
79
80
  uint256 minPtOut,
80
- ApproxParams calldata guessTotalPtSwapped
81
+ ApproxParams calldata guessTotalPtFromSwap
81
82
  ) external returns (uint256 netPtOut, uint256 netSyFee);
82
83
  }
@@ -0,0 +1,19 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity ^0.8.0;
4
+
5
+ import "./IPActionAddRemoveLiqV3.sol";
6
+ import "./IPActionSwapPTV3.sol";
7
+ import "./IPActionSwapYTV3.sol";
8
+ import "./IPActionMiscV3.sol";
9
+ import "./IPMarketSwapCallback.sol";
10
+ import "./IDiamondLoupe.sol";
11
+
12
+ interface IPAllActionV3 is
13
+ IPActionAddRemoveLiqV3,
14
+ IPActionSwapPTV3,
15
+ IPActionSwapYTV3,
16
+ IPActionMiscV3,
17
+ IPMarketSwapCallback,
18
+ IDiamondLoupe
19
+ {}
@@ -60,6 +60,11 @@ struct FillOrderParams {
60
60
  }
61
61
 
62
62
  interface IPOrderMixin is IPOrderMixinType {
63
+ struct OrderStatus {
64
+ uint128 filledAmount;
65
+ uint128 remaining;
66
+ }
67
+
63
68
  event OrderCanceled(address indexed maker, bytes32 indexed orderHash);
64
69
 
65
70
  event OrderFilled(
@@ -126,22 +131,19 @@ interface ILimitOrderCallee is IPOrderMixinType {
126
131
  }
127
132
 
128
133
  interface IPLimitRouter is IPOrderMixin {
129
- struct MultiApproval {
130
- address[] tokens;
131
- address spender;
132
- }
133
-
134
134
  function cancelSingle(Order calldata order) external;
135
135
 
136
136
  function cancelBatch(Order[] calldata orders) external;
137
137
 
138
- function approveInf(MultiApproval[] calldata arr) external;
139
-
140
- function remaining(bytes32 orderHash) external view returns (uint256);
141
-
142
- function remainingRaw(bytes32 orderHash) external view returns (uint256);
138
+ function orderStatusesRaw(bytes32[] memory orderHashes)
139
+ external
140
+ view
141
+ returns (uint256[] memory remainingsRaw, uint256[] memory filledAmounts);
143
142
 
144
- function remainingsRaw(bytes32[] memory orderHashes) external view returns (uint256[] memory);
143
+ function orderStatuses(bytes32[] memory orderHashes)
144
+ external
145
+ view
146
+ returns (uint256[] memory remainings, uint256[] memory filledAmounts);
145
147
 
146
148
  function DOMAIN_SEPARATOR() external view returns (bytes32);
147
149
  }
@@ -2,7 +2,7 @@
2
2
  pragma solidity ^0.8.0;
3
3
 
4
4
  import "../router/base/MarketApproxLib.sol";
5
- import "../interfaces/IPAllActionType.sol";
5
+ import "../interfaces/IPAllActionTypeV3.sol";
6
6
 
7
7
  interface IPRouterHelper {
8
8
  /**
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.21;
2
+ pragma solidity ^0.8.17;
3
3
 
4
4
  import "./PendleOrderMixin.sol";
5
5
  import "./helpers/NonceManager.sol";
@@ -10,7 +10,9 @@ contract PendleLimitRouter is PendleOrderMixin, IPLimitRouter {
10
10
  using ArgumentsDecoder for bytes;
11
11
  using Address for address;
12
12
 
13
- constructor(address _WNATIVE) initializer PendleOrderMixin(_WNATIVE) {}
13
+ constructor(address _WNATIVE) PendleOrderMixin(_WNATIVE) {
14
+ _disableInitializers();
15
+ }
14
16
 
15
17
  /// @notice Cancels multiple orders by setting remaining amount to zero
16
18
  function cancelBatch(Order[] calldata orders) external {
@@ -19,51 +21,44 @@ contract PendleLimitRouter is PendleOrderMixin, IPLimitRouter {
19
21
  }
20
22
  }
21
23
 
22
- function approveInf(MultiApproval[] calldata arr) external {
23
- for (uint256 i = 0; i < arr.length;) {
24
- MultiApproval calldata ele = arr[i];
25
- for (uint256 j = 0; j < ele.tokens.length;) {
26
- _safeApproveInf(ele.tokens[j], ele.spender);
27
- unchecked {
28
- j++;
29
- }
30
- }
31
- unchecked {
32
- i++;
33
- }
34
- }
35
- }
36
-
37
24
  /// @notice Cancels order by setting remaining amount to zero
38
25
  function cancelSingle(Order calldata order) public {
39
26
  require(order.maker == msg.sender, "LOP: Access denied");
40
27
 
41
28
  bytes32 orderHash = hashOrder(order);
42
- require(_remaining[orderHash] != _ORDER_FILLED, "LOP: already filled");
43
- _remaining[orderHash] = _ORDER_FILLED;
29
+ require(_status[orderHash].remaining != _ORDER_FILLED, "LOP: already filled");
30
+ _status[orderHash].remaining = _ORDER_FILLED;
44
31
 
45
32
  emit OrderCanceled(msg.sender, orderHash);
46
33
  }
47
34
 
48
- function remaining(bytes32 orderHash) external view returns (uint256) {
49
- uint256 amount = _remaining[orderHash];
50
- require(amount != _ORDER_DOES_NOT_EXIST, "LOP: Unknown order");
51
- unchecked {
52
- amount -= 1;
53
- }
54
- return amount;
55
- }
35
+ function orderStatusesRaw(bytes32[] memory orderHashes)
36
+ public
37
+ view
38
+ returns (uint256[] memory remainingsRaw, uint256[] memory filledAmounts)
39
+ {
40
+ uint256 len = orderHashes.length;
41
+ remainingsRaw = new uint256[](len);
42
+ filledAmounts = new uint256[](len);
56
43
 
57
- function remainingRaw(bytes32 orderHash) external view returns (uint256) {
58
- return _remaining[orderHash];
44
+ for (uint256 i = 0; i < len; i++) {
45
+ OrderStatus memory status = _status[orderHashes[i]];
46
+ (remainingsRaw[i], filledAmounts[i]) = (status.remaining, status.filledAmount);
47
+ }
59
48
  }
60
49
 
61
- function remainingsRaw(bytes32[] memory orderHashes) external view returns (uint256[] memory) {
62
- uint256[] memory results = new uint256[](orderHashes.length);
63
- for (uint256 i = 0; i < orderHashes.length; i++) {
64
- results[i] = _remaining[orderHashes[i]];
50
+ function orderStatuses(bytes32[] memory orderHashes)
51
+ external
52
+ view
53
+ returns (uint256[] memory remainings, uint256[] memory filledAmounts)
54
+ {
55
+ (remainings, filledAmounts) = orderStatusesRaw(orderHashes);
56
+ for (uint256 i = 0; i < remainings.length; i++) {
57
+ require(remainings[i] != _ORDER_DOES_NOT_EXIST, "LOP: Unknown order");
58
+ unchecked {
59
+ remainings[i] -= 1;
60
+ }
65
61
  }
66
- return results;
67
62
  }
68
63
 
69
64
  function DOMAIN_SEPARATOR() external view returns (bytes32) {
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
 
3
- pragma solidity 0.8.21;
3
+ pragma solidity ^0.8.17;
4
4
 
5
5
  import "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol";
6
6
  import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
@@ -36,15 +36,17 @@ abstract contract PendleOrderMixin is
36
36
  "Order(uint256 salt,uint256 expiry,uint256 nonce,uint8 orderType,address token,address YT,address maker,address receiver,uint256 makingAmount,uint256 lnImpliedRate,uint256 failSafeRate,bytes permit)"
37
37
  );
38
38
 
39
- uint256 internal constant _ORDER_DOES_NOT_EXIST = 0;
40
- uint256 internal constant _ORDER_FILLED = 1;
39
+ uint128 internal constant _ORDER_DOES_NOT_EXIST = 0;
40
+ uint128 internal constant _ORDER_FILLED = 1;
41
41
 
42
42
  address public feeRecipient;
43
43
  uint96 public lnFeeRateRoot;
44
44
 
45
45
  address private immutable WNATIVE;
46
46
 
47
- mapping(bytes32 => uint256) internal _remaining;
47
+ mapping(bytes32 => OrderStatus) internal _status;
48
+
49
+ uint256[100] private __gap;
48
50
 
49
51
  constructor(address _WNATIVE) {
50
52
  WNATIVE = _WNATIVE;
@@ -288,12 +290,14 @@ abstract contract PendleOrderMixin is
288
290
  for (uint256 i = 0; i < len; i = _inc1(i)) {
289
291
  FillOrderParams memory param = params[i];
290
292
 
291
- (bytes32 orderHash, uint256 remainingMakerAmount) = _checkSig_doPermit(param.order, param.signature);
293
+ (bytes32 orderHash, uint256 remainingMakerAmount, uint256 filledMakerAmount) =
294
+ _checkSig_doPermit(param.order, param.signature);
292
295
  uint256 netMaking = PMath.min(param.makingAmount, remainingMakerAmount);
293
296
 
294
297
  unchecked {
295
298
  remainingMakerAmount = remainingMakerAmount - netMaking;
296
- _remaining[orderHash] = remainingMakerAmount + 1;
299
+ _status[orderHash] =
300
+ OrderStatus((remainingMakerAmount + 1).Uint128(), (filledMakerAmount + netMaking).Uint128());
297
301
  }
298
302
 
299
303
  param.makingAmount = netMaking;
@@ -337,12 +341,13 @@ abstract contract PendleOrderMixin is
337
341
 
338
342
  function _checkSig_doPermit(Order memory order, bytes memory signature)
339
343
  internal
340
- returns (bytes32, /*orderHash*/ uint256 /*remainingMakerAmount*/ )
344
+ returns (bytes32, /*orderHash*/ uint256, /*remainingMakerAmount*/ uint256 /*filledMakerAmount*/ )
341
345
  {
342
346
  bytes32 orderHash = hashOrder(order);
343
- uint256 remainingMakerAmount = _remaining[orderHash];
347
+ OrderStatus memory status = _status[orderHash];
348
+ (uint256 remainingMakerAmount, uint256 filledMakerAmount) = (status.remaining, status.filledAmount);
344
349
 
345
- if (remainingMakerAmount == _ORDER_FILLED) return (orderHash, 0);
350
+ if (remainingMakerAmount == _ORDER_FILLED) return (orderHash, 0, filledMakerAmount);
346
351
 
347
352
  if (remainingMakerAmount == _ORDER_DOES_NOT_EXIST) {
348
353
  require(SignatureChecker.isValidSignatureNow(order.maker, orderHash, signature), "LOP: bad signature");
@@ -354,7 +359,7 @@ abstract contract PendleOrderMixin is
354
359
  // proceed only if permit length is enough to store address
355
360
  (address token, bytes memory permit) = order.permit.decodeTargetAndCalldata();
356
361
  _permitMemory(token, permit);
357
- require(_remaining[orderHash] == _ORDER_DOES_NOT_EXIST, "LOP: reentrancy detected");
362
+ require(_status[orderHash].remaining == _ORDER_DOES_NOT_EXIST, "LOP: reentrancy detected");
358
363
  }
359
364
  } else {
360
365
  unchecked {
@@ -362,7 +367,7 @@ abstract contract PendleOrderMixin is
362
367
  }
363
368
  }
364
369
 
365
- return (orderHash, remainingMakerAmount);
370
+ return (orderHash, remainingMakerAmount, filledMakerAmount);
366
371
  }
367
372
 
368
373
  // ----------------- simple helper functions functions -----------------
@@ -397,6 +402,7 @@ abstract contract PendleOrderMixin is
397
402
  _wrap_unwrap_ETH(WNATIVE, NATIVE, netTokenIn);
398
403
  token = NATIVE;
399
404
  }
405
+ _safeApproveInf(token, SY);
400
406
  return
401
407
  IStandardizedYield(SY).deposit{value: token == NATIVE ? netTokenIn : 0}(address(this), token, netTokenIn, 0);
402
408
  }
@@ -8,6 +8,8 @@ contract NonceManager {
8
8
 
9
9
  mapping(address => uint256) public nonce;
10
10
 
11
+ uint256[100] private __gap;
12
+
11
13
  /// @notice Advances nonce by one
12
14
  function increaseNonce() external {
13
15
  advanceNonce(1);
@@ -1,10 +1,10 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.21;
2
+ pragma solidity ^0.8.17;
3
3
 
4
4
  import "./base/ActionBase.sol";
5
- import "../interfaces/IPActionAddRemoveLiq.sol";
5
+ import "../interfaces/IPActionAddRemoveLiqV3.sol";
6
6
 
7
- contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
7
+ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase {
8
8
  using PMath for uint256;
9
9
  using PMath for int256;
10
10
  using MarketMathCore for MarketState;
@@ -20,16 +20,16 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
20
20
  TokenInput calldata input,
21
21
  uint256 netPtDesired,
22
22
  uint256 minLpOut
23
- ) external payable returns (uint256 netLpOut, uint256 netPtUsed) {
23
+ ) external payable returns (uint256 netLpOut, uint256 netPtUsed, uint256 netSyInterm) {
24
24
  (IStandardizedYield SY, IPPrincipalToken PT,) = IPMarket(market).readTokens();
25
25
 
26
- uint256 netSyDesired = _mintSyFromToken(market, address(SY), 1, input);
26
+ netSyInterm = _mintSyFromToken(market, address(SY), 1, input);
27
27
  uint256 netSyUsed;
28
28
 
29
- (,, netSyUsed, netPtUsed) = _readMarket(market).addLiquidity(netSyDesired, netPtDesired, block.timestamp);
29
+ (,, netSyUsed, netPtUsed) = _readMarket(market).addLiquidity(netSyInterm, netPtDesired, block.timestamp);
30
30
 
31
- if (netSyDesired != netSyUsed) {
32
- revert Errors.RouterNotAllSyUsed(netSyDesired, netSyUsed);
31
+ if (netSyInterm != netSyUsed) {
32
+ revert Errors.RouterNotAllSyUsed(netSyInterm, netSyUsed);
33
33
  }
34
34
 
35
35
  // SY has been minted and transferred to the market
@@ -39,7 +39,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
39
39
  if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
40
40
 
41
41
  emit AddLiquidityDualTokenAndPt(
42
- msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netPtUsed, netLpOut
42
+ msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netPtUsed, netLpOut, netSyInterm
43
43
  );
44
44
  }
45
45
 
@@ -82,7 +82,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
82
82
  uint256 netSyReceived;
83
83
 
84
84
  if (!_isEmptyLimit(limit)) {
85
- (netPtLeft, netSyReceived, netSyFee,) = _fillLimit(market, netPtLeft, limit);
85
+ (netPtLeft, netSyReceived, netSyFee,) = _fillLimit(market, PT, netPtLeft, limit);
86
86
  _transferOut(address(PT), market, netPtLeft);
87
87
  }
88
88
 
@@ -119,15 +119,17 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
119
119
  ApproxParams calldata guessPtReceivedFromSy,
120
120
  TokenInput calldata input,
121
121
  LimitOrderData calldata limit
122
- ) external payable returns (uint256 netLpOut, uint256 netSyFee) {
122
+ ) external payable returns (uint256 netLpOut, uint256 netSyFee, uint256 netSyInterm) {
123
123
  (IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
124
124
 
125
- uint256 netSyUsed = _mintSyFromToken(_entry_addLiquiditySingleSy(market, limit), address(SY), 1, input);
125
+ netSyInterm = _mintSyFromToken(_entry_addLiquiditySingleSy(market, limit), address(SY), 1, input);
126
126
 
127
127
  (netLpOut, netSyFee) =
128
- _addLiquiditySingleSy(receiver, market, SY, YT, netSyUsed, minLpOut, guessPtReceivedFromSy, limit);
128
+ _addLiquiditySingleSy(receiver, market, SY, YT, netSyInterm, minLpOut, guessPtReceivedFromSy, limit);
129
129
 
130
- emit AddLiquiditySingleToken(msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut);
130
+ emit AddLiquiditySingleToken(
131
+ msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut, netSyInterm
132
+ );
131
133
  }
132
134
 
133
135
  function addLiquiditySingleSy(
@@ -166,7 +168,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
166
168
  uint256 netPtReceived;
167
169
 
168
170
  if (!_isEmptyLimit(limit)) {
169
- (netSyLeft, netPtReceived, netSyFee,) = _fillLimit(market, netSyLeft, limit);
171
+ (netSyLeft, netPtReceived, netSyFee,) = _fillLimit(market, SY, netSyLeft, limit);
170
172
  _transferOut(address(SY), market, netSyLeft);
171
173
  }
172
174
 
@@ -194,15 +196,16 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
194
196
  uint256 minLpOut,
195
197
  uint256 minYtOut,
196
198
  TokenInput calldata input
197
- ) external payable returns (uint256 netLpOut, uint256 netYtOut) {
199
+ ) external payable returns (uint256 netLpOut, uint256 netYtOut, uint256 netSyMintPy, uint256 netSyInterm) {
198
200
  (IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
199
201
 
200
- uint256 netSyUsed = _mintSyFromToken(address(this), address(SY), 1, input);
202
+ netSyInterm = _mintSyFromToken(address(this), address(SY), 1, input);
201
203
 
202
- (netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyUsed, minLpOut, minYtOut);
204
+ (netLpOut, netYtOut, netSyMintPy) =
205
+ _addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyInterm, minLpOut, minYtOut);
203
206
 
204
207
  emit AddLiquiditySingleTokenKeepYt(
205
- msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut, netYtOut
208
+ msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut, netYtOut, netSyMintPy, netSyInterm
206
209
  );
207
210
  }
208
211
 
@@ -212,14 +215,15 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
212
215
  uint256 netSyIn,
213
216
  uint256 minLpOut,
214
217
  uint256 minYtOut
215
- ) external returns (uint256 netLpOut, uint256 netYtOut) {
218
+ ) external returns (uint256 netLpOut, uint256 netYtOut, uint256 netSyMintPy) {
216
219
  (IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
217
220
 
218
221
  _transferIn(address(SY), msg.sender, netSyIn);
219
222
 
220
- (netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyIn, minLpOut, minYtOut);
223
+ (netLpOut, netYtOut, netSyMintPy) =
224
+ _addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyIn, minLpOut, minYtOut);
221
225
 
222
- emit AddLiquiditySingleSyKeepYt(msg.sender, market, receiver, netSyIn, netLpOut, netYtOut);
226
+ emit AddLiquiditySingleSyKeepYt(msg.sender, market, receiver, netSyIn, netSyMintPy, netLpOut, netYtOut);
223
227
  }
224
228
 
225
229
  function _addLiquiditySingleSyKeepYt(
@@ -230,24 +234,26 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
230
234
  uint256 netSyIn,
231
235
  uint256 minLpOut,
232
236
  uint256 minYtOut
233
- ) internal returns (uint256 netLpOut, uint256 netYtOut) {
237
+ ) internal returns (uint256 netLpOut, uint256 netYtOut, uint256 netSyMintPy) {
234
238
  MarketState memory state = _readMarket(market);
235
239
 
236
240
  PYIndex pyIndex = YT.newIndex();
237
241
 
238
- uint256 netSyToPt =
242
+ netSyMintPy =
239
243
  (netSyIn * state.totalPt.Uint()) / (state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
240
244
 
245
+ uint256 netSyAddLiquidity = netSyIn - netSyMintPy;
246
+
241
247
  // transfer SY to mint PY
242
- _transferOut(address(SY), address(YT), netSyToPt);
248
+ _transferOut(address(SY), address(YT), netSyMintPy);
243
249
 
244
250
  // the rest of SY goes to market
245
- _transferOut(address(SY), market, netSyIn - netSyToPt);
251
+ _transferOut(address(SY), market, netSyAddLiquidity);
246
252
 
247
253
  // PT goes to market, YT goes to receiver
248
254
  netYtOut = YT.mintPY(market, receiver);
249
255
 
250
- (netLpOut,,) = IPMarket(market).mint(receiver, netSyIn - netSyToPt, netYtOut);
256
+ (netLpOut,,) = IPMarket(market).mint(receiver, netSyAddLiquidity, netYtOut);
251
257
 
252
258
  if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
253
259
  if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
@@ -261,20 +267,19 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
261
267
  uint256 netLpToRemove,
262
268
  TokenOutput calldata output,
263
269
  uint256 minPtOut
264
- ) external returns (uint256 netTokenOut, uint256 netPtOut) {
270
+ ) external returns (uint256 netTokenOut, uint256 netPtOut, uint256 netSyInterm) {
265
271
  (IStandardizedYield SY,,) = IPMarket(market).readTokens();
266
272
 
267
273
  // burn LP, SY sent to SY, PT sent to receiver
268
274
  _transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
269
275
 
270
- uint256 netSyOut;
271
- (netSyOut, netPtOut) = IPMarket(market).burn(address(SY), receiver, netLpToRemove);
276
+ (netSyInterm, netPtOut) = IPMarket(market).burn(address(SY), receiver, netLpToRemove);
272
277
  if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
273
278
 
274
279
  // redeem SY to token
275
- netTokenOut = _redeemSyToToken(receiver, address(SY), netSyOut, output, false);
280
+ netTokenOut = _redeemSyToToken(receiver, address(SY), netSyInterm, output, false);
276
281
  emit RemoveLiquidityDualTokenAndPt(
277
- msg.sender, market, output.tokenOut, receiver, netLpToRemove, netPtOut, netTokenOut
282
+ msg.sender, market, output.tokenOut, receiver, netLpToRemove, netPtOut, netTokenOut, netSyInterm
278
283
  );
279
284
  }
280
285
 
@@ -331,17 +336,18 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
331
336
  uint256 netLpToRemove,
332
337
  TokenOutput calldata output,
333
338
  LimitOrderData calldata limit
334
- ) external returns (uint256 netTokenOut, uint256 netSyFee) {
339
+ ) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm) {
335
340
  (IStandardizedYield SY,,) = IPMarket(market).readTokens();
336
341
 
337
342
  _transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
338
343
 
339
- uint256 netSyReceived;
340
- (netSyReceived, netSyFee) = _removeLiquiditySingleSy(address(SY), market, netLpToRemove, 1, limit);
344
+ (netSyInterm, netSyFee) = _removeLiquiditySingleSy(address(SY), market, netLpToRemove, 1, limit);
341
345
 
342
- netTokenOut = _redeemSyToToken(receiver, address(SY), netSyReceived, output, false);
346
+ netTokenOut = _redeemSyToToken(receiver, address(SY), netSyInterm, output, false);
343
347
 
344
- emit RemoveLiquiditySingleToken(msg.sender, market, output.tokenOut, receiver, netLpToRemove, netTokenOut);
348
+ emit RemoveLiquiditySingleToken(
349
+ msg.sender, market, output.tokenOut, receiver, netLpToRemove, netTokenOut, netSyInterm
350
+ );
345
351
  }
346
352
 
347
353
  function removeLiquiditySingleSy(
@@ -1,11 +1,11 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.21;
2
+ pragma solidity ^0.8.17;
3
3
 
4
4
  import "./base/ActionBase.sol";
5
5
  import "./base/SimulateHelper.sol";
6
- import "../interfaces/IPActionMisc.sol";
6
+ import "../interfaces/IPActionMiscV3.sol";
7
7
 
8
- contract ActionMisc is IPActionMisc, ActionBase, SimulateHelper {
8
+ contract ActionMiscV3 is IPActionMiscV3, ActionBase, SimulateHelper {
9
9
  function mintSyFromToken(address receiver, address SY, uint256 minSyOut, TokenInput calldata input)
10
10
  external
11
11
  payable
@@ -26,26 +26,26 @@ contract ActionMisc is IPActionMisc, ActionBase, SimulateHelper {
26
26
  function mintPyFromToken(address receiver, address YT, uint256 minPyOut, TokenInput calldata input)
27
27
  external
28
28
  payable
29
- returns (uint256 netPyOut)
29
+ returns (uint256 netPyOut, uint256 netSyInterm)
30
30
  {
31
31
  address SY = IPYieldToken(YT).SY();
32
32
 
33
- uint256 netSyToMint = _mintSyFromToken(YT, SY, 0, input);
34
- netPyOut = _mintPyFromSy(receiver, SY, YT, netSyToMint, minPyOut, false);
33
+ netSyInterm = _mintSyFromToken(YT, SY, 0, input);
34
+ netPyOut = _mintPyFromSy(receiver, SY, YT, netSyInterm, minPyOut, false);
35
35
 
36
- emit MintPyFromToken(msg.sender, input.tokenIn, YT, receiver, input.netTokenIn, netPyOut);
36
+ emit MintPyFromToken(msg.sender, input.tokenIn, YT, receiver, input.netTokenIn, netPyOut, netSyInterm);
37
37
  }
38
38
 
39
39
  function redeemPyToToken(address receiver, address YT, uint256 netPyIn, TokenOutput calldata output)
40
40
  external
41
- returns (uint256 netTokenOut)
41
+ returns (uint256 netTokenOut, uint256 netSyInterm)
42
42
  {
43
43
  address SY = IPYieldToken(YT).SY();
44
44
 
45
- uint256 netSyToRedeem = _redeemPyToSy(SY, YT, netPyIn, 1);
46
- netTokenOut = _redeemSyToToken(receiver, SY, netSyToRedeem, output, false);
45
+ netSyInterm = _redeemPyToSy(SY, YT, netPyIn, 1);
46
+ netTokenOut = _redeemSyToToken(receiver, SY, netSyInterm, output, false);
47
47
 
48
- emit RedeemPyToToken(msg.sender, output.tokenOut, YT, receiver, netPyIn, netTokenOut);
48
+ emit RedeemPyToToken(msg.sender, output.tokenOut, YT, receiver, netPyIn, netTokenOut, netSyInterm);
49
49
  }
50
50
 
51
51
  function mintPyFromSy(address receiver, address YT, uint256 netSyIn, uint256 minPyOut)
@@ -93,29 +93,27 @@ contract ActionMisc is IPActionMisc, ActionBase, SimulateHelper {
93
93
  _swapTokenInput(inp);
94
94
 
95
95
  netTokenOut = _selfBalance(inp.tokenMintSy);
96
- if (netTokenOut < minTokenOut) revert Errors.RouterInsufficientTokenOut(netTokenOut, minTokenOut);
96
+ if (netTokenOut < minTokenOut) {
97
+ revert Errors.RouterInsufficientTokenOut(netTokenOut, minTokenOut);
98
+ }
97
99
 
98
100
  _transferOut(receiver, receiver, netTokenOut);
99
101
  }
100
102
 
101
- // ----------------- MISC FUNCTIONS -----------------
102
-
103
- function approveInf(MultiApproval[] calldata arr) external {
104
- for (uint256 i = 0; i < arr.length;) {
105
- MultiApproval calldata ele = arr[i];
106
- for (uint256 j = 0; j < ele.tokens.length;) {
107
- _safeApproveInf(ele.tokens[j], ele.spender);
108
- unchecked {
109
- j++;
110
- }
111
- }
112
- unchecked {
113
- i++;
114
- }
115
- }
103
+ function swapTokenToTokenViaSy(
104
+ address receiver,
105
+ address SY,
106
+ TokenInput calldata input,
107
+ address tokenRedeemSy,
108
+ uint256 minTokenOut
109
+ ) external payable returns (uint256 netTokenOut, uint256 netSyInterm) {
110
+ netSyInterm = _mintSyFromToken(address(this), SY, 0, input);
111
+ netTokenOut = IStandardizedYield(SY).redeem(receiver, netSyInterm, tokenRedeemSy, minTokenOut, true);
116
112
  }
117
113
 
118
- function marketsBoost(address[] memory markets) external {
114
+ // ----------------- MISC FUNCTIONS -----------------
115
+
116
+ function boostMarkets(address[] memory markets) external {
119
117
  for (uint256 i = 0; i < markets.length;) {
120
118
  IPMarket(markets[i]).transferFrom(msg.sender, markets[i], 0);
121
119
  unchecked {
@@ -153,13 +151,13 @@ contract ActionMisc is IPActionMisc, ActionBase, SimulateHelper {
153
151
  function multicallRevert(uint256 gasLimit, bytes[] calldata callDatas)
154
152
  public
155
153
  payable
156
- override(IPActionMisc, SimulateHelper)
154
+ override(IPActionMiscV3, SimulateHelper)
157
155
  returns (bytes[] memory res, uint256[] memory gasUsed)
158
156
  {
159
157
  return super.multicallRevert(gasLimit, callDatas);
160
158
  }
161
159
 
162
- function callThenRevert(bytes memory callData) public payable override(IPActionMisc, SimulateHelper) {
160
+ function callThenRevert(bytes memory callData) public payable override(IPActionMiscV3, SimulateHelper) {
163
161
  return super.callThenRevert(callData);
164
162
  }
165
163
  }