@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
@@ -5,40 +5,46 @@ library LayerZeroHelper {
5
5
  uint256 constant EVM_ADDRESS_SIZE = 20;
6
6
 
7
7
  function _getLayerZeroChainIds(uint256 chainId) internal pure returns (uint16) {
8
- if (chainId == 43113) return 10106;
9
8
  // fuji testnet
10
- else if (chainId == 80001) return 10109;
9
+ if (chainId == 43113) return 10106;
11
10
  // mumbai testnet
12
- else if (chainId == 43114) return 106;
11
+ else if (chainId == 80001) return 10109;
13
12
  // avax mainnet
14
- else if (chainId == 42161) return 110;
13
+ else if (chainId == 43114) return 106;
15
14
  // arbitrum one
16
- else if (chainId == 56) return 102;
15
+ else if (chainId == 42161) return 110;
17
16
  // binance smart chain
17
+ else if (chainId == 56) return 102;
18
+ // mainnet
18
19
  else if (chainId == 1) return 101;
19
20
  // mantle
20
21
  else if (chainId == 5000) return 181;
21
22
  // optimism
22
23
  else if (chainId == 10) return 111;
24
+ // base
25
+ else if (chainId == 8453) return 184;
23
26
  assert(false);
24
27
  }
25
28
 
26
29
  function _getOriginalChainIds(uint16 chainId) internal pure returns (uint256) {
27
- if (chainId == 10106) return 43113;
28
30
  // fuji testnet
29
- else if (chainId == 10109) return 80001;
31
+ if (chainId == 10106) return 43113;
30
32
  // mumbai testnet
31
- else if (chainId == 106) return 43114;
33
+ else if (chainId == 10109) return 80001;
32
34
  // avax mainnet
33
- else if (chainId == 110) return 42161;
35
+ else if (chainId == 106) return 43114;
34
36
  // arbitrum one
35
- else if (chainId == 102) return 56;
37
+ else if (chainId == 110) return 42161;
36
38
  // binance smart chain
39
+ else if (chainId == 102) return 56;
40
+ // mainnet
37
41
  else if (chainId == 101) return 1;
38
42
  // mantle
39
43
  else if (chainId == 181) return 5000;
40
44
  // optimism
41
45
  else if (chainId == 111) return 10;
46
+ // base
47
+ else if (chainId == 184) return 8453;
42
48
  assert(false);
43
49
  }
44
50
 
@@ -150,8 +150,13 @@ contract PendleVotingControllerUpg is PendleMsgSenderAppUpg, VotingControllerSto
150
150
  GOVERNANCE-ONLY FUNCTIONS
151
151
  //////////////////////////////////////////////////////////////*/
152
152
 
153
- modifier onlyHelperAndOwner() {
154
- require(msg.sender == ownerHelper || msg.sender == owner, "not allowed");
153
+ modifier onlyAddPoolHelperAndOwner() {
154
+ require(msg.sender == addPoolHelper || msg.sender == owner, "add pool not allowed");
155
+ _;
156
+ }
157
+
158
+ modifier onlyRemovePoolHelperAndOwner() {
159
+ require(msg.sender == removePoolHelper || msg.sender == owner, "remove pool not allowed");
155
160
  _;
156
161
  }
157
162
 
@@ -162,7 +167,7 @@ contract PendleVotingControllerUpg is PendleMsgSenderAppUpg, VotingControllerSto
162
167
  * - `pool` must not have been added before (even if has been removed).
163
168
  * - `chainId` must be valid.
164
169
  */
165
- function addPool(uint64 chainId, address pool) external onlyHelperAndOwner {
170
+ function addPool(uint64 chainId, address pool) external onlyAddPoolHelperAndOwner {
166
171
  if (_isPoolActive(pool)) revert Errors.VCPoolAlreadyActive(pool);
167
172
  if (allRemovedPools.contains(pool)) revert Errors.VCPoolAlreadyAddAndRemoved(pool);
168
173
 
@@ -170,13 +175,25 @@ contract PendleVotingControllerUpg is PendleMsgSenderAppUpg, VotingControllerSto
170
175
  emit AddPool(chainId, pool);
171
176
  }
172
177
 
178
+ function addMultiPools(uint64[] memory chainIds, address[] memory pools) external onlyAddPoolHelperAndOwner {
179
+ if (chainIds.length != pools.length) revert Errors.ArrayLengthMismatch();
180
+ for (uint256 i = 0; i < chainIds.length; ++i) {
181
+ (uint64 chainId, address pool) = (chainIds[i], pools[i]);
182
+ if (_isPoolActive(pool)) revert Errors.VCPoolAlreadyActive(pool);
183
+ if (allRemovedPools.contains(pool)) revert Errors.VCPoolAlreadyAddAndRemoved(pool);
184
+
185
+ _addPool(chainId, pool);
186
+ emit AddPool(chainId, pool);
187
+ }
188
+ }
189
+
173
190
  /**
174
191
  * @notice remove a pool from voting. Can only be done by governance
175
192
  * @custom:gov NOTE TO GOV:
176
193
  * - Previous week's results should have been broadcasted prior to calling this function.
177
194
  * - `pool` must be currently active.
178
195
  */
179
- function removePool(address pool) external onlyOwner {
196
+ function removePool(address pool) external onlyRemovePoolHelperAndOwner {
180
197
  if (!_isPoolActive(pool)) revert Errors.VCInactivePool(pool);
181
198
 
182
199
  uint64 chainId = poolData[pool].chainId;
@@ -263,8 +280,12 @@ contract PendleVotingControllerUpg is PendleMsgSenderAppUpg, VotingControllerSto
263
280
  }
264
281
  }
265
282
 
266
- function setOwnerHelper(address _helper) public onlyOwner {
267
- ownerHelper = _helper;
283
+ function setAddPoolHelper(address _helper) public onlyOwner {
284
+ addPoolHelper = _helper;
285
+ }
286
+
287
+ function setRemovePoolHelper(address _helper) public onlyOwner {
288
+ removePoolHelper = _helper;
268
289
  }
269
290
 
270
291
  //solhint-disable-next-line
@@ -73,9 +73,10 @@ abstract contract VotingControllerStorageUpg is IPVotingController {
73
73
  // [user][pool] => checkpoint
74
74
  mapping(address => mapping(address => Checkpoints.History)) internal __dep_userPoolHistory;
75
75
 
76
- address public ownerHelper;
76
+ address public addPoolHelper;
77
+ address public removePoolHelper;
77
78
 
78
- uint256[99] private __gap;
79
+ uint256[98] private __gap;
79
80
 
80
81
  constructor(address _vePendle) {
81
82
  vePendle = IPVeToken(_vePendle);
@@ -12,7 +12,13 @@ import "../libraries/Errors.sol";
12
12
  import "../libraries/BoringOwnableUpgradeable.sol";
13
13
  import "@openzeppelin/contracts/security/Pausable.sol";
14
14
 
15
- abstract contract SYBaseUpg is IStandardizedYield, PendleERC20Upg, TokenHelper, BoringOwnableUpgradeable, Pausable {
15
+ abstract contract SYBaseWithoutPermitUpg is
16
+ IStandardizedYield,
17
+ PendleERC20Upg,
18
+ TokenHelper,
19
+ BoringOwnableUpgradeable,
20
+ Pausable
21
+ {
16
22
  using PMath for uint256;
17
23
 
18
24
  address public immutable yieldToken;
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.23;
3
3
 
4
- import "../../SYBaseWithRewards.sol";
4
+ import "../../SYBaseWithRewardsUpg.sol";
5
5
  import "./libraries/AaveAdapterLib.sol";
6
6
  import "../../../../interfaces/AaveV3/IAaveV3AToken.sol";
7
7
  import "../../../../interfaces/AaveV3/IAaveV3Pool.sol";
@@ -11,7 +11,7 @@ import "../../../../interfaces/AaveV3/IAaveV3IncentiveController.sol";
11
11
 
12
12
  // [NEW] @NOTE: As for the getRewardTokens function, it will check for different incentive controller
13
13
  // so this implementation should only be used in L2s. L1 would require more gas optimization
14
- contract PendleAaveV3WithRewardsSY is SYBaseWithRewards {
14
+ contract PendleAaveV3WithRewardsSYUpg is SYBaseWithRewardsUpg {
15
15
  using PMath for uint256;
16
16
 
17
17
  event NewIncentiveController(address incentiveController);
@@ -22,25 +22,27 @@ contract PendleAaveV3WithRewardsSY is SYBaseWithRewards {
22
22
  address public immutable aToken;
23
23
  address public immutable aavePool;
24
24
  address public immutable underlying;
25
+ address public immutable incentiveController;
26
+ address public immutable defaultRewardToken;
25
27
 
26
- address public incentiveController;
27
- address[] public rewardTokens;
28
+ uint256[100] private __gap;
28
29
 
29
30
  constructor(
30
- string memory _name,
31
- string memory _symbol,
32
31
  address _aavePool,
33
32
  address _aToken,
34
- address _incentiveController
35
- ) SYBaseWithRewards(_name, _symbol, _aToken) {
33
+ address _initialIncentiveController,
34
+ address _defaultRewardToken
35
+ ) SYBaseUpg(_aToken) {
36
36
  aToken = _aToken;
37
37
  aavePool = _aavePool;
38
38
  underlying = IAaveV3AToken(aToken).UNDERLYING_ASSET_ADDRESS();
39
+ incentiveController = _initialIncentiveController;
40
+ defaultRewardToken = _defaultRewardToken;
41
+ }
39
42
 
40
- if (_incentiveController != address(0)) {
41
- _updateIncentiveController(_incentiveController);
42
- }
43
- _safeApproveInf(underlying, _aavePool);
43
+ function initialize(string memory _name, string memory _symbol) external initializer {
44
+ __SYBaseUpg_init(_name, _symbol);
45
+ _safeApproveInf(underlying, aavePool);
44
46
  }
45
47
 
46
48
  function _deposit(
@@ -73,14 +75,14 @@ contract PendleAaveV3WithRewardsSY is SYBaseWithRewards {
73
75
  function _previewDeposit(
74
76
  address,
75
77
  uint256 amountTokenToDeposit
76
- ) internal view override returns (uint256 /*amountSharesOut*/) {
78
+ ) internal view virtual override returns (uint256 /*amountSharesOut*/) {
77
79
  return AaveAdapterLib.calcSharesFromAssetUp(amountTokenToDeposit, _getNormalizedIncome());
78
80
  }
79
81
 
80
82
  function _previewRedeem(
81
83
  address,
82
84
  uint256 amountSharesToRedeem
83
- ) internal view override returns (uint256 /*amountTokenOut*/) {
85
+ ) internal view virtual override returns (uint256 /*amountTokenOut*/) {
84
86
  return AaveAdapterLib.calcSharesToAssetDown(amountSharesToRedeem, _getNormalizedIncome());
85
87
  }
86
88
 
@@ -88,23 +90,28 @@ contract PendleAaveV3WithRewardsSY is SYBaseWithRewards {
88
90
  return IAaveV3Pool(aavePool).getReserveNormalizedIncome(underlying);
89
91
  }
90
92
 
91
- function getTokensIn() public view override returns (address[] memory res) {
93
+ function getTokensIn() public view virtual override returns (address[] memory res) {
92
94
  return ArrayLib.create(underlying, aToken);
93
95
  }
94
96
 
95
- function getTokensOut() public view override returns (address[] memory res) {
97
+ function getTokensOut() public view virtual override returns (address[] memory res) {
96
98
  return ArrayLib.create(underlying, aToken);
97
99
  }
98
100
 
99
- function isValidTokenIn(address token) public view override returns (bool) {
101
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
100
102
  return token == aToken || token == underlying;
101
103
  }
102
104
 
103
- function isValidTokenOut(address token) public view override returns (bool) {
105
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
104
106
  return token == aToken || token == underlying;
105
107
  }
106
108
 
107
- function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
109
+ function assetInfo()
110
+ external
111
+ view
112
+ virtual
113
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
114
+ {
108
115
  return (AssetType.TOKEN, underlying, IERC20Metadata(underlying).decimals());
109
116
  }
110
117
 
@@ -112,19 +119,11 @@ contract PendleAaveV3WithRewardsSY is SYBaseWithRewards {
112
119
  REWARDS-RELATED
113
120
  //////////////////////////////////////////////////////////////*/
114
121
 
115
- function updateIncentiveController(address _incentiveController) external onlyOwner {
116
- _updateIncentiveController(_incentiveController);
117
- }
118
-
119
- function updateRewardTokenList() external onlyOwner {
120
- _updateRewardTokenList();
121
- }
122
-
123
122
  /**
124
123
  * @dev See {IStandardizedYield-getRewardTokens}
125
124
  */
126
125
  function _getRewardTokens() internal view override returns (address[] memory res) {
127
- return rewardTokens;
126
+ return ArrayLib.create(defaultRewardToken);
128
127
  }
129
128
 
130
129
  function _redeemExternalReward() internal override {
@@ -132,21 +131,4 @@ contract PendleAaveV3WithRewardsSY is SYBaseWithRewards {
132
131
  IAaveV3IncentiveController(incentiveController).claimAllRewardsToSelf(ArrayLib.create(aToken));
133
132
  }
134
133
  }
135
-
136
- function _updateIncentiveController(address _incentiveController) internal {
137
- if (_incentiveController == incentiveController) {
138
- revert SameIncentiveController();
139
- }
140
- _redeemExternalReward();
141
-
142
- incentiveController = _incentiveController;
143
- if (_incentiveController != address(0)) {
144
- _updateRewardTokenList();
145
- }
146
- emit NewIncentiveController(_incentiveController);
147
- }
148
-
149
- function _updateRewardTokenList() internal {
150
- rewardTokens = ArrayLib.merge(rewardTokens, IAaveV3IncentiveController(incentiveController).getRewardsList());
151
- }
152
134
  }
@@ -0,0 +1,130 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../../SYBaseWithRewardsUpg.sol";
5
+ import "../../../../interfaces/AaveV3/IAaveStkGHO.sol";
6
+ import "../../../../interfaces/Angle/IAngleDistributor.sol";
7
+
8
+ contract PendleStkGHOSY is SYBaseWithRewardsUpg {
9
+ using PMath for uint256;
10
+
11
+ event ClaimedOffchainGHO(uint256 amountClaimed);
12
+
13
+ address public constant ANGLE_DISTRIBUTOR = 0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae;
14
+ address public constant STKGHO = 0x1a88Df1cFe15Af22B3c4c783D4e6F7F9e0C1885d;
15
+ address public constant GHO = 0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f;
16
+ address public constant AAVE = 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9;
17
+ bytes32 public constant ZERO_REWARD_ERROR = 0x33d2eb294587ef7b32eb48e48695ebfec45a9c8922ec7d1c444cfad1fb208e8d;
18
+
19
+ constructor() SYBaseUpg(STKGHO) {}
20
+
21
+ function initialize() external initializer {
22
+ __SYBaseUpg_init("SY stk GHO", "SY-stkGHO");
23
+ _safeApproveInf(GHO, STKGHO);
24
+ }
25
+
26
+ function _deposit(address tokenIn, uint256 amountDeposited) internal virtual override returns (uint256) {
27
+ if (tokenIn == STKGHO) {
28
+ return amountDeposited;
29
+ }
30
+
31
+ uint256 preBalance = _selfBalance(STKGHO);
32
+ IAaveStkGHO(STKGHO).stake(address(this), amountDeposited);
33
+ return _selfBalance(STKGHO) - preBalance;
34
+ }
35
+
36
+ function _redeem(
37
+ address receiver,
38
+ address /*tokenOut*/,
39
+ uint256 amountSharesToRedeem
40
+ ) internal virtual override returns (uint256) {
41
+ _transferOut(STKGHO, receiver, amountSharesToRedeem);
42
+ return amountSharesToRedeem;
43
+ }
44
+
45
+ /*///////////////////////////////////////////////////////////////
46
+ EXCHANGE-RATE
47
+ //////////////////////////////////////////////////////////////*/
48
+
49
+ function exchangeRate() public view virtual override returns (uint256) {
50
+ return PMath.ONE.divDown(IAaveStkGHO(STKGHO).getExchangeRate());
51
+ }
52
+
53
+ /*///////////////////////////////////////////////////////////////
54
+ REWARDS-RELATED
55
+ //////////////////////////////////////////////////////////////*/
56
+
57
+ /**
58
+ * @dev See {IStandardizedYield-getRewardTokens}
59
+ */
60
+ function _getRewardTokens() internal pure override returns (address[] memory) {
61
+ return ArrayLib.create(AAVE);
62
+ }
63
+
64
+ function _redeemExternalReward() internal override {
65
+ try IAaveStkGHO(STKGHO).claimRewards(address(this), type(uint256).max) {} catch Error(
66
+ string memory errorString
67
+ ) {
68
+ // StkGHO claim reverts when claimable amount = 0, meaning two sy transfers in diff block/same timestamp would revert.
69
+ // This is expected to not happen at all on ETH mainnet but just to be sure.
70
+ if (keccak256(abi.encodePacked(errorString)) != ZERO_REWARD_ERROR) {
71
+ revert(errorString);
72
+ }
73
+ }
74
+ }
75
+
76
+ function claimOffchainGHORewards(
77
+ address[] calldata users,
78
+ address[] calldata tokens,
79
+ uint256[] calldata amounts,
80
+ bytes32[][] calldata proofs
81
+ ) external onlyOwner {
82
+ uint256 preBalance = _selfBalance(GHO);
83
+ IAngleDistributor(ANGLE_DISTRIBUTOR).claim(users, tokens, amounts, proofs);
84
+ uint256 amountClaimed = _selfBalance(GHO) - preBalance;
85
+
86
+ if (amountClaimed > 0) {
87
+ _transferOut(GHO, msg.sender, amountClaimed);
88
+ emit ClaimedOffchainGHO(amountClaimed);
89
+ }
90
+ }
91
+
92
+ /*///////////////////////////////////////////////////////////////
93
+ MISC FUNCTIONS FOR METADATA
94
+ //////////////////////////////////////////////////////////////*/
95
+
96
+ function _previewDeposit(
97
+ address tokenIn,
98
+ uint256 amountTokenToDeposit
99
+ ) internal view override returns (uint256 amountSharesOut) {
100
+ if (tokenIn == STKGHO) return amountTokenToDeposit;
101
+ return IAaveStkGHO(STKGHO).previewStake(amountTokenToDeposit);
102
+ }
103
+
104
+ function _previewRedeem(
105
+ address /*tokenOut*/,
106
+ uint256 amountSharesToRedeem
107
+ ) internal view override returns (uint256 amountTokenOut) {
108
+ return amountSharesToRedeem;
109
+ }
110
+
111
+ function getTokensIn() public view virtual override returns (address[] memory) {
112
+ return ArrayLib.create(GHO, STKGHO);
113
+ }
114
+
115
+ function getTokensOut() public view virtual override returns (address[] memory) {
116
+ return ArrayLib.create(STKGHO);
117
+ }
118
+
119
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
120
+ return token == GHO || token == STKGHO;
121
+ }
122
+
123
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
124
+ return token == STKGHO;
125
+ }
126
+
127
+ function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
128
+ return (AssetType.TOKEN, GHO, IERC20Metadata(GHO).decimals());
129
+ }
130
+ }
@@ -15,7 +15,7 @@ contract PendleGlpSY is SYBaseWithRewardsUpg, GLPPreviewHelper {
15
15
  address public immutable stakedGlp;
16
16
  address public immutable rewardRouter;
17
17
  address public immutable glpRouter;
18
- address public immutable glpManager;
18
+ address public immutable glpManager = 0x3963FfC9dff443c2A94f21b129D429891E32ec18;
19
19
  address public immutable weth;
20
20
 
21
21
  constructor(
@@ -31,7 +31,6 @@ contract PendleGlpSY is SYBaseWithRewardsUpg, GLPPreviewHelper {
31
31
  stakedGlp = _stakedGlp;
32
32
  rewardRouter = _rewardRouter;
33
33
  glpRouter = _glpRouter;
34
- glpManager = IRewardRouterV2(glpRouter).glpManager();
35
34
  weth = IRewardRouterV2(glpRouter).weth();
36
35
  }
37
36
 
@@ -0,0 +1,82 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../../SYBase.sol";
5
+ import "../../../../interfaces/IPExchangeRateOracle.sol";
6
+
7
+ contract PendleCMETHSY is SYBase {
8
+ using PMath for int256;
9
+
10
+ address public exchangeRateOracle = 0x1E2Ad9764cfAc60876486A7c714bc71f5b55f5C2;
11
+ address public constant CMETH = 0xE6829d9a7eE3040e1276Fa75293Bde931859e8fA;
12
+ address public constant WETH = 0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111;
13
+
14
+ constructor() SYBase("SY cmETH", "SY-cmETH", CMETH) {}
15
+
16
+ function setExchangeRateOracle(address newOracle) external onlyOwner {
17
+ exchangeRateOracle = newOracle;
18
+ }
19
+
20
+ /*///////////////////////////////////////////////////////////////
21
+ DEPOSIT/REDEEM USING BASE TOKENS
22
+ //////////////////////////////////////////////////////////////*/
23
+
24
+ function _deposit(address, uint256 amountDeposited) internal pure override returns (uint256 /*amountSharesOut*/) {
25
+ return amountDeposited;
26
+ }
27
+
28
+ function _redeem(
29
+ address receiver,
30
+ address tokenOut,
31
+ uint256 amountSharesToRedeem
32
+ ) internal override returns (uint256 /*amountTokenOut*/) {
33
+ _transferOut(tokenOut, receiver, amountSharesToRedeem);
34
+ return amountSharesToRedeem;
35
+ }
36
+
37
+ /*///////////////////////////////////////////////////////////////
38
+ EXCHANGE-RATE
39
+ //////////////////////////////////////////////////////////////*/
40
+
41
+ function exchangeRate() public view override returns (uint256) {
42
+ return IPExchangeRateOracle(exchangeRateOracle).getExchangeRate();
43
+ }
44
+
45
+ /*///////////////////////////////////////////////////////////////
46
+ MISC FUNCTIONS FOR METADATA
47
+ //////////////////////////////////////////////////////////////*/
48
+
49
+ function _previewDeposit(
50
+ address,
51
+ uint256 amountTokenToDeposit
52
+ ) internal pure override returns (uint256 /*amountSharesOut*/) {
53
+ return amountTokenToDeposit;
54
+ }
55
+
56
+ function _previewRedeem(
57
+ address,
58
+ uint256 amountSharesToRedeem
59
+ ) internal pure override returns (uint256 /*amountTokenOut*/) {
60
+ return amountSharesToRedeem;
61
+ }
62
+
63
+ function getTokensIn() public view override returns (address[] memory res) {
64
+ return ArrayLib.create(yieldToken);
65
+ }
66
+
67
+ function getTokensOut() public view override returns (address[] memory res) {
68
+ return ArrayLib.create(yieldToken);
69
+ }
70
+
71
+ function isValidTokenIn(address token) public view override returns (bool) {
72
+ return token == yieldToken;
73
+ }
74
+
75
+ function isValidTokenOut(address token) public view override returns (bool) {
76
+ return token == yieldToken;
77
+ }
78
+
79
+ function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
80
+ return (AssetType.TOKEN, WETH, 18);
81
+ }
82
+ }
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../PendleERC4626SYV2.sol";
5
+ import "../../../../interfaces/IPTokenWithSupplyCap.sol";
6
+
7
+ contract PendleMorphoMetaVaultSY is PendleERC4626SYV2, IPTokenWithSupplyCap {
8
+ constructor(
9
+ string memory _name,
10
+ string memory _symbol,
11
+ address _erc4626
12
+ ) PendleERC4626SYV2(_name, _symbol, _erc4626) {}
13
+
14
+ function getAbsoluteSupplyCap() external view returns (uint256) {
15
+ return IERC4626(yieldToken).totalSupply() + IERC4626(yieldToken).maxMint(address(this));
16
+ }
17
+
18
+ function getAbsoluteTotalSupply() external view returns (uint256) {
19
+ return IERC4626(yieldToken).totalSupply();
20
+ }
21
+ }
@@ -42,7 +42,6 @@ contract PendleERC4626SY is SYBase {
42
42
  uint256 totalSupply = IERC4626(yieldToken).totalSupply();
43
43
  return totalAssets.divDown(totalSupply);
44
44
  }
45
-
46
45
  function _previewDeposit(
47
46
  address tokenIn,
48
47
  uint256 amountTokenToDeposit
@@ -0,0 +1,88 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../SYBase.sol";
5
+ import "../../../interfaces/IERC4626.sol";
6
+
7
+ contract PendleERC4626SYV2 is SYBase {
8
+ using PMath for uint256;
9
+ address public immutable asset;
10
+
11
+ constructor(string memory _name, string memory _symbol, address _erc4626) SYBase(_name, _symbol, _erc4626) {
12
+ asset = IERC4626(_erc4626).asset();
13
+ _safeApproveInf(asset, _erc4626);
14
+ }
15
+
16
+ function _deposit(
17
+ address tokenIn,
18
+ uint256 amountDeposited
19
+ ) internal virtual override returns (uint256 /*amountSharesOut*/) {
20
+ if (tokenIn == yieldToken) {
21
+ return amountDeposited;
22
+ } else {
23
+ return IERC4626(yieldToken).deposit(amountDeposited, address(this));
24
+ }
25
+ }
26
+
27
+ function _redeem(
28
+ address receiver,
29
+ address tokenOut,
30
+ uint256 amountSharesToRedeem
31
+ ) internal virtual override returns (uint256 amountTokenOut) {
32
+ if (tokenOut == yieldToken) {
33
+ amountTokenOut = amountSharesToRedeem;
34
+ _transferOut(yieldToken, receiver, amountTokenOut);
35
+ } else {
36
+ amountTokenOut = IERC4626(yieldToken).redeem(amountSharesToRedeem, receiver, address(this));
37
+ }
38
+ }
39
+
40
+ function exchangeRate() public view virtual override returns (uint256) {
41
+ return IERC4626(yieldToken).convertToAssets(PMath.ONE);
42
+ }
43
+
44
+ function _previewDeposit(
45
+ address tokenIn,
46
+ uint256 amountTokenToDeposit
47
+ ) internal view virtual override returns (uint256 /*amountSharesOut*/) {
48
+ if (tokenIn == yieldToken) return amountTokenToDeposit;
49
+ else return IERC4626(yieldToken).previewDeposit(amountTokenToDeposit);
50
+ }
51
+
52
+ function _previewRedeem(
53
+ address tokenOut,
54
+ uint256 amountSharesToRedeem
55
+ ) internal view override returns (uint256 /*amountTokenOut*/) {
56
+ if (tokenOut == yieldToken) return amountSharesToRedeem;
57
+ else return IERC4626(yieldToken).previewRedeem(amountSharesToRedeem);
58
+ }
59
+
60
+ function getTokensIn() public view virtual override returns (address[] memory res) {
61
+ res = new address[](2);
62
+ res[0] = asset;
63
+ res[1] = yieldToken;
64
+ }
65
+
66
+ function getTokensOut() public view virtual override returns (address[] memory res) {
67
+ res = new address[](2);
68
+ res[0] = asset;
69
+ res[1] = yieldToken;
70
+ }
71
+
72
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
73
+ return token == yieldToken || token == asset;
74
+ }
75
+
76
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
77
+ return token == yieldToken || token == asset;
78
+ }
79
+
80
+ function assetInfo()
81
+ external
82
+ view
83
+ virtual
84
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
85
+ {
86
+ return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
87
+ }
88
+ }