@pendle/core-v2 3.0.0-beta-2 → 3.0.0-beta-4

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 (678) 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/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.json +2 -2
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/HLPPricingHelper.sol/HLPPricingHelper.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  160. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  161. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  162. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  163. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  164. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  165. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
  166. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  167. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  168. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  169. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  170. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  171. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  172. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  173. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  174. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  175. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  176. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  177. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  178. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  179. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  180. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  181. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  182. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  183. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  184. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  185. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  186. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  187. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  188. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  189. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  190. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  191. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  192. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  193. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  194. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  195. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  196. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  197. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  198. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  199. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  200. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  201. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  202. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -50
  203. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  204. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  205. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  206. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
  207. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  208. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  209. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  210. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  211. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  212. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  213. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  214. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/Flux/IFluxErc20.sol/IFluxErc20.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/Flux/IFluxInterestRateModel.sol/IFluxInterestRateModel.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/HMX/IHLPStaking.sol/IHLPStaking.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/HMX/IHMXCalculator.sol/IHMXCalculator.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/HMX/IHMXCompounder.sol/IHMXCompounder.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/HMX/IHMXStaking.sol/IHMXStaking.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/HMX/IHMXVester.sol/IHMXVester.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  261. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  262. package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.dbg.json +1 -1
  263. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  264. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  265. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  266. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  267. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  268. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  269. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  270. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +4 -0
  271. package/build/artifacts/contracts/interfaces/{IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json → IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json} +141 -4
  272. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  273. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  274. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  275. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  276. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +4 -0
  277. package/build/artifacts/contracts/interfaces/{IPActionMisc.sol/IPActionMisc.json → IPActionMiscV3.sol/IPActionMiscV3.json} +205 -41
  278. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  279. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +4 -0
  280. package/build/artifacts/contracts/interfaces/{IPActionSwapPT.sol/IPActionSwapPT.json → IPActionSwapPTV3.sol/IPActionSwapPTV3.json} +58 -2
  281. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +4 -0
  282. package/build/artifacts/contracts/interfaces/{IPActionSwapYT.sol/IPActionSwapYT.json → IPActionSwapYTV3.sol/IPActionSwapYTV3.json} +59 -3
  283. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  284. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +4 -0
  285. package/build/artifacts/contracts/interfaces/{IPAllAction.sol/IPAllAction.json → IPAllActionV3.sol/IPAllActionV3.json} +457 -44
  286. package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.dbg.json +1 -1
  287. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  288. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  289. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  290. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  291. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  292. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  293. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  294. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.dbg.json +1 -1
  295. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  296. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +61 -191
  297. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.dbg.json +1 -1
  298. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.json +33 -139
  299. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixinType.dbg.json +1 -1
  300. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  301. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  302. package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
  303. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  304. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  305. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  306. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  307. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  308. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  309. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  310. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  311. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  312. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  313. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  314. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  315. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  316. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  317. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  318. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
  319. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  320. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  321. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  322. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  323. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  324. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  325. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  326. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  327. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  328. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
  329. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  330. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  331. package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.dbg.json +1 -1
  332. package/build/artifacts/contracts/interfaces/Stader/IStaderStakeManager.sol/IStaderStakeManager.dbg.json +1 -1
  333. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +1 -1
  334. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +1 -1
  335. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +1 -1
  336. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +1 -1
  337. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  338. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  339. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  340. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +35 -69
  341. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.dbg.json +1 -1
  342. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.json +47 -153
  343. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.dbg.json +1 -1
  344. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.json +2 -2
  345. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  346. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +2 -2
  347. package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.dbg.json +1 -1
  348. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.dbg.json +1 -1
  349. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.json +2 -2
  350. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  351. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  352. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  353. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  354. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  355. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  356. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  357. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  358. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  359. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  360. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  361. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  362. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +1 -1
  363. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  364. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  365. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  366. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  367. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  368. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  369. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  370. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  371. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  372. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  373. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  374. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  375. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  376. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
  377. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +2 -2
  378. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  379. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
  380. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  381. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  382. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  383. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  384. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  385. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  386. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  387. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  388. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  389. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  390. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  391. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  392. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  393. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  394. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  395. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  396. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  397. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  398. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  399. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  400. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  401. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  402. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  403. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  404. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  405. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  406. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +4 -0
  407. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2780 -0
  408. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +4 -0
  409. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +1040 -0
  410. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +4 -0
  411. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +1303 -0
  412. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +4 -0
  413. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +1553 -0
  414. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  415. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  416. package/build/artifacts/contracts/router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.dbg.json +1 -1
  417. package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.dbg.json +4 -0
  418. package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.json +174 -0
  419. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  420. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  421. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  422. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  423. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  424. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  425. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  426. package/build/artifacts/contracts/router/base/SimulateHelper.sol/SimulateHelper.dbg.json +4 -0
  427. package/build/artifacts/contracts/router/base/SimulateHelper.sol/SimulateHelper.json +69 -0
  428. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  429. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  430. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  431. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  432. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  433. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  434. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  435. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  436. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.json +2 -2
  437. package/build/artifacts/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  438. package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  439. package/contracts/core/libraries/Errors.sol +0 -3
  440. package/contracts/interfaces/{IPActionAddRemoveLiq.sol → IPActionAddRemoveLiqV3.sol} +46 -40
  441. package/contracts/interfaces/{IPActionMisc.sol → IPActionMiscV3.sol} +25 -15
  442. package/contracts/interfaces/IPActionStorageStatic.sol +1 -1
  443. package/contracts/interfaces/{IPActionSwapPT.sol → IPActionSwapPTV3.sol} +16 -15
  444. package/contracts/interfaces/{IPActionSwapYT.sol → IPActionSwapYTV3.sol} +20 -19
  445. package/contracts/interfaces/IPAllActionV3.sol +19 -0
  446. package/contracts/interfaces/IPLimitRouter.sol +27 -40
  447. package/contracts/interfaces/IPRouterHelper.sol +1 -1
  448. package/contracts/limit/LimitMathCore.sol +54 -31
  449. package/contracts/limit/PendleLimitRouter.sol +31 -36
  450. package/contracts/limit/PendleOrderMixin.sol +189 -193
  451. package/contracts/limit/helpers/NonceManager.sol +2 -0
  452. package/contracts/router/{ActionAddRemoveLiq.sol → ActionAddRemoveLiqV3.sol} +43 -37
  453. package/contracts/router/{ActionMisc.sol → ActionMiscV3.sol} +34 -42
  454. package/contracts/router/{ActionSwapPT.sol → ActionSwapPTV3.sol} +15 -15
  455. package/contracts/router/{ActionSwapYT.sol → ActionSwapYTV3.sol} +19 -17
  456. package/contracts/router/PendleRouterHelper.sol +1 -1
  457. package/contracts/router/{PendleRouter.sol → PendleRouterV3.sol} +83 -73
  458. package/contracts/router/base/ActionBase.sol +7 -4
  459. package/contracts/router/base/MarketApproxLib.sol +1 -1
  460. package/contracts/router/base/SimulateHelper.sol +33 -0
  461. package/contracts/router/swap-aggregator/PendleSwap.sol +1 -1
  462. package/deployments/42161-core.json +2 -2
  463. package/package.json +7 -7
  464. package/typechain-types/{ActionAddRemoveLiq.ts → ActionAddRemoveLiqV3.ts} +108 -49
  465. package/typechain-types/{ActionMisc.ts → ActionMiscV3.ts} +122 -62
  466. package/typechain-types/{IPActionSwapPT.ts → ActionSwapPTV3.ts} +30 -16
  467. package/typechain-types/{ActionSwapYT.ts → ActionSwapYTV3.ts} +30 -16
  468. package/typechain-types/{IPActionAddRemoveLiq.ts → IPActionAddRemoveLiqV3.ts} +113 -54
  469. package/typechain-types/{IPActionMisc.ts → IPActionMiscV3.ts} +166 -62
  470. package/typechain-types/{ActionSwapPT.ts → IPActionSwapPTV3.ts} +30 -16
  471. package/typechain-types/{IPActionSwapYT.ts → IPActionSwapYTV3.ts} +35 -21
  472. package/typechain-types/{IPAllAction.ts → IPAllActionV3.ts} +332 -147
  473. package/typechain-types/IPLimitRouter.ts +105 -276
  474. package/typechain-types/IPOrderMixin.ts +44 -174
  475. package/typechain-types/PendleLimitRouter.ts +132 -303
  476. package/typechain-types/PendleOrderMixin.ts +45 -175
  477. package/typechain-types/{PendleRouter.ts → PendleRouterV3.ts} +5 -5
  478. package/typechain-types/{AutomationCompatibleInterface.ts → SimulateHelper.ts} +51 -46
  479. package/typechain-types/factories/{ActionAddRemoveLiq__factory.ts → ActionAddRemoveLiqV3__factory.ts} +163 -22
  480. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  481. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  482. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  483. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  484. package/typechain-types/factories/ActionMiscV3__factory.ts +1090 -0
  485. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  486. package/typechain-types/factories/{ActionSwapPT__factory.ts → ActionSwapPTV3__factory.ts} +78 -19
  487. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1606 -0
  488. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  489. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  490. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  491. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  492. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  493. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  494. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  495. package/typechain-types/factories/CamelotRewardHelper__factory.ts +1 -1
  496. package/typechain-types/factories/ERC20__factory.ts +1 -1
  497. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  498. package/typechain-types/factories/Errors__factory.ts +1 -49
  499. package/typechain-types/factories/{IPActionAddRemoveLiq__factory.ts → IPActionAddRemoveLiqV3__factory.ts} +147 -10
  500. package/typechain-types/factories/{IPActionMisc__factory.ts → IPActionMiscV3__factory.ts} +212 -45
  501. package/typechain-types/factories/{IPActionSwapPT__factory.ts → IPActionSwapPTV3__factory.ts} +64 -8
  502. package/typechain-types/factories/{IPActionSwapYT__factory.ts → IPActionSwapYTV3__factory.ts} +65 -9
  503. package/typechain-types/factories/{IPAllAction__factory.ts → IPAllActionV3__factory.ts} +461 -48
  504. package/typechain-types/factories/IPLimitRouter__factory.ts +60 -190
  505. package/typechain-types/factories/IPOrderMixin__factory.ts +33 -139
  506. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  507. package/typechain-types/factories/LinearPreview__factory.ts +1 -1
  508. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  509. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  510. package/typechain-types/factories/NonceManager__factory.ts +1 -1
  511. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  512. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  513. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  514. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  515. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  516. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  517. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  518. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1 -1
  519. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  520. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  521. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  522. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  523. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +1 -1
  524. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  525. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  526. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  527. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  528. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  529. package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
  530. package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
  531. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  532. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  533. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  534. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
  535. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  536. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  537. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  538. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  539. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  540. package/typechain-types/factories/PendleLimitRouter__factory.ts +91 -221
  541. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  542. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  543. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
  544. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
  545. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  546. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  547. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  548. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  549. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  550. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  551. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  552. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  553. package/typechain-types/factories/PendleOrderMixin__factory.ts +47 -153
  554. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  555. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  556. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  557. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  558. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  559. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  560. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  561. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  562. package/typechain-types/factories/PendleRouterV3__factory.ts +247 -0
  563. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  564. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  565. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  566. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  567. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  568. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  569. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  570. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  571. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  572. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  573. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  574. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  575. package/typechain-types/factories/SAPE__factory.ts +1 -1
  576. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
  577. package/typechain-types/factories/SimulateHelper__factory.ts +84 -0
  578. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  579. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  580. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  581. package/typechain-types/hardhat.d.ts +49 -148
  582. package/typechain-types/index.ts +22 -44
  583. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +0 -4
  584. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +0 -4
  585. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +0 -4
  586. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +0 -4
  587. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +0 -4
  588. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.dbg.json +0 -4
  589. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.json +0 -176
  590. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +0 -4
  591. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +0 -2643
  592. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +0 -4
  593. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +0 -954
  594. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +0 -4
  595. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +0 -1287
  596. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +0 -4
  597. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +0 -1537
  598. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +0 -4
  599. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +0 -174
  600. package/contracts/interfaces/IPAllAction.sol +0 -19
  601. package/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol +0 -45
  602. package/typechain-types/AccessControlUpgradeable.ts +0 -369
  603. package/typechain-types/ActionLimitOrdersStatic.ts +0 -262
  604. package/typechain-types/ActionMintRedeem.ts +0 -667
  605. package/typechain-types/AllErrorsDirectory.ts +0 -57
  606. package/typechain-types/AuraWethVethSYUpg.ts +0 -1547
  607. package/typechain-types/AutomationBase.ts +0 -57
  608. package/typechain-types/AutomationCompatible.ts +0 -140
  609. package/typechain-types/BeaconProxy.ts +0 -97
  610. package/typechain-types/BulkSeller.ts +0 -743
  611. package/typechain-types/BulkSellerFactory.ts +0 -712
  612. package/typechain-types/BulkSellerOffchain.ts +0 -251
  613. package/typechain-types/ChainlinkRelayerAutomation.ts +0 -305
  614. package/typechain-types/ContextUpgradeable.ts +0 -68
  615. package/typechain-types/ERC165Upgradeable.ts +0 -113
  616. package/typechain-types/IAccessControlUpgradeable.ts +0 -305
  617. package/typechain-types/IERC165Upgradeable.ts +0 -102
  618. package/typechain-types/IKyberElasticFactory.ts +0 -734
  619. package/typechain-types/IKyberElasticPool.ts +0 -514
  620. package/typechain-types/IKyberElasticRouter.ts +0 -315
  621. package/typechain-types/IKyberLiquidityMining.ts +0 -968
  622. package/typechain-types/IKyberMathHelper.ts +0 -231
  623. package/typechain-types/IKyberPositionManager.ts +0 -773
  624. package/typechain-types/IPActionMintRedeem.ts +0 -667
  625. package/typechain-types/IPBulkSeller.ts +0 -391
  626. package/typechain-types/IPBulkSellerCallback.ts +0 -115
  627. package/typechain-types/IPBulkSellerFactory.ts +0 -152
  628. package/typechain-types/KyberMathHelper.ts +0 -604
  629. package/typechain-types/KyberNftManagerBaseUpg.ts +0 -148
  630. package/typechain-types/PendleAuraBalancerStableLPSYV3Upg.ts +0 -1512
  631. package/typechain-types/PendleERC20PermitUpg.ts +0 -452
  632. package/typechain-types/PendleERC20Upg.ts +0 -348
  633. package/typechain-types/PendleKyberElasticSY.ts +0 -1583
  634. package/typechain-types/PredicateHelper.ts +0 -298
  635. package/typechain-types/ReentrancyGuardUpgradeable.ts +0 -68
  636. package/typechain-types/SYBaseUpg.ts +0 -1205
  637. package/typechain-types/SYBaseWithRewardsUpg.ts +0 -1298
  638. package/typechain-types/factories/AccessControlUpgradeable__factory.ts +0 -247
  639. package/typechain-types/factories/ActionLimitOrdersStatic__factory.ts +0 -499
  640. package/typechain-types/factories/ActionMintRedeem__factory.ts +0 -786
  641. package/typechain-types/factories/ActionMisc__factory.ts +0 -1004
  642. package/typechain-types/factories/ActionSwapYT__factory.ts +0 -1547
  643. package/typechain-types/factories/AllErrorsDirectory__factory.ts +0 -1596
  644. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +0 -1215
  645. package/typechain-types/factories/AutomationBase__factory.ts +0 -69
  646. package/typechain-types/factories/AutomationCompatibleInterface__factory.ts +0 -67
  647. package/typechain-types/factories/AutomationCompatible__factory.ts +0 -72
  648. package/typechain-types/factories/BeaconProxy__factory.ts +0 -141
  649. package/typechain-types/factories/BulkSellerFactory__factory.ts +0 -574
  650. package/typechain-types/factories/BulkSellerOffchain__factory.ts +0 -178
  651. package/typechain-types/factories/BulkSeller__factory.ts +0 -692
  652. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +0 -238
  653. package/typechain-types/factories/ContextUpgradeable__factory.ts +0 -39
  654. package/typechain-types/factories/ERC165Upgradeable__factory.ts +0 -58
  655. package/typechain-types/factories/IAccessControlUpgradeable__factory.ts +0 -202
  656. package/typechain-types/factories/IERC165Upgradeable__factory.ts +0 -45
  657. package/typechain-types/factories/IKyberElasticFactory__factory.ts +0 -455
  658. package/typechain-types/factories/IKyberElasticPool__factory.ts +0 -315
  659. package/typechain-types/factories/IKyberElasticRouter__factory.ts +0 -240
  660. package/typechain-types/factories/IKyberLiquidityMining__factory.ts +0 -913
  661. package/typechain-types/factories/IKyberMathHelper__factory.ts +0 -143
  662. package/typechain-types/factories/IKyberPositionManager__factory.ts +0 -633
  663. package/typechain-types/factories/IPActionMintRedeem__factory.ts +0 -700
  664. package/typechain-types/factories/IPBulkSellerCallback__factory.ts +0 -53
  665. package/typechain-types/factories/IPBulkSellerFactory__factory.ts +0 -107
  666. package/typechain-types/factories/IPBulkSeller__factory.ts +0 -333
  667. package/typechain-types/factories/KyberMathHelper__factory.ts +0 -430
  668. package/typechain-types/factories/KyberNftManagerBaseUpg__factory.ts +0 -101
  669. package/typechain-types/factories/PendleAuraBalancerStableLPSYV3Upg__factory.ts +0 -1160
  670. package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +0 -340
  671. package/typechain-types/factories/PendleERC20Upg__factory.ts +0 -261
  672. package/typechain-types/factories/PendleKyberElasticSY__factory.ts +0 -1302
  673. package/typechain-types/factories/PendleRouter__factory.ts +0 -244
  674. package/typechain-types/factories/PredicateHelper__factory.ts +0 -218
  675. package/typechain-types/factories/ReentrancyGuardUpgradeable__factory.ts +0 -43
  676. package/typechain-types/factories/SYBaseUpg__factory.ts +0 -939
  677. package/typechain-types/factories/SYBaseWithRewardsUpg__factory.ts +0 -1012
  678. /package/contracts/interfaces/{IPAllActionType.sol → IPAllActionTypeV3.sol} +0 -0
@@ -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";
@@ -33,23 +33,26 @@ abstract contract PendleOrderMixin is
33
33
  using Address for address payable;
34
34
 
35
35
  bytes32 internal constant LIMIT_ORDER_TYPEHASH = keccak256(
36
- "Order(uint256 salt,uint256 expiry,uint256 nonce,uint8 orderType,address token,address YT,address maker,address receiver,uint256 makingAmount,uint256 lnImpliedRate,bytes permit)"
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;
51
53
  }
52
54
 
55
+ // solhint-disable-next-line no-empty-blocks
53
56
  receive() external payable {}
54
57
 
55
58
  function initialize(address _feeRecipient, uint96 _lnFeeRateRoot) external initializer {
@@ -62,12 +65,12 @@ abstract contract PendleOrderMixin is
62
65
  external
63
66
  returns (uint256 actualMaking, uint256 actualTaking, uint256 totalFee)
64
67
  {
65
- OrderType orderType = params[0].order.orderType;
66
68
  _validateOrdersSkipSig(params);
69
+ OrderType orderType = params[0].order.orderType;
67
70
  if (orderType == OrderType.SY_FOR_PT || orderType == OrderType.SY_FOR_YT) {
68
- return normalFillTokenForPY(params, receiver, maxTaking, callback);
71
+ return normalFillTokenForPY(Args(orderType, params, receiver, maxTaking, callback));
69
72
  } else {
70
- return normalFillPYForToken(params, receiver, maxTaking, callback);
73
+ return normalFillPYForToken(Args(orderType, params, receiver, maxTaking, callback));
71
74
  }
72
75
  }
73
76
 
@@ -75,38 +78,37 @@ abstract contract PendleOrderMixin is
75
78
  external
76
79
  returns (uint256 netOutputToTaker, uint256 netInputFromTaker, uint256 totalFee)
77
80
  {
78
- OrderType orderType = params[0].order.orderType;
79
81
  _validateOrdersSkipSig(params);
82
+ OrderType orderType = params[0].order.orderType;
80
83
  if (orderType == OrderType.SY_FOR_PT || orderType == OrderType.SY_FOR_YT) {
81
- return flashFillTokenForPY(params, receiver, maxInput, callback);
84
+ return flashFillTokenForPY(Args(orderType, params, receiver, maxInput, callback));
82
85
  } else {
83
- return flashFillPYForToken(params, receiver, maxInput, callback);
86
+ return flashFillPYForToken(Args(orderType, params, receiver, maxInput, callback));
84
87
  }
85
88
  }
86
89
 
87
90
  // ----------------- Core logic -----------------
88
91
 
92
+ // solhint-disable-next-line
89
93
  struct Args {
94
+ OrderType orderType;
90
95
  FillOrderParams[] params;
91
96
  address receiver;
92
97
  uint256 maxTaking; // or maxInput
93
98
  bytes callback;
94
99
  }
95
100
 
96
- function normalFillTokenForPY(
97
- FillOrderParams[] memory _params,
98
- address _receiver,
99
- uint256 _maxTaking,
100
- bytes memory _callback
101
- ) internal returns (uint256 actualMaking, uint256 actualTaking, uint256 totalFee) {
102
- Args memory a = Args(_params, _receiver, _maxTaking, _callback);
103
-
104
- OrderType orderType = a.params[0].order.orderType;
101
+ function normalFillTokenForPY(Args memory a)
102
+ internal
103
+ returns (uint256 actualMaking, uint256 actualTaking, uint256 totalFee)
104
+ {
105
+ (address SY, address PT, address YT, bytes32[] memory orderHashes) =
106
+ _checkSig_doPermit_updMakingAndRemaining(a.params);
105
107
 
106
108
  // Token => This
107
- (address SY, address PT, address YT, OnchainParams memory onchain) = _prep(a.params, true);
109
+ uint256[] memory fromMakers = _transferFromMakers_mintSy_updMakings(SY, a.params);
108
110
 
109
- NormalResults memory out = LimitMath.calcNormalBatch(a.params, onchain);
111
+ NormalResults memory out = LimitMath.calcNormalBatch(a.params, YT, lnFeeRateRoot);
110
112
  (actualMaking, actualTaking, totalFee) = (out.totalMaking - out.totalFee, out.totalTaking, out.totalFee);
111
113
 
112
114
  require(actualTaking <= a.maxTaking, "LOP: maxTaking exceeded");
@@ -116,85 +118,75 @@ abstract contract PendleOrderMixin is
116
118
 
117
119
  // callback to Taker
118
120
  if (a.callback.length > 0) {
119
- ILimitOrderCallee(msg.sender).normalFillCall(orderType, actualMaking, actualTaking, totalFee, a.callback);
121
+ ILimitOrderCallee(msg.sender).normalFillCall(a.orderType, actualMaking, actualTaking, totalFee, a.callback);
120
122
  }
121
123
 
122
124
  // Taker => Makers
123
- address pyToMaker = (orderType == OrderType.SY_FOR_PT) ? PT : YT;
124
- _transferFromMulti(IERC20(pyToMaker), msg.sender, a.params, out.netTakings);
125
+ address pyToMaker = (a.orderType == OrderType.SY_FOR_PT) ? PT : YT;
126
+ _transferToMakers(IERC20(pyToMaker), msg.sender, a.params, out.netTakings);
125
127
 
126
128
  // This => Fee
127
- _transferOut(SY, onchain.feeRecipient, totalFee);
129
+ _transferOut(SY, feeRecipient, totalFee);
128
130
 
129
- emit NormalFill(
130
- orderType, YT, msg.sender, actualMaking, actualTaking, totalFee, out.totalMaking, out.totalTaking
131
- );
131
+ // toMakers == netTakings
132
+ _checkSafety_emitEvents(a.params, orderHashes, fromMakers, out.netTakings, out.netFees, out.notionalVolumes);
132
133
  }
133
134
 
134
- function normalFillPYForToken(
135
- FillOrderParams[] memory _params,
136
- address _receiver,
137
- uint256 _maxTaking,
138
- bytes memory _callback
139
- ) internal returns (uint256 actualMaking, uint256 actualTaking, uint256 totalFee) {
140
- Args memory a = Args(_params, _receiver, _maxTaking, _callback);
141
-
142
- OrderType orderType = a.params[0].order.orderType;
143
-
144
- (address SY, address PT, address YT, OnchainParams memory onchain) = _prep(a.params, false);
135
+ function normalFillPYForToken(Args memory a)
136
+ internal
137
+ returns (uint256 actualMaking, uint256 actualTaking, uint256 totalFee)
138
+ {
139
+ (address SY, address PT, address YT, bytes32[] memory orderHashes) =
140
+ _checkSig_doPermit_updMakingAndRemaining(a.params);
145
141
 
146
- NormalResults memory out = LimitMath.calcNormalBatch(a.params, onchain);
142
+ NormalResults memory out = LimitMath.calcNormalBatch(a.params, YT, lnFeeRateRoot);
147
143
  (actualMaking, actualTaking, totalFee) = (out.totalMaking, out.totalTaking + out.totalFee, out.totalFee);
148
144
 
149
145
  require(actualTaking <= a.maxTaking, "LOP: maxTaking exceeded");
150
146
 
151
147
  // Makers => Taker
152
- address pyFromMaker = (orderType == OrderType.PT_FOR_SY) ? PT : YT;
153
- _transferFromMulti(IERC20(pyFromMaker), a.params, a.receiver, out.netMakings);
148
+ address pyFromMaker = (a.orderType == OrderType.PT_FOR_SY) ? PT : YT;
149
+ _transferFromMakers(IERC20(pyFromMaker), a.params, a.receiver, out.netMakings);
154
150
 
155
151
  // callback to Taker
156
152
  if (a.callback.length > 0) {
157
- ILimitOrderCallee(msg.sender).normalFillCall(orderType, actualMaking, actualTaking, totalFee, a.callback);
153
+ ILimitOrderCallee(msg.sender).normalFillCall(a.orderType, actualMaking, actualTaking, totalFee, a.callback);
158
154
  }
159
155
 
160
156
  // Taker => This
161
157
  _transferFrom(IERC20(SY), msg.sender, address(this), actualTaking);
162
158
 
163
159
  // This => Makers
164
- _redeemSy_transferOut(SY, a.params, out.totalTaking, out.netTakings);
160
+ uint256[] memory toMakers = _redeemSy_transferToMakers(SY, a.params, out.netTakings);
165
161
 
166
162
  // This => Fee
167
- _transferOut(SY, onchain.feeRecipient, totalFee);
163
+ _transferOut(SY, feeRecipient, totalFee);
168
164
 
169
- emit NormalFill(
170
- orderType, YT, msg.sender, actualMaking, actualTaking, totalFee, out.totalMaking, out.totalTaking
171
- );
165
+ // fromMakers == netMakings
166
+ _checkSafety_emitEvents(a.params, orderHashes, out.netMakings, toMakers, out.netFees, out.notionalVolumes);
172
167
  }
173
168
 
174
169
  // ----------------- Flash functions -----------------
175
170
 
176
- function flashFillTokenForPY(
177
- FillOrderParams[] memory _params,
178
- address _receiver,
179
- uint256 _maxInput,
180
- bytes memory _callback
181
- ) internal returns (uint256 totalPYToTaker, uint256 totalSyFromTaker, uint256 totalFee) {
182
- Args memory a = Args(_params, _receiver, _maxInput, _callback);
183
-
184
- OrderType orderType = a.params[0].order.orderType;
171
+ function flashFillTokenForPY(Args memory a)
172
+ internal
173
+ returns (uint256 totalPYToTaker, uint256 totalSyFromTaker, uint256 totalFee)
174
+ {
175
+ (address SY, address PT, address YT, bytes32[] memory orderHashes) =
176
+ _checkSig_doPermit_updMakingAndRemaining(a.params);
185
177
 
186
178
  // Token => This
187
- (address SY, address PT, address YT, OnchainParams memory onchain) = _prep(a.params, true);
179
+ uint256[] memory fromMakers = _transferFromMakers_mintSy_updMakings(SY, a.params);
188
180
 
189
181
  NormalResults memory out;
190
- (totalSyFromTaker, totalPYToTaker, totalFee, out) = LimitMath.calcFlashBatch(a.params, onchain);
182
+ (totalSyFromTaker, totalPYToTaker, totalFee, out) = LimitMath.calcFlashBatch(a.params, YT, lnFeeRateRoot);
191
183
 
192
184
  require(totalSyFromTaker <= a.maxTaking, "LOP: maxInput exceeded");
193
185
 
194
186
  // callback to Taker
195
187
  if (a.callback.length > 0) {
196
188
  ILimitOrderCallee(msg.sender).flashFillCall(
197
- orderType, totalPYToTaker, totalSyFromTaker, totalFee, a.callback
189
+ a.orderType, totalPYToTaker, totalSyFromTaker, totalFee, a.callback
198
190
  );
199
191
  }
200
192
 
@@ -204,7 +196,7 @@ abstract contract PendleOrderMixin is
204
196
  // This => YT
205
197
  _transferOut(SY, YT, totalSyFromTaker + out.totalMaking - out.totalFee);
206
198
 
207
- bool isPtToMaker = (orderType == OrderType.SY_FOR_PT);
199
+ bool isPtToMaker = (a.orderType == OrderType.SY_FOR_PT);
208
200
  address pyToMaker = isPtToMaker ? PT : YT;
209
201
  {
210
202
  address receiverPt = isPtToMaker ? address(this) : a.receiver;
@@ -215,48 +207,42 @@ abstract contract PendleOrderMixin is
215
207
  }
216
208
 
217
209
  // This => Makers
218
- _transferFromMulti(IERC20(pyToMaker), address(this), a.params, out.netTakings);
210
+ _transferToMakers(IERC20(pyToMaker), address(this), a.params, out.netTakings);
219
211
 
220
212
  // This => Fee
221
- _transferOut(SY, onchain.feeRecipient, out.totalFee);
213
+ _transferOut(SY, feeRecipient, totalFee);
222
214
 
223
- emit FlashFill(
224
- orderType, YT, msg.sender, totalPYToTaker, totalSyFromTaker, totalFee, out.totalMaking, out.totalTaking
225
- );
215
+ // toMakers == netTakings
216
+ _checkSafety_emitEvents(a.params, orderHashes, fromMakers, out.netTakings, out.netFees, out.notionalVolumes);
226
217
  }
227
218
 
228
- function flashFillPYForToken(
229
- FillOrderParams[] memory _params,
230
- address _receiver,
231
- uint256 _maxInput,
232
- bytes memory _callback
233
- ) internal returns (uint256 totalSyToTaker, uint256 totalPYFromTaker, uint256 totalFee) {
234
- Args memory a = Args(_params, _receiver, _maxInput, _callback);
235
-
236
- OrderType orderType = a.params[0].order.orderType;
237
-
238
- (address SY, address PT, address YT, OnchainParams memory onchain) = _prep(a.params, false);
219
+ function flashFillPYForToken(Args memory a)
220
+ internal
221
+ returns (uint256 totalSyToTaker, uint256 totalPYFromTaker, uint256 totalFee)
222
+ {
223
+ (address SY, address PT, address YT, bytes32[] memory orderHashes) =
224
+ _checkSig_doPermit_updMakingAndRemaining(a.params);
239
225
 
240
226
  NormalResults memory out;
241
- (totalPYFromTaker, totalSyToTaker, totalFee, out) = LimitMath.calcFlashBatch(a.params, onchain);
227
+ (totalPYFromTaker, totalSyToTaker, totalFee, out) = LimitMath.calcFlashBatch(a.params, YT, lnFeeRateRoot);
242
228
 
243
229
  require(totalPYFromTaker <= a.maxTaking, "LOP: maxInput exceeded");
244
230
 
245
231
  // callback to Taker
246
232
  if (a.callback.length > 0) {
247
233
  ILimitOrderCallee(msg.sender).flashFillCall(
248
- orderType, totalSyToTaker, totalPYFromTaker, totalFee, a.callback
234
+ a.orderType, totalSyToTaker, totalPYFromTaker, totalFee, a.callback
249
235
  );
250
236
  }
251
237
 
252
- bool ptFromTaker = (orderType == OrderType.YT_FOR_SY);
238
+ bool ptFromTaker = (a.orderType == OrderType.YT_FOR_SY);
253
239
  address pyFromTaker = ptFromTaker ? PT : YT;
254
240
  address pyFromMaker = ptFromTaker ? YT : PT;
255
241
 
256
242
  // Taker => YT
257
243
  _transferFrom(IERC20(pyFromTaker), msg.sender, YT, totalPYFromTaker);
258
244
  // Maker => YT
259
- _transferFromMulti(IERC20(pyFromMaker), a.params, YT, out.netMakings);
245
+ _transferFromMakers(IERC20(pyFromMaker), a.params, YT, out.netMakings);
260
246
 
261
247
  // YT => This
262
248
  IPYieldToken(YT).redeemPY(address(this));
@@ -265,24 +251,21 @@ abstract contract PendleOrderMixin is
265
251
  _transferOut(SY, a.receiver, totalSyToTaker);
266
252
 
267
253
  // This => Makers
268
- _redeemSy_transferOut(SY, a.params, out.totalTaking, out.netTakings);
254
+ uint256[] memory toMakers = _redeemSy_transferToMakers(SY, a.params, out.netTakings);
269
255
 
270
256
  // This => Fee
271
- _transferOut(SY, onchain.feeRecipient, out.totalFee);
257
+ _transferOut(SY, feeRecipient, totalFee);
272
258
 
273
- emit FlashFill(
274
- orderType, YT, msg.sender, totalSyToTaker, totalPYFromTaker, totalFee, out.totalMaking, out.totalTaking
275
- );
259
+ // fromMakers == netMakings
260
+ _checkSafety_emitEvents(a.params, orderHashes, out.netMakings, toMakers, out.netFees, out.notionalVolumes);
276
261
  }
277
262
 
278
263
  // ----------------- verify & convert functions -----------------
279
-
280
264
  function _validateOrdersSkipSig(FillOrderParams[] memory params) internal view {
281
265
  uint256 len = params.length;
282
266
  require(len != 0, "LOP: empty batch");
283
267
 
284
268
  (address YT, OrderType orderType) = (params[0].order.YT, params[0].order.orderType);
285
- bool isTokenOut = (orderType == OrderType.PT_FOR_SY || orderType == OrderType.YT_FOR_SY);
286
269
 
287
270
  uint256 expiry = IPYieldToken(YT).expiry();
288
271
  require(block.timestamp < expiry, "LOP: PY expired");
@@ -294,56 +277,77 @@ abstract contract PendleOrderMixin is
294
277
  require(order.YT == YT, "LOP: not same YT");
295
278
  require(block.timestamp < order.expiry, "LOP: order expired");
296
279
  require(order.nonce >= nonce[order.maker], "LOP: order invalidated");
297
-
298
- if (isTokenOut) require(order.token != WNATIVE, "LOP: invalid tokenOut");
299
- // else assert(order.token!=NATIVE) // always true
300
280
  }
301
281
  }
302
282
 
303
- function _prep(FillOrderParams[] memory params, bool tokenToSy)
283
+ function _checkSig_doPermit_updMakingAndRemaining(FillOrderParams[] memory params)
304
284
  internal
305
- returns (address SY, address PT, address YT, OnchainParams memory onchain)
285
+ returns (address SY, address PT, address YT, bytes32[] memory orderHashes)
306
286
  {
307
- _checkSig_doPermit_updMakingAndRemaining(params); // state changes to avoid reentrancy
308
-
309
- YT = params[0].order.YT;
310
- SY = IPYieldToken(YT).SY();
311
- PT = IPYieldToken(YT).PT();
312
-
313
- if (tokenToSy) {
314
- _transferIn_mintSy(SY, params);
315
- }
316
-
317
- onchain = getOnchainParams(YT);
318
- }
319
-
320
- function _checkSig_doPermit_updMakingAndRemaining(FillOrderParams[] memory params) internal {
321
287
  uint256 len = params.length;
288
+ orderHashes = new bytes32[](len);
289
+
322
290
  for (uint256 i = 0; i < len; i = _inc1(i)) {
323
291
  FillOrderParams memory param = params[i];
324
292
 
325
- (bytes32 orderHash, uint256 remainingMakerAmount) = _checkSig_doPermit(param.order, param.signature);
293
+ (bytes32 orderHash, uint256 remainingMakerAmount, uint256 filledMakerAmount) =
294
+ _checkSig_doPermit(param.order, param.signature);
326
295
  uint256 netMaking = PMath.min(param.makingAmount, remainingMakerAmount);
327
296
 
328
297
  unchecked {
329
298
  remainingMakerAmount = remainingMakerAmount - netMaking;
330
- _remaining[orderHash] = remainingMakerAmount + 1;
331
-
332
- emit OrderRemainingUpdated(orderHash, remainingMakerAmount);
299
+ _status[orderHash] =
300
+ OrderStatus((remainingMakerAmount + 1).Uint128(), (filledMakerAmount + netMaking).Uint128());
333
301
  }
334
302
 
335
303
  param.makingAmount = netMaking;
304
+
305
+ orderHashes[i] = orderHash;
306
+ }
307
+
308
+ YT = params[0].order.YT;
309
+ SY = IPYieldToken(YT).SY();
310
+ PT = IPYieldToken(YT).PT();
311
+ }
312
+
313
+ function _checkSafety_emitEvents(
314
+ FillOrderParams[] memory params,
315
+ bytes32[] memory hashes,
316
+ uint256[] memory fromMakers,
317
+ uint256[] memory toMakers,
318
+ uint256[] memory netFees,
319
+ uint256[] memory notionalVolumes
320
+ ) internal {
321
+ uint256 len = hashes.length;
322
+
323
+ for (uint256 i = 0; i < len; i = _inc1(i)) {
324
+ require(fromMakers[i].mulDown(params[i].order.failSafeRate) <= toMakers[i], "LOP: fail safe");
325
+ }
326
+
327
+ for (uint256 i = 0; i < len; i = _inc1(i)) {
328
+ Order memory order = params[i].order;
329
+ emit OrderFilled(
330
+ hashes[i],
331
+ order.orderType,
332
+ order.YT,
333
+ order.token,
334
+ fromMakers[i],
335
+ toMakers[i],
336
+ netFees[i],
337
+ notionalVolumes[i]
338
+ );
336
339
  }
337
340
  }
338
341
 
339
342
  function _checkSig_doPermit(Order memory order, bytes memory signature)
340
343
  internal
341
- returns (bytes32, /*orderHash*/ uint256 /*remainingMakerAmount*/ )
344
+ returns (bytes32, /*orderHash*/ uint256, /*remainingMakerAmount*/ uint256 /*filledMakerAmount*/ )
342
345
  {
343
346
  bytes32 orderHash = hashOrder(order);
344
- uint256 remainingMakerAmount = _remaining[orderHash];
347
+ OrderStatus memory status = _status[orderHash];
348
+ (uint256 remainingMakerAmount, uint256 filledMakerAmount) = (status.remaining, status.filledAmount);
345
349
 
346
- if (remainingMakerAmount == _ORDER_FILLED) return (orderHash, 0);
350
+ if (remainingMakerAmount == _ORDER_FILLED) return (orderHash, 0, filledMakerAmount);
347
351
 
348
352
  if (remainingMakerAmount == _ORDER_DOES_NOT_EXIST) {
349
353
  require(SignatureChecker.isValidSignatureNow(order.maker, orderHash, signature), "LOP: bad signature");
@@ -355,7 +359,7 @@ abstract contract PendleOrderMixin is
355
359
  // proceed only if permit length is enough to store address
356
360
  (address token, bytes memory permit) = order.permit.decodeTargetAndCalldata();
357
361
  _permitMemory(token, permit);
358
- require(_remaining[orderHash] == _ORDER_DOES_NOT_EXIST, "LOP: reentrancy detected");
362
+ require(_status[orderHash].remaining == _ORDER_DOES_NOT_EXIST, "LOP: reentrancy detected");
359
363
  }
360
364
  } else {
361
365
  unchecked {
@@ -363,35 +367,32 @@ abstract contract PendleOrderMixin is
363
367
  }
364
368
  }
365
369
 
366
- return (orderHash, remainingMakerAmount);
370
+ return (orderHash, remainingMakerAmount, filledMakerAmount);
367
371
  }
368
372
 
369
373
  // ----------------- simple helper functions functions -----------------
370
374
 
371
- function _transferIn_mintSy(address SY, FillOrderParams[] memory params) internal {
375
+ function _transferFromMakers_mintSy_updMakings(address SY, FillOrderParams[] memory params)
376
+ internal
377
+ returns (uint256[] memory fromMakers)
378
+ {
372
379
  uint256 len = params.length;
373
- (bool isSame, address commonToken) = _isSameTokens(params);
374
- uint256 totalMakingCommon = 0;
375
-
376
- for (uint256 i = 0; i < len; i = _inc1(i)) {
377
- FillOrderParams memory param = params[i];
378
- if (param.makingAmount == 0) continue;
380
+ fromMakers = new uint256[](len);
381
+
382
+ for ((uint256 l, uint256 r) = (0, 0); l < len; l = r) {
383
+ address sharedToken = params[l].order.token;
384
+ uint256 totalMaking = 0;
385
+ for (; r < len && params[r].order.token == sharedToken; r = _inc1(r)) {
386
+ _transferIn(sharedToken, params[r].order.maker, params[r].makingAmount);
387
+ totalMaking += params[r].makingAmount;
388
+ fromMakers[r] = params[r].makingAmount;
389
+ }
379
390
 
380
- _transferIn(param.order.token, param.order.maker, param.makingAmount);
381
- if (isSame) totalMakingCommon += param.makingAmount;
382
- }
391
+ if (sharedToken == SY || totalMaking == 0) continue;
383
392
 
384
- if (isSame) {
385
- if (commonToken == SY || totalMakingCommon == 0) return;
386
- uint256 totalSy = __mintSy_Single(SY, commonToken, totalMakingCommon);
387
- for (uint256 i = 0; i < len; i = _inc1(i)) {
388
- params[i].makingAmount = params[i].makingAmount * totalSy / totalMakingCommon;
389
- }
390
- } else {
391
- for (uint256 i = 0; i < len; i = _inc1(i)) {
392
- FillOrderParams memory param = params[i];
393
- if (param.makingAmount == 0 || param.order.token == SY) continue;
394
- param.makingAmount = __mintSy_Single(SY, param.order.token, param.makingAmount);
393
+ uint256 totalSy = __mintSy_Single(SY, sharedToken, totalMaking);
394
+ for (uint256 i = l; i < r; i = _inc1(i)) {
395
+ params[i].makingAmount = params[i].makingAmount * totalSy / totalMaking;
395
396
  }
396
397
  }
397
398
  }
@@ -401,81 +402,87 @@ abstract contract PendleOrderMixin is
401
402
  _wrap_unwrap_ETH(WNATIVE, NATIVE, netTokenIn);
402
403
  token = NATIVE;
403
404
  }
405
+ _safeApproveInf(token, SY);
404
406
  return
405
407
  IStandardizedYield(SY).deposit{value: token == NATIVE ? netTokenIn : 0}(address(this), token, netTokenIn, 0);
406
408
  }
407
409
 
408
- function _redeemSy_transferOut(
409
- address SY,
410
- FillOrderParams[] memory params,
411
- uint256 totalSyOut,
412
- uint256[] memory netSyOuts
413
- ) internal {
410
+ function _redeemSy_transferToMakers(address SY, FillOrderParams[] memory params, uint256[] memory netSyOuts)
411
+ internal
412
+ returns (uint256[] memory toMakers)
413
+ {
414
+ // netSyOuts all > 0, guarantee in LimitMath
415
+
414
416
  uint256 len = params.length;
415
- (bool isSame, address commonToken) = _isSameTokens(params);
417
+ toMakers = new uint256[](len);
418
+
419
+ for ((uint256 l, uint256 r) = (0, 0); l < len; l = r) {
420
+ address sharedToken = params[l].order.token;
421
+ uint256 totalSy = 0;
416
422
 
417
- if (isSame) {
418
- if (commonToken == SY) {
419
- _transferFromMulti(IERC20(SY), address(this), params, netSyOuts);
420
- return;
423
+ for (; r < len && __stillShared(sharedToken, params[r].order.token); r = _inc1(r)) {
424
+ totalSy += netSyOuts[r];
421
425
  }
422
426
 
423
- uint256 totalTokenOut = __redeemSy_Single(address(this), SY, commonToken, totalSyOut);
424
- for (uint256 i = 0; i < len; i = _inc1(i)) {
425
- Order memory order = params[i].order;
426
- uint256 netOut = netSyOuts[i] * totalTokenOut / totalSyOut;
427
- if (order.token == NATIVE) payable(order.receiver).sendValue(netOut);
428
- else IERC20(order.token).safeTransfer(order.receiver, netOut);
427
+ if (sharedToken == SY) {
428
+ for (uint256 i = l; i < r; i = _inc1(i)) {
429
+ _transferOut(SY, params[i].order.receiver, netSyOuts[i]);
430
+ toMakers[i] = netSyOuts[i];
431
+ }
432
+ continue;
429
433
  }
430
- } else {
431
- for (uint256 i = 0; i < len; i = _inc1(i)) {
432
- Order memory order = params[i].order;
433
- if (order.token == SY) {
434
- _transferOut(SY, order.receiver, netSyOuts[i]);
435
- } else {
436
- __redeemSy_Single(order.receiver, SY, order.token, netSyOuts[i]);
434
+
435
+ if (r - l == 1) {
436
+ toMakers[l] = __redeemSy_Single(params[l].order.receiver, SY, sharedToken, netSyOuts[l]);
437
+ } else {
438
+ uint256 totalToken = __redeemSy_Single(address(this), SY, sharedToken, totalSy);
439
+ for (uint256 i = l; i < r; i = _inc1(i)) {
440
+ address token = params[i].order.token;
441
+ toMakers[i] = netSyOuts[i] * totalToken / totalSy;
442
+ if (sharedToken != token) {
443
+ // WNATIVE case
444
+ _wrap_unwrap_ETH(sharedToken, token, toMakers[i]);
445
+ }
446
+ _transferOut(token, params[i].order.receiver, toMakers[i]);
437
447
  }
438
448
  }
439
449
  }
440
450
  }
441
451
 
452
+ function __stillShared(address currentShared, address nextToken) private view returns (bool) {
453
+ return (currentShared == nextToken) || (currentShared == NATIVE && nextToken == WNATIVE)
454
+ || (currentShared == WNATIVE && nextToken == NATIVE);
455
+ }
456
+
442
457
  function __redeemSy_Single(address receiver, address SY, address tokenOut, uint256 netSyIn)
443
458
  private
444
459
  returns (uint256 netTokenOut)
445
460
  {
446
- if (tokenOut == NATIVE) {
447
- address tokenRedeemSy = IStandardizedYield(SY).isValidTokenOut(tokenOut) ? tokenOut : WNATIVE;
461
+ if (tokenOut == NATIVE || tokenOut == WNATIVE) {
462
+ address otherToken = tokenOut == NATIVE ? WNATIVE : NATIVE;
463
+ address tokenRedeemSy = IStandardizedYield(SY).isValidTokenOut(tokenOut) ? tokenOut : otherToken;
464
+
448
465
  netTokenOut = IStandardizedYield(SY).redeem(address(this), netSyIn, tokenRedeemSy, 0, false);
449
466
 
450
- if (tokenRedeemSy == WNATIVE) {
451
- _wrap_unwrap_ETH(WNATIVE, NATIVE, netTokenOut);
467
+ if (tokenOut != tokenRedeemSy) {
468
+ _wrap_unwrap_ETH(tokenRedeemSy, tokenOut, netTokenOut);
469
+ }
470
+
471
+ if (receiver != address(this)) {
472
+ _transferOut(tokenOut, receiver, netTokenOut);
452
473
  }
453
- payable(receiver).sendValue(netTokenOut);
454
474
  } else {
455
475
  return IStandardizedYield(SY).redeem(receiver, netSyIn, tokenOut, 0, false);
456
476
  }
457
477
  }
458
478
 
459
- function _isSameTokens(FillOrderParams[] memory params)
460
- internal
461
- pure
462
- returns (bool, /*isSame*/ address /*commonToken*/ )
463
- {
464
- uint256 len = params.length;
465
- address commonToken = params[0].order.token;
466
- for (uint256 i = 1; i < len; i = _inc1(i)) {
467
- if (params[i].order.token != commonToken) return (false, address(0));
468
- }
469
- return (true, commonToken);
470
- }
471
-
472
479
  function _inc1(uint256 i) internal pure returns (uint256) {
473
480
  unchecked {
474
481
  return i + 1;
475
482
  }
476
483
  }
477
484
 
478
- function _transferFromMulti(IERC20 token, FillOrderParams[] memory params, address to, uint256[] memory netIn)
485
+ function _transferFromMakers(IERC20 token, FillOrderParams[] memory params, address to, uint256[] memory netIn)
479
486
  internal
480
487
  {
481
488
  uint256 len = params.length;
@@ -484,7 +491,7 @@ abstract contract PendleOrderMixin is
484
491
  }
485
492
  }
486
493
 
487
- function _transferFromMulti(IERC20 token, address payer, FillOrderParams[] memory params, uint256[] memory netOut)
494
+ function _transferToMakers(IERC20 token, address payer, FillOrderParams[] memory params, uint256[] memory netOut)
488
495
  internal
489
496
  {
490
497
  uint256 len = params.length;
@@ -499,17 +506,6 @@ abstract contract PendleOrderMixin is
499
506
  }
500
507
  }
501
508
 
502
- // ----------------- Getters -----------------
503
- function getOnchainParams(address YT) public returns (OnchainParams memory) {
504
- uint256 timeToExpiry = IPYieldToken(YT).expiry() - block.timestamp;
505
- return OnchainParams({
506
- timeToExpiry: timeToExpiry,
507
- pyIndex: IPYieldToken(YT).pyIndexCurrent(),
508
- feeRecipient: feeRecipient,
509
- lnFeeRateRoot: lnFeeRateRoot
510
- });
511
- }
512
-
513
509
  function hashOrder(Order memory order) public view returns (bytes32) {
514
510
  StaticOrder memory staticOrder;
515
511
  assembly {
@@ -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);