@pendle/core-v2 5.0.7 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  4. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  8. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  22. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  24. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.json +2 -2
  27. package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  29. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +2 -2
  31. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +2 -2
  33. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  37. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseUpg.dbg.json +4 -0
  42. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseUpg.json +852 -0
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.json +2 -2
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.json +2 -2
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniBTCSYUpg.sol/PendleUniBTCSYUpg.dbg.json +4 -0
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniBTCSYUpg.sol/PendleUniBTCSYUpg.json +1053 -0
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornBaseSY.sol/PendleCornBaseSY.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornBaseSYUpg.sol/PendleCornBaseSYUpg.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornEBTCSY.sol/PendleCornEBTCSY.dbg.json +4 -0
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornEBTCSY.sol/PendleCornEBTCSY.json +1183 -0
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornLBTCSY.sol/PendleCornLBTCSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornLBTCSY.sol/PendleCornLBTCSY.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornPumpBTCSY.sol/PendleCornPumpBTCSY.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornPumpBTCSY.sol/PendleCornPumpBTCSY.json +2 -2
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornSolvBTCBBNSYUpg.sol/PendleCornSolvBTCBBNSYUpg.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornSolvBTCBBNSYUpg.sol/PendleCornSolvBTCBBNSYUpg.json +2 -2
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornUniBTCSYUpg.sol/PendleCornUniBTCSYUpg.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/Corn/PendleCornUniBTCSYUpg.sol/PendleCornUniBTCSYUpg.json +22 -2
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.json +2 -2
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/Equilibria/PendleArbitrumEPendleSY.sol/PendleArbitrumEPendleSY.dbg.json +4 -0
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/Equilibria/PendleArbitrumEPendleSY.sol/PendleArbitrumEPendleSY.json +1141 -0
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol/PendleSENASY.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol/PendleSENASY.json +1110 -0
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.json +2 -2
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.json +2 -2
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.json +2 -2
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEBTCSY.sol/PendleEBTCSY.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEBTCSY.sol/PendleEBTCSY.json +28 -15
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol/PendleEEigenSYUpg.dbg.json +4 -0
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol/PendleEEigenSYUpg.json +1058 -0
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.json +2 -2
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.json +2 -2
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.json +2 -2
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/GMTokenPricingHelper.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/GMTokenPricingHelper.json +2 -2
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2DataStore.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2Oracle.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2Reader.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.dbg.json +1 -1
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.json +2 -2
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.dbg.json +1 -1
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.json +2 -2
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.json +2 -2
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +2 -2
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +2 -2
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +1 -1
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +2 -2
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +1 -1
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +1 -1
  160. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +2 -2
  161. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +1 -1
  162. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +2 -2
  163. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleAgETHSY.sol/PendleAgETHSY.dbg.json +1 -1
  164. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleAgETHSY.sol/PendleAgETHSY.json +2 -2
  165. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.dbg.json +1 -1
  166. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.json +2 -2
  167. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.dbg.json +1 -1
  168. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.json +2 -2
  169. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +1 -1
  170. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +1 -1
  171. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +2 -2
  172. package/build/artifacts/contracts/core/StandardizedYield/implementations/Lombard/PendleLBTCSY.sol/PendleLBTCSY.dbg.json +1 -1
  173. package/build/artifacts/contracts/core/StandardizedYield/implementations/Lombard/PendleLBTCSY.sol/PendleLBTCSY.json +2 -2
  174. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.dbg.json +1 -1
  175. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.json +2 -2
  176. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleMETHSY.sol/PendleMETHSY.dbg.json +1 -1
  177. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleMETHSY.sol/PendleMETHSY.json +2 -2
  178. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  179. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
  180. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  181. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  182. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.dbg.json +1 -1
  183. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.json +2 -2
  184. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.dbg.json +1 -1
  185. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.json +2 -2
  186. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +1 -1
  187. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +2 -2
  188. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.dbg.json +1 -1
  189. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.json +2 -2
  190. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.dbg.json +1 -1
  191. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.json +2 -2
  192. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  193. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  194. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  195. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  196. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.dbg.json +1 -1
  197. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.json +2 -2
  198. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.dbg.json +1 -1
  199. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.json +2 -2
  200. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.dbg.json +1 -1
  201. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.json +2 -2
  202. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.dbg.json +4 -0
  203. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.json +1026 -0
  204. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  205. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  206. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
  207. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
  208. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  209. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
  210. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.dbg.json +1 -1
  211. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.json +2 -2
  212. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  213. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  214. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  215. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  216. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  217. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  218. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  219. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  220. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  221. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  222. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
  223. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
  224. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
  225. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
  226. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
  227. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
  228. package/build/artifacts/contracts/core/StandardizedYield/implementations/Pump/PendlePumpBTCSY.sol/PendlePumpBTCSY.dbg.json +4 -0
  229. package/build/artifacts/contracts/core/StandardizedYield/implementations/Pump/PendlePumpBTCSY.sol/PendlePumpBTCSY.json +1023 -0
  230. package/build/artifacts/contracts/core/StandardizedYield/implementations/Pump/PendlePumpHelperLib.sol/PendlePumpHelperLib.dbg.json +1 -1
  231. package/build/artifacts/contracts/core/StandardizedYield/implementations/Pump/PendlePumpHelperLib.sol/PendlePumpHelperLib.json +2 -2
  232. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.dbg.json +1 -1
  233. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.json +2 -2
  234. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.dbg.json +1 -1
  235. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.json +2 -2
  236. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.dbg.json +1 -1
  237. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.json +2 -2
  238. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.dbg.json +1 -1
  239. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.json +2 -2
  240. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +1 -1
  241. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +2 -2
  242. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.dbg.json +4 -0
  243. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.json +1062 -0
  244. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleStakingUSDSSY.sol/PendleStakingUSDSSY.dbg.json +4 -0
  245. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleStakingUSDSSY.sol/PendleStakingUSDSSY.json +1128 -0
  246. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBSCSYUpg.sol/PendleSolvBTCBBNBSCSYUpg.dbg.json +4 -0
  247. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBSCSYUpg.sol/PendleSolvBTCBBNBSCSYUpg.json +1072 -0
  248. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNSYUpg.sol/PendleSolvBTCBBNSYUpg.dbg.json +1 -1
  249. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNSYUpg.sol/PendleSolvBTCBBNSYUpg.json +2 -2
  250. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBSC.sol/PendleSolvHelperBSC.dbg.json +4 -0
  251. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBSC.sol/PendleSolvHelperBSC.json +115 -0
  252. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonFarmingSY.sol/PendleSophonFarmingSY.dbg.json +1 -1
  253. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonFarmingSY.sol/PendleSophonFarmingSY.json +2 -2
  254. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  255. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
  256. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.dbg.json +1 -1
  257. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.json +2 -2
  258. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  259. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  260. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.dbg.json +1 -1
  261. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.json +2 -2
  262. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.dbg.json +1 -1
  263. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.json +2 -2
  264. package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.dbg.json +4 -0
  265. package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.json +1052 -0
  266. package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.dbg.json +1 -1
  267. package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.json +2 -2
  268. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  269. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  270. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  271. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  272. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  273. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  274. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.json +2 -2
  275. package/build/artifacts/contracts/core/StandardizedYield/implementations/Usual/PendleUsualUSD0PPSY.sol/PendleUsualUSD0PPSY.dbg.json +4 -0
  276. package/build/artifacts/contracts/core/StandardizedYield/implementations/Usual/PendleUsualUSD0PPSY.sol/PendleUsualUSD0PPSY.json +1023 -0
  277. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.dbg.json +1 -1
  278. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.json +2 -2
  279. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.dbg.json +1 -1
  280. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.json +2 -2
  281. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.dbg.json +1 -1
  282. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.json +2 -2
  283. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.dbg.json +1 -1
  284. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.json +2 -2
  285. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.dbg.json +1 -1
  286. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.json +2 -2
  287. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  288. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  289. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  290. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  291. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  292. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  293. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  294. package/build/artifacts/contracts/interfaces/Equilibria/IEquilibriaConverter.sol/IEquilibriaConverter.dbg.json +4 -0
  295. package/build/artifacts/contracts/interfaces/Equilibria/IEquilibriaConverter.sol/IEquilibriaConverter.json +49 -0
  296. package/build/artifacts/contracts/interfaces/Equilibria/IEquilibriaVault.sol/IEquilibriaVault.dbg.json +4 -0
  297. package/build/artifacts/contracts/interfaces/Equilibria/IEquilibriaVault.sol/IEquilibriaVault.json +75 -0
  298. package/build/artifacts/contracts/interfaces/EtherFi/IVedaTeller.sol/IVedaTeller.dbg.json +1 -1
  299. package/build/artifacts/contracts/interfaces/EtherFi/IVedaTeller.sol/IVedaTeller.json +36 -0
  300. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  301. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +825 -0
  302. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  303. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  304. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  305. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +1231 -244
  306. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +4 -0
  307. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +1862 -0
  308. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  309. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +1360 -2
  310. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  311. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +1341 -2
  312. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  313. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +1291 -0
  314. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  315. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +1254 -0
  316. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  317. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +727 -65
  318. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +4 -0
  319. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.json +563 -0
  320. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +4 -0
  321. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.json +589 -0
  322. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +4 -0
  323. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.json +49 -0
  324. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +4 -0
  325. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.json +97 -0
  326. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +4 -0
  327. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.json +134 -0
  328. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +4 -0
  329. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +1388 -0
  330. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  331. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  332. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  333. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  334. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +1 -1
  335. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  336. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +1360 -2
  337. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  338. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  339. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  340. package/build/artifacts/contracts/interfaces/Sky/ISkyConverter.sol/ISkyConverter.dbg.json +4 -0
  341. package/build/artifacts/contracts/interfaces/Sky/ISkyConverter.sol/ISkyConverter.json +47 -0
  342. package/build/artifacts/contracts/interfaces/Sky/ISkyStaking.sol/ISkyStaking.dbg.json +4 -0
  343. package/build/artifacts/contracts/interfaces/Sky/ISkyStaking.sol/ISkyStaking.json +44 -0
  344. package/build/artifacts/contracts/interfaces/Syrup/ISyrupRouter.sol/ISyrupRouter.dbg.json +4 -0
  345. package/build/artifacts/contracts/interfaces/Syrup/ISyrupRouter.sol/ISyrupRouter.json +48 -0
  346. package/build/artifacts/contracts/interfaces/Usual/IUsualUSD0PP.sol/IUsualUSD0PP.dbg.json +4 -0
  347. package/build/artifacts/contracts/interfaces/Usual/IUsualUSD0PP.sol/IUsualUSD0PP.json +24 -0
  348. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  349. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  350. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  351. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  352. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  353. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  354. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  355. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
  356. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
  357. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  358. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  359. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  360. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  361. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  362. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +2 -2
  363. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  364. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  365. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  366. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
  367. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  368. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  369. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  370. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  371. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  372. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  373. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  374. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  375. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  376. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  377. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  378. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +1362 -4
  379. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  380. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  381. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  382. package/build/artifacts/contracts/oracles/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  383. package/build/artifacts/contracts/oracles/PendleBoringOneracle.sol/PendleBoringOneracle.json +2 -2
  384. package/build/artifacts/contracts/oracles/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  385. package/build/artifacts/contracts/oracles/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.json +2 -2
  386. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  387. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  388. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  389. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  390. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  391. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  392. package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  393. package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  394. package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +4 -0
  395. package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PTExpiry.json +24 -0
  396. package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +4 -0
  397. package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.json +131 -0
  398. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
  399. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
  400. package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  401. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  402. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  403. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  404. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  405. package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  406. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  407. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +827 -2
  408. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  409. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  410. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  411. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +1233 -246
  412. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +4 -0
  413. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +1926 -0
  414. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  415. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +1343 -4
  416. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  417. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +1293 -2
  418. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  419. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +1256 -2
  420. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  421. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  422. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  423. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  424. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  425. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +4 -0
  426. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +10 -0
  427. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +4 -0
  428. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +10 -0
  429. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +4 -0
  430. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +10 -0
  431. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +4 -0
  432. package/build/artifacts/contracts/router/{base → math}/MarketApproxLib.sol/MarketApproxPtInLib.json +3 -3
  433. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +4 -0
  434. package/build/artifacts/contracts/router/{base → math}/MarketApproxLib.sol/MarketApproxPtOutLib.json +3 -3
  435. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +4 -0
  436. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +10 -0
  437. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +4 -0
  438. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +10 -0
  439. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  440. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  441. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  442. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  443. package/contracts/core/StandardizedYield/SYBaseUpg.sol +0 -2
  444. package/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol +193 -0
  445. package/contracts/core/StandardizedYield/implementations/BedRock/{PendleUniBTCSY.sol → PendleUniBTCSYUpg.sol} +12 -5
  446. package/contracts/core/StandardizedYield/implementations/Corn/PendleCornEBTCSY.sol +71 -0
  447. package/contracts/core/StandardizedYield/implementations/Corn/PendleCornUniBTCSYUpg.sol +8 -2
  448. package/contracts/core/StandardizedYield/implementations/Equilibria/PendleArbitrumEPendleSY.sol +124 -0
  449. package/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol +72 -0
  450. package/contracts/core/StandardizedYield/implementations/EtherFi/PendleEBTCSY.sol +9 -5
  451. package/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol +56 -0
  452. package/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol +1 -3
  453. package/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol +84 -0
  454. package/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol +1 -1
  455. package/contracts/core/StandardizedYield/implementations/Pump/PendlePumpBTCSY.sol +86 -0
  456. package/contracts/core/StandardizedYield/implementations/Pump/PendlePumpHelperLib.sol +2 -5
  457. package/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol +65 -0
  458. package/contracts/core/StandardizedYield/implementations/Sky/PendleStakingUSDSSY.sol +103 -0
  459. package/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBSCSYUpg.sol +103 -0
  460. package/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBSC.sol +47 -0
  461. package/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol +30 -0
  462. package/contracts/core/StandardizedYield/implementations/Usual/PendleUsualUSD0PPSY.sol +70 -0
  463. package/contracts/core/libraries/math/PMath.sol +26 -2
  464. package/contracts/interfaces/Equilibria/IEquilibriaConverter.sol +9 -0
  465. package/contracts/interfaces/Equilibria/IEquilibriaVault.sol +13 -0
  466. package/contracts/interfaces/EtherFi/IVedaTeller.sol +8 -0
  467. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +4 -127
  468. package/contracts/interfaces/IPActionMarketAuxStatic.sol +1 -1
  469. package/contracts/interfaces/IPActionMiscV3.sol +20 -123
  470. package/contracts/interfaces/IPActionSimple.sol +65 -0
  471. package/contracts/interfaces/IPActionStorageStatic.sol +3 -3
  472. package/contracts/interfaces/IPActionStorageV4.sol +3 -5
  473. package/contracts/interfaces/IPActionSwapPTV3.sol +4 -31
  474. package/contracts/interfaces/IPActionSwapYTV3.sol +4 -39
  475. package/contracts/interfaces/IPAllActionTypeV3.sol +110 -14
  476. package/contracts/interfaces/IPAllActionV3.sol +3 -1
  477. package/contracts/interfaces/IPAllEventsV3.sol +274 -0
  478. package/contracts/interfaces/Sky/ISkyConverter.sol +8 -0
  479. package/contracts/interfaces/Sky/ISkyStaking.sol +10 -0
  480. package/contracts/interfaces/Syrup/ISyrupRouter.sol +9 -0
  481. package/contracts/interfaces/Usual/IUsualUSD0PP.sol +6 -0
  482. package/contracts/offchain-helpers/PendleOffchainStorage.sol +0 -2
  483. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +2 -2
  484. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +1 -1
  485. package/contracts/oracles/PendleSparkLinearDiscountOracle.sol +45 -0
  486. package/contracts/router/ActionAddRemoveLiqV3.sol +29 -9
  487. package/contracts/router/ActionMiscV3.sol +184 -17
  488. package/contracts/router/ActionSimple.sol +310 -0
  489. package/contracts/router/ActionSwapPTV3.sol +14 -1
  490. package/contracts/router/ActionSwapYTV3.sol +17 -1
  491. package/contracts/router/base/ActionBase.sol +55 -5
  492. package/contracts/router/base/ActionDelegateBase.sol +127 -0
  493. package/contracts/router/math/ApproxStateLib.sol +143 -0
  494. package/contracts/router/math/MarketApproxEstimateLib.sol +107 -0
  495. package/contracts/router/{base → math}/MarketApproxLib.sol +1 -9
  496. package/contracts/router/math/MarketApproxLibOnchain.sol +241 -0
  497. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +7 -0
  498. package/deployments/1-core.json +5 -4
  499. package/deployments/1-markets/CORN-EBTC-MAINNET-MAR2025.json +14 -0
  500. package/deployments/1-markets/LBTC-MAINNET-MAR2025.json +14 -0
  501. package/deployments/1-markets/PUMPBTC-MAINNET-MAR2025.json +14 -0
  502. package/deployments/1-markets/SENA-MAINNET-APR2025.json +14 -0
  503. package/deployments/1-markets/STAKING-USDS-MAR2025.json +14 -0
  504. package/deployments/1-markets/SUSDS-MAINNET-MAR2025.json +14 -0
  505. package/deployments/1-markets/SYRUP-USDC-MAINNET-JAN2025.json +14 -0
  506. package/deployments/1-markets/USD0++-MAINNET-MARCH2025.json +14 -0
  507. package/deployments/10-core.json +5 -4
  508. package/deployments/42161-core.json +5 -4
  509. package/deployments/42161-markets/EPENDLE-ARBITRUM-DEC2024.json +14 -0
  510. package/deployments/42161-markets/MPENDLE-ARBITRUM-DEC2024.json +14 -0
  511. package/deployments/5000-core.json +5 -4
  512. package/deployments/56-core.json +5 -4
  513. package/deployments/56-markets/SOLVBTCBBN-BSC-MAR2025.json +14 -0
  514. package/deployments/merkle-distribution/2024-09-26-retroactive.json +21525 -0
  515. package/deployments/merkle-distribution/2024-09-26.json +22340 -0
  516. package/package.json +1 -1
  517. package/typechain-types/ActionAddRemoveLiqV3.ts +604 -0
  518. package/typechain-types/ActionMiscV3.ts +852 -74
  519. package/typechain-types/ActionSimple.ts +1574 -0
  520. package/typechain-types/ActionStorageStatic.ts +1025 -0
  521. package/typechain-types/ActionStorageV4.ts +1007 -0
  522. package/typechain-types/ActionSwapPTV3.ts +978 -0
  523. package/typechain-types/ActionSwapYTV3.ts +948 -0
  524. package/typechain-types/IEquilibriaConverter.ts +136 -0
  525. package/typechain-types/IEquilibriaVault.ts +171 -0
  526. package/typechain-types/IPActionAddRemoveLiqV3.ts +604 -0
  527. package/typechain-types/IPActionAddRemoveLiqV3Events.ts +499 -0
  528. package/typechain-types/IPActionMiscV3.ts +852 -74
  529. package/typechain-types/IPActionMiscV3Events.ts +463 -0
  530. package/typechain-types/IPActionSimple.ts +1574 -0
  531. package/typechain-types/IPActionStorageEvents.ts +97 -0
  532. package/typechain-types/IPActionStorageStatic.ts +1025 -0
  533. package/typechain-types/IPActionStorageV4.ts +1007 -0
  534. package/typechain-types/IPActionSwapPTV3.ts +978 -0
  535. package/typechain-types/IPActionSwapPTV3Events.ts +125 -0
  536. package/typechain-types/IPActionSwapYTV3.ts +948 -0
  537. package/typechain-types/IPActionSwapYTV3Events.ts +155 -0
  538. package/typechain-types/IPAllActionV3.ts +637 -79
  539. package/typechain-types/IPAllEventsV3.ts +1110 -0
  540. package/typechain-types/IPRouterStatic.ts +1025 -0
  541. package/typechain-types/ISkyConverter.ts +143 -0
  542. package/typechain-types/ISkyStaking.ts +145 -0
  543. package/typechain-types/ISyrupRouter.ts +120 -0
  544. package/typechain-types/IUsualUSD0PP.ts +96 -0
  545. package/typechain-types/IVedaTeller.ts +39 -0
  546. package/typechain-types/PTExpiry.ts +81 -0
  547. package/typechain-types/PendleArbitrumEPendleSY.ts +1439 -0
  548. package/typechain-types/PendleCornEBTCSY.ts +1542 -0
  549. package/typechain-types/PendleCornUniBTCSYUpg.ts +40 -0
  550. package/typechain-types/PendleEBTCSY.ts +32 -13
  551. package/typechain-types/PendleEEigenSYUpg.ts +1385 -0
  552. package/typechain-types/PendleERC4626NotRedeemableToAssetSY.ts +1282 -0
  553. package/typechain-types/PendlePumpBTCSY.ts +1290 -0
  554. package/typechain-types/PendleSENASY.ts +1398 -0
  555. package/typechain-types/PendleSUSDSSY.ts +1333 -0
  556. package/typechain-types/PendleSolvBTCBBNBSCSYUpg.ts +1409 -0
  557. package/typechain-types/PendleSolvHelperBSC.ts +220 -0
  558. package/typechain-types/PendleSparkLinearDiscountOracle.ts +213 -0
  559. package/typechain-types/PendleStakingUSDSSY.ts +1428 -0
  560. package/typechain-types/PendleSyrupSY.ts +1321 -0
  561. package/typechain-types/PendleUniBTCSYUpg.ts +1359 -0
  562. package/typechain-types/PendleUsualUSD0PPSY.ts +1296 -0
  563. package/typechain-types/SYBaseUpg.ts +0 -169
  564. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +826 -1
  565. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  566. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  567. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  568. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  569. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  570. package/typechain-types/factories/ActionMiscV3__factory.ts +1232 -245
  571. package/typechain-types/factories/ActionSimple__factory.ts +1976 -0
  572. package/typechain-types/factories/ActionStorageStatic__factory.ts +1361 -3
  573. package/typechain-types/factories/ActionStorageV4__factory.ts +1342 -3
  574. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1292 -1
  575. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1255 -1
  576. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  577. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  578. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  579. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1 -1
  580. package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
  581. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  582. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  583. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  584. package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
  585. package/typechain-types/factories/GMTokenPricingHelper__factory.ts +1 -1
  586. package/typechain-types/factories/IEquilibriaConverter__factory.ts +68 -0
  587. package/typechain-types/factories/IEquilibriaVault__factory.ts +90 -0
  588. package/typechain-types/factories/IPActionAddRemoveLiqV3Events__factory.ts +582 -0
  589. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +825 -0
  590. package/typechain-types/factories/IPActionMiscV3Events__factory.ts +608 -0
  591. package/typechain-types/factories/IPActionMiscV3__factory.ts +1231 -244
  592. package/typechain-types/factories/IPActionSimple__factory.ts +1877 -0
  593. package/typechain-types/factories/IPActionStorageEvents__factory.ts +68 -0
  594. package/typechain-types/factories/IPActionStorageStatic__factory.ts +1360 -2
  595. package/typechain-types/factories/IPActionStorageV4__factory.ts +1341 -2
  596. package/typechain-types/factories/IPActionSwapPTV3Events__factory.ts +116 -0
  597. package/typechain-types/factories/IPActionSwapPTV3__factory.ts +1291 -0
  598. package/typechain-types/factories/IPActionSwapYTV3Events__factory.ts +153 -0
  599. package/typechain-types/factories/IPActionSwapYTV3__factory.ts +1254 -0
  600. package/typechain-types/factories/IPAllActionV3__factory.ts +727 -65
  601. package/typechain-types/factories/IPAllEventsV3__factory.ts +1400 -0
  602. package/typechain-types/factories/IPRouterStatic__factory.ts +1360 -2
  603. package/typechain-types/factories/ISkyConverter__factory.ts +59 -0
  604. package/typechain-types/factories/ISkyStaking__factory.ts +56 -0
  605. package/typechain-types/factories/ISyrupRouter__factory.ts +60 -0
  606. package/typechain-types/factories/IUsualUSD0PP__factory.ts +36 -0
  607. package/typechain-types/factories/IVedaTeller__factory.ts +36 -0
  608. package/typechain-types/factories/KyberMathHelper__factory.ts +1 -1
  609. package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
  610. package/typechain-types/factories/PTExpiry__factory.ts +36 -0
  611. package/typechain-types/factories/PendleAaveV3SY__factory.ts +1 -1
  612. package/typechain-types/factories/PendleAaveV3WithRewardsSY__factory.ts +1 -1
  613. package/typechain-types/factories/PendleAgETHSY__factory.ts +1 -1
  614. package/typechain-types/factories/PendleAmphorWstETHVaultSY__factory.ts +1 -1
  615. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  616. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  617. package/typechain-types/factories/PendleArbitrumEPendleSY__factory.ts +1198 -0
  618. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  619. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  620. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  621. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  622. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  623. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  624. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  625. package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
  626. package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
  627. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  628. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  629. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +1 -1
  630. package/typechain-types/factories/PendleCornEBTCSY__factory.ts +1236 -0
  631. package/typechain-types/factories/PendleCornLBTCSY__factory.ts +1 -1
  632. package/typechain-types/factories/PendleCornPumpBTCSY__factory.ts +1 -1
  633. package/typechain-types/factories/PendleCornSolvBTCBBNSYUpg__factory.ts +1 -1
  634. package/typechain-types/factories/PendleCornUniBTCSYUpg__factory.ts +21 -1
  635. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  636. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  637. package/typechain-types/factories/PendleDolomiteSY__factory.ts +1 -1
  638. package/typechain-types/factories/PendleEBTCSY__factory.ts +27 -14
  639. package/typechain-types/factories/PendleEEigenSYUpg__factory.ts +1111 -0
  640. package/typechain-types/factories/PendleERC20SYUpg__factory.ts +1 -1
  641. package/typechain-types/factories/PendleERC20SY__factory.ts +1 -1
  642. package/typechain-types/factories/PendleERC20WithSupplyCapSY__factory.ts +1 -1
  643. package/typechain-types/factories/PendleERC4626NotRedeemableToAssetSY__factory.ts +1103 -0
  644. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  645. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  646. package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
  647. package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
  648. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  649. package/typechain-types/factories/PendleEzETHL2SY__factory.ts +1 -1
  650. package/typechain-types/factories/PendleEzETHSY__factory.ts +1 -1
  651. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  652. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
  653. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  654. package/typechain-types/factories/PendleGMV2TokenSY__factory.ts +1 -1
  655. package/typechain-types/factories/PendleGTokenSY__factory.ts +1 -1
  656. package/typechain-types/factories/PendleGUSDCSY__factory.ts +1 -1
  657. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  658. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  659. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  660. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  661. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
  662. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
  663. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
  664. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
  665. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
  666. package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1 -1
  667. package/typechain-types/factories/PendleL2LRTSY__factory.ts +1 -1
  668. package/typechain-types/factories/PendleLBTCSY__factory.ts +1 -1
  669. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  670. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  671. package/typechain-types/factories/PendleMETHSY__factory.ts +1 -1
  672. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
  673. package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +1 -1
  674. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  675. package/typechain-types/factories/PendleMarketV3__factory.ts +1 -1
  676. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  677. package/typechain-types/factories/PendleMellowVaultERC20SYUpg__factory.ts +1 -1
  678. package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1 -1
  679. package/typechain-types/factories/PendleMellowVaultSYBaseUpg__factory.ts +1 -1
  680. package/typechain-types/factories/PendleMellowVaultWstETHSYUpg__factory.ts +1 -1
  681. package/typechain-types/factories/PendleMlpSY__factory.ts +1 -1
  682. package/typechain-types/factories/PendleOffchainStorage__factory.ts +1 -1
  683. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  684. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  685. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  686. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  687. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  688. package/typechain-types/factories/PendlePumpBTCSY__factory.ts +1076 -0
  689. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  690. package/typechain-types/factories/PendleREZtakeSY__factory.ts +1 -1
  691. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  692. package/typechain-types/factories/PendleRenzoPreviewHelper__factory.ts +1 -1
  693. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  694. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  695. package/typechain-types/factories/PendleRsETHSY__factory.ts +1 -1
  696. package/typechain-types/factories/PendleRswETHSY__factory.ts +1 -1
  697. package/typechain-types/factories/PendleSENASY__factory.ts +1172 -0
  698. package/typechain-types/factories/PendleSUSDEMantleSY__factory.ts +1 -1
  699. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  700. package/typechain-types/factories/PendleSUSDSSY__factory.ts +1112 -0
  701. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  702. package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1 -1
  703. package/typechain-types/factories/PendleSolvBTCBBNBSCSYUpg__factory.ts +1129 -0
  704. package/typechain-types/factories/PendleSolvBTCBBNSYUpg__factory.ts +1 -1
  705. package/typechain-types/factories/PendleSolvHelperBSC__factory.ts +168 -0
  706. package/typechain-types/factories/PendleSophonFarmingSY__factory.ts +1 -1
  707. package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +209 -0
  708. package/typechain-types/factories/PendleStTAOSY__factory.ts +1 -1
  709. package/typechain-types/factories/PendleStakingUSDSSY__factory.ts +1181 -0
  710. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  711. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  712. package/typechain-types/factories/PendleSwellRswETHStakingSY__factory.ts +1 -1
  713. package/typechain-types/factories/PendleSwellStakingERC20SY__factory.ts +1 -1
  714. package/typechain-types/factories/PendleSyrupSY__factory.ts +1118 -0
  715. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  716. package/typechain-types/factories/PendleUSDEL2SY__factory.ts +1 -1
  717. package/typechain-types/factories/PendleUSDESY__factory.ts +1 -1
  718. package/typechain-types/factories/PendleUniBTCSYUpg__factory.ts +1106 -0
  719. package/typechain-types/factories/PendleUniETHSY__factory.ts +1 -1
  720. package/typechain-types/factories/PendleUsualUSD0PPSY__factory.ts +1076 -0
  721. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  722. package/typechain-types/factories/PendleWEEthSY__factory.ts +1 -1
  723. package/typechain-types/factories/PendleWEEthkSY__factory.ts +1 -1
  724. package/typechain-types/factories/PendleWEEthsSY__factory.ts +1 -1
  725. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  726. package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
  727. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  728. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  729. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  730. package/typechain-types/factories/PendleZtakeERC20SY__factory.ts +1 -1
  731. package/typechain-types/factories/PendleZtakeEzETHSY__factory.ts +1 -1
  732. package/typechain-types/factories/PendleZtakeRsETHSY__factory.ts +1 -1
  733. package/typechain-types/factories/PendleZtakeUSDESY__factory.ts +1 -1
  734. package/typechain-types/factories/PendleZtakeWeETHSY__factory.ts +1 -1
  735. package/typechain-types/factories/Reflector__factory.ts +1 -1
  736. package/typechain-types/factories/SAPE__factory.ts +1 -1
  737. package/typechain-types/factories/SYBaseUpg__factory.ts +0 -124
  738. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  739. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  740. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  741. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  742. package/typechain-types/hardhat.d.ts +270 -27
  743. package/typechain-types/index.ts +58 -6
  744. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniBTCSY.sol/PendleUniBTCSY.dbg.json +0 -4
  745. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniBTCSY.sol/PendleUniBTCSY.json +0 -1049
  746. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +0 -4
  747. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.json +0 -863
  748. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +0 -4
  749. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +0 -4
  750. package/contracts/interfaces/IPRouterHelper.sol +0 -146
  751. package/deployments/1-markets/SOPHON-PEPE-MAINNET-DEC2024.json +0 -14
@@ -6,6 +6,8 @@ import "../interfaces/IPActionMiscV3.sol";
6
6
  import "../interfaces/IPReflector.sol";
7
7
 
8
8
  contract ActionMiscV3 is IPActionMiscV3, ActionBase {
9
+ uint256 private constant NOT_FOUND = type(uint256).max;
10
+
9
11
  function mintSyFromToken(
10
12
  address receiver,
11
13
  address SY,
@@ -16,6 +18,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
16
18
  emit MintSyFromToken(msg.sender, input.tokenIn, SY, receiver, input.netTokenIn, netSyOut);
17
19
  }
18
20
 
21
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
19
22
  function redeemSyToToken(
20
23
  address receiver,
21
24
  address SY,
@@ -26,6 +29,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
26
29
  emit RedeemSyToToken(msg.sender, output.tokenOut, SY, receiver, netSyIn, netTokenOut);
27
30
  }
28
31
 
32
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
29
33
  function mintPyFromToken(
30
34
  address receiver,
31
35
  address YT,
@@ -40,6 +44,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
40
44
  emit MintPyFromToken(msg.sender, input.tokenIn, YT, receiver, input.netTokenIn, netPyOut, netSyInterm);
41
45
  }
42
46
 
47
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
43
48
  function redeemPyToToken(
44
49
  address receiver,
45
50
  address YT,
@@ -93,6 +98,114 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
93
98
  }
94
99
  }
95
100
 
101
+ /// @dev The interface might change in the future, check with Pendle team before use
102
+ function redeemDueInterestAndRewardsV2(
103
+ IStandardizedYield[] calldata SYs,
104
+ RedeemYtIncomeToTokenStruct[] calldata YTs,
105
+ IPMarket[] calldata markets,
106
+ IPSwapAggregator pendleSwap,
107
+ SwapDataExtra[] calldata swaps
108
+ ) external returns (uint256[] memory netOutFromSwaps, uint256[] memory netInterests) {
109
+ if (swaps.length == 0) {
110
+ return (netOutFromSwaps, __redeemDueInterestAndRewardsV2NoSwap(SYs, YTs, markets));
111
+ } else {
112
+ return __redeemDueInterestAndRewardsV2AndSwap(SYs, YTs, markets, pendleSwap, swaps);
113
+ }
114
+ }
115
+
116
+ function __redeemDueInterestAndRewardsV2NoSwap(
117
+ IStandardizedYield[] calldata SYs,
118
+ RedeemYtIncomeToTokenStruct[] calldata YTs,
119
+ IPMarket[] calldata markets
120
+ ) private returns (uint256[] memory netInterests) {
121
+ netInterests = new uint256[](YTs.length);
122
+ for (uint256 i = 0; i < SYs.length; ++i) SYs[i].claimRewards(msg.sender);
123
+
124
+ for (uint256 i = 0; i < YTs.length; ++i) {
125
+ (uint256 netSyInt, ) = YTs[i].yt.redeemDueInterestAndRewards(
126
+ msg.sender,
127
+ YTs[i].doRedeemInterest,
128
+ YTs[i].doRedeemRewards
129
+ );
130
+
131
+ if (netSyInt == 0) continue;
132
+
133
+ IStandardizedYield SY = IStandardizedYield(YTs[i].yt.SY());
134
+ _transferFrom(SY, msg.sender, address(SY), netSyInt);
135
+ netInterests[i] = SY.redeem(msg.sender, netSyInt, YTs[i].tokenRedeemSy, YTs[i].minTokenRedeemOut, true);
136
+ }
137
+
138
+ for (uint256 i = 0; i < markets.length; ++i) markets[i].redeemRewards(msg.sender);
139
+ }
140
+
141
+ function __redeemDueInterestAndRewardsV2AndSwap(
142
+ IStandardizedYield[] calldata SYs,
143
+ RedeemYtIncomeToTokenStruct[] calldata YTs,
144
+ IPMarket[] calldata markets,
145
+ IPSwapAggregator pendleSwap,
146
+ SwapDataExtra[] calldata swaps
147
+ ) private returns (uint256[] memory netOutFromSwaps, uint256[] memory netInterests) {
148
+ netOutFromSwaps = new uint256[](swaps.length);
149
+ uint256[] memory netSwaps = new uint256[](swaps.length);
150
+
151
+ for (uint256 i = 0; i < SYs.length; ++i) {
152
+ _add(swaps, netSwaps, SYs[i].getRewardTokens(), SYs[i].claimRewards(msg.sender));
153
+ }
154
+
155
+ netInterests = new uint256[](YTs.length);
156
+ for (uint256 i = 0; i < YTs.length; ++i) {
157
+ uint256[] memory netRewards;
158
+ (netInterests[i], netRewards) = YTs[i].yt.redeemDueInterestAndRewards(
159
+ msg.sender,
160
+ YTs[i].doRedeemInterest,
161
+ YTs[i].doRedeemRewards
162
+ );
163
+
164
+ if (YTs[i].doRedeemRewards) _add(swaps, netSwaps, YTs[i].yt.getRewardTokens(), netRewards);
165
+ }
166
+
167
+ for (uint256 i = 0; i < markets.length; ++i) {
168
+ _add(swaps, netSwaps, markets[i].getRewardTokens(), markets[i].redeemRewards(msg.sender));
169
+ }
170
+
171
+ for (uint256 i = 0; i < swaps.length; ++i) {
172
+ _transferIn(swaps[i].tokenIn, msg.sender, netSwaps[i]);
173
+ }
174
+
175
+ for (uint256 i = 0; i < YTs.length; ++i) {
176
+ if (netInterests[i] == 0) continue;
177
+ IStandardizedYield SY = IStandardizedYield(YTs[i].yt.SY());
178
+ netInterests[i] = _redeemSyAndAdd(
179
+ swaps,
180
+ netSwaps,
181
+ SY,
182
+ netInterests[i],
183
+ YTs[i].tokenRedeemSy,
184
+ YTs[i].minTokenRedeemOut
185
+ );
186
+ }
187
+
188
+ for (uint256 i = 0; i < swaps.length; ++i) netOutFromSwaps[i] = _swap(swaps[i], netSwaps[i], pendleSwap, true);
189
+ }
190
+
191
+ /// @dev The interface might change in the future, check with Pendle team before use
192
+ function swapTokensToTokens(
193
+ IPSwapAggregator pendleSwap,
194
+ SwapDataExtra[] calldata swaps,
195
+ uint256[] calldata netSwaps
196
+ ) external payable returns (uint256[] memory netOutFromSwaps) {
197
+ netOutFromSwaps = new uint256[](swaps.length);
198
+
199
+ for (uint256 i = 0; i < swaps.length; ++i) {
200
+ _transferIn(swaps[i].tokenIn, msg.sender, netSwaps[i]);
201
+ }
202
+
203
+ for (uint256 i = 0; i < swaps.length; ++i) {
204
+ netOutFromSwaps[i] = _swap(swaps[i], netSwaps[i], pendleSwap, false);
205
+ }
206
+ }
207
+
208
+ /// @dev Deprecated, please use swapTokensToTokens which support unwrapping ETH too
96
209
  function swapTokenToToken(
97
210
  address receiver,
98
211
  uint256 minTokenOut,
@@ -106,6 +219,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
106
219
  _transferOut(inp.tokenMintSy, receiver, netTokenOut);
107
220
  }
108
221
 
222
+ /// @dev The interface might change in the future, check with Pendle team before use
109
223
  function swapTokenToTokenViaSy(
110
224
  address receiver,
111
225
  address SY,
@@ -117,7 +231,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
117
231
  netTokenOut = IStandardizedYield(SY).redeem(receiver, netSyInterm, tokenRedeemSy, minTokenOut, true);
118
232
  }
119
233
 
120
- /// @dev The interface might change in the future, check with Pendle team before use
234
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
121
235
  function exitPreExpToToken(
122
236
  address receiver,
123
237
  address market,
@@ -135,7 +249,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
135
249
  emit ExitPreExpToToken(msg.sender, market, output.tokenOut, receiver, netLpIn, totalTokenOut, params);
136
250
  }
137
251
 
138
- /// @dev The interface might change in the future, check with Pendle team before use
252
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
139
253
  function exitPreExpToSy(
140
254
  address receiver,
141
255
  address market,
@@ -198,7 +312,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
198
312
  p.totalSyOut = p.netSyFromRemove + p.netSyFromRedeem + p.netSyFromSwap;
199
313
  }
200
314
 
201
- /// @dev The interface might change in the future, check with Pendle team before use
315
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
202
316
  function exitPostExpToToken(
203
317
  address receiver,
204
318
  address market,
@@ -228,6 +342,73 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
228
342
  emit ExitPostExpToSy(msg.sender, market, receiver, netLpIn, params);
229
343
  }
230
344
 
345
+ function _redeemSyAndAdd(
346
+ SwapDataExtra[] calldata swaps,
347
+ uint256[] memory netSwaps,
348
+ IStandardizedYield SY,
349
+ uint256 netSyToRedeem,
350
+ address tokenRedeemSy,
351
+ uint256 minTokenRedeemSy
352
+ ) internal returns (uint256 netTokenOut) {
353
+ _transferFrom(SY, msg.sender, address(SY), netSyToRedeem);
354
+
355
+ uint256 index = _find(swaps, tokenRedeemSy);
356
+ if (index == NOT_FOUND) {
357
+ return SY.redeem(msg.sender, netSyToRedeem, tokenRedeemSy, minTokenRedeemSy, true);
358
+ }
359
+
360
+ netTokenOut = SY.redeem(address(this), netSyToRedeem, tokenRedeemSy, minTokenRedeemSy, true);
361
+ netSwaps[index] += netTokenOut;
362
+ }
363
+
364
+ function _add(
365
+ SwapDataExtra[] calldata swaps,
366
+ uint256[] memory netSwaps,
367
+ address[] memory tokens,
368
+ uint256[] memory amounts
369
+ ) internal pure {
370
+ for (uint256 i = 0; i < tokens.length; ++i) {
371
+ uint256 index = _find(swaps, tokens[i]);
372
+ if (index == NOT_FOUND) continue;
373
+
374
+ netSwaps[index] += amounts[i];
375
+ }
376
+ }
377
+
378
+ function _swap(
379
+ SwapDataExtra calldata $,
380
+ uint256 netSwap,
381
+ IPSwapAggregator pendleSwap,
382
+ bool needScale
383
+ ) internal returns (uint256 netTokenOut) {
384
+ SwapType swapType = $.swapData.swapType;
385
+ assert(swapType != SwapType.NONE);
386
+
387
+ if (swapType == SwapType.ETH_WETH) {
388
+ _wrap_unwrap_ETH($.tokenIn, $.tokenOut, netSwap);
389
+
390
+ netTokenOut = netSwap;
391
+ } else {
392
+ assert($.swapData.needScale == needScale);
393
+
394
+ _transferOut($.tokenIn, address(pendleSwap), netSwap);
395
+
396
+ uint256 preBalance = _selfBalance($.tokenOut);
397
+ IPSwapAggregator(pendleSwap).swap($.tokenIn, netSwap, $.swapData);
398
+ netTokenOut = _selfBalance($.tokenOut) - preBalance;
399
+ }
400
+
401
+ require(netTokenOut >= $.minOut, "Slippage: INSUFFICIENT_TOKEN_OUT");
402
+ _transferOut($.tokenOut, msg.sender, netTokenOut);
403
+ }
404
+
405
+ function _find(SwapDataExtra[] calldata swaps, address token) internal pure returns (uint256 index) {
406
+ for (uint256 i = 0; i < swaps.length; ++i) {
407
+ if (swaps[i].tokenIn == token) return i;
408
+ }
409
+ return NOT_FOUND;
410
+ }
411
+
231
412
  function _exitPostExpToSy(
232
413
  bool setReceiverToSy,
233
414
  address receiver,
@@ -290,20 +471,6 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
290
471
  revert Errors.SimulationResults(success, result);
291
472
  }
292
473
 
293
- function _delegateToSelf(
294
- bytes memory data,
295
- bool allowFailure
296
- ) internal returns (bool success, bytes memory result) {
297
- (success, result) = address(this).delegatecall(data);
298
-
299
- if (!success && !allowFailure) {
300
- assembly {
301
- // We use Yul's revert() to bubble up errors from the target contract.
302
- revert(add(32, result), mload(result))
303
- }
304
- }
305
- }
306
-
307
474
  function _callToReflector(address payable reflector, bytes memory data) internal returns (bytes memory) {
308
475
  return IPReflector(reflector).reflect(data);
309
476
  }
@@ -0,0 +1,310 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {IPMarket} from "../interfaces/IPMarket.sol";
5
+ import {IStandardizedYield} from "../interfaces/IStandardizedYield.sol";
6
+ import {IPPrincipalToken} from "../interfaces/IPPrincipalToken.sol";
7
+ import {IPActionSimple} from "../interfaces/IPActionSimple.sol";
8
+ import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
9
+
10
+ import {TokenHelper} from "../core/libraries/TokenHelper.sol";
11
+ import {PYIndexLib, IPYieldToken, PYIndex} from "../core/StandardizedYield/PYIndex.sol";
12
+ import {MarketState} from "../core/Market/MarketMathCore.sol";
13
+ import {PMath} from "../core/libraries/math/PMath.sol";
14
+
15
+ import {CallbackHelper} from "./base/CallbackHelper.sol";
16
+ import {MarketApproxPtInLibOnchain, MarketApproxPtOutLibOnchain} from "./math/MarketApproxLibOnchain.sol";
17
+ import {TokenInput, TokenOutput} from "../interfaces/IPAllActionTypeV3.sol";
18
+ import {ActionBase} from "./base/ActionBase.sol";
19
+
20
+ contract ActionSimple is ActionBase, IPActionSimple {
21
+ using MarketApproxPtInLibOnchain for MarketState;
22
+ using MarketApproxPtOutLibOnchain for MarketState;
23
+ using PYIndexLib for IPYieldToken;
24
+ using PYIndexLib for PYIndex;
25
+ using PMath for uint256;
26
+
27
+ // ------------------ SWAP TOKEN FOR PT ------------------
28
+ /// @notice This function is for internal router use only and should not be called directly.
29
+ /// @dev Use swapExactTokenForPt from the main router instead.
30
+ /// @dev The interface of this simple function is subject to change without notice.
31
+ function swapExactTokenForPtSimple(
32
+ address receiver,
33
+ address market,
34
+ uint256 minPtOut,
35
+ TokenInput calldata input
36
+ ) external payable returns (uint256 netPtOut, uint256 netSyFee, uint256 netSyInterm) {
37
+ (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
38
+ netSyInterm = _mintSyFromToken(_entry_swapExactSyForPt(market, false), address(SY), 1, input);
39
+
40
+ (netPtOut, netSyFee) = _swapExactSyForPtSimple(receiver, market, netSyInterm, minPtOut);
41
+ emit SwapPtAndToken(
42
+ msg.sender,
43
+ market,
44
+ input.tokenIn,
45
+ receiver,
46
+ netPtOut.Int(),
47
+ input.netTokenIn.neg(),
48
+ netSyInterm
49
+ );
50
+ }
51
+
52
+ /// @notice This function is for internal router use only and should not be called directly.
53
+ /// @dev Use swapExactSyForPt from the main router instead.
54
+ /// @dev The interface of this simple function is subject to change without notice.
55
+ function swapExactSyForPtSimple(
56
+ address receiver,
57
+ address market,
58
+ uint256 exactSyIn,
59
+ uint256 minPtOut
60
+ ) external returns (uint256 netPtOut, uint256 netSyFee) {
61
+ (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
62
+ _transferFrom(SY, msg.sender, _entry_swapExactSyForPt(market, false), exactSyIn);
63
+
64
+ (netPtOut, netSyFee) = _swapExactSyForPtSimple(receiver, market, exactSyIn, minPtOut);
65
+ emit SwapPtAndSy(msg.sender, market, receiver, netPtOut.Int(), exactSyIn.neg());
66
+ }
67
+
68
+ /// @notice This function is for internal router use only and should not be called directly.
69
+ /// @dev Use swapExactTokenForYt from the main router instead.
70
+ /// @dev The interface of this simple function is subject to change without notice.
71
+ function swapExactTokenForYtSimple(
72
+ address receiver,
73
+ address market,
74
+ uint256 minYtOut,
75
+ TokenInput calldata input
76
+ ) external payable returns (uint256 netYtOut, uint256 netSyFee, uint256 netSyInterm) {
77
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
78
+
79
+ netSyInterm = _mintSyFromToken(_entry_swapExactSyForYt(YT, false), address(SY), 1, input);
80
+ (netYtOut, netSyFee) = _swapExactSyForYtSimple(receiver, market, SY, YT, netSyInterm, minYtOut);
81
+
82
+ emit SwapYtAndToken(
83
+ msg.sender,
84
+ market,
85
+ input.tokenIn,
86
+ receiver,
87
+ netYtOut.Int(),
88
+ input.netTokenIn.neg(),
89
+ netSyInterm
90
+ );
91
+ }
92
+
93
+ /// @notice This function is for internal router use only and should not be called directly.
94
+ /// @dev Use swapExactSyForYt from the main router instead.
95
+ /// @dev The interface of this simple function is subject to change without notice.
96
+ function swapExactSyForYtSimple(
97
+ address receiver,
98
+ address market,
99
+ uint256 exactSyIn,
100
+ uint256 minYtOut
101
+ ) external returns (uint256 netYtOut, uint256 netSyFee) {
102
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
103
+ _transferFrom(SY, msg.sender, _entry_swapExactSyForYt(YT, false), exactSyIn);
104
+
105
+ (netYtOut, netSyFee) = _swapExactSyForYtSimple(receiver, market, SY, YT, exactSyIn, minYtOut);
106
+ emit SwapYtAndSy(msg.sender, market, receiver, netYtOut.Int(), exactSyIn.neg());
107
+ }
108
+
109
+ /// @notice This function is for internal router use only and should not be called directly.
110
+ /// @dev Use addLiquiditySinglePt from the main router instead.
111
+ /// @dev The interface of this simple function is subject to change without notice.
112
+ function addLiquiditySinglePtSimple(
113
+ address receiver,
114
+ address market,
115
+ uint256 netPtIn,
116
+ uint256 minLpOut
117
+ ) external returns (uint256 netLpOut, uint256 netSyFee) {
118
+ (, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
119
+ _transferFrom(PT, msg.sender, _entry_addLiquiditySinglePt(market, false), netPtIn);
120
+
121
+ uint256 netPtLeft = netPtIn;
122
+ uint256 netSyReceived;
123
+
124
+ (uint256 netPtSwapMarket, , , ) = _readMarket(market).approxSwapPtToAddLiquidityOnchain(
125
+ YT.newIndex(),
126
+ netPtLeft,
127
+ netSyReceived,
128
+ block.timestamp
129
+ );
130
+
131
+ // execute the swap
132
+ (uint256 netSyOutMarket, uint256 netSyFeeMarket) = IPMarket(market).swapExactPtForSy(
133
+ market,
134
+ netPtSwapMarket,
135
+ EMPTY_BYTES
136
+ );
137
+
138
+ netPtLeft -= netPtSwapMarket;
139
+ netSyReceived += netSyOutMarket;
140
+ netSyFee += netSyFeeMarket;
141
+
142
+ // execute the addLiquidity
143
+ (netLpOut, , ) = IPMarket(market).mint(receiver, netSyReceived, netPtLeft);
144
+
145
+ if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
146
+
147
+ emit AddLiquiditySinglePt(msg.sender, market, receiver, netPtIn, netLpOut);
148
+ }
149
+
150
+ // ------------------ ADD LIQUIDITY SINGLE TOKEN ------------------
151
+
152
+ /// @notice This function is for internal router use only and should not be called directly.
153
+ /// @dev Use addLiquiditySingleToken from the main router instead.
154
+ /// @dev The interface of this simple function is subject to change without notice.
155
+ function addLiquiditySingleTokenSimple(
156
+ address receiver,
157
+ address market,
158
+ uint256 minLpOut,
159
+ TokenInput calldata input
160
+ ) external payable returns (uint256 netLpOut, uint256 netSyFee, uint256 netSyInterm) {
161
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
162
+
163
+ netSyInterm = _mintSyFromToken(_entry_addLiquiditySingleSy(market, false), address(SY), 1, input);
164
+
165
+ (netLpOut, netSyFee) = _addLiquiditySingleSySimple(receiver, market, SY, YT, netSyInterm, minLpOut);
166
+
167
+ emit AddLiquiditySingleToken(
168
+ msg.sender,
169
+ market,
170
+ input.tokenIn,
171
+ receiver,
172
+ input.netTokenIn,
173
+ netLpOut,
174
+ netSyInterm
175
+ );
176
+ }
177
+
178
+ /// @notice This function is for internal router use only and should not be called directly.
179
+ /// @dev Use addLiquiditySingleSy from the main router instead.
180
+ /// @dev The interface of this simple function is subject to change without notice.
181
+ function addLiquiditySingleSySimple(
182
+ address receiver,
183
+ address market,
184
+ uint256 netSyIn,
185
+ uint256 minLpOut
186
+ ) external returns (uint256 netLpOut, uint256 netSyFee) {
187
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
188
+
189
+ _transferFrom(SY, msg.sender, _entry_addLiquiditySingleSy(market, false), netSyIn);
190
+
191
+ (netLpOut, netSyFee) = _addLiquiditySingleSySimple(receiver, market, SY, YT, netSyIn, minLpOut);
192
+
193
+ emit AddLiquiditySingleSy(msg.sender, market, receiver, netSyIn, netLpOut);
194
+ }
195
+
196
+ function _addLiquiditySingleSySimple(
197
+ address receiver,
198
+ address market,
199
+ IStandardizedYield /*SY*/,
200
+ IPYieldToken YT,
201
+ uint256 netSyIn,
202
+ uint256 minLpOut
203
+ ) internal returns (uint256 netLpOut, uint256 netSyFee) {
204
+ uint256 netSyLeft = netSyIn;
205
+ uint256 netPtReceived;
206
+
207
+ (uint256 netPtOutMarket, , , ) = _readMarket(market).approxSwapSyToAddLiquidityOnchain(
208
+ YT.newIndex(),
209
+ netSyLeft,
210
+ netPtReceived,
211
+ block.timestamp
212
+ );
213
+
214
+ (uint256 netSySwapMarket, uint256 netSyFeeMarket) = IPMarket(market).swapSyForExactPt(
215
+ market,
216
+ netPtOutMarket,
217
+ EMPTY_BYTES
218
+ );
219
+
220
+ netSyLeft -= netSySwapMarket;
221
+ netPtReceived += netPtOutMarket;
222
+ netSyFee += netSyFeeMarket;
223
+
224
+ (netLpOut, , ) = IPMarket(market).mint(receiver, netSyLeft, netPtReceived);
225
+
226
+ if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
227
+ }
228
+
229
+ // ------------------ REMOVE LIQUIDITY SINGLE PT ------------------
230
+ /// @notice This function is for internal router use only and should not be called directly.
231
+ /// @dev Use removeLiquiditySinglePt from the main router instead.
232
+ /// @dev The interface of this simple function is subject to change without notice.
233
+ function removeLiquiditySinglePtSimple(
234
+ address receiver,
235
+ address market,
236
+ uint256 netLpToRemove,
237
+ uint256 minPtOut
238
+ ) external returns (uint256 netPtOut, uint256 netSyFee) {
239
+ uint256 netSyLeft;
240
+
241
+ // execute the burn
242
+ _transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
243
+ (uint256 netSyOutBurn, uint256 netPtOutBurn) = IPMarket(market).burn(
244
+ _entry_swapExactSyForPt(market, false),
245
+ receiver,
246
+ netLpToRemove
247
+ );
248
+ netSyLeft += netSyOutBurn;
249
+ netPtOut += netPtOutBurn;
250
+
251
+ (uint256 netPtOutSwap, uint256 netSyFeeSwap) = _swapExactSyForPtSimple(receiver, market, netSyLeft, 0);
252
+ netPtOut += netPtOutSwap;
253
+ netSyFee += netSyFeeSwap;
254
+
255
+ if (netPtOut < minPtOut) revert("Slippage: INSUFFICIENT_PT_OUT");
256
+
257
+ emit RemoveLiquiditySinglePt(msg.sender, market, receiver, netLpToRemove, netPtOut);
258
+ }
259
+
260
+ function _swapExactSyForPtSimple(
261
+ address receiver,
262
+ address market,
263
+ uint256 exactSyIn,
264
+ uint256 minPtOut
265
+ ) internal returns (uint256 netPtOut, uint256 netSyFee) {
266
+ (, , IPYieldToken YT) = IPMarket(market).readTokens();
267
+ uint256 netSyLeft = exactSyIn;
268
+
269
+ (uint256 netPtOutMarket, , ) = _readMarket(market).approxSwapExactSyForPtOnchain(
270
+ YT.newIndex(),
271
+ netSyLeft,
272
+ block.timestamp
273
+ );
274
+
275
+ (, uint256 netSyFeeMarket) = IPMarket(market).swapSyForExactPt(receiver, netPtOutMarket, "");
276
+
277
+ netPtOut += netPtOutMarket;
278
+ netSyFee += netSyFeeMarket;
279
+
280
+ if (netPtOut < minPtOut) revert("Slippage: INSUFFICIENT_PT_OUT");
281
+ }
282
+
283
+ function _swapExactSyForYtSimple(
284
+ address receiver,
285
+ address market,
286
+ IStandardizedYield /* SY */,
287
+ IPYieldToken YT,
288
+ uint256 exactSyIn,
289
+ uint256 minYtOut
290
+ ) internal returns (uint256 netYtOut, uint256 netSyFee) {
291
+ uint256 netSyLeft = exactSyIn;
292
+
293
+ (uint256 netYtOutMarket, , ) = _readMarket(market).approxSwapExactSyForYtOnchain(
294
+ YT.newIndex(),
295
+ netSyLeft,
296
+ block.timestamp
297
+ );
298
+
299
+ (, uint256 netSyFeeMarket) = IPMarket(market).swapExactPtForSy(
300
+ address(YT),
301
+ netYtOutMarket, // exactPtIn = netYtOut
302
+ _encodeSwapExactSyForYt(receiver, YT)
303
+ );
304
+
305
+ netYtOut += netYtOutMarket;
306
+ netSyFee += netSyFeeMarket;
307
+
308
+ if (netYtOut < minYtOut) revert("Slippage: INSUFFICIENT_YT_OUT");
309
+ }
310
+ }
@@ -3,11 +3,13 @@ pragma solidity ^0.8.17;
3
3
 
4
4
  import "./base/ActionBase.sol";
5
5
  import "../interfaces/IPActionSwapPTV3.sol";
6
+ import {ActionDelegateBase} from "./base/ActionDelegateBase.sol";
6
7
 
7
- contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase {
8
+ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase, ActionDelegateBase {
8
9
  using PMath for uint256;
9
10
 
10
11
  // ------------------ SWAP TOKEN FOR PT ------------------
12
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
11
13
  function swapExactTokenForPt(
12
14
  address receiver,
13
15
  address market,
@@ -16,6 +18,10 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase {
16
18
  TokenInput calldata input,
17
19
  LimitOrderData calldata limit
18
20
  ) external payable returns (uint256 netPtOut, uint256 netSyFee, uint256 netSyInterm) {
21
+ if (canUseOnchainApproximation(guessPtOut, limit)) {
22
+ return delegateToSwapExactTokenForPtSimple(receiver, market, minPtOut, input);
23
+ }
24
+
19
25
  (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
20
26
  netSyInterm = _mintSyFromToken(_entry_swapExactSyForPt(market, limit), address(SY), 1, input);
21
27
 
@@ -31,6 +37,7 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase {
31
37
  );
32
38
  }
33
39
 
40
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
34
41
  function swapExactSyForPt(
35
42
  address receiver,
36
43
  address market,
@@ -39,6 +46,10 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase {
39
46
  ApproxParams calldata guessPtOut,
40
47
  LimitOrderData calldata limit
41
48
  ) external returns (uint256 netPtOut, uint256 netSyFee) {
49
+ if (canUseOnchainApproximation(guessPtOut, limit)) {
50
+ return delegateToSwapExactSyForPtSimple(receiver, market, exactSyIn, minPtOut);
51
+ }
52
+
42
53
  (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
43
54
  _transferFrom(SY, msg.sender, _entry_swapExactSyForPt(market, limit), exactSyIn);
44
55
 
@@ -46,6 +57,7 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase {
46
57
  emit SwapPtAndSy(msg.sender, market, receiver, netPtOut.Int(), exactSyIn.neg());
47
58
  }
48
59
 
60
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
49
61
  function swapExactPtForToken(
50
62
  address receiver,
51
63
  address market,
@@ -71,6 +83,7 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase {
71
83
  );
72
84
  }
73
85
 
86
+ /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
74
87
  function swapExactPtForSy(
75
88
  address receiver,
76
89
  address market,