@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,83 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../SYBaseUpg.sol";
5
+ import "../../../interfaces/IERC4626.sol";
6
+
7
+ contract PendleERC4626SYUpg is SYBaseUpg {
8
+ using PMath for uint256;
9
+ address public immutable asset;
10
+
11
+ constructor(address _erc4626) SYBaseUpg(_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 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 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 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 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 override returns (bool) {
73
+ return token == yieldToken || token == asset;
74
+ }
75
+
76
+ function isValidTokenOut(address token) public view override returns (bool) {
77
+ return token == yieldToken || token == asset;
78
+ }
79
+
80
+ function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
81
+ return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
82
+ }
83
+ }
@@ -0,0 +1,154 @@
1
+ // SPDX-License-Identifier: BUSL-1.1
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../../SYBaseWithRewards.sol";
5
+ import "../../../../interfaces/Silo/ISiloIncentiveController.sol";
6
+ import "../../../../interfaces/Silo/ISilo.sol";
7
+ import "../../../../interfaces/Silo/ISiloLens.sol";
8
+ import "../../../libraries/ArrayLib.sol";
9
+ import "../../../libraries/math/PMath.sol";
10
+
11
+ contract PendleSiloWithIncentiveNonBorrowableSY is SYBaseWithRewards {
12
+ using PMath for uint256;
13
+ using ArrayLib for address[];
14
+
15
+ event SetNewIncentiveController(address indexed newController);
16
+
17
+ address public immutable asset;
18
+ address public immutable collateralToken;
19
+ address public immutable silo;
20
+ address public immutable siloLens;
21
+
22
+ address public incentiveController;
23
+ address[] public additionalRewardTokens;
24
+ address public immutable defaultRewardToken;
25
+
26
+ constructor(
27
+ string memory _name,
28
+ string memory _symbol,
29
+ address _asset,
30
+ address _collateralToken,
31
+ address _silo,
32
+ address _siloLens,
33
+ address _incentiveController
34
+ ) SYBaseWithRewards(_name, _symbol, _collateralToken) {
35
+ asset = _asset;
36
+ collateralToken = _collateralToken;
37
+ silo = _silo;
38
+ siloLens = _siloLens;
39
+
40
+ incentiveController = _incentiveController;
41
+ defaultRewardToken = ISiloIncentiveController(incentiveController).REWARD_TOKEN();
42
+
43
+ _safeApproveInf(asset, silo);
44
+ }
45
+
46
+ function _deposit(
47
+ address tokenIn,
48
+ uint256 amountDeposited
49
+ ) internal virtual override returns (uint256 amountSharesOut) {
50
+ if (tokenIn == collateralToken) {
51
+ return amountDeposited;
52
+ } else {
53
+ (, amountSharesOut) = ISilo(silo).deposit(asset, amountDeposited, true);
54
+ }
55
+ }
56
+
57
+ function _redeem(
58
+ address receiver,
59
+ address tokenOut,
60
+ uint256 amountSharesToRedeem
61
+ ) internal virtual override returns (uint256 amountTokenOut) {
62
+ if (tokenOut == collateralToken) {
63
+ _transferOut(collateralToken, receiver, amountSharesToRedeem);
64
+ return amountSharesToRedeem;
65
+ } else {
66
+ // Silo withdrawing interface only accepts amount of asset as input
67
+ // Therefore we need to ensure that assetInput.toShareRoundUp() <= amountSharesToRedeem
68
+
69
+ amountTokenOut = amountSharesToRedeem;
70
+
71
+ // amountAssetToWithdraw should = withdrawnAmount as withdrawing does not
72
+ // bear any fees
73
+ ISilo(silo).withdraw(asset, amountTokenOut, true);
74
+ _transferOut(tokenOut, receiver, amountTokenOut);
75
+ }
76
+ }
77
+
78
+ /*///////////////////////////////////////////////////////////////
79
+ EXCHANGE-RATE
80
+ //////////////////////////////////////////////////////////////*/
81
+
82
+ function exchangeRate() public view virtual override returns (uint256) {
83
+ return PMath.ONE;
84
+ }
85
+
86
+ /*///////////////////////////////////////////////////////////////
87
+ REWARDS-RELATED
88
+ //////////////////////////////////////////////////////////////*/
89
+
90
+ function setIncentiveController(address newController) external onlyOwner {
91
+ // Claim all pending rewards from old contract
92
+ _redeemExternalReward();
93
+
94
+ address newRewardToken = ISiloIncentiveController(newController).REWARD_TOKEN();
95
+ if (newRewardToken != defaultRewardToken && !additionalRewardTokens.contains(newRewardToken)) {
96
+ additionalRewardTokens.push(newRewardToken);
97
+ }
98
+ incentiveController = newController;
99
+
100
+ emit SetNewIncentiveController(newController);
101
+ }
102
+
103
+ /**
104
+ * @dev See {IStandardizedYield-getRewardTokens}
105
+ */
106
+ function _getRewardTokens() internal view override returns (address[] memory) {
107
+ return additionalRewardTokens.appendHead(defaultRewardToken);
108
+ }
109
+
110
+ function _redeemExternalReward() internal override {
111
+ ISiloIncentiveController(incentiveController).claimRewardsToSelf(
112
+ ArrayLib.create(collateralToken),
113
+ type(uint256).max
114
+ );
115
+ }
116
+
117
+ /*///////////////////////////////////////////////////////////////
118
+ MISC FUNCTIONS FOR METADATA
119
+ //////////////////////////////////////////////////////////////*/
120
+
121
+ function _previewDeposit(
122
+ address tokenIn,
123
+ uint256 amountTokenToDeposit
124
+ ) internal view override returns (uint256 amountSharesOut) {
125
+ return amountTokenToDeposit;
126
+ }
127
+
128
+ function _previewRedeem(
129
+ address tokenOut,
130
+ uint256 amountSharesToRedeem
131
+ ) internal view override returns (uint256 amountTokenOut) {
132
+ return amountSharesToRedeem;
133
+ }
134
+
135
+ function getTokensIn() public view virtual override returns (address[] memory) {
136
+ return ArrayLib.create(asset, collateralToken);
137
+ }
138
+
139
+ function getTokensOut() public view virtual override returns (address[] memory) {
140
+ return ArrayLib.create(asset, collateralToken);
141
+ }
142
+
143
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
144
+ return token == asset || token == collateralToken;
145
+ }
146
+
147
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
148
+ return token == asset || token == collateralToken;
149
+ }
150
+
151
+ function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
152
+ return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
153
+ }
154
+ }
@@ -0,0 +1,103 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../../SYBaseUpg.sol";
5
+ import "./PendleSolvHelperBase.sol";
6
+ import "../../../../interfaces/IPExchangeRateOracle.sol";
7
+
8
+ contract PendleSolvBTCBBNBaseSYUpg is SYBaseUpg {
9
+ event SetNewExchangeRateOracle(address oracle);
10
+
11
+ address public constant CBBTC = PendleSolvHelperBase.CBBTC;
12
+ address public constant SOLV_BTC = PendleSolvHelperBase.SOLV_BTC_TOKEN;
13
+ address public constant SOLV_BTCBBN = PendleSolvHelperBase.SOLV_BTCBBN_TOKEN;
14
+
15
+ address public exchangeRateOracle;
16
+
17
+ constructor() SYBaseUpg(SOLV_BTCBBN) {}
18
+
19
+ function initialize(address _initialExchangeRateOracle) external initializer {
20
+ __SYBaseUpg_init("SY SolvBTC Babylon", "SY-SolvBTC.BBN");
21
+ _setExchangeRateOracle(_initialExchangeRateOracle);
22
+ _safeApproveInf(CBBTC, PendleSolvHelperBase.SOLV_BTC_ROUTER);
23
+ _safeApproveInf(SOLV_BTC, PendleSolvHelperBase.SOLV_BTCBBN_ROUTER);
24
+ }
25
+
26
+ /*///////////////////////////////////////////////////////////////
27
+ DEPOSIT/REDEEM USING BASE TOKENS
28
+ //////////////////////////////////////////////////////////////*/
29
+
30
+ function _deposit(address tokenIn, uint256 amountDeposited) internal virtual override returns (uint256) {
31
+ if (tokenIn == SOLV_BTCBBN) {
32
+ return amountDeposited;
33
+ }
34
+ return PendleSolvHelperBase._mintBTCBBN(tokenIn, amountDeposited);
35
+ }
36
+
37
+ function _redeem(
38
+ address receiver,
39
+ address /*tokenOut*/,
40
+ uint256 amountSharesToRedeem
41
+ ) internal virtual override returns (uint256) {
42
+ _transferOut(SOLV_BTCBBN, receiver, amountSharesToRedeem);
43
+ return amountSharesToRedeem;
44
+ }
45
+
46
+ /*///////////////////////////////////////////////////////////////
47
+ EXCHANGE-RATE
48
+ //////////////////////////////////////////////////////////////*/
49
+
50
+ function exchangeRate() public view virtual override returns (uint256) {
51
+ return IPExchangeRateOracle(exchangeRateOracle).getExchangeRate();
52
+ }
53
+
54
+ function setExchangeRateOracle(address newOracle) external virtual onlyOwner {
55
+ _setExchangeRateOracle(newOracle);
56
+ }
57
+
58
+ function _setExchangeRateOracle(address newOracle) internal virtual {
59
+ exchangeRateOracle = newOracle;
60
+ emit SetNewExchangeRateOracle(newOracle);
61
+ }
62
+
63
+ /*///////////////////////////////////////////////////////////////
64
+ MISC FUNCTIONS FOR METADATA
65
+ //////////////////////////////////////////////////////////////*/
66
+
67
+ function _previewDeposit(
68
+ address tokenIn,
69
+ uint256 amountTokenToDeposit
70
+ ) internal view virtual override returns (uint256 /*amountSharesOut*/) {
71
+ if (tokenIn == SOLV_BTCBBN) {
72
+ return amountTokenToDeposit;
73
+ }
74
+ return PendleSolvHelperBase._previewMintBTCBBN(tokenIn, amountTokenToDeposit);
75
+ }
76
+
77
+ function _previewRedeem(
78
+ address /*tokenOut*/,
79
+ uint256 amountSharesToRedeem
80
+ ) internal view virtual override returns (uint256 amountTokenOut) {
81
+ return amountSharesToRedeem;
82
+ }
83
+
84
+ function getTokensIn() public view virtual override returns (address[] memory) {
85
+ return ArrayLib.create(CBBTC, SOLV_BTC, SOLV_BTCBBN);
86
+ }
87
+
88
+ function getTokensOut() public view virtual override returns (address[] memory) {
89
+ return ArrayLib.create(SOLV_BTCBBN);
90
+ }
91
+
92
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
93
+ return token == CBBTC || token == SOLV_BTC || token == SOLV_BTCBBN;
94
+ }
95
+
96
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
97
+ return token == SOLV_BTCBBN;
98
+ }
99
+
100
+ function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
101
+ return (AssetType.TOKEN, CBBTC, IERC20Metadata(CBBTC).decimals());
102
+ }
103
+ }
@@ -0,0 +1,47 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../../../../interfaces/Solv/ISolvRouter.sol";
5
+ import "../../../../interfaces/Solv/ISolvOpenFundMarket.sol";
6
+ import "../../../../interfaces/Solv/ISolvOracle.sol";
7
+ import "../../../../interfaces/Solv/ISolvERC3525.sol";
8
+
9
+ library PendleSolvHelperBase {
10
+ address public constant SOLV_BTCBBN_ROUTER = 0x814F3ae67dF0da9fe2399a29516FD14b9085263a;
11
+ address public constant SOLV_BTCBBN_TOKEN = 0xC26C9099BD3789107888c35bb41178079B282561;
12
+ bytes32 public constant SOLV_BTCBBN_POOLID = 0xb20032ac848893cf4820a7b3259020ffd5057d49f537c2adc5f74a337cc56ddc;
13
+
14
+ address public constant SOLV_BTC_ROUTER = 0x65EFfDA5e69dF470d4dBd31a805e15855Cae65c7;
15
+ address public constant SOLV_BTC_TOKEN = 0x3B86Ad95859b6AB773f55f8d94B4b9d443EE931f;
16
+ bytes32 public constant SOLV_BTC_POOLID = 0x0d85d41382f6f2effeaa41a46855870ec8b1577c6c59cf16d72856a22988e3f5;
17
+
18
+ address public constant CBBTC = 0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf;
19
+
20
+ address public constant SOLV_OPEN_FUND_MARKET = 0xf5a247157656678398B08d3eFa1673358C611A3f;
21
+
22
+ function _mintBTCBBN(address tokenIn, uint256 amountIn) internal returns (uint256) {
23
+ assert(tokenIn == CBBTC || tokenIn == SOLV_BTC_TOKEN);
24
+
25
+ if (tokenIn == CBBTC) {
26
+ amountIn = ISolvRouter(SOLV_BTC_ROUTER).createSubscription(SOLV_BTC_POOLID, amountIn);
27
+ }
28
+ return ISolvRouter(SOLV_BTCBBN_ROUTER).createSubscription(SOLV_BTCBBN_POOLID, amountIn);
29
+ }
30
+
31
+ function _previewMintBTCBBN(address tokenIn, uint256 amountIn) internal view returns (uint256) {
32
+ assert(tokenIn == CBBTC || tokenIn == SOLV_BTC_TOKEN);
33
+
34
+ if (tokenIn == CBBTC) {
35
+ amountIn = _convertToShare(CBBTC, amountIn);
36
+ }
37
+ return _convertToShare(SOLV_BTC_TOKEN, amountIn);
38
+ }
39
+
40
+ function _convertToShare(address tokenIn, uint256 amountIn) internal view returns (uint256) {
41
+ bytes32 poolId = tokenIn == CBBTC ? SOLV_BTC_POOLID : SOLV_BTCBBN_POOLID;
42
+ ISolvOpenFundMarket.PoolInfo memory info = ISolvOpenFundMarket(SOLV_OPEN_FUND_MARKET).poolInfos(poolId);
43
+ uint256 numerator = 10 ** ISolvERC3525(info.poolSFTInfo.openFundShare).valueDecimals();
44
+ (uint256 price, ) = ISolvOracle(info.navOracle).getSubscribeNav(poolId, block.timestamp);
45
+ return (amountIn * numerator) / price;
46
+ }
47
+ }
@@ -0,0 +1,102 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.23;
3
+
4
+ import "../AaveV3/PendleAaveV3WithRewardsSYUpg.sol";
5
+ import "../../../../interfaces/IPExchangeRateOracle.sol";
6
+ import "../PendleERC20SYUpg.sol";
7
+ import "../../../../interfaces/EtherFi/IVedaTeller.sol";
8
+ import "../../../../interfaces/EtherFi/IVedaAccountant.sol";
9
+ import "../../../../interfaces/Zerolend/IZerolendPool.sol";
10
+ import "../../../../interfaces/Zerolend/IZerolendZ0Token.sol";
11
+ import "../../../../interfaces/IPTokenWithSupplyCap.sol";
12
+
13
+ contract PendleZerolendEBTCSYUpg is PendleAaveV3WithRewardsSYUpg {
14
+ // solhint-disable immutable-vars-naming
15
+ // solhint-disable const-name-snakecase
16
+ // solhint-disable ordering
17
+
18
+ address public constant Z0EBTC = 0x52bB650211e8a6986287306A4c09B73A9Affd5e9;
19
+ address public constant ZEROLEND_POOL = 0xCD2b31071119D7eA449a9D211AC8eBF7Ee97F987;
20
+ address public constant ZEROLEND_INCENTIVE_CONTROLLER = 0x938e23c10C501CE5D42Bc516eCFDf5AbD9C51d2b; // no reward currently, leave as address(0) for gas saving
21
+ address public constant ZERO = 0x2Da17fAf782ae884faf7dB2208BBC66b6E085C22;
22
+
23
+ address public constant eBTC = 0x657e8C867D8B37dCC18fA4Caead9C45EB088C642;
24
+ address public constant cbBTC = 0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf;
25
+ address public constant wBTC = 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599;
26
+ address public constant LBTC = 0x8236a87084f8B84306f72007F36F2618A5634494;
27
+ address public constant vedaTeller = 0x458797A320e6313c980C2bC7D270466A6288A8bB;
28
+
29
+ uint256 public constant ONE_SHARE = 10 ** 8;
30
+ uint256 public constant PREMIUM_SHARE_BPS = 10 ** 4;
31
+
32
+ address public immutable vedaAccountant;
33
+
34
+ constructor() PendleAaveV3WithRewardsSYUpg(ZEROLEND_POOL, Z0EBTC, ZEROLEND_INCENTIVE_CONTROLLER, ZERO) {
35
+ vedaAccountant = IVedaTeller(vedaTeller).accountant();
36
+ }
37
+
38
+ function approveAllForTeller() external {
39
+ _safeApproveInf(cbBTC, eBTC);
40
+ _safeApproveInf(wBTC, eBTC);
41
+ _safeApproveInf(LBTC, eBTC);
42
+ }
43
+
44
+ function _deposit(
45
+ address tokenIn,
46
+ uint256 amountDeposited
47
+ ) internal virtual override returns (uint256 /*amountSharesOut*/) {
48
+ if (tokenIn != eBTC && tokenIn != aToken) {
49
+ (tokenIn, amountDeposited) = (
50
+ eBTC,
51
+ IVedaTeller(vedaTeller).bulkDeposit(tokenIn, amountDeposited, 0, address(this))
52
+ );
53
+ }
54
+
55
+ return super._deposit(tokenIn, amountDeposited);
56
+ }
57
+
58
+ function _previewDeposit(
59
+ address tokenIn,
60
+ uint256 amountTokenToDeposit
61
+ ) internal view virtual override returns (uint256) {
62
+ if (tokenIn != eBTC && tokenIn != aToken) {
63
+ uint256 rate = IVedaAccountant(vedaAccountant).getRateInQuoteSafe(tokenIn);
64
+
65
+ uint256 amountEBTCRaw = (amountTokenToDeposit * ONE_SHARE) / rate;
66
+ IVedaTeller.Asset memory data = IVedaTeller(vedaTeller).assetData(tokenIn);
67
+
68
+ amountTokenToDeposit = (amountEBTCRaw * (PREMIUM_SHARE_BPS - data.sharePremium)) / PREMIUM_SHARE_BPS;
69
+ tokenIn = eBTC;
70
+ }
71
+ return super._previewDeposit(tokenIn, amountTokenToDeposit);
72
+ }
73
+
74
+ function isValidTokenIn(address token) public view override returns (bool) {
75
+ return token == eBTC || token == wBTC || token == cbBTC || token == LBTC || token == aToken;
76
+ }
77
+
78
+ function getTokensIn() public view override returns (address[] memory res) {
79
+ return ArrayLib.create(wBTC, cbBTC, eBTC, LBTC, aToken);
80
+ }
81
+
82
+ function assetInfo()
83
+ external
84
+ view
85
+ virtual
86
+ override
87
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
88
+ {
89
+ return (AssetType.TOKEN, eBTC, IERC20Metadata(eBTC).decimals());
90
+ }
91
+
92
+ function getAbsoluteSupplyCap() external view returns (uint256) {
93
+ uint256 data = (IZerolendPool(ZEROLEND_POOL).getConfiguration(eBTC)).data;
94
+ uint256 unscaledSupplyCap = (data &
95
+ (~uint256(0xFFFFFFFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF))) >> 116;
96
+ return unscaledSupplyCap * (10 ** IERC20Metadata(eBTC).decimals());
97
+ }
98
+
99
+ function getAbsoluteTotalSupply() external view returns (uint256) {
100
+ return IZerolendZ0Token(Z0EBTC).scaledTotalSupply();
101
+ }
102
+ }
@@ -0,0 +1,32 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.23;
3
+
4
+ import "../AaveV3/PendleAaveV3WithRewardsSYUpg.sol";
5
+ import "../../../../interfaces/IPExchangeRateOracle.sol";
6
+
7
+ contract PendleZerolendLBTCSYUpg is PendleAaveV3WithRewardsSYUpg {
8
+ address public constant Z0LBTC = 0xcABB8fa209CcdF98a7A0DC30b1979fC855Cb3Eb3;
9
+ address public constant ZEROLEND_POOL = 0xCD2b31071119D7eA449a9D211AC8eBF7Ee97F987;
10
+ address public constant ZEROLEND_INCENTIVE_CONTROLLER = address(0); // no reward currently, leave as address(0) for gas saving
11
+ address public constant ZERO = 0x2Da17fAf782ae884faf7dB2208BBC66b6E085C22;
12
+
13
+ address public constant LBTC_ORACLE = 0x1F0318B5Ab2c4084692986A2C25916Cec1195cD9;
14
+
15
+ address public constant WBTC = 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599;
16
+
17
+ constructor() PendleAaveV3WithRewardsSYUpg(ZEROLEND_POOL, Z0LBTC, ZEROLEND_INCENTIVE_CONTROLLER, ZERO) {}
18
+
19
+ function exchangeRate() public view virtual override returns (uint256) {
20
+ return PMath.mulDown(super.exchangeRate(), IPExchangeRateOracle(LBTC_ORACLE).getExchangeRate());
21
+ }
22
+
23
+ function assetInfo()
24
+ external
25
+ view
26
+ virtual
27
+ override
28
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
29
+ {
30
+ return (AssetType.TOKEN, WBTC, IERC20Metadata(WBTC).decimals());
31
+ }
32
+ }
@@ -0,0 +1,17 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity ^0.8.0;
4
+
5
+ interface IAaveStkGHO {
6
+ function stake(address to, uint256 amount) external;
7
+
8
+ function redeem(address to, uint256 amount) external;
9
+
10
+ function claimRewards(address to, uint256 amount) external;
11
+
12
+ function getExchangeRate() external view returns (uint216);
13
+
14
+ function previewStake(uint256 assets) external view returns (uint256);
15
+
16
+ function previewRedeem(uint256 shares) external view returns (uint256);
17
+ }
@@ -0,0 +1,12 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity ^0.8.0;
4
+
5
+ interface IAngleDistributor {
6
+ function claim(
7
+ address[] calldata users,
8
+ address[] calldata tokens,
9
+ uint256[] calldata amounts,
10
+ bytes32[][] calldata proofs
11
+ ) external;
12
+ }
@@ -40,4 +40,6 @@ interface IERC4626 is IERC20Metadata {
40
40
  function previewRedeem(uint256 shares) external view returns (uint256);
41
41
 
42
42
  function totalAssets() external view returns (uint256);
43
+
44
+ function maxMint(address) external view returns (uint256);
43
45
  }
@@ -29,7 +29,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
29
29
  uint256 netPtIn,
30
30
  uint256 minLpOut,
31
31
  ApproxParams calldata guessPtSwapToSy,
32
- LimitOrderData calldata limit
32
+ LimitOrderData memory limit
33
33
  ) external returns (uint256 netLpOut, uint256 netSyFee);
34
34
 
35
35
  function addLiquiditySingleToken(
@@ -38,7 +38,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
38
38
  uint256 minLpOut,
39
39
  ApproxParams calldata guessPtReceivedFromSy,
40
40
  TokenInput calldata input,
41
- LimitOrderData calldata limit
41
+ LimitOrderData memory limit
42
42
  ) external payable returns (uint256 netLpOut, uint256 netSyFee, uint256 netSyInterm);
43
43
 
44
44
  function addLiquiditySingleSy(
@@ -47,7 +47,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
47
47
  uint256 netSyIn,
48
48
  uint256 minLpOut,
49
49
  ApproxParams calldata guessPtReceivedFromSy,
50
- LimitOrderData calldata limit
50
+ LimitOrderData memory limit
51
51
  ) external returns (uint256 netLpOut, uint256 netSyFee);
52
52
 
53
53
  function addLiquiditySingleTokenKeepYt(
@@ -88,7 +88,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
88
88
  uint256 netLpToRemove,
89
89
  uint256 minPtOut,
90
90
  ApproxParams calldata guessPtReceivedFromSy,
91
- LimitOrderData calldata limit
91
+ LimitOrderData memory limit
92
92
  ) external returns (uint256 netPtOut, uint256 netSyFee);
93
93
 
94
94
  function removeLiquiditySingleToken(
@@ -96,7 +96,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
96
96
  address market,
97
97
  uint256 netLpToRemove,
98
98
  TokenOutput calldata output,
99
- LimitOrderData calldata limit
99
+ LimitOrderData memory limit
100
100
  ) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm);
101
101
 
102
102
  function removeLiquiditySingleSy(
@@ -104,6 +104,6 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
104
104
  address market,
105
105
  uint256 netLpToRemove,
106
106
  uint256 minSyOut,
107
- LimitOrderData calldata limit
107
+ LimitOrderData memory limit
108
108
  ) external returns (uint256 netSyOut, uint256 netSyFee);
109
109
  }
@@ -1,6 +1,8 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.0;
3
3
 
4
+ import "./IPMarket.sol";
5
+
4
6
  interface IPActionMarketCoreStatic {
5
7
  function addLiquidityDualSyAndPtStatic(
6
8
  address market,
@@ -288,4 +290,6 @@ interface IPActionMarketCoreStatic {
288
290
  address market,
289
291
  uint256 exactSyOut
290
292
  ) external view returns (uint256 netYtIn, uint256 netSyFee, uint256 priceImpact, uint256 exchangeRateAfter);
293
+
294
+ function readMarketState(address market) external view returns (MarketState memory);
291
295
  }
@@ -82,12 +82,6 @@ interface IPActionMiscV3 is IPAllEventsV3 {
82
82
  uint256[] calldata netSwaps
83
83
  ) external payable returns (uint256[] memory netOutFromSwaps);
84
84
 
85
- function swapTokenToToken(
86
- address receiver,
87
- uint256 minTokenOut,
88
- TokenInput calldata inp
89
- ) external payable returns (uint256 netTokenOut);
90
-
91
85
  function swapTokenToTokenViaSy(
92
86
  address receiver,
93
87
  address SY,
@@ -103,7 +97,7 @@ interface IPActionMiscV3 is IPAllEventsV3 {
103
97
  uint256 netYtIn,
104
98
  uint256 netLpIn,
105
99
  TokenOutput calldata output,
106
- LimitOrderData calldata limit
100
+ LimitOrderData memory limit
107
101
  ) external returns (uint256 netTokenOut, ExitPreExpReturnParams memory params);
108
102
 
109
103
  function exitPreExpToSy(
@@ -113,7 +107,7 @@ interface IPActionMiscV3 is IPAllEventsV3 {
113
107
  uint256 netYtIn,
114
108
  uint256 netLpIn,
115
109
  uint256 minSyOut,
116
- LimitOrderData calldata limit
110
+ LimitOrderData memory limit
117
111
  ) external returns (ExitPreExpReturnParams memory params);
118
112
 
119
113
  function exitPostExpToToken(