@pendle/core-v2 1.2.1-testnet → 1.3.0-testnet

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 (550) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  38. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  40. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  43. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  45. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  49. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +4 -0
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +1192 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  93. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  96. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  98. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  100. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  103. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  105. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  107. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  109. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  111. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  113. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  115. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  117. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  120. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  123. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  126. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  128. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +0 -10
  147. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +2 -2
  151. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.dbg.json +4 -0
  163. package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.json +655 -0
  164. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2 -12
  170. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  182. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  184. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  188. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  192. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  194. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  196. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -12
  198. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  200. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +4 -4
  202. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  204. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +4 -0
  205. package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json → offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json} +2 -2
  206. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  207. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  208. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  209. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  210. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  211. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  212. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  213. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  214. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  215. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  216. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  217. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  218. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +4 -0
  219. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +773 -0
  220. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  221. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  222. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  223. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  224. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  225. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  226. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  227. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  228. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  229. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  230. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +4 -0
  231. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +76 -0
  232. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +4 -0
  233. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +76 -0
  234. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  235. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IAggregationExecutor.sol/IAggregationExecutor.json +1 -1
  236. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +4 -0
  237. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json +388 -0
  238. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +4 -0
  239. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json +40 -0
  240. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +4 -0
  241. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IHashflow.sol/IHashflow.json +1 -1
  242. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  243. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +1 -1
  244. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +4 -0
  245. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json +10 -0
  246. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +4 -0
  247. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +10 -0
  248. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  249. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  250. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  251. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +1 -1
  252. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +4 -0
  253. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.json +101 -0
  254. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  255. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
  256. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +4 -0
  257. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json +10 -0
  258. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +4 -0
  259. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +10 -0
  260. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +4 -5
  261. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +3 -5
  262. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +7 -10
  263. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +8 -10
  264. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +16 -8
  265. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -5
  266. package/contracts/LiquidityMining/README.md +49 -46
  267. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +9 -14
  268. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -10
  269. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +23 -36
  270. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +18 -24
  271. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -4
  272. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +20 -26
  273. package/contracts/core/BulkSeller/BulkSeller.sol +1 -5
  274. package/contracts/core/BulkSeller/BulkSellerFactory.sol +4 -5
  275. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +20 -25
  276. package/contracts/core/Market/MarketMathCore.sol +23 -69
  277. package/contracts/core/Market/OracleLib.sol +4 -4
  278. package/contracts/core/Market/PendleGauge.sol +7 -20
  279. package/contracts/core/Market/PendleMarket.sol +5 -15
  280. package/contracts/core/Market/PendleMarketFactory.sol +3 -9
  281. package/contracts/core/RewardManager/RewardManager.sol +4 -6
  282. package/contracts/core/RewardManager/RewardManagerAbstract.sol +4 -4
  283. package/contracts/core/StandardizedYield/PYIndex.sol +7 -36
  284. package/contracts/core/StandardizedYield/SYBase.sol +20 -26
  285. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +7 -19
  286. package/contracts/core/StandardizedYield/SYUtils.sol +4 -5
  287. package/contracts/core/StandardizedYield/StEthHelper.sol +12 -16
  288. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +14 -24
  289. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol +127 -0
  290. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +12 -20
  291. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +12 -20
  292. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +1 -5
  293. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +28 -44
  294. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +28 -47
  295. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +6 -10
  296. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +6 -10
  297. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +13 -22
  298. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +20 -27
  299. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +20 -27
  300. package/contracts/core/StandardizedYield/implementations/Convex/README.md +4 -4
  301. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +32 -40
  302. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +10 -12
  303. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +14 -18
  304. package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +32 -48
  305. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +6 -7
  306. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +14 -24
  307. package/contracts/core/StandardizedYield/implementations/GLP/README.md +15 -13
  308. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +12 -38
  309. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +13 -23
  310. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +13 -23
  311. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +0 -10
  312. package/contracts/core/YieldContracts/PendleYieldToken.sol +28 -44
  313. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +4 -4
  314. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +1 -1
  315. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +24 -38
  316. package/contracts/core/erc20/PendleERC20.sol +14 -44
  317. package/contracts/core/libraries/ArrayLib.sol +4 -5
  318. package/contracts/core/libraries/BaseSplitCodeFactory.sol +5 -7
  319. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -5
  320. package/contracts/core/libraries/StringLib.sol +14 -20
  321. package/contracts/core/libraries/TokenHelper.sol +6 -31
  322. package/contracts/core/libraries/math/LogExpMath.sol +2 -2
  323. package/contracts/core/libraries/math/Math.sol +3 -15
  324. package/contracts/interfaces/Balancer/IComposableStable.sol +4 -14
  325. package/contracts/interfaces/Balancer/IMetaStablePool.sol +4 -13
  326. package/contracts/interfaces/Balancer/IVault.sol +4 -6
  327. package/contracts/interfaces/ConvexCurve/IBooster.sol +4 -16
  328. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -5
  329. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -4
  330. package/contracts/interfaces/Curve/ICrvPool.sol +12 -11
  331. package/contracts/interfaces/Curve/ITriCrvPool.sol +4 -4
  332. package/contracts/interfaces/GMX/IGMXVault.sol +4 -4
  333. package/contracts/interfaces/GMX/IRewardRouterV2.sol +4 -4
  334. package/contracts/interfaces/IApeStaking.sol +3 -4
  335. package/contracts/interfaces/IDiamondLoupe.sol +3 -1
  336. package/contracts/interfaces/IERC4626.sol +1 -5
  337. package/contracts/interfaces/IPActionAddRemoveLiq.sol +2 -15
  338. package/contracts/interfaces/IPActionInfoStatic.sol +7 -7
  339. package/contracts/interfaces/IPActionMarketAuxStatic.sol +11 -7
  340. package/contracts/interfaces/IPActionMarketCoreStatic.sol +67 -49
  341. package/contracts/interfaces/IPActionMintRedeemStatic.sol +10 -15
  342. package/contracts/interfaces/IPActionStorageStatic.sol +5 -6
  343. package/contracts/interfaces/IPBulkSellerSYCallback.sol +1 -5
  344. package/contracts/interfaces/IPFeeDistributor.sol +4 -3
  345. package/contracts/interfaces/IPGaugeController.sol +3 -9
  346. package/contracts/interfaces/IPInterestManagerYT.sol +3 -4
  347. package/contracts/interfaces/IPInterestManagerYTV2.sol +4 -6
  348. package/contracts/interfaces/IPLiquidityMigrator.sol +130 -0
  349. package/contracts/interfaces/IPMarket.sol +5 -16
  350. package/contracts/interfaces/IPMarketFactory.sol +3 -8
  351. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -5
  352. package/contracts/interfaces/IPVotingController.sol +5 -6
  353. package/contracts/interfaces/IPVotingEscrowMainchain.sol +8 -7
  354. package/contracts/interfaces/IPYieldToken.sol +4 -3
  355. package/contracts/interfaces/IPYieldTokenV2.sol +4 -3
  356. package/contracts/interfaces/IRewardManager.sol +4 -4
  357. package/contracts/interfaces/IStETH.sol +4 -3
  358. package/contracts/interfaces/IStandardizedYield.sol +9 -13
  359. package/contracts/interfaces/IStargateRouter.sol +1 -5
  360. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -1
  361. package/contracts/offchain-helpers/BulkSellerOffchain.sol +7 -11
  362. package/contracts/offchain-helpers/Multicall2.sol +14 -24
  363. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
  364. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +11 -14
  365. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +31 -32
  366. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +76 -65
  367. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +12 -20
  368. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +13 -12
  369. package/contracts/offchain-helpers/router-static/{StorageLayout.sol → base/StorageLayout.sol} +3 -3
  370. package/contracts/router/ActionAddRemoveLiq.sol +2 -18
  371. package/contracts/router/ActionSwapYT.sol +9 -3
  372. package/contracts/router/PendleRouterHelper.sol +315 -0
  373. package/contracts/router/base/ActionBaseCallback.sol +2 -2
  374. package/contracts/router/base/ActionBaseMintRedeem.sol +8 -9
  375. package/contracts/router/base/CallbackHelper.sol +16 -27
  376. package/contracts/router/base/MarketApproxLib.sol +18 -82
  377. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +4 -10
  378. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +4 -5
  379. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +1 -5
  380. package/contracts/router/swap-aggregator/{PendleSwapAggregator.sol → PendleSwapArbitrum.sol} +7 -8
  381. package/contracts/router/swap-aggregator/PendleSwapEthereum.sol +44 -0
  382. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol +17 -0
  383. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol +195 -0
  384. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol +10 -0
  385. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol +41 -0
  386. package/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol +200 -0
  387. package/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol +135 -0
  388. package/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol +17 -0
  389. package/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol +30 -0
  390. package/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IMetaAggregationRouterV2.sol +3 -4
  391. package/contracts/router/swap-aggregator/kyberswap/{KyberAggregationRouterHelper.sol → ethereum/KyberHelperEthereum.sol} +20 -33
  392. package/contracts/router/swap-aggregator/kyberswap/{ScaleDataHelperEthereum1.sol → ethereum/ScaleDataHelperEthereum.sol} +2 -2
  393. package/deployments/43113-core.json +1 -0
  394. package/deployments/80001-core.json +1 -0
  395. package/package.json +6 -5
  396. package/typechain-types/ActionMarketCoreStatic.ts +0 -4
  397. package/typechain-types/ActionStorageStatic.ts +5 -3
  398. package/typechain-types/IChainlinkAggregator.ts +246 -0
  399. package/typechain-types/IExecutorHelper1.ts +643 -0
  400. package/typechain-types/IExecutorHelper2.ts +115 -0
  401. package/typechain-types/IPActionMarketCoreStatic.ts +0 -4
  402. package/typechain-types/IPActionStorageStatic.ts +5 -3
  403. package/typechain-types/IPLiquidityMigrator.ts +565 -0
  404. package/typechain-types/IPRouterStatic.ts +5 -7
  405. package/typechain-types/IStargateLP.ts +306 -0
  406. package/typechain-types/IStargateStaking.ts +232 -0
  407. package/typechain-types/InputScalingHelper.ts +108 -0
  408. package/typechain-types/PendleAuraWethAnkrethSY.ts +1523 -0
  409. package/typechain-types/PendlePtOracleBase.ts +139 -0
  410. package/typechain-types/PendleRouterHelper.ts +647 -0
  411. package/typechain-types/PendleStargateLP.ts +1442 -0
  412. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  413. package/typechain-types/PendleSwapEthereum.ts +126 -0
  414. package/typechain-types/PtFraxUsdcOracle.ts +176 -0
  415. package/typechain-types/PtStETHOracle.ts +163 -0
  416. package/typechain-types/RouterStatic.ts +92 -0
  417. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  418. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  419. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  420. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -11
  421. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  422. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  423. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  424. package/typechain-types/factories/ActionStorageStatic__factory.ts +3 -3
  425. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  426. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  427. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  428. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  429. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  430. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  431. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  432. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  433. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  434. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  435. package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
  436. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  437. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  438. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +0 -10
  439. package/typechain-types/factories/IPActionStorageStatic__factory.ts +2 -2
  440. package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
  441. package/typechain-types/factories/IPRouterStatic__factory.ts +2 -12
  442. package/typechain-types/factories/IStargateLP__factory.ts +212 -0
  443. package/typechain-types/factories/IStargateStaking__factory.ts +145 -0
  444. package/typechain-types/factories/InputScalingHelper__factory.ts +88 -0
  445. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
  446. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  447. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  448. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  449. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  450. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
  451. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  452. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  453. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  454. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  455. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  456. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  457. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  458. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  459. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  460. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  461. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  462. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  463. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  464. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  465. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  466. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  467. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  468. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  469. package/typechain-types/factories/PendlePtOracleBase__factory.ts +78 -0
  470. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  471. package/typechain-types/factories/PendleRouterHelper__factory.ts +841 -0
  472. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  473. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  474. package/typechain-types/factories/PendleStargateLP__factory.ts +1241 -0
  475. package/typechain-types/factories/PendleSwapAggregator__factory.ts +1 -1
  476. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  477. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  478. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  479. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  480. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  481. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  482. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  483. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  484. package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +226 -0
  485. package/typechain-types/factories/PtStETHOracle__factory.ts +201 -0
  486. package/typechain-types/factories/RouterStatic__factory.ts +72 -4
  487. package/typechain-types/factories/SAPE__factory.ts +1 -1
  488. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  489. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  490. package/typechain-types/hardhat.d.ts +146 -146
  491. package/typechain-types/index.ts +24 -34
  492. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
  493. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +0 -252
  494. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
  495. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
  496. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
  497. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
  498. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
  499. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
  500. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
  501. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
  502. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
  503. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
  504. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
  505. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
  506. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
  507. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.json +0 -92
  508. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
  509. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
  510. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
  511. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
  512. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
  513. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.json +0 -252
  514. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
  515. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
  516. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
  517. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
  518. package/build/artifacts/contracts/offchain-helpers/legacy/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  519. package/build/artifacts/contracts/offchain-helpers/legacy/MarketMathStatic.sol/MarketMathStatic.json +0 -259
  520. package/build/artifacts/contracts/offchain-helpers/legacy/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  521. package/build/artifacts/contracts/offchain-helpers/legacy/RouterStatic.sol/RouterStatic.json +0 -2741
  522. package/build/artifacts/contracts/offchain-helpers/router-static/StorageLayout.sol/StorageLayout.dbg.json +0 -4
  523. package/build/artifacts/contracts/offchain-helpers/router-static/StorageLayout.sol/StorageLayout.json +0 -10
  524. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +0 -4
  525. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +0 -72
  526. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +0 -4
  527. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  528. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
  529. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  530. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  531. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  532. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  533. package/contracts/interfaces/IAToken.sol +0 -44
  534. package/contracts/interfaces/IAavePool.sol +0 -41
  535. package/contracts/interfaces/IAaveRewardsController.sol +0 -32
  536. package/contracts/interfaces/IEulerEToken.sol +0 -60
  537. package/contracts/interfaces/IEulerMarkets.sol +0 -46
  538. package/contracts/interfaces/IPGovernanceManager.sol +0 -28
  539. package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
  540. package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
  541. package/contracts/interfaces/ISAvax.sol +0 -61
  542. package/contracts/interfaces/ISJoe.sol +0 -57
  543. package/contracts/interfaces/IWAvax.sol +0 -34
  544. package/contracts/interfaces/IWXBTRFLY.sol +0 -39
  545. package/contracts/interfaces/IYearnVault.sol +0 -46
  546. package/contracts/offchain-helpers/legacy/MarketMathStatic.sol +0 -557
  547. package/contracts/offchain-helpers/legacy/RouterStatic.sol +0 -903
  548. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
  549. /package/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IHashflow.sol +0 -0
  550. /package/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IExecutorHelperEthereum1.sol +0 -0
@@ -4,24 +4,24 @@ pragma solidity 0.8.17;
4
4
  import "../../../interfaces/IPRouterStatic.sol";
5
5
  import "../../../interfaces/IPBulkSeller.sol";
6
6
  import "../../../interfaces/IPBulkSellerFactory.sol";
7
- import "../StorageLayout.sol";
7
+ import "./StorageLayout.sol";
8
8
 
9
9
  contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
10
10
  using Math for uint256;
11
11
  using BulkSellerMathCore for BulkSellerState;
12
12
 
13
- function mintPyFromSyStatic(address YT, uint256 netSyToMint)
14
- public
15
- returns (uint256 netPYOut)
16
- {
13
+ function mintPyFromSyStatic(
14
+ address YT,
15
+ uint256 netSyToMint
16
+ ) public returns (uint256 netPYOut) {
17
17
  if (IPYieldToken(YT).isExpired()) revert Errors.YCExpired();
18
18
  return netSyToMint.mulDown(IPYieldToken(YT).pyIndexCurrent());
19
19
  }
20
20
 
21
- function redeemPyToSyStatic(address YT, uint256 netPYToRedeem)
22
- public
23
- returns (uint256 netSyOut)
24
- {
21
+ function redeemPyToSyStatic(
22
+ address YT,
23
+ uint256 netPYToRedeem
24
+ ) public returns (uint256 netSyOut) {
25
25
  return netPYToRedeem.divDown(IPYieldToken(YT).pyIndexCurrent());
26
26
  }
27
27
 
@@ -80,11 +80,11 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
80
80
  address tokenIn,
81
81
  address bulk,
82
82
  uint256 netSyOut
83
- ) public view returns (uint256 netTokenIn) {
83
+ ) external view returns (uint256 netTokenIn) {
84
84
  uint256 pivotAmount;
85
85
 
86
86
  if (tokenIn == address(0)) pivotAmount = 1e18;
87
- else pivotAmount = 10**IStandardizedYield(SY).decimals();
87
+ else pivotAmount = 10 ** IStandardizedYield(SY).decimals();
88
88
 
89
89
  uint256 low = pivotAmount;
90
90
  {
@@ -124,15 +124,7 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
124
124
  address SY,
125
125
  uint256 netTokenIn,
126
126
  uint256 netSyIn
127
- )
128
- public
129
- view
130
- returns (
131
- address bulk,
132
- uint256 totalToken,
133
- uint256 totalSy
134
- )
135
- {
127
+ ) external view returns (address bulk, uint256 totalToken, uint256 totalSy) {
136
128
  if (address(bulkSellerFactory) == address(0)) return (address(0), 0, 0);
137
129
 
138
130
  bulk = bulkSellerFactory.get(token, SY);
@@ -1,12 +1,12 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity 0.8.17;
3
3
 
4
- import "../StorageLayout.sol";
4
+ import "./StorageLayout.sol";
5
5
  import "../../../interfaces/IPActionStorageStatic.sol";
6
6
  import "../../../interfaces/IPMiniDiamond.sol";
7
7
 
8
8
  contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiamond {
9
- function setDefaultApproxParams(ApproxParams memory params) public onlyOwner {
9
+ function setDefaultApproxParams(ApproxParams memory params) external onlyOwner {
10
10
  defaultApproxParams = params;
11
11
  }
12
12
 
@@ -14,7 +14,7 @@ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiam
14
14
  bulkSellerFactory = IPBulkSellerFactory(_bulkSellerFactory);
15
15
  }
16
16
 
17
- function getDefaultApproxParams() public view returns (ApproxParams memory) {
17
+ function getDefaultApproxParams() external view returns (ApproxParams memory) {
18
18
  return defaultApproxParams;
19
19
  }
20
20
 
@@ -22,8 +22,13 @@ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiam
22
22
  return address(bulkSellerFactory);
23
23
  }
24
24
 
25
- function getOwnerAndPendingOwner() external view returns (address, address) {
26
- return (owner, pendingOwner);
25
+ function getOwnerAndPendingOwner()
26
+ external
27
+ view
28
+ returns (address _owner, address _pendingOwner)
29
+ {
30
+ _owner = owner;
31
+ _pendingOwner = pendingOwner;
27
32
  }
28
33
 
29
34
  function setFacetForSelectors(SelectorsToFacet[] calldata arr) external onlyOwner {
@@ -41,17 +46,13 @@ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiam
41
46
  }
42
47
  }
43
48
 
44
- function facetAddress(bytes4 selector) public view returns (address res) {
49
+ function facetAddress(bytes4 selector) external view returns (address res) {
45
50
  res = selectorToFacet[selector];
46
51
  require(res != address(0), "selector not found");
47
52
  }
48
53
 
49
54
  // Ownable
50
- function transferOwnership(
51
- address newOwner,
52
- bool direct,
53
- bool renounce
54
- ) public onlyOwner {
55
+ function transferOwnership(address newOwner, bool direct, bool renounce) external onlyOwner {
55
56
  if (direct) {
56
57
  require(newOwner != address(0) || renounce, "Ownable: zero address");
57
58
 
@@ -63,7 +64,7 @@ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiam
63
64
  }
64
65
  }
65
66
 
66
- function claimOwnership() public {
67
+ function claimOwnership() external {
67
68
  address _pendingOwner = pendingOwner;
68
69
 
69
70
  require(msg.sender == _pendingOwner, "Ownable: caller != pending owner");
@@ -1,10 +1,10 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity 0.8.17;
3
3
 
4
- import "../../router/base/MarketApproxLib.sol";
5
- import "../../interfaces/IPBulkSellerFactory.sol";
4
+ import "../../../router/base/MarketApproxLib.sol";
5
+ import "../../../interfaces/IPBulkSellerFactory.sol";
6
6
 
7
- contract StorageLayout {
7
+ abstract contract StorageLayout {
8
8
  address internal owner;
9
9
  address internal pendingOwner;
10
10
 
@@ -22,7 +22,6 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
22
22
  using MarketApproxPtOutLib for MarketState;
23
23
  using PYIndexLib for IPYieldToken;
24
24
  using PYIndexLib for PYIndex;
25
- using BulkSellerMathCore for BulkSellerState;
26
25
 
27
26
  /**
28
27
  * @notice Adds liquidity to the SY/PT market, granting LP tokens in return
@@ -37,14 +36,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
37
36
  uint256 netSyDesired,
38
37
  uint256 netPtDesired,
39
38
  uint256 minLpOut
40
- )
41
- external
42
- returns (
43
- uint256 netLpOut,
44
- uint256 netSyUsed,
45
- uint256 netPtUsed
46
- )
47
- {
39
+ ) external returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
48
40
  (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
49
41
 
50
42
  // calculate the amount of SY and PT to be used
@@ -87,15 +79,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
87
79
  TokenInput calldata input,
88
80
  uint256 netPtDesired,
89
81
  uint256 minLpOut
90
- )
91
- external
92
- payable
93
- returns (
94
- uint256 netLpOut,
95
- uint256 netTokenUsed,
96
- uint256 netPtUsed
97
- )
98
- {
82
+ ) external payable returns (uint256 netLpOut, uint256 netTokenUsed, uint256 netPtUsed) {
99
83
  (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
100
84
 
101
85
  uint256 netSyDesired = _mintSyFromToken(market, address(SY), 1, input);
@@ -19,9 +19,15 @@ contract ActionSwapYT is ActionBaseCallback, IPActionSwapYT, ActionBaseMintRedee
19
19
  using MarketApproxPtOutLib for MarketState;
20
20
  using PYIndexLib for IPYieldToken;
21
21
 
22
- constructor(IAddressProvider provider, uint256 providerId) ActionBaseCallback(_getMarketFactory(provider,providerId)) {}
23
-
24
- function _getMarketFactory(IAddressProvider provider, uint256 providerId) internal view returns (address) {
22
+ constructor(
23
+ IAddressProvider provider,
24
+ uint256 providerId
25
+ ) ActionBaseCallback(_getMarketFactory(provider, providerId)) {}
26
+
27
+ function _getMarketFactory(
28
+ IAddressProvider provider,
29
+ uint256 providerId
30
+ ) internal view returns (address) {
25
31
  return provider.get(providerId);
26
32
  }
27
33
 
@@ -0,0 +1,315 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../interfaces/IPAllAction.sol";
5
+ import "../interfaces/IPMarket.sol";
6
+ import "../interfaces/IPLiquidityMigrator.sol";
7
+ import "./base/ActionBaseMintRedeem.sol";
8
+ import "./base/MarketApproxLib.sol";
9
+
10
+ contract PendleRouterHelper is TokenHelper, IPLiquidityMigrator {
11
+ IPAllAction private immutable ROUTER;
12
+ address private immutable WETH;
13
+
14
+ constructor(address _ROUTER, address _WETH) {
15
+ ROUTER = IPAllAction(_ROUTER);
16
+ WETH = _WETH;
17
+ }
18
+
19
+ receive() external payable {}
20
+
21
+ /// @dev input should be all based on input token being WETH
22
+ function addLiquiditySingleTokenKeepYtWithEth(
23
+ address receiver,
24
+ address market,
25
+ uint256 minLpOut,
26
+ uint256 minYtOut,
27
+ TokenInput calldata input
28
+ ) external payable returns (uint256 netLpOut, uint256 netYtOut) {
29
+ _wrap_unwrap_ETH(NATIVE, WETH, msg.value);
30
+
31
+ _safeApproveInf(WETH, address(ROUTER));
32
+
33
+ (netLpOut, netYtOut) = ROUTER.addLiquiditySingleTokenKeepYt(
34
+ receiver,
35
+ market,
36
+ minLpOut,
37
+ minYtOut,
38
+ input
39
+ );
40
+ }
41
+
42
+ // ============ Same SY ============
43
+
44
+ function migrateDifferentSyNormal(
45
+ RemoveLiquiditySingleTokenStruct calldata fromMarket,
46
+ AddLiquiditySingleTokenStruct calldata toMarket
47
+ )
48
+ external
49
+ returns (
50
+ uint256 netLpOut,
51
+ uint256 netTokenZapIn,
52
+ uint256 netSyFeeOfRemove,
53
+ uint256 netSyFeeOfAdd
54
+ )
55
+ {
56
+ (netTokenZapIn, netSyFeeOfRemove) = _removeLiquiditySingleToken(fromMarket);
57
+ (netLpOut, netSyFeeOfAdd) = _addLiquiditySingleToken(
58
+ toMarket,
59
+ fromMarket.output.tokenOut,
60
+ netTokenZapIn
61
+ );
62
+
63
+ emit MigrateDifferentSyNormal(
64
+ fromMarket.market,
65
+ toMarket.market,
66
+ msg.sender,
67
+ fromMarket.netLpToRemove,
68
+ netLpOut
69
+ );
70
+ }
71
+
72
+ function migrateDifferentSyKeepYt(
73
+ RemoveLiquiditySingleTokenStruct calldata fromMarket,
74
+ AddLiquiditySingleTokenKeepYtStruct calldata toMarket
75
+ )
76
+ external
77
+ returns (
78
+ uint256 netLpOut,
79
+ uint256 netYtOut,
80
+ uint256 netTokenZapIn,
81
+ uint256 netSyFeeOfRemove
82
+ )
83
+ {
84
+ (netTokenZapIn, netSyFeeOfRemove) = _removeLiquiditySingleToken(fromMarket);
85
+ (netLpOut, netYtOut) = _addLiquiditySingleTokenKeepYt(
86
+ toMarket,
87
+ fromMarket.output.tokenOut,
88
+ netTokenZapIn
89
+ );
90
+
91
+ emit MigrateDifferentSyKeepYt(
92
+ fromMarket.market,
93
+ toMarket.market,
94
+ msg.sender,
95
+ fromMarket.netLpToRemove,
96
+ netLpOut,
97
+ netYtOut
98
+ );
99
+ }
100
+
101
+ function migrateSameSyNormal(
102
+ RemoveLiquiditySingleSyStruct calldata fromMarket,
103
+ AddLiquiditySingleSyStruct calldata toMarket
104
+ )
105
+ external
106
+ returns (
107
+ uint256 netLpOut,
108
+ uint256 netSyMigrated,
109
+ uint256 netSyFeeOfRemove,
110
+ uint256 netSyFeeOfAdd
111
+ )
112
+ {
113
+ (netSyMigrated, netSyFeeOfRemove) = _removeLiquiditySingleSy(fromMarket);
114
+ (netLpOut, netSyFeeOfAdd) = _addLiquiditySingleSy(toMarket, netSyMigrated);
115
+ emit MigrateSameSyNormal(
116
+ fromMarket.market,
117
+ toMarket.market,
118
+ msg.sender,
119
+ fromMarket.netLpToRemove,
120
+ netLpOut
121
+ );
122
+ }
123
+
124
+ function migrateSameSyKeepYt(
125
+ RemoveLiquiditySingleSyStruct calldata fromMarket,
126
+ AddLiquiditySingleSyKeepYtStruct calldata toMarket
127
+ )
128
+ external
129
+ returns (
130
+ uint256 netLpOut,
131
+ uint256 netYtOut,
132
+ uint256 netSyMigrated,
133
+ uint256 netSyFeeOfRemove
134
+ )
135
+ {
136
+ (netSyMigrated, netSyFeeOfRemove) = _removeLiquiditySingleSy(fromMarket);
137
+ (netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(toMarket, netSyMigrated);
138
+ emit MigrateSameSyKeepYt(
139
+ fromMarket.market,
140
+ toMarket.market,
141
+ msg.sender,
142
+ fromMarket.netLpToRemove,
143
+ netLpOut,
144
+ netYtOut
145
+ );
146
+ }
147
+
148
+ function _removeLiquiditySingleToken(RemoveLiquiditySingleTokenStruct calldata fromMarket)
149
+ internal
150
+ returns (uint256 netTokenOut, uint256 netSyFee)
151
+ {
152
+ _transferFrom(
153
+ IERC20(fromMarket.market),
154
+ msg.sender,
155
+ address(this),
156
+ fromMarket.netLpToRemove
157
+ );
158
+
159
+ _safeApproveInf(fromMarket.market, address(ROUTER));
160
+
161
+ (netTokenOut, netSyFee) = ROUTER.removeLiquiditySingleToken(
162
+ address(this),
163
+ fromMarket.market,
164
+ fromMarket.netLpToRemove,
165
+ fromMarket.output
166
+ );
167
+
168
+ if (fromMarket.doRedeemRewards) {
169
+ IPMarket(fromMarket.market).redeemRewards(msg.sender);
170
+ }
171
+ }
172
+
173
+ function _removeLiquiditySingleSy(RemoveLiquiditySingleSyStruct calldata fromMarket)
174
+ internal
175
+ returns (uint256 netSyOut, uint256 netSyFee)
176
+ {
177
+ _transferFrom(
178
+ IERC20(fromMarket.market),
179
+ msg.sender,
180
+ address(this),
181
+ fromMarket.netLpToRemove
182
+ );
183
+
184
+ _safeApproveInf(fromMarket.market, address(ROUTER));
185
+
186
+ (netSyOut, netSyFee) = ROUTER.removeLiquiditySingleSy(
187
+ address(this),
188
+ fromMarket.market,
189
+ fromMarket.netLpToRemove,
190
+ 0
191
+ );
192
+
193
+ if (fromMarket.doRedeemRewards) {
194
+ IPMarket(fromMarket.market).redeemRewards(msg.sender);
195
+ }
196
+ }
197
+
198
+ function _addLiquiditySingleToken(
199
+ AddLiquiditySingleTokenStruct calldata toMarket,
200
+ address tokenToZapIn,
201
+ uint256 actualNetTokenIn
202
+ ) internal returns (uint256 netLpOut, uint256 netSyFee) {
203
+ uint256 netNativeToAttach;
204
+ if (tokenToZapIn == NATIVE) {
205
+ netNativeToAttach = actualNetTokenIn;
206
+ }
207
+
208
+ _safeApproveInf(tokenToZapIn, address(ROUTER));
209
+
210
+ (netLpOut, netSyFee) = ROUTER.addLiquiditySingleToken{ value: netNativeToAttach }(
211
+ msg.sender,
212
+ toMarket.market,
213
+ toMarket.minLpOut,
214
+ _scaleApproxParams(
215
+ toMarket.guessPtReceivedFromSy,
216
+ toMarket.guessNetTokenIn,
217
+ actualNetTokenIn
218
+ ),
219
+ _newTokenInputStruct(tokenToZapIn, actualNetTokenIn, toMarket.bulk)
220
+ );
221
+ }
222
+
223
+ function _addLiquiditySingleSy(
224
+ AddLiquiditySingleSyStruct calldata toMarket,
225
+ uint256 actualNetSyIn
226
+ ) internal returns (uint256 netLpOut, uint256 netSyFee) {
227
+ (IStandardizedYield SY, , ) = IPMarket(toMarket.market).readTokens();
228
+
229
+ _safeApproveInf(address(SY), address(ROUTER));
230
+
231
+ (netLpOut, netSyFee) = ROUTER.addLiquiditySingleSy(
232
+ msg.sender,
233
+ toMarket.market,
234
+ actualNetSyIn,
235
+ toMarket.minLpOut,
236
+ _scaleApproxParams(
237
+ toMarket.guessPtReceivedFromSy,
238
+ toMarket.guessNetSyIn,
239
+ actualNetSyIn
240
+ )
241
+ );
242
+ }
243
+
244
+ function _addLiquiditySingleTokenKeepYt(
245
+ AddLiquiditySingleTokenKeepYtStruct calldata toMarket,
246
+ address tokenToZapIn,
247
+ uint256 actualNetTokenIn
248
+ ) internal returns (uint256 netLpOut, uint256 netSyFee) {
249
+ if (tokenToZapIn == NATIVE) {
250
+ tokenToZapIn = WETH;
251
+ _wrap_unwrap_ETH(NATIVE, WETH, actualNetTokenIn);
252
+ }
253
+
254
+ _safeApproveInf(tokenToZapIn, address(ROUTER));
255
+
256
+ (netLpOut, netSyFee) = ROUTER.addLiquiditySingleTokenKeepYt(
257
+ msg.sender,
258
+ toMarket.market,
259
+ toMarket.minLpOut,
260
+ toMarket.minYtOut,
261
+ _newTokenInputStruct(tokenToZapIn, actualNetTokenIn, toMarket.bulk)
262
+ );
263
+ }
264
+
265
+ function _addLiquiditySingleSyKeepYt(
266
+ AddLiquiditySingleSyKeepYtStruct calldata toMarket,
267
+ uint256 actualNetSyIn
268
+ ) internal returns (uint256 netLpOut, uint256 netYtOut) {
269
+ (IStandardizedYield SY, , ) = IPMarket(toMarket.market).readTokens();
270
+
271
+ _safeApproveInf(address(SY), address(ROUTER));
272
+
273
+ (netLpOut, netYtOut) = ROUTER.addLiquiditySingleSyKeepYt(
274
+ msg.sender,
275
+ toMarket.market,
276
+ actualNetSyIn,
277
+ toMarket.minLpOut,
278
+ toMarket.minYtOut
279
+ );
280
+ }
281
+
282
+ // ============ struct helpers ============
283
+
284
+ function _newTokenInputStruct(
285
+ address tokenIn,
286
+ uint256 netTokenIn,
287
+ address bulk
288
+ ) internal pure returns (TokenInput memory res) {
289
+ res.tokenIn = res.tokenMintSy = tokenIn;
290
+ res.netTokenIn = netTokenIn;
291
+ res.bulk = bulk;
292
+ return res;
293
+ }
294
+
295
+ /// @dev either SY or Token here is good since token->sy conversion is almost linearly proportional
296
+ function _scaleApproxParams(
297
+ ApproxParams calldata params,
298
+ uint256 guessNetTokenIn,
299
+ uint256 actualNetTokenIn
300
+ ) internal pure returns (ApproxParams memory) {
301
+ if (params.guessOffchain == 0) {
302
+ require(params.guessMin == 0 && params.guessMax == type(uint256).max, "invalid guess");
303
+ return params;
304
+ }
305
+
306
+ return
307
+ ApproxParams({
308
+ guessMin: (params.guessMin * actualNetTokenIn) / guessNetTokenIn,
309
+ guessMax: (params.guessMax * actualNetTokenIn) / guessNetTokenIn,
310
+ guessOffchain: (params.guessOffchain * actualNetTokenIn) / guessNetTokenIn,
311
+ maxIteration: params.maxIteration,
312
+ eps: params.eps
313
+ });
314
+ }
315
+ }
@@ -58,7 +58,7 @@ abstract contract ActionBaseCallback is IPMarketSwapCallback, CallbackHelper, To
58
58
  /// @dev refer to _swapExactSyForYt
59
59
  function _callbackSwapExactSyForYt(
60
60
  int256 ptToAccount,
61
- int256, /*syToAccount*/
61
+ int256 /*syToAccount*/,
62
62
  bytes calldata data
63
63
  ) internal {
64
64
  (address receiver, uint256 minYtOut, IPYieldToken YT) = _decodeSwapExactSyForYt(data);
@@ -139,7 +139,7 @@ abstract contract ActionBaseCallback is IPMarketSwapCallback, CallbackHelper, To
139
139
 
140
140
  function _callbackSwapExactPtForYt(
141
141
  int256 ptToAccount,
142
- int256, /*syToAccount*/
142
+ int256 /*syToAccount*/,
143
143
  bytes calldata data
144
144
  ) internal {
145
145
  (
@@ -39,7 +39,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
39
39
  address receiver,
40
40
  address SY,
41
41
  uint256 minSyOut,
42
- TokenInput calldata inp
42
+ TokenInput memory inp
43
43
  ) internal returns (uint256 netSyOut) {
44
44
  SwapType swapType = inp.swapData.swapType;
45
45
 
@@ -73,7 +73,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
73
73
  address SY,
74
74
  uint256 netTokenMintSy,
75
75
  uint256 minSyOut,
76
- TokenInput calldata inp
76
+ TokenInput memory inp
77
77
  ) private returns (uint256 netSyOut) {
78
78
  uint256 netNative = inp.tokenMintSy == NATIVE ? netTokenMintSy : 0;
79
79
 
@@ -97,7 +97,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
97
97
  address receiver,
98
98
  address SY,
99
99
  uint256 netSyIn,
100
- TokenOutput calldata out,
100
+ TokenOutput memory out,
101
101
  bool doPull
102
102
  ) internal returns (uint256 netTokenOut) {
103
103
  SwapType swapType = out.swapData.swapType;
@@ -135,7 +135,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
135
135
  address receiver,
136
136
  address SY,
137
137
  uint256 netSyIn,
138
- TokenOutput calldata out,
138
+ TokenOutput memory out,
139
139
  bool doPull
140
140
  ) private returns (uint256 netTokenRedeemed) {
141
141
  if (doPull) {
@@ -193,11 +193,10 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
193
193
  if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
194
194
  }
195
195
 
196
- function _syOrBulk(address SY, TokenOutput calldata output)
197
- internal
198
- pure
199
- returns (address addr)
200
- {
196
+ function _syOrBulk(
197
+ address SY,
198
+ TokenOutput memory output
199
+ ) internal pure returns (address addr) {
201
200
  return output.bulk != address(0) ? output.bulk : SY;
202
201
  }
203
202
  }
@@ -34,15 +34,9 @@ abstract contract CallbackHelper {
34
34
  }
35
35
  }
36
36
 
37
- function _decodeSwapExactSyForYt(bytes calldata data)
38
- internal
39
- pure
40
- returns (
41
- address receiver,
42
- uint256 minYtOut,
43
- IPYieldToken YT
44
- )
45
- {
37
+ function _decodeSwapExactSyForYt(
38
+ bytes calldata data
39
+ ) internal pure returns (address receiver, uint256 minYtOut, IPYieldToken YT) {
46
40
  assembly {
47
41
  // first 32 bytes is ActionType
48
42
  receiver := calldataload(add(data.offset, 32))
@@ -75,7 +69,9 @@ abstract contract CallbackHelper {
75
69
  }
76
70
  }
77
71
 
78
- function _decodeSwapSyForExactYt(bytes calldata data)
72
+ function _decodeSwapSyForExactYt(
73
+ bytes calldata data
74
+ )
79
75
  internal
80
76
  pure
81
77
  returns (
@@ -116,15 +112,9 @@ abstract contract CallbackHelper {
116
112
  }
117
113
  }
118
114
 
119
- function _decodeSwapYtForSy(bytes calldata data)
120
- internal
121
- pure
122
- returns (
123
- address receiver,
124
- uint256 minSyOut,
125
- IPYieldToken YT
126
- )
127
- {
115
+ function _decodeSwapYtForSy(
116
+ bytes calldata data
117
+ ) internal pure returns (address receiver, uint256 minSyOut, IPYieldToken YT) {
128
118
  assembly {
129
119
  // first 32 bytes is ActionType
130
120
  receiver := calldataload(add(data.offset, 32))
@@ -153,7 +143,9 @@ abstract contract CallbackHelper {
153
143
  }
154
144
  }
155
145
 
156
- function _decodeSwapExactYtForPt(bytes calldata data)
146
+ function _decodeSwapExactYtForPt(
147
+ bytes calldata data
148
+ )
157
149
  internal
158
150
  pure
159
151
  returns (
@@ -192,15 +184,12 @@ abstract contract CallbackHelper {
192
184
  }
193
185
  }
194
186
 
195
- function _decodeSwapExactPtForYt(bytes calldata data)
187
+ function _decodeSwapExactPtForYt(
188
+ bytes calldata data
189
+ )
196
190
  internal
197
191
  pure
198
- returns (
199
- address receiver,
200
- uint256 exactPtIn,
201
- uint256 minYtOut,
202
- IPYieldToken YT
203
- )
192
+ returns (address receiver, uint256 exactPtIn, uint256 minYtOut, IPYieldToken YT)
204
193
  {
205
194
  assembly {
206
195
  // first 32 bytes is ActionType