@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.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +67 -23
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +19 -6
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseWithoutPermitUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/{SYBaseUpg.json → SYBaseWithoutPermitUpg.json} +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSYUpg.sol/PendleAaveV3WithRewardsSYUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSYUpg.sol/PendleAaveV3WithRewardsSYUpg.json +1169 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol/PendleStkGHOSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol/PendleStkGHOSY.json +1160 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol/PendleSENASY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSENASY.sol/PendleSENASY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleAgETHSY.sol/PendleAgETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleAgETHSY.sol/PendleAgETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol/PendleCMETHSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol/PendleCMETHSY.json +1049 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol/PendleMorphoMetaVaultSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol/PendleMorphoMetaVaultSY.json +1052 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626NotRedeemableToAssetSY.sol/PendleERC4626NotRedeemableToAssetSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol/PendleERC4626SYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol/PendleERC4626SYV2.json +1026 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol/PendleERC4626SYUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol/PendleERC4626SYUpg.json +1000 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol/PendleSiloWithIncentiveNonBorrowableSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol/PendleSiloWithIncentiveNonBorrowableSY.json +1222 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Sky/PendleSUSDSSY.sol/PendleSUSDSSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBaseSYUpg.sol/PendleSolvBTCBBNBaseSYUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBaseSYUpg.sol/PendleSolvBTCBBNBaseSYUpg.json +1072 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBase.sol/PendleSolvHelperBase.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBase.sol/PendleSolvHelperBase.json +115 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Syrup/PendleSyrupSY.sol/PendleSyrupSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.json +1337 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol/PendleZerolendLBTCSYUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol/PendleZerolendLBTCSYUpg.json +1226 -0
- package/build/artifacts/contracts/interfaces/AaveV3/IAaveStkGHO.sol/IAaveStkGHO.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/AaveV3/IAaveStkGHO.sol/IAaveStkGHO.json +116 -0
- package/build/artifacts/contracts/interfaces/Angle/IAngleDistributor.sol/IAngleDistributor.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Angle/IAngleDistributor.sol/IAngleDistributor.json +39 -0
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +196 -0
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +66 -0
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +196 -78
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +196 -0
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +196 -0
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +196 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.json +2638 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +196 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +196 -0
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +1220 -48
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.json +207 -0
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +196 -0
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +262 -0
- package/build/artifacts/contracts/interfaces/Zerolend/IZerolendPool.sol/IZerolendPool.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Zerolend/IZerolendPool.sol/IZerolendPool.json +37 -0
- package/build/artifacts/contracts/interfaces/Zerolend/IZerolendZ0Token.sol/IZerolendZ0Token.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Zerolend/IZerolendZ0Token.sol/IZerolendZ0Token.json +24 -0
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +27 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +68 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +198 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{internal/PendleBoringOneracle.sol → PendleBoringOneracle.sol}/PendleBoringOneracle.json +3 -3
- package/build/artifacts/contracts/oracles/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{internal/PendleBoringSolvBTCOneracle.sol → PendleBoringSolvBTCOneracle.sol}/PendleBoringSolvBTCOneracle.json +3 -3
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PtYtLpOracle/PendleLpOracleLib.sol → PendleLpOracleLib.sol}/PendleLpOracleLib.json +3 -3
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PtYtLpOracle/PendlePYLpOracle.sol → PendlePYLpOracle.sol}/PendlePYLpOracle.json +3 -3
- package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PtYtLpOracle/PendlePYOracleLib.sol → PendlePYOracleLib.sol}/PendlePYOracleLib.json +3 -3
- package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{internal/PendleRedStoneRateOracleAdapter.sol → PendleRedStoneRateOracleAdapter.sol}/PendleRedStoneRateOracleAdapter.json +3 -3
- package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{internal/PendleSparkLinearDiscountOracle.sol → PendleSparkLinearDiscountOracle.sol}/PTExpiry.json +1 -1
- package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{internal/PendleSparkLinearDiscountOracle.sol → PendleSparkLinearDiscountOracle.sol}/PendleSparkLinearDiscountOracle.json +3 -3
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +3 -3
- package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringLpSeller.sol/BoringLpSeller.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +3 -3
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +3 -3
- package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPtSeller.sol/BoringPtSeller.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +198 -2
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +198 -80
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +198 -2
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +198 -2
- package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.json +2638 -0
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +198 -2
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +198 -2
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +65 -0
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.json +82 -0
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +67 -2
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +16 -10
- package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +27 -6
- package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +3 -2
- package/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol +7 -1
- package/contracts/core/StandardizedYield/implementations/AaveV3/{PendleAaveV3WithRewardsSY.sol → PendleAaveV3WithRewardsSYUpg.sol} +27 -45
- package/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol +130 -0
- package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +1 -2
- package/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol +82 -0
- package/contracts/core/StandardizedYield/implementations/Morpho/PendleMorphoMetaVaultSY.sol +21 -0
- package/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol +0 -1
- package/contracts/core/StandardizedYield/implementations/PendleERC4626SYV2.sol +88 -0
- package/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSYV2.sol +83 -0
- package/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol +154 -0
- package/contracts/core/StandardizedYield/implementations/Solv/PendleSolvBTCBBNBaseSYUpg.sol +103 -0
- package/contracts/core/StandardizedYield/implementations/Solv/PendleSolvHelperBase.sol +47 -0
- package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol +102 -0
- package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol +32 -0
- package/contracts/interfaces/AaveV3/IAaveStkGHO.sol +17 -0
- package/contracts/interfaces/Angle/IAngleDistributor.sol +12 -0
- package/contracts/interfaces/IERC4626.sol +2 -0
- package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +6 -6
- package/contracts/interfaces/IPActionMarketCoreStatic.sol +4 -0
- package/contracts/interfaces/IPActionMiscV3.sol +2 -8
- package/contracts/interfaces/IPActionSwapLimitV3.sol +42 -0
- package/contracts/interfaces/IPActionSwapPTV3.sol +4 -4
- package/contracts/interfaces/IPActionSwapYTV3.sol +4 -4
- package/contracts/interfaces/IPAllActionTypeV3.sol +4 -0
- package/contracts/interfaces/IPAllActionV3.sol +3 -1
- package/contracts/interfaces/IPAllEventsV3.sol +44 -1
- package/contracts/interfaces/Zerolend/IZerolendPool.sol +31 -0
- package/contracts/interfaces/Zerolend/IZerolendZ0Token.sol +6 -0
- package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +5 -0
- package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +1 -1
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +1 -1
- package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +10 -4
- package/contracts/oracles/{internal/PendleBoringOneracle.sol → PendleBoringOneracle.sol} +2 -2
- package/contracts/oracles/{internal/PendleBoringSolvBTCOneracle.sol → PendleBoringSolvBTCOneracle.sol} +2 -2
- package/contracts/oracles/{PtYtLpOracle/PendlePYLpOracle.sol → PendlePYLpOracle.sol} +2 -2
- package/contracts/oracles/{PtYtLpOracle/PendlePYOracleLib.sol → PendlePYOracleLib.sol} +2 -2
- package/contracts/oracles/{internal/PendleRedStoneRateOracleAdapter.sol → PendleRedStoneRateOracleAdapter.sol} +3 -3
- package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringLpGlpOracle.sol +3 -3
- package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringLpSeller.sol +1 -1
- package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPYUsdChainlinkAssetOracle.sol +3 -3
- package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPYUsdChainlinkSYOracle.sol +3 -3
- package/contracts/oracles/{PtYtLpOracle/samples → samples}/BoringPtSeller.sol +1 -1
- package/contracts/router/ActionAddRemoveLiqV3.sol +9 -9
- package/contracts/router/ActionMiscV3.sol +3 -17
- package/contracts/router/ActionSwapLimitV3.sol +126 -0
- package/contracts/router/ActionSwapPTV3.sol +4 -4
- package/contracts/router/ActionSwapYTV3.sol +4 -4
- package/contracts/router/base/ActionBase.sol +35 -12
- package/contracts/router/base/ActionDelegateBase.sol +1 -1
- package/contracts/router/swap-aggregator/IPSwapAggregator.sol +5 -1
- package/contracts/router/swap-aggregator/PendleSwap.sol +52 -0
- package/deployments/1-core.json +2 -2
- package/deployments/1-markets/AGETH-MAINNET-JUN2025.json +14 -0
- package/deployments/1-markets/PUFETH-MAINNET-JUN2025.json +14 -0
- package/deployments/1-markets/RSETH-MAINNET-JUN2025.json +14 -0
- package/deployments/1-markets/RSWETH-MAINNET-JUN2025.json +14 -0
- package/deployments/1-markets/STKGHO-MAINNET-APR2025.json +14 -0
- package/deployments/1-markets/SUSDE-MAINNET-MAY2025.json +14 -0
- package/deployments/1-markets/SUSDS-MAINNET-MAR2025-RELAUNCH.json +12 -0
- package/deployments/1-markets/UNIETH-MAINNET-JUN2025.json +14 -0
- package/deployments/1-markets/USD0++-MAINNET-JAN2025.json +14 -0
- package/deployments/1-markets/USD0++-MAINNET-JUN2025.json +14 -0
- package/deployments/1-markets/WEETH-MAINNET-JUN2025.json +14 -0
- package/deployments/1-markets/ZEROLEND-EBTC-MAINNET-MAR2025.json +14 -0
- package/deployments/10-core.json +1 -1
- package/deployments/42161-core.json +1 -1
- package/deployments/42161-markets/DOLOMITE-USDC-ARBITRUM-JUN2025.json +14 -0
- package/deployments/42161-markets/DOLOMITE-WBTC-ARBITRUM-JUN2025.json +14 -0
- package/deployments/42161-markets/GUSDC-ARBITRUM-JUN2025.json +14 -0
- package/deployments/42161-markets/MUXLP-ARBITRUM-JUN2025.json +14 -0
- package/deployments/42161-markets/RSETH-ARBITRUM-JUN2025.json +14 -0
- package/deployments/42161-markets/SPSILO-ARBITRUM-MAR2025.json +14 -0
- package/deployments/42161-markets/UNIETH-ARBITRUM-JUN2025.json +14 -0
- package/deployments/42161-markets/WEETH-ARBITRUM-JUN2025.json +14 -0
- package/deployments/5000-core.json +1 -1
- package/deployments/5000-markets/CMETH-MANTLE-FEB2025.json +14 -0
- package/deployments/56-core.json +2 -2
- package/deployments/56-markets/VENUS-BNB-BSC-JUN2025.json +14 -0
- package/deployments/8453-core.json +41 -0
- package/deployments/8453-offchain-helper.json +6 -0
- package/package.json +1 -1
- package/typechain-types/ActionAddRemoveLiqV3.ts +148 -0
- package/typechain-types/ActionMarketCoreStatic.ts +68 -0
- package/typechain-types/ActionMiscV3.ts +148 -44
- package/typechain-types/ActionSimple.ts +148 -0
- package/typechain-types/ActionStorageStatic.ts +148 -0
- package/typechain-types/ActionStorageV4.ts +148 -0
- package/typechain-types/ActionSwapLimitV3.ts +1667 -0
- package/typechain-types/ActionSwapPTV3.ts +148 -0
- package/typechain-types/ActionSwapYTV3.ts +148 -0
- package/typechain-types/IERC4626.ts +16 -0
- package/typechain-types/IPActionAddRemoveLiqV3.ts +148 -0
- package/typechain-types/IPActionMarketCoreStatic.ts +68 -0
- package/typechain-types/IPActionMiscV3.ts +148 -44
- package/typechain-types/IPActionSimple.ts +148 -0
- package/typechain-types/IPActionStorageStatic.ts +148 -0
- package/typechain-types/IPActionStorageV4.ts +148 -0
- package/typechain-types/IPActionSwapLimitV3.ts +1667 -0
- package/typechain-types/IPActionSwapLimitV3Events.ts +207 -0
- package/typechain-types/IPActionSwapPTV3.ts +148 -0
- package/typechain-types/IPActionSwapYTV3.ts +148 -0
- package/typechain-types/IPAllActionV3.ts +390 -20
- package/typechain-types/IPAllEventsV3.ts +148 -0
- package/typechain-types/IPRouterStatic.ts +182 -0
- package/typechain-types/IPSwapAggregator.ts +64 -3
- package/typechain-types/IZerolendPool.ts +111 -0
- package/typechain-types/IZerolendZ0Token.ts +87 -0
- package/typechain-types/PendleAaveV3WithRewardsSYUpg.ts +1498 -0
- package/typechain-types/PendleChainlinkOracle.ts +16 -16
- package/typechain-types/PendleChainlinkOracleFactory.ts +112 -33
- package/typechain-types/PendleChainlinkOracleWithQuote.ts +16 -16
- package/typechain-types/PendleERC4626SYV2.ts +1281 -0
- package/typechain-types/PendleMorphoMetaVaultSY.ts +1323 -0
- package/typechain-types/PendleSiloWithIncentiveNonBorrowableSY.ts +1543 -0
- package/typechain-types/PendleSolvBTCBBNBaseSYUpg.ts +1409 -0
- package/typechain-types/PendleSolvHelperBase.ts +220 -0
- package/typechain-types/PendleSwap.ts +64 -3
- package/typechain-types/PendleVotingControllerUpg.ts +135 -43
- package/typechain-types/PendleZerolendEBTCSYUpg.ts +1754 -0
- package/typechain-types/PendleZerolendLBTCSYUpg.ts +1598 -0
- package/typechain-types/VotingControllerStorageUpg.ts +34 -15
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +197 -1
- package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +67 -1
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMiscV3__factory.ts +197 -79
- package/typechain-types/factories/ActionSimple__factory.ts +197 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +197 -1
- package/typechain-types/factories/ActionStorageV4__factory.ts +197 -1
- package/typechain-types/factories/ActionSwapLimitV3__factory.ts +2691 -0
- package/typechain-types/factories/ActionSwapPTV3__factory.ts +197 -1
- package/typechain-types/factories/ActionSwapYTV3__factory.ts +197 -1
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
- package/typechain-types/factories/IERC4626__factory.ts +19 -0
- package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +196 -0
- package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +66 -0
- package/typechain-types/factories/IPActionMiscV3__factory.ts +196 -78
- package/typechain-types/factories/IPActionSimple__factory.ts +196 -0
- package/typechain-types/factories/IPActionStorageStatic__factory.ts +196 -0
- package/typechain-types/factories/IPActionStorageV4__factory.ts +196 -0
- package/typechain-types/factories/IPActionSwapLimitV3Events__factory.ts +226 -0
- package/typechain-types/factories/IPActionSwapLimitV3__factory.ts +2653 -0
- package/typechain-types/factories/IPActionSwapPTV3__factory.ts +196 -0
- package/typechain-types/factories/IPActionSwapYTV3__factory.ts +196 -0
- package/typechain-types/factories/IPAllActionV3__factory.ts +1220 -48
- package/typechain-types/factories/IPAllEventsV3__factory.ts +196 -0
- package/typechain-types/factories/IPRouterStatic__factory.ts +262 -0
- package/typechain-types/factories/IPSwapAggregator__factory.ts +65 -0
- package/typechain-types/factories/IZerolendPool__factory.ts +49 -0
- package/typechain-types/factories/IZerolendZ0Token__factory.ts +39 -0
- package/typechain-types/factories/PendleAaveV3WithRewardsSYUpg__factory.ts +1246 -0
- package/typechain-types/factories/PendleAgETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAmphorWstETHVaultSY__factory.ts +1 -1
- package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
- package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +66 -23
- package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +7 -12
- package/typechain-types/factories/PendleChainlinkOracle__factory.ts +7 -7
- package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626NotRedeemableToAssetSY__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626SYV2__factory.ts +1095 -0
- package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
- package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGUSDCSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMorphoMetaVaultSY__factory.ts +1125 -0
- package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
- package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
- package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
- package/typechain-types/factories/PendleSENASY__factory.ts +1 -1
- package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleSUSDSSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSiloWithIncentiveNonBorrowableSY__factory.ts +1317 -0
- package/typechain-types/factories/PendleSolvBTCBBNBaseSYUpg__factory.ts +1129 -0
- package/typechain-types/factories/PendleSolvHelperBase__factory.ts +172 -0
- package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleStkGHOSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwap__factory.ts +66 -1
- package/typechain-types/factories/PendleSyrupSY__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +66 -22
- package/typechain-types/factories/PendleZerolendEBTCSYUpg__factory.ts +1394 -0
- package/typechain-types/factories/PendleZerolendLBTCSYUpg__factory.ts +1283 -0
- package/typechain-types/factories/Reflector__factory.ts +1 -1
- package/typechain-types/factories/SDKErrorsDirectory__factory.ts +26 -1
- package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +19 -6
- package/typechain-types/hardhat.d.ts +179 -80
- package/typechain-types/index.ts +40 -18
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseUpg.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.json +0 -1198
- package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.json +0 -122
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.json +0 -91
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.json +0 -262
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +0 -10
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +0 -274
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.json +0 -253
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +0 -300
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +0 -310
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +0 -4
- package/contracts/interfaces/IPChainlinkOracle.sol +0 -15
- package/contracts/interfaces/IPChainlinkOracleFactory.sol +0 -22
- package/contracts/interfaces/IPChainlinkOracleWithQuote.sol +0 -8
- package/contracts/offchain-helpers/MarketExchangeRateLib.sol +0 -32
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +0 -40
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleBase.sol +0 -129
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol +0 -109
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol +0 -54
- /package/contracts/oracles/{PtYtLpOracle/PendleLpOracleLib.sol → PendleLpOracleLib.sol} +0 -0
- /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
|
-
|
|
9
|
+
if (chainId == 43113) return 10106;
|
|
11
10
|
// mumbai testnet
|
|
12
|
-
else if (chainId ==
|
|
11
|
+
else if (chainId == 80001) return 10109;
|
|
13
12
|
// avax mainnet
|
|
14
|
-
else if (chainId ==
|
|
13
|
+
else if (chainId == 43114) return 106;
|
|
15
14
|
// arbitrum one
|
|
16
|
-
else if (chainId ==
|
|
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
|
-
|
|
31
|
+
if (chainId == 10106) return 43113;
|
|
30
32
|
// mumbai testnet
|
|
31
|
-
else if (chainId ==
|
|
33
|
+
else if (chainId == 10109) return 80001;
|
|
32
34
|
// avax mainnet
|
|
33
|
-
else if (chainId ==
|
|
35
|
+
else if (chainId == 106) return 43114;
|
|
34
36
|
// arbitrum one
|
|
35
|
-
else if (chainId ==
|
|
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
|
|
154
|
-
require(msg.sender ==
|
|
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
|
|
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
|
|
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
|
|
267
|
-
|
|
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
|
|
76
|
+
address public addPoolHelper;
|
|
77
|
+
address public removePoolHelper;
|
|
77
78
|
|
|
78
|
-
uint256[
|
|
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
|
|
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 "../../
|
|
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
|
|
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
|
-
|
|
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
|
|
35
|
-
|
|
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
|
-
|
|
41
|
-
|
|
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()
|
|
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
|
|
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
|
+
}
|
|
@@ -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
|
+
}
|