@pendle/core-v2 5.2.0-beta-5 → 5.2.1-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) 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/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  7. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +67 -23
  9. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +19 -6
  11. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseWithoutPermitUpg.dbg.json +4 -0
  12. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/{SYBaseUpg.json → SYBaseWithoutPermitUpg.json} +1 -1
  13. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSYUpg.sol/PendleAaveV3WithRewardsSYUpg.dbg.json +4 -0
  14. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSYUpg.sol/PendleAaveV3WithRewardsSYUpg.json +1169 -0
  15. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol/PendleStkGHOSY.dbg.json +4 -0
  16. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol/PendleStkGHOSY.json +1160 -0
  17. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
  19. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.json +2 -2
  21. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol/PendleSENASY.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol/PendleSENASY.json +2 -2
  23. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
  25. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  27. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.json +2 -2
  29. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.json +2 -2
  31. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  33. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +2 -2
  35. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +2 -2
  37. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +2 -2
  39. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +2 -2
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +2 -2
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleAgETHSY.sol/PendleAgETHSY.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleAgETHSY.sol/PendleAgETHSY.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol/PendleCMETHSY.dbg.json +4 -0
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol/PendleCMETHSY.json +1049 -0
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol/PendleMorphoMetaVaultSY.dbg.json +4 -0
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol/PendleMorphoMetaVaultSY.json +1052 -0
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol/PendleERC4626SYV2.dbg.json +4 -0
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol/PendleERC4626SYV2.json +1026 -0
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol/PendleERC4626SYUpg.dbg.json +4 -0
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol/PendleERC4626SYUpg.json +1000 -0
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol/PendleSiloWithIncentiveNonBorrowableSY.dbg.json +4 -0
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol/PendleSiloWithIncentiveNonBorrowableSY.json +1222 -0
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.json +2 -2
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBaseSYUpg.sol/PendleSolvBTCBBNBaseSYUpg.dbg.json +4 -0
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBaseSYUpg.sol/PendleSolvBTCBBNBaseSYUpg.json +1072 -0
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBase.sol/PendleSolvHelperBase.dbg.json +4 -0
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBase.sol/PendleSolvHelperBase.json +115 -0
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.dbg.json +4 -0
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.json +1337 -0
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol/PendleZerolendLBTCSYUpg.dbg.json +4 -0
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol/PendleZerolendLBTCSYUpg.json +1226 -0
  86. package/build/artifacts/contracts/interfaces/AaveV3/IAaveStkGHO.sol/IAaveStkGHO.dbg.json +4 -0
  87. package/build/artifacts/contracts/interfaces/AaveV3/IAaveStkGHO.sol/IAaveStkGHO.json +116 -0
  88. package/build/artifacts/contracts/interfaces/Angle/IAngleDistributor.sol/IAngleDistributor.dbg.json +4 -0
  89. package/build/artifacts/contracts/interfaces/Angle/IAngleDistributor.sol/IAngleDistributor.json +39 -0
  90. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  92. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +196 -0
  94. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +66 -0
  97. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +196 -78
  99. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +196 -0
  101. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +196 -0
  103. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +196 -0
  105. package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.dbg.json +4 -0
  106. package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.json +2638 -0
  107. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +196 -0
  109. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +196 -0
  111. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +1220 -48
  113. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.dbg.json +4 -0
  117. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.json +207 -0
  118. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +196 -0
  122. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +262 -0
  124. package/build/artifacts/contracts/interfaces/Zerolend/IZerolendPool.sol/IZerolendPool.dbg.json +4 -0
  125. package/build/artifacts/contracts/interfaces/Zerolend/IZerolendPool.sol/IZerolendPool.json +37 -0
  126. package/build/artifacts/contracts/interfaces/Zerolend/IZerolendZ0Token.sol/IZerolendZ0Token.dbg.json +4 -0
  127. package/build/artifacts/contracts/interfaces/Zerolend/IZerolendZ0Token.sol/IZerolendZ0Token.json +24 -0
  128. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  130. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  131. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +27 -2
  132. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  133. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  134. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  135. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  136. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  137. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  138. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  139. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +68 -2
  140. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  141. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  142. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  143. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +198 -2
  144. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  145. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  146. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  147. package/build/artifacts/contracts/oracles/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +4 -0
  148. package/build/artifacts/contracts/oracles/{internal/PendleBoringOneracle.sol → PendleBoringOneracle.sol}/PendleBoringOneracle.json +3 -3
  149. package/build/artifacts/contracts/oracles/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +4 -0
  150. package/build/artifacts/contracts/oracles/{internal/PendleBoringSolvBTCOneracle.sol → PendleBoringSolvBTCOneracle.sol}/PendleBoringSolvBTCOneracle.json +3 -3
  151. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +4 -0
  152. package/build/artifacts/contracts/oracles/{PtYtLpOracle/PendleLpOracleLib.sol → PendleLpOracleLib.sol}/PendleLpOracleLib.json +3 -3
  153. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +4 -0
  154. package/build/artifacts/contracts/oracles/{PtYtLpOracle/PendlePYLpOracle.sol → PendlePYLpOracle.sol}/PendlePYLpOracle.json +3 -3
  155. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +4 -0
  156. package/build/artifacts/contracts/oracles/{PtYtLpOracle/PendlePYOracleLib.sol → PendlePYOracleLib.sol}/PendlePYOracleLib.json +3 -3
  157. package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +4 -0
  158. package/build/artifacts/contracts/oracles/{internal/PendleRedStoneRateOracleAdapter.sol → PendleRedStoneRateOracleAdapter.sol}/PendleRedStoneRateOracleAdapter.json +3 -3
  159. package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +4 -0
  160. package/build/artifacts/contracts/oracles/{internal/PendleSparkLinearDiscountOracle.sol → PendleSparkLinearDiscountOracle.sol}/PTExpiry.json +1 -1
  161. package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +4 -0
  162. package/build/artifacts/contracts/oracles/{internal/PendleSparkLinearDiscountOracle.sol → PendleSparkLinearDiscountOracle.sol}/PendleSparkLinearDiscountOracle.json +3 -3
  163. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +4 -0
  164. package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +3 -3
  165. package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +4 -0
  166. package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringLpSeller.sol/BoringLpSeller.json +1 -1
  167. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +4 -0
  168. package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +3 -3
  169. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +4 -0
  170. package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +3 -3
  171. package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +4 -0
  172. package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPtSeller.sol/BoringPtSeller.json +1 -1
  173. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  174. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +198 -2
  175. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  176. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +198 -80
  177. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  178. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +198 -2
  179. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  180. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +198 -2
  181. package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.dbg.json +4 -0
  182. package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.json +2638 -0
  183. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  184. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +198 -2
  185. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  186. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +198 -2
  187. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  188. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  189. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  190. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  191. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  192. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  193. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  194. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  195. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  196. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  197. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  198. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  199. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  200. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  201. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  202. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  203. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  204. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  205. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +65 -0
  206. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  207. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +4 -0
  208. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.json +82 -0
  209. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  210. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +67 -2
  211. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +16 -10
  212. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +27 -6
  213. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +3 -2
  214. package/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol +7 -1
  215. package/contracts/core/StandardizedYield/implementations/AaveV3/{PendleAaveV3WithRewardsSY.sol → PendleAaveV3WithRewardsSYUpg.sol} +27 -45
  216. package/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol +130 -0
  217. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +1 -2
  218. package/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol +82 -0
  219. package/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol +21 -0
  220. package/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol +0 -1
  221. package/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol +88 -0
  222. package/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol +83 -0
  223. package/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol +154 -0
  224. package/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBaseSYUpg.sol +103 -0
  225. package/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBase.sol +47 -0
  226. package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol +102 -0
  227. package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol +32 -0
  228. package/contracts/interfaces/AaveV3/IAaveStkGHO.sol +17 -0
  229. package/contracts/interfaces/Angle/IAngleDistributor.sol +12 -0
  230. package/contracts/interfaces/IERC4626.sol +2 -0
  231. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +6 -6
  232. package/contracts/interfaces/IPActionMarketCoreStatic.sol +4 -0
  233. package/contracts/interfaces/IPActionMiscV3.sol +2 -8
  234. package/contracts/interfaces/IPActionSwapLimitV3.sol +42 -0
  235. package/contracts/interfaces/IPActionSwapPTV3.sol +4 -4
  236. package/contracts/interfaces/IPActionSwapYTV3.sol +4 -4
  237. package/contracts/interfaces/IPAllActionTypeV3.sol +4 -0
  238. package/contracts/interfaces/IPAllActionV3.sol +3 -1
  239. package/contracts/interfaces/IPAllEventsV3.sol +44 -1
  240. package/contracts/interfaces/Zerolend/IZerolendPool.sol +31 -0
  241. package/contracts/interfaces/Zerolend/IZerolendZ0Token.sol +6 -0
  242. package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +5 -0
  243. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +1 -1
  244. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +1 -1
  245. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +10 -4
  246. package/contracts/oracles/{internal/PendleBoringOneracle.sol → PendleBoringOneracle.sol} +2 -2
  247. package/contracts/oracles/{internal/PendleBoringSolvBTCOneracle.sol → PendleBoringSolvBTCOneracle.sol} +2 -2
  248. package/contracts/oracles/{PtYtLpOracle/PendlePYLpOracle.sol → PendlePYLpOracle.sol} +2 -2
  249. package/contracts/oracles/{PtYtLpOracle/PendlePYOracleLib.sol → PendlePYOracleLib.sol} +2 -2
  250. package/contracts/oracles/{internal/PendleRedStoneRateOracleAdapter.sol → PendleRedStoneRateOracleAdapter.sol} +3 -3
  251. package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringLpGlpOracle.sol +3 -3
  252. package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringLpSeller.sol +1 -1
  253. package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPYUsdChainlinkAssetOracle.sol +3 -3
  254. package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPYUsdChainlinkSYOracle.sol +3 -3
  255. package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPtSeller.sol +1 -1
  256. package/contracts/router/ActionAddRemoveLiqV3.sol +9 -9
  257. package/contracts/router/ActionMiscV3.sol +3 -17
  258. package/contracts/router/ActionSwapLimitV3.sol +126 -0
  259. package/contracts/router/ActionSwapPTV3.sol +4 -4
  260. package/contracts/router/ActionSwapYTV3.sol +4 -4
  261. package/contracts/router/base/ActionBase.sol +35 -12
  262. package/contracts/router/base/ActionDelegateBase.sol +1 -1
  263. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +5 -1
  264. package/contracts/router/swap-aggregator/PendleSwap.sol +52 -0
  265. package/deployments/1-core.json +2 -2
  266. package/deployments/1-markets/AGETH-MAINNET-JUN2025.json +14 -0
  267. package/deployments/1-markets/PUFETH-MAINNET-JUN2025.json +14 -0
  268. package/deployments/1-markets/RSETH-MAINNET-JUN2025.json +14 -0
  269. package/deployments/1-markets/RSWETH-MAINNET-JUN2025.json +14 -0
  270. package/deployments/1-markets/STKGHO-MAINNET-APR2025.json +14 -0
  271. package/deployments/1-markets/SUSDE-MAINNET-MAY2025.json +14 -0
  272. package/deployments/1-markets/SUSDS-MAINNET-MAR2025-RELAUNCH.json +12 -0
  273. package/deployments/1-markets/UNIETH-MAINNET-JUN2025.json +14 -0
  274. package/deployments/1-markets/USD0++-MAINNET-JAN2025.json +14 -0
  275. package/deployments/1-markets/USD0++-MAINNET-JUN2025.json +14 -0
  276. package/deployments/1-markets/WEETH-MAINNET-JUN2025.json +14 -0
  277. package/deployments/1-markets/ZEROLEND-EBTC-MAINNET-MAR2025.json +14 -0
  278. package/deployments/10-core.json +1 -1
  279. package/deployments/42161-core.json +1 -1
  280. package/deployments/42161-markets/DOLOMITE-USDC-ARBITRUM-JUN2025.json +14 -0
  281. package/deployments/42161-markets/DOLOMITE-WBTC-ARBITRUM-JUN2025.json +14 -0
  282. package/deployments/42161-markets/GUSDC-ARBITRUM-JUN2025.json +14 -0
  283. package/deployments/42161-markets/MUXLP-ARBITRUM-JUN2025.json +14 -0
  284. package/deployments/42161-markets/RSETH-ARBITRUM-JUN2025.json +14 -0
  285. package/deployments/42161-markets/SPSILO-ARBITRUM-MAR2025.json +14 -0
  286. package/deployments/42161-markets/UNIETH-ARBITRUM-JUN2025.json +14 -0
  287. package/deployments/42161-markets/WEETH-ARBITRUM-JUN2025.json +14 -0
  288. package/deployments/5000-core.json +1 -1
  289. package/deployments/5000-markets/CMETH-MANTLE-FEB2025.json +14 -0
  290. package/deployments/56-core.json +2 -2
  291. package/deployments/56-markets/VENUS-BNB-BSC-JUN2025.json +14 -0
  292. package/deployments/8453-core.json +41 -0
  293. package/deployments/8453-offchain-helper.json +6 -0
  294. package/package.json +1 -1
  295. package/typechain-types/ActionAddRemoveLiqV3.ts +148 -0
  296. package/typechain-types/ActionMarketCoreStatic.ts +68 -0
  297. package/typechain-types/ActionMiscV3.ts +148 -44
  298. package/typechain-types/ActionSimple.ts +148 -0
  299. package/typechain-types/ActionStorageStatic.ts +148 -0
  300. package/typechain-types/ActionStorageV4.ts +148 -0
  301. package/typechain-types/ActionSwapLimitV3.ts +1667 -0
  302. package/typechain-types/ActionSwapPTV3.ts +148 -0
  303. package/typechain-types/ActionSwapYTV3.ts +148 -0
  304. package/typechain-types/IERC4626.ts +16 -0
  305. package/typechain-types/IPActionAddRemoveLiqV3.ts +148 -0
  306. package/typechain-types/IPActionMarketCoreStatic.ts +68 -0
  307. package/typechain-types/IPActionMiscV3.ts +148 -44
  308. package/typechain-types/IPActionSimple.ts +148 -0
  309. package/typechain-types/IPActionStorageStatic.ts +148 -0
  310. package/typechain-types/IPActionStorageV4.ts +148 -0
  311. package/typechain-types/IPActionSwapLimitV3.ts +1667 -0
  312. package/typechain-types/IPActionSwapLimitV3Events.ts +207 -0
  313. package/typechain-types/IPActionSwapPTV3.ts +148 -0
  314. package/typechain-types/IPActionSwapYTV3.ts +148 -0
  315. package/typechain-types/IPAllActionV3.ts +390 -20
  316. package/typechain-types/IPAllEventsV3.ts +148 -0
  317. package/typechain-types/IPRouterStatic.ts +182 -0
  318. package/typechain-types/IPSwapAggregator.ts +64 -3
  319. package/typechain-types/IZerolendPool.ts +111 -0
  320. package/typechain-types/IZerolendZ0Token.ts +87 -0
  321. package/typechain-types/PendleAaveV3WithRewardsSYUpg.ts +1498 -0
  322. package/typechain-types/PendleChainlinkOracle.ts +16 -16
  323. package/typechain-types/PendleChainlinkOracleFactory.ts +112 -33
  324. package/typechain-types/PendleChainlinkOracleWithQuote.ts +16 -16
  325. package/typechain-types/PendleERC4626SYV2.ts +1281 -0
  326. package/typechain-types/PendleMorphoMetaVaultSY.ts +1323 -0
  327. package/typechain-types/PendleSiloWithIncentiveNonBorrowableSY.ts +1543 -0
  328. package/typechain-types/PendleSolvBTCBBNBaseSYUpg.ts +1409 -0
  329. package/typechain-types/PendleSolvHelperBase.ts +220 -0
  330. package/typechain-types/PendleSwap.ts +64 -3
  331. package/typechain-types/PendleVotingControllerUpg.ts +135 -43
  332. package/typechain-types/PendleZerolendEBTCSYUpg.ts +1754 -0
  333. package/typechain-types/PendleZerolendLBTCSYUpg.ts +1598 -0
  334. package/typechain-types/VotingControllerStorageUpg.ts +34 -15
  335. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +197 -1
  336. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  337. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  338. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +67 -1
  339. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  340. package/typechain-types/factories/ActionMiscV3__factory.ts +197 -79
  341. package/typechain-types/factories/ActionSimple__factory.ts +197 -1
  342. package/typechain-types/factories/ActionStorageStatic__factory.ts +197 -1
  343. package/typechain-types/factories/ActionStorageV4__factory.ts +197 -1
  344. package/typechain-types/factories/ActionSwapLimitV3__factory.ts +2691 -0
  345. package/typechain-types/factories/ActionSwapPTV3__factory.ts +197 -1
  346. package/typechain-types/factories/ActionSwapYTV3__factory.ts +197 -1
  347. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  348. package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
  349. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  350. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  351. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  352. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +196 -0
  353. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +66 -0
  354. package/typechain-types/factories/IPActionMiscV3__factory.ts +196 -78
  355. package/typechain-types/factories/IPActionSimple__factory.ts +196 -0
  356. package/typechain-types/factories/IPActionStorageStatic__factory.ts +196 -0
  357. package/typechain-types/factories/IPActionStorageV4__factory.ts +196 -0
  358. package/typechain-types/factories/IPActionSwapLimitV3Events__factory.ts +226 -0
  359. package/typechain-types/factories/IPActionSwapLimitV3__factory.ts +2653 -0
  360. package/typechain-types/factories/IPActionSwapPTV3__factory.ts +196 -0
  361. package/typechain-types/factories/IPActionSwapYTV3__factory.ts +196 -0
  362. package/typechain-types/factories/IPAllActionV3__factory.ts +1220 -48
  363. package/typechain-types/factories/IPAllEventsV3__factory.ts +196 -0
  364. package/typechain-types/factories/IPRouterStatic__factory.ts +262 -0
  365. package/typechain-types/factories/IPSwapAggregator__factory.ts +65 -0
  366. package/typechain-types/factories/IZerolendPool__factory.ts +49 -0
  367. package/typechain-types/factories/IZerolendZ0Token__factory.ts +39 -0
  368. package/typechain-types/factories/PendleAaveV3WithRewardsSYUpg__factory.ts +1246 -0
  369. package/typechain-types/factories/PendleAgETHSY__factory.ts +1 -1
  370. package/typechain-types/factories/PendleAmphorWstETHVaultSY__factory.ts +1 -1
  371. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  372. package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
  373. package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
  374. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +66 -23
  375. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +7 -12
  376. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +7 -7
  377. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +1 -1
  378. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +1 -1
  379. package/typechain-types/factories/PendleERC4626NotRedeemableToAssetSY__factory.ts +1 -1
  380. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  381. package/typechain-types/factories/PendleERC4626SYV2__factory.ts +1095 -0
  382. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  383. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  384. package/typechain-types/factories/PendleGTokenSY__factory.ts +1 -1
  385. package/typechain-types/factories/PendleGUSDCSY__factory.ts +1 -1
  386. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  387. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
  388. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
  389. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
  390. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
  391. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
  392. package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1 -1
  393. package/typechain-types/factories/PendleMorphoMetaVaultSY__factory.ts +1125 -0
  394. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  395. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  396. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  397. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  398. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  399. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  400. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  401. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  402. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  403. package/typechain-types/factories/PendleSENASY__factory.ts +1 -1
  404. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  405. package/typechain-types/factories/PendleSUSDSSY__factory.ts +1 -1
  406. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  407. package/typechain-types/factories/PendleSiloWithIncentiveNonBorrowableSY__factory.ts +1317 -0
  408. package/typechain-types/factories/PendleSolvBTCBBNBaseSYUpg__factory.ts +1129 -0
  409. package/typechain-types/factories/PendleSolvHelperBase__factory.ts +172 -0
  410. package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
  411. package/typechain-types/factories/PendleStkGHOSY__factory.ts +1 -1
  412. package/typechain-types/factories/PendleSwap__factory.ts +66 -1
  413. package/typechain-types/factories/PendleSyrupSY__factory.ts +1 -1
  414. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +66 -22
  415. package/typechain-types/factories/PendleZerolendEBTCSYUpg__factory.ts +1394 -0
  416. package/typechain-types/factories/PendleZerolendLBTCSYUpg__factory.ts +1283 -0
  417. package/typechain-types/factories/Reflector__factory.ts +1 -1
  418. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +26 -1
  419. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +19 -6
  420. package/typechain-types/hardhat.d.ts +179 -80
  421. package/typechain-types/index.ts +40 -18
  422. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseUpg.dbg.json +0 -4
  423. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.dbg.json +0 -4
  424. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.json +0 -1198
  425. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +0 -4
  426. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.json +0 -122
  427. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +0 -4
  428. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.json +0 -91
  429. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +0 -4
  430. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.json +0 -262
  431. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +0 -4
  432. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +0 -10
  433. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +0 -4
  434. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +0 -4
  435. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +0 -4
  436. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +0 -4
  437. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +0 -274
  438. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.dbg.json +0 -4
  439. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.json +0 -253
  440. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +0 -4
  441. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +0 -300
  442. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +0 -4
  443. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +0 -310
  444. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +0 -4
  445. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +0 -4
  446. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +0 -4
  447. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +0 -4
  448. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +0 -4
  449. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +0 -4
  450. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +0 -4
  451. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +0 -4
  452. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +0 -4
  453. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +0 -4
  454. package/contracts/interfaces/IPChainlinkOracle.sol +0 -15
  455. package/contracts/interfaces/IPChainlinkOracleFactory.sol +0 -22
  456. package/contracts/interfaces/IPChainlinkOracleWithQuote.sol +0 -8
  457. package/contracts/offchain-helpers/MarketExchangeRateLib.sol +0 -32
  458. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +0 -40
  459. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleBase.sol +0 -129
  460. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol +0 -109
  461. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol +0 -54
  462. /package/contracts/oracles/{PtYtLpOracle/PendleLpOracleLib.sol → PendleLpOracleLib.sol} +0 -0
  463. /package/contracts/oracles/{internal/PendleSparkLinearDiscountOracle.sol → PendleSparkLinearDiscountOracle.sol} +0 -0
@@ -0,0 +1,126 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "./base/ActionBase.sol";
5
+ import "../interfaces/IPActionSwapLimitV3.sol";
6
+
7
+ contract ActionSwapLimitV3 is IPActionSwapLimitV3, ActionBase {
8
+ using PMath for uint256;
9
+
10
+ function swapMaxPtForTokenLimitOnly(
11
+ address receiver,
12
+ address market,
13
+ uint256 maxPtIn,
14
+ uint256 minTokenPtRate,
15
+ TokenOutput calldata output,
16
+ LimitOrderData memory limit
17
+ ) external returns (uint256 netTokenOut, uint256 netPtReturned, uint256 netSyFee, uint256 netSyInterm) {
18
+ (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
19
+ _transferFrom(PT, msg.sender, address(this), maxPtIn);
20
+
21
+ (netSyInterm, netPtReturned, netSyFee) = _swapMaxPtForSyLimitOnly(address(SY), PT, maxPtIn, 0, limit);
22
+
23
+ netTokenOut = _redeemSyToToken(receiver, address(SY), netSyInterm, output, false);
24
+
25
+ uint256 netPtUsed = maxPtIn - netPtReturned;
26
+ if (netTokenOut.divDown(netPtUsed) < minTokenPtRate) revert("Slippage LO: INSUFFICIENT_TOKEN_OUT");
27
+
28
+ emit SwapMaxPtForTokenLimitOnly(
29
+ msg.sender,
30
+ market,
31
+ output.tokenOut,
32
+ receiver,
33
+ maxPtIn,
34
+ netTokenOut,
35
+ netSyInterm,
36
+ netPtReturned
37
+ );
38
+ }
39
+
40
+ function swapMaxPtForSyLimitOnly(
41
+ address receiver,
42
+ address market,
43
+ uint256 maxPtIn,
44
+ uint256 minSyPtRate,
45
+ LimitOrderData memory limit
46
+ ) external returns (uint256 netSyOut, uint256 netPtReturned, uint256 netSyFee) {
47
+ (, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
48
+ _transferFrom(PT, msg.sender, address(this), maxPtIn);
49
+
50
+ (netSyOut, netPtReturned, netSyFee) = _swapMaxPtForSyLimitOnly(receiver, PT, maxPtIn, minSyPtRate, limit);
51
+
52
+ emit SwapMaxPtForSyLimitOnly(msg.sender, market, receiver, maxPtIn, netSyOut, netPtReturned);
53
+ }
54
+
55
+ function swapMaxTokenForYtLimitOnly(
56
+ address receiver,
57
+ address market,
58
+ uint256 minSyInterm,
59
+ uint256 minYtSyRate,
60
+ TokenInput calldata input,
61
+ LimitOrderData memory limit
62
+ ) external payable returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee, uint256 netSyInterm) {
63
+ (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
64
+
65
+ netSyInterm = _mintSyFromToken(address(this), address(SY), minSyInterm, input);
66
+ (netYtOut, netSyReturned, netSyFee) = _swapMaxSyForYtLimitOnly(receiver, SY, netSyInterm, minYtSyRate, limit);
67
+
68
+ emit SwapMaxTokenForYtLimitOnly(
69
+ msg.sender,
70
+ market,
71
+ input.tokenIn,
72
+ receiver,
73
+ input.netTokenIn,
74
+ netYtOut,
75
+ netSyInterm,
76
+ netSyReturned
77
+ );
78
+ }
79
+
80
+ function swapMaxSyForYtLimitOnly(
81
+ address receiver,
82
+ address market,
83
+ uint256 maxSyIn,
84
+ uint256 minYtSyRate,
85
+ LimitOrderData memory limit
86
+ ) external returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee) {
87
+ (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
88
+
89
+ _transferFrom(SY, msg.sender, address(this), maxSyIn);
90
+ (netYtOut, netSyReturned, netSyFee) = _swapMaxSyForYtLimitOnly(receiver, SY, maxSyIn, minYtSyRate, limit);
91
+
92
+ emit SwapMaxSyForYtLimitOnly(msg.sender, market, receiver, maxSyIn, netYtOut, netSyReturned);
93
+ }
94
+
95
+ function _swapMaxPtForSyLimitOnly(
96
+ address receiver,
97
+ IPPrincipalToken PT,
98
+ uint256 maxPtIn,
99
+ uint256 minSyPtRate,
100
+ LimitOrderData memory limit
101
+ ) internal returns (uint256 netSyOut, uint256 netPtReturned, uint256 netSyFee) {
102
+ (netPtReturned, netSyOut, netSyFee, ) = _fillLimit(receiver, PT, maxPtIn, limit);
103
+ if (netSyOut == 0) revert("Slippage LO: NO_ORDER_FILLED");
104
+
105
+ uint256 netPtUsed = maxPtIn - netPtReturned;
106
+ if (netSyOut.divDown(netPtUsed) < minSyPtRate) revert("Slippage LO: INSUFFICIENT_SY_OUT");
107
+
108
+ _transferOut(address(PT), msg.sender, netPtReturned);
109
+ }
110
+
111
+ function _swapMaxSyForYtLimitOnly(
112
+ address receiver,
113
+ IStandardizedYield SY,
114
+ uint256 maxSyIn,
115
+ uint256 minYtSyRate,
116
+ LimitOrderData memory limit
117
+ ) internal returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee) {
118
+ (netSyReturned, netYtOut, netSyFee, ) = _fillLimit(receiver, SY, maxSyIn, limit);
119
+ if (netYtOut == 0) revert("Slippage LO: NO_ORDER_FILLED");
120
+
121
+ uint256 netSyUsed = maxSyIn - netSyReturned;
122
+ if (netYtOut.divDown(netSyUsed) < minYtSyRate) revert("Slippage LO: INSUFFICIENT_YT_OUT");
123
+
124
+ _transferOut(address(SY), msg.sender, netSyReturned);
125
+ }
126
+ }
@@ -16,7 +16,7 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase, ActionDelegateBase {
16
16
  uint256 minPtOut,
17
17
  ApproxParams calldata guessPtOut,
18
18
  TokenInput calldata input,
19
- LimitOrderData calldata limit
19
+ LimitOrderData memory limit
20
20
  ) external payable returns (uint256 netPtOut, uint256 netSyFee, uint256 netSyInterm) {
21
21
  if (canUseOnchainApproximation(guessPtOut, limit)) {
22
22
  return delegateToSwapExactTokenForPtSimple(receiver, market, minPtOut, input);
@@ -44,7 +44,7 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase, ActionDelegateBase {
44
44
  uint256 exactSyIn,
45
45
  uint256 minPtOut,
46
46
  ApproxParams calldata guessPtOut,
47
- LimitOrderData calldata limit
47
+ LimitOrderData memory limit
48
48
  ) external returns (uint256 netPtOut, uint256 netSyFee) {
49
49
  if (canUseOnchainApproximation(guessPtOut, limit)) {
50
50
  return delegateToSwapExactSyForPtSimple(receiver, market, exactSyIn, minPtOut);
@@ -63,7 +63,7 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase, ActionDelegateBase {
63
63
  address market,
64
64
  uint256 exactPtIn,
65
65
  TokenOutput calldata output,
66
- LimitOrderData calldata limit
66
+ LimitOrderData memory limit
67
67
  ) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm) {
68
68
  (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
69
69
  _transferFrom(PT, msg.sender, _entry_swapExactPtForSy(market, limit), exactPtIn);
@@ -89,7 +89,7 @@ contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase, ActionDelegateBase {
89
89
  address market,
90
90
  uint256 exactPtIn,
91
91
  uint256 minSyOut,
92
- LimitOrderData calldata limit
92
+ LimitOrderData memory limit
93
93
  ) external returns (uint256 netSyOut, uint256 netSyFee) {
94
94
  (, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
95
95
  _transferFrom(PT, msg.sender, _entry_swapExactPtForSy(market, limit), exactPtIn);
@@ -21,7 +21,7 @@ contract ActionSwapYTV3 is CallbackHelper, IPActionSwapYTV3, ActionBase, ActionD
21
21
  uint256 minYtOut,
22
22
  ApproxParams calldata guessYtOut,
23
23
  TokenInput calldata input,
24
- LimitOrderData calldata limit
24
+ LimitOrderData memory limit
25
25
  ) external payable returns (uint256 netYtOut, uint256 netSyFee, uint256 netSyInterm) {
26
26
  if (canUseOnchainApproximation(guessYtOut, limit)) {
27
27
  return delegateToSwapExactTokenForYtSimple(receiver, market, minYtOut, input);
@@ -50,7 +50,7 @@ contract ActionSwapYTV3 is CallbackHelper, IPActionSwapYTV3, ActionBase, ActionD
50
50
  uint256 exactSyIn,
51
51
  uint256 minYtOut,
52
52
  ApproxParams calldata guessYtOut,
53
- LimitOrderData calldata limit
53
+ LimitOrderData memory limit
54
54
  ) external returns (uint256 netYtOut, uint256 netSyFee) {
55
55
  if (canUseOnchainApproximation(guessYtOut, limit)) {
56
56
  return delegateToSwapExactSyForYtSimple(receiver, market, exactSyIn, minYtOut);
@@ -71,7 +71,7 @@ contract ActionSwapYTV3 is CallbackHelper, IPActionSwapYTV3, ActionBase, ActionD
71
71
  address market,
72
72
  uint256 exactYtIn,
73
73
  TokenOutput calldata output,
74
- LimitOrderData calldata limit
74
+ LimitOrderData memory limit
75
75
  ) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm) {
76
76
  (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
77
77
  _transferFrom(YT, msg.sender, _entry_swapExactYtForSy(YT, limit), exactYtIn);
@@ -97,7 +97,7 @@ contract ActionSwapYTV3 is CallbackHelper, IPActionSwapYTV3, ActionBase, ActionD
97
97
  address market,
98
98
  uint256 exactYtIn,
99
99
  uint256 minSyOut,
100
- LimitOrderData calldata limit
100
+ LimitOrderData memory limit
101
101
  ) external returns (uint256 netSyOut, uint256 netSyFee) {
102
102
  (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
103
103
  _transferFrom(YT, msg.sender, _entry_swapExactYtForSy(YT, limit), exactYtIn);
@@ -161,7 +161,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
161
161
 
162
162
  // ----------------- PT SWAP -----------------
163
163
 
164
- function _entry_swapExactPtForSy(address market, LimitOrderData calldata limit) internal view returns (address) {
164
+ function _entry_swapExactPtForSy(address market, LimitOrderData memory limit) internal view returns (address) {
165
165
  return _entry_swapExactPtForSy(market, !_isEmptyLimit(limit));
166
166
  }
167
167
 
@@ -174,7 +174,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
174
174
  address market,
175
175
  uint256 exactPtIn,
176
176
  uint256 minSyOut,
177
- LimitOrderData calldata limit
177
+ LimitOrderData memory limit
178
178
  ) internal returns (uint256 netSyOut, uint256 netSyFee) {
179
179
  (, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
180
180
 
@@ -202,7 +202,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
202
202
  if (netSyOut < minSyOut) revert("Slippage: INSUFFICIENT_SY_OUT");
203
203
  }
204
204
 
205
- function _entry_swapExactSyForPt(address market, LimitOrderData calldata limit) internal view returns (address) {
205
+ function _entry_swapExactSyForPt(address market, LimitOrderData memory limit) internal view returns (address) {
206
206
  return _entry_swapExactSyForPt(market, !_isEmptyLimit(limit));
207
207
  }
208
208
 
@@ -216,7 +216,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
216
216
  uint256 exactSyIn,
217
217
  uint256 minPtOut,
218
218
  ApproxParams calldata guessPtOut,
219
- LimitOrderData calldata limit
219
+ LimitOrderData memory limit
220
220
  ) internal returns (uint256 netPtOut, uint256 netSyFee) {
221
221
  (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
222
222
  uint256 netSyLeft = exactSyIn;
@@ -248,7 +248,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
248
248
 
249
249
  // ----------------- YT SWAP -----------------
250
250
 
251
- function _entry_swapExactYtForSy(IPYieldToken YT, LimitOrderData calldata limit) internal view returns (address) {
251
+ function _entry_swapExactYtForSy(IPYieldToken YT, LimitOrderData memory limit) internal view returns (address) {
252
252
  return _entry_swapExactYtForSy(YT, !_isEmptyLimit(limit));
253
253
  }
254
254
 
@@ -263,7 +263,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
263
263
  IPYieldToken YT,
264
264
  uint256 exactYtIn,
265
265
  uint256 minSyOut,
266
- LimitOrderData calldata limit
266
+ LimitOrderData memory limit
267
267
  ) internal returns (uint256 netSyOut, uint256 netSyFee) {
268
268
  uint256 netYtLeft = exactYtIn;
269
269
  bool doMarketOrder = true;
@@ -292,7 +292,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
292
292
  if (netSyOut < minSyOut) revert("Slippage: INSUFFICIENT_SY_OUT");
293
293
  }
294
294
 
295
- function _entry_swapExactSyForYt(IPYieldToken YT, LimitOrderData calldata limit) internal view returns (address) {
295
+ function _entry_swapExactSyForYt(IPYieldToken YT, LimitOrderData memory limit) internal view returns (address) {
296
296
  return _entry_swapExactSyForYt(YT, !_isEmptyLimit(limit));
297
297
  }
298
298
 
@@ -308,7 +308,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
308
308
  uint256 exactSyIn,
309
309
  uint256 minYtOut,
310
310
  ApproxParams calldata guessYtOut,
311
- LimitOrderData calldata limit
311
+ LimitOrderData memory limit
312
312
  ) internal returns (uint256 netYtOut, uint256 netSyFee) {
313
313
  uint256 netSyLeft = exactSyIn;
314
314
  bool doMarketOrder = true;
@@ -346,8 +346,15 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
346
346
  address receiver,
347
347
  IERC20 tokenIn,
348
348
  uint256 netInput,
349
- LimitOrderData calldata lim
349
+ LimitOrderData memory lim
350
350
  ) internal returns (uint256 netLeft, uint256 netOut, uint256 netSyFee, bool doMarketOrder) {
351
+ {
352
+ if (lim.optData.length != 0) {
353
+ LimitOrder_OptData_V1 memory optData = abi.decode(lim.optData, (LimitOrder_OptData_V1));
354
+ _scaleLimitOrderData(lim, netInput, optData.netOffchain);
355
+ }
356
+ }
357
+
351
358
  IPLimitRouter router = IPLimitRouter(lim.limitRouter);
352
359
  netLeft = netInput;
353
360
 
@@ -386,13 +393,13 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
386
393
  doMarketOrder = netLeft > netInput.mulDown(lim.epsSkipMarket);
387
394
  }
388
395
 
389
- function _isEmptyLimit(LimitOrderData calldata a) internal pure returns (bool) {
396
+ function _isEmptyLimit(LimitOrderData memory a) internal pure returns (bool) {
390
397
  return a.normalFills.length == 0 && a.flashFills.length == 0;
391
398
  }
392
399
 
393
400
  // ----------------- ADD & REMOVE LIQUIDITY -----------------
394
401
 
395
- function _entry_addLiquiditySinglePt(address market, LimitOrderData calldata lim) internal view returns (address) {
402
+ function _entry_addLiquiditySinglePt(address market, LimitOrderData memory lim) internal view returns (address) {
396
403
  return _entry_addLiquiditySinglePt(market, !_isEmptyLimit(lim));
397
404
  }
398
405
 
@@ -400,7 +407,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
400
407
  return hasLimitOrder ? address(this) : market;
401
408
  }
402
409
 
403
- function _entry_addLiquiditySingleSy(address market, LimitOrderData calldata lim) internal view returns (address) {
410
+ function _entry_addLiquiditySingleSy(address market, LimitOrderData memory lim) internal view returns (address) {
404
411
  return _entry_addLiquiditySingleSy(market, !_isEmptyLimit(lim));
405
412
  }
406
413
 
@@ -423,4 +430,20 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
423
430
  }
424
431
  }
425
432
  }
433
+
434
+ function _scaleLimitOrderData(
435
+ LimitOrderData memory limit,
436
+ uint256 onchainAmount,
437
+ uint256 offchainAmount
438
+ ) private pure {
439
+ // we can't scale up. If it's equal, skip
440
+ if (onchainAmount >= offchainAmount) return;
441
+
442
+ for (uint256 i = 0; i < limit.normalFills.length; i++) {
443
+ limit.normalFills[i].makingAmount = (limit.normalFills[i].makingAmount * onchainAmount) / offchainAmount;
444
+ }
445
+ for (uint256 i = 0; i < limit.flashFills.length; i++) {
446
+ limit.flashFills[i].makingAmount = (limit.flashFills[i].makingAmount * onchainAmount) / offchainAmount;
447
+ }
448
+ }
426
449
  }
@@ -120,7 +120,7 @@ contract ActionDelegateBase is ActionBase {
120
120
 
121
121
  function canUseOnchainApproximation(
122
122
  ApproxParams calldata approx,
123
- LimitOrderData calldata limit
123
+ LimitOrderData memory limit
124
124
  ) internal pure returns (bool) {
125
125
  return approx.guessOffchain == 0 && _isEmptyLimit(limit);
126
126
  }
@@ -18,11 +18,15 @@ struct SwapDataExtra {
18
18
  enum SwapType {
19
19
  NONE,
20
20
  KYBERSWAP,
21
- ONE_INCH,
21
+ ODOS,
22
22
  // ETH_WETH not used in Aggregator
23
23
  ETH_WETH
24
24
  }
25
25
 
26
26
  interface IPSwapAggregator {
27
+ event SwapSingle(SwapType indexed swapType, address indexed tokenIn, uint256 amountIn);
28
+
27
29
  function swap(address tokenIn, uint256 amountIn, SwapData calldata swapData) external payable;
30
+
31
+ function swapMultiOdos(address[] calldata tokensIn, SwapData calldata swapData) external payable;
28
32
  }
@@ -17,6 +17,15 @@ contract PendleSwap is IPSwapAggregator, TokenHelper {
17
17
  data.needScale ? _getScaledInputData(data.swapType, data.extCalldata, amountIn) : data.extCalldata,
18
18
  tokenIn == NATIVE ? amountIn : 0
19
19
  );
20
+
21
+ emit SwapSingle(data.swapType, tokenIn, amountIn);
22
+ }
23
+
24
+ function swapMultiOdos(address[] calldata tokensIn, SwapData calldata data) external payable {
25
+ for (uint256 i = 0; i < tokensIn.length; ++i) {
26
+ _safeApproveInf(tokensIn[i], data.extRouter);
27
+ }
28
+ data.extRouter.functionCallWithValue(data.extCalldata, msg.value);
20
29
  }
21
30
 
22
31
  function _getScaledInputData(
@@ -32,11 +41,35 @@ contract PendleSwap is IPSwapAggregator, TokenHelper {
32
41
  );
33
42
 
34
43
  require(isSuccess, "PendleSwap: Kyber scaling failed");
44
+ } else if (swapType == SwapType.ODOS) {
45
+ scaledCallData = _odosScaling(rawCallData, amountIn);
35
46
  } else {
36
47
  assert(false);
37
48
  }
38
49
  }
39
50
 
51
+ function _odosScaling(
52
+ bytes calldata rawCallData,
53
+ uint256 amountIn
54
+ ) internal pure returns (bytes memory scaledCallData) {
55
+ bytes4 selector = bytes4(rawCallData[:4]);
56
+ bytes calldata dataToDecode = rawCallData[4:];
57
+
58
+ assert(selector == IOdosRouterV2.swap.selector);
59
+ (
60
+ IOdosRouterV2.swapTokenInfo memory tokenInfo,
61
+ bytes memory pathDefinition,
62
+ address executor,
63
+ uint32 referralCode
64
+ ) = abi.decode(dataToDecode, (IOdosRouterV2.swapTokenInfo, bytes, address, uint32));
65
+
66
+ tokenInfo.outputQuote = (tokenInfo.outputQuote * amountIn) / tokenInfo.inputAmount;
67
+ tokenInfo.outputMin = (tokenInfo.outputMin * amountIn) / tokenInfo.inputAmount;
68
+ tokenInfo.inputAmount = amountIn;
69
+
70
+ return abi.encodeWithSelector(selector, tokenInfo, pathDefinition, executor, referralCode);
71
+ }
72
+
40
73
  receive() external payable {}
41
74
  }
42
75
 
@@ -46,3 +79,22 @@ interface IKyberScalingHelper {
46
79
  uint256 newAmount
47
80
  ) external view returns (bool isSuccess, bytes memory data);
48
81
  }
82
+
83
+ interface IOdosRouterV2 {
84
+ struct swapTokenInfo {
85
+ address inputToken;
86
+ uint256 inputAmount;
87
+ address inputReceiver;
88
+ address outputToken;
89
+ uint256 outputQuote;
90
+ uint256 outputMin;
91
+ address outputReceiver;
92
+ }
93
+
94
+ function swap(
95
+ swapTokenInfo memory tokenInfo,
96
+ bytes calldata pathDefinition,
97
+ address executor,
98
+ uint32 referralCode
99
+ ) external payable returns (uint256 amountOut);
100
+ }
@@ -20,7 +20,7 @@
20
20
  "governanceProxy": "0x2aD631F72fB16d91c4953A7f4260A97C2fE2f31e",
21
21
  "yieldContractFactory": "0x70ee0A6DB4F5a2Dc4d9c0b57bE97B9987e75BAFD",
22
22
  "marketFactory": "0x27b1dAcd74688aF24a64BD3C9C1B143118740784",
23
- "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
23
+ "router": "0xD0715C2bf65a6EE65876F30BAEEc8d57664DAB26",
24
24
  "routerFacets": {
25
25
  "ActionAddRemoveLiqV3": "0x07d16A6D334133039A84271d30b7317DCbd1170D",
26
26
  "ActionSwapPTV3": "0xC3B17AbC54d6Ef30500630A776392b9aF1c5e0c0",
@@ -31,7 +31,7 @@
31
31
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
32
32
  },
33
33
  "routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
34
- "pendleSwap": "0x2E6ffA05cd6920dcc0d169efce2F4C96E774eCd2",
34
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
35
35
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
36
36
  "yieldContractFactoryV3": "0xdF3601014686674e53d1Fa52F7602525483F9122",
37
37
  "marketFactoryV3": "0x1A6fCc85557BC4fB7B534ed835a03EF056552D52",
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY agETH",
3
+ "SY": "0xb1B9150f2085f6a553b547099977181CA802752A",
4
+ "YT": "0x0310A860CF7Efe8F54Ab9B4dE49Cd071C37fCBCB",
5
+ "PT": "0x6E43F6abce001c14C7115d20908d0c272338eAf1",
6
+ "market": "0xBe8549a20257917a0a9EF8911DAF18190A8842a4",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "64240339912000000000",
9
+ "initAnchor": "1040529553000000000",
10
+ "lnFeeRateRoot": "999500333000000",
11
+ "deployTxHash": "0x456464c59550a0e84410efdbeef9db3908ba55fe31ee9b8a2b23756671af0bc6",
12
+ "deployBlockNumber": 21177279,
13
+ "reversedFee": 0.09999999999164011
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY pufETH",
3
+ "SY": "0x253008ba4aE2f3E6488DC998a5321D4EB1a0c905",
4
+ "YT": "0x784A0bb8208C70290cac6bcBC3650cEb9227813E",
5
+ "PT": "0x9cFc9917C171A384c7168D3529Fc7e851a2E0d6D",
6
+ "market": "0x58612beB0e8a126735b19BB222cbC7fC2C162D2a",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "89629413589000000000",
9
+ "initAnchor": "1034397837000000000",
10
+ "lnFeeRateRoot": "499875041000000",
11
+ "deployTxHash": "0x07bb6832305177cceba7fefb17799b067cda4f7d7bac25e4ef8f3fe16e3583b1",
12
+ "deployBlockNumber": 21177325,
13
+ "reversedFee": 0.04999999993486881
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY ETH",
3
+ "SY": "0x730A5E2AcEbccAA5e9095723B3CB862739DA793c",
4
+ "YT": "0x9335A7A9208cdA49f287Ea9af7B3D1faAdfcfe80",
5
+ "PT": "0xE08C45F3cfE70f4e03668Dc6E84Af842bEE95A68",
6
+ "market": "0xfD482179DdEe989C45eaB19991852F80fF31457a",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "89241410861000000000",
9
+ "initAnchor": "1029050450000000000",
10
+ "lnFeeRateRoot": "499875041000000",
11
+ "deployTxHash": "0x95046b375a4f59baa5e3edabc749a43c02091e94ed7c8b2cc2b3f26289c273fd",
12
+ "deployBlockNumber": 21126538,
13
+ "reversedFee": 0.04999999993486881
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY rswETH",
3
+ "SY": "0x7786729eEe8b9d30fE7d91fDFf23A0f1D0C615D9",
4
+ "YT": "0xC1bdd44EedaEA25b07812Cd70D214BCac2D01E29",
5
+ "PT": "0x003984eCC30BAFe364eFA8c0112cDd94B8216406",
6
+ "market": "0xfd5Cf95E8b886aCE955057cA4DC69466e793FBBE",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "89721210735000000000",
9
+ "initAnchor": "1033334881000000000",
10
+ "lnFeeRateRoot": "499875041000000",
11
+ "deployTxHash": "0x5ab1065d2fba394c2bda02915e7ee64bb1819148c830e7d855c6690085912b05",
12
+ "deployBlockNumber": 21191742,
13
+ "reversedFee": 0.04999999993486881
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY stkGHO",
3
+ "SY": "0xCC9eFBf580120676bFB3420FbD2cfc34019A1967",
4
+ "YT": "0xc5e62a939d2E85F9ebB6aEffc03B053DACF90140",
5
+ "PT": "0xf05312A0D01E5a0F9EBa87A539c37100fABf9B5e",
6
+ "market": "0xff81180a7f949ba1F940EAE6aA3B3CeB890b1912",
7
+ "expiry": 1745452800,
8
+ "scalarRoot": "31061108921000000000",
9
+ "initAnchor": "1059899074000000000",
10
+ "lnFeeRateRoot": "1998002662000000",
11
+ "deployTxHash": "0xa5b637f1b904930fab6f91f8a7cc6dac7383613cbc1ace46d747a53a2d1e6e99",
12
+ "deployBlockNumber": 21071107,
13
+ "reversedFee": 0.19999999993256523
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY sUSDe",
3
+ "SY": "0xE877B2A8a53763C8B0534a15e87da28f3aC1257e",
4
+ "YT": "0x1de6Ff19FDA7496DdC12f2161f6ad6427c52aBBe",
5
+ "PT": "0xb7de5dFCb74d25c2f21841fbd6230355C50d9308",
6
+ "market": "0xB162B764044697cf03617C2EFbcB1f42e31E4766",
7
+ "expiry": 1748476800,
8
+ "scalarRoot": "27857057626000000000",
9
+ "initAnchor": "1098305663000000000",
10
+ "lnFeeRateRoot": "1998002662000000",
11
+ "deployTxHash": "0x9070649f64c7e536cb75fe9ab7c64d314f9f3fa9e4104748fe75aa428e3f48dd",
12
+ "deployBlockNumber": 21179723,
13
+ "reversedFee": 0.19999999993256523
14
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "SY sUSDS",
3
+ "SY": "0xBe3d4ec488A0a042BB86F9176C24f8CD54018BA7",
4
+ "YT": "0xe88580889A3F02a03e27f9b9c65dD43AD685fC8f",
5
+ "PT": "0x152b8629fee8105248bA3b7ba6afb94f7a468302",
6
+ "market": "0x21D85Ff3BEDFF031EF466C7d5295240C8AB2a2b8",
7
+ "expiry": 1743033600,
8
+ "scalarRoot": "66210056099000000000",
9
+ "initAnchor": "1028441141000000000",
10
+ "lnFeeRateRoot": "499875041000000",
11
+ "reversedFee": 0.04999999993486881
12
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY uniETH",
3
+ "SY": "0xc430dB19339A3051192233B4c49f9aB3DC6D16b7",
4
+ "YT": "0x999A3847707511E06E6Df03029D7EDB04F9099C8",
5
+ "PT": "0x302091967C09323815594Ad8dB2D8dE35c3A1985",
6
+ "market": "0xbbA9BAaa6b3107182147A12177e0F1Ec46B8b072",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "89629413589000000000",
9
+ "initAnchor": "1034397837000000000",
10
+ "lnFeeRateRoot": "499875041000000",
11
+ "deployTxHash": "0x818def640818b4d13b3ffd1c2a0b3b48e1fc1b8df0adefd232cfed31f818bb45",
12
+ "deployBlockNumber": 21177323,
13
+ "reversedFee": 0.04999999993486881
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY USD0",
3
+ "SY": "0x52453825c287dDef62D647ce51C0979D27c461f7",
4
+ "YT": "0x9697E1ef258b847275E1b32f8A57b3a7e2f8ec50",
5
+ "PT": "0x61439b9575278054D69c9176d88FaFaf8319E4b7",
6
+ "market": "0x64506968E80C9ed07bFF60C8D9d57474EFfFF2c9",
7
+ "expiry": 1738195200,
8
+ "scalarRoot": "33239841776000000000",
9
+ "initAnchor": "1034254863000000000",
10
+ "lnFeeRateRoot": "1998002662000000",
11
+ "deployTxHash": "0x6c7dce4eec0e0e9109d96c3680a1c9949c81542030d134c4c1a684711635dd73",
12
+ "deployBlockNumber": 21212485,
13
+ "reversedFee": 0.19999999993256523
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY USD0++",
3
+ "SY": "0x52453825c287dDef62D647ce51C0979D27c461f7",
4
+ "YT": "0xEAD01319c2aB0dC2C690EfF5DfC5f465Cd38FC87",
5
+ "PT": "0xf696FE29Ef85E892b5926313897D178288faA07e",
6
+ "market": "0x048680F64d6DFf1748ba6D9a01F578433787e24B",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "25840344753000000000",
9
+ "initAnchor": "1094579386000000000",
10
+ "lnFeeRateRoot": "1998002662000000",
11
+ "deployTxHash": "0x84d55092d8c0a23fb5ee3801d2ed904685eb2cc289338a58aed49accac686ab9",
12
+ "deployBlockNumber": 21220847,
13
+ "reversedFee": 0.19999999993256523
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY ETH",
3
+ "SY": "0xac0047886a985071476a1186be89222659970d65",
4
+ "YT": "0x08AEfe9dFe7818CaaedD94E38e910d2155b7d2b0",
5
+ "PT": "0xEF6122835a2Bbf575D0117D394fDa24aB7d09d4E",
6
+ "market": "0xF4Cf59259D007a96C641B41621aB52C93b9691B1",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "89316496353000000000",
9
+ "initAnchor": "1028180525000000000",
10
+ "lnFeeRateRoot": "499875041000000",
11
+ "deployTxHash": "0x07a9014ad4f589dbe9b9a965fd8a23a05aff6e8776212a9112ebd5b3f8ea5593",
12
+ "deployBlockNumber": 21132911,
13
+ "reversedFee": 0.04999999993486881
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "SY eBTC",
3
+ "SY": "0x96Af5d9e4d01FB892FD2D76bfC0e3C07AEcf8b6B",
4
+ "YT": "0x1477A353f248ac94b52F863E234755943a18b94c",
5
+ "PT": "0x8b89d5eA6C9ea52daB5834E9789aA10085c14858",
6
+ "market": "0x98ffeFd1a51D322c8DeF6d0Ba183e71547216F7f",
7
+ "expiry": 1743033600,
8
+ "scalarRoot": "60811184252000000000",
9
+ "initAnchor": "1023374949000000000",
10
+ "lnFeeRateRoot": "999500333000000",
11
+ "deployTxHash": "0xf504a5cb9f208483bce1f7b273c588d28da0fc04bda883177d0d50dbea3178a8",
12
+ "deployBlockNumber": 21175966,
13
+ "reversedFee": 0.09999999999164011
14
+ }
@@ -30,7 +30,7 @@
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
33
- "pendleSwap": "0x2E6ffA05cd6920dcc0d169efce2F4C96E774eCd2",
33
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "yieldContractFactoryV3": "0xfa6B22FC4c3Ad88B68c16b3061a16b1714F6Bd57",
36
36
  "marketFactoryV3": "0x4A2B38b9cBd83c86F261a4d64c243795D4d44aBC",
@@ -30,7 +30,7 @@
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0xAdB09F65bd90d19e3148D9ccb693F3161C6DB3E8",
33
- "pendleSwap": "0x2E6ffA05cd6920dcc0d169efce2F4C96E774eCd2",
33
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "yieldContractFactoryV3": "0xEb38531db128EcA928aea1B1CE9E5609B15ba146",
36
36
  "marketFactoryV3": "0x2FCb47B58350cD377f94d3821e7373Df60bD9Ced",