@pendle/core-v2 5.2.0 → 5.2.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/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/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/Lombard/PendleLBTCBaseSY.sol/PendleLBTCBaseSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Lombard/PendleLBTCBaseSY.sol/PendleLBTCBaseSY.json +1111 -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/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/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 +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.json +2 -2
- 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/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- 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/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/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.json +122 -0
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.json +91 -0
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.json +262 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +96 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.json +13 -0
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Lombard/ILBTCMinterBase.sol/ILBTCMinterBase.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Lombard/ILBTCMinterBase.sol/ILBTCMinterBase.json +63 -0
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
- 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/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 +2 -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 +2 -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/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +226 -0
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +343 -0
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +257 -0
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -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/contracts/core/StandardizedYield/implementations/Lombard/PendleLBTCBaseSY.sol +121 -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/Zerolend/PendleZerolendEBTCSYUpg.sol +2 -1
- package/contracts/interfaces/IERC4626.sol +2 -0
- package/contracts/interfaces/IPChainlinkOracle.sol +11 -0
- package/contracts/interfaces/IPChainlinkOracleFactory.sol +22 -0
- package/contracts/interfaces/IPChainlinkOracleWithQuote.sol +8 -0
- package/contracts/interfaces/IPLimitRouter.sol +22 -12
- package/contracts/interfaces/IPPYLpOracle.sol +3 -4
- package/contracts/interfaces/Lombard/ILBTCMinterBase.sol +12 -0
- package/contracts/oracles/factory/PendleChainlinkOracle.sol +134 -0
- package/contracts/oracles/factory/PendleChainlinkOracleFactory.sol +121 -0
- package/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol +50 -0
- package/deployments/1-markets/MORPHO-PWBTC-JUN2025.json +14 -0
- package/deployments/1-markets/SUSDS-MAINNET-MAR2025-RELAUNCH.json +12 -0
- package/deployments/1-markets/USD0++-MAINNET-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/8453-markets/CBETH-BASE-DEC2025.json +14 -0
- package/deployments/8453-markets/LBTC-BASE-MAY2025.json +14 -0
- package/package.json +1 -1
- package/typechain-types/IERC4626.ts +16 -0
- package/typechain-types/ILBTCMinterBase.ts +159 -0
- package/typechain-types/IPLimitRouter.ts +36 -0
- package/typechain-types/IPPYLpOracle.ts +21 -0
- package/typechain-types/PendleERC4626SYV2.ts +1281 -0
- package/typechain-types/PendleLBTCBaseSY.ts +1470 -0
- package/typechain-types/PendleMorphoMetaVaultSY.ts +1323 -0
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
- package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -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 +1 -1
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
- package/typechain-types/factories/ActionSimple__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapLimitV3__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -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/ILBTCMinterBase__factory.ts +78 -0
- package/typechain-types/factories/IPLimitRouter__factory.ts +96 -0
- package/typechain-types/factories/IPPYLpOracle__factory.ts +13 -0
- package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
- 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/PendleChainlinkOracleFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -49
- package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -49
- 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/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/PendleLBTCBaseSY__factory.ts +1164 -0
- package/typechain-types/factories/PendleLimitRouter__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/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/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/PendleSyrupSY__factory.ts +1 -1
- package/typechain-types/factories/PendleZerolendEBTCSYUpg__factory.ts +1 -1
- package/typechain-types/factories/Reflector__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +126 -0
- package/typechain-types/index.ts +26 -0
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"contractName": "MarketApproxPtInLib",
|
|
4
4
|
"sourceName": "contracts/router/math/MarketApproxLib.sol",
|
|
5
5
|
"abi": [],
|
|
6
|
-
"bytecode": "
|
|
7
|
-
"deployedBytecode": "
|
|
6
|
+
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122082f3c9a438558cdbff296f11727b014de2c9450183450e107fb3400755c2407664736f6c63430008170033",
|
|
7
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122082f3c9a438558cdbff296f11727b014de2c9450183450e107fb3400755c2407664736f6c63430008170033",
|
|
8
8
|
"linkReferences": {},
|
|
9
9
|
"deployedLinkReferences": {}
|
|
10
10
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"contractName": "MarketApproxPtOutLib",
|
|
4
4
|
"sourceName": "contracts/router/math/MarketApproxLib.sol",
|
|
5
5
|
"abi": [],
|
|
6
|
-
"bytecode": "
|
|
7
|
-
"deployedBytecode": "
|
|
6
|
+
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ef74022f162d5ffc28e4fcb8928b0bd4750226801d7e5809b8953f15a3ca6a764736f6c63430008170033",
|
|
7
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ef74022f162d5ffc28e4fcb8928b0bd4750226801d7e5809b8953f15a3ca6a764736f6c63430008170033",
|
|
8
8
|
"linkReferences": {},
|
|
9
9
|
"deployedLinkReferences": {}
|
|
10
10
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"contractName": "MarketApproxPtInLibOnchain",
|
|
4
4
|
"sourceName": "contracts/router/math/MarketApproxLibOnchain.sol",
|
|
5
5
|
"abi": [],
|
|
6
|
-
"bytecode": "
|
|
7
|
-
"deployedBytecode": "
|
|
6
|
+
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f0f8c14eb68b51c9c48787b6dd1072f2f450b86634247d92f266d6bcd213279264736f6c63430008170033",
|
|
7
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f0f8c14eb68b51c9c48787b6dd1072f2f450b86634247d92f266d6bcd213279264736f6c63430008170033",
|
|
8
8
|
"linkReferences": {},
|
|
9
9
|
"deployedLinkReferences": {}
|
|
10
10
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"contractName": "MarketApproxPtOutLibOnchain",
|
|
4
4
|
"sourceName": "contracts/router/math/MarketApproxLibOnchain.sol",
|
|
5
5
|
"abi": [],
|
|
6
|
-
"bytecode": "
|
|
7
|
-
"deployedBytecode": "
|
|
6
|
+
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122032f5e398472a056fe1581e551ae93de1759bece44637ab20df72628ae07f6ed064736f6c63430008170033",
|
|
7
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122032f5e398472a056fe1581e551ae93de1759bece44637ab20df72628ae07f6ed064736f6c63430008170033",
|
|
8
8
|
"linkReferences": {},
|
|
9
9
|
"deployedLinkReferences": {}
|
|
10
10
|
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../../SYBaseUpg.sol";
|
|
5
|
+
import "../../../../interfaces/IPTokenWithSupplyCap.sol";
|
|
6
|
+
import "../../../../interfaces/IPExchangeRateOracle.sol";
|
|
7
|
+
import "../../../../interfaces/Lombard/ILBTCMinterBase.sol";
|
|
8
|
+
|
|
9
|
+
contract PendleLBTCBaseSY is SYBaseUpg, IPTokenWithSupplyCap {
|
|
10
|
+
event SetNewExchangeRateOracle(address oracle);
|
|
11
|
+
|
|
12
|
+
address public exchangeRateOracle;
|
|
13
|
+
|
|
14
|
+
// solhint-disable immutable-vars-naming
|
|
15
|
+
// solhint-disable const-name-snakecase
|
|
16
|
+
address public constant CBBTC = 0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf;
|
|
17
|
+
address public constant LBTC = 0xecAc9C5F704e954931349Da37F60E39f515c11c1;
|
|
18
|
+
address public constant MINTER = 0x92c01FC0F59857c6E920EdFf1139904b2Bb74c7c;
|
|
19
|
+
uint256 public constant MINTER_MAX_COMISSION = 10000;
|
|
20
|
+
|
|
21
|
+
constructor() SYBaseUpg(LBTC) {}
|
|
22
|
+
|
|
23
|
+
function initialize(address _initialOracle) external initializer {
|
|
24
|
+
__SYBaseUpg_init("SY Lombard LBTC", "SY-LBTC");
|
|
25
|
+
_safeApproveInf(CBBTC, MINTER);
|
|
26
|
+
_setExchangeRateOracle(_initialOracle);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/*///////////////////////////////////////////////////////////////
|
|
30
|
+
DEPOSIT/REDEEM USING BASE TOKENS
|
|
31
|
+
//////////////////////////////////////////////////////////////*/
|
|
32
|
+
|
|
33
|
+
function _deposit(
|
|
34
|
+
address tokenIn,
|
|
35
|
+
uint256 amountDeposited
|
|
36
|
+
) internal virtual override returns (uint256 /*amountSharesOut*/) {
|
|
37
|
+
if (tokenIn == LBTC) return amountDeposited;
|
|
38
|
+
|
|
39
|
+
uint256 preBalance = _selfBalance(LBTC);
|
|
40
|
+
ILBTCMinterBase(MINTER).swapCBBTCToLBTC(amountDeposited);
|
|
41
|
+
return _selfBalance(LBTC) - preBalance;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function _redeem(
|
|
45
|
+
address receiver,
|
|
46
|
+
address /*tokenOut*/,
|
|
47
|
+
uint256 amountSharesToRedeem
|
|
48
|
+
) internal override returns (uint256) {
|
|
49
|
+
_transferOut(LBTC, receiver, amountSharesToRedeem);
|
|
50
|
+
return amountSharesToRedeem;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/*///////////////////////////////////////////////////////////////
|
|
54
|
+
EXCHANGE-RATE
|
|
55
|
+
//////////////////////////////////////////////////////////////*/
|
|
56
|
+
|
|
57
|
+
function exchangeRate() public view virtual override returns (uint256) {
|
|
58
|
+
return IPExchangeRateOracle(exchangeRateOracle).getExchangeRate();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function setExchangeRateOracle(address newOracle) external virtual onlyOwner {
|
|
62
|
+
_setExchangeRateOracle(newOracle);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function _setExchangeRateOracle(address newOracle) internal virtual {
|
|
66
|
+
exchangeRateOracle = newOracle;
|
|
67
|
+
emit SetNewExchangeRateOracle(newOracle);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function _previewDeposit(
|
|
71
|
+
address tokenIn,
|
|
72
|
+
uint256 amountTokenToDeposit
|
|
73
|
+
) internal view override returns (uint256 /*amountSharesOut*/) {
|
|
74
|
+
if (tokenIn == LBTC) return amountTokenToDeposit;
|
|
75
|
+
|
|
76
|
+
uint256 feeRate = ILBTCMinterBase(MINTER).relativeFee();
|
|
77
|
+
uint256 feeAmount = PMath.rawDivUp(amountTokenToDeposit * feeRate, MINTER_MAX_COMISSION);
|
|
78
|
+
return amountTokenToDeposit - feeAmount;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/*///////////////////////////////////////////////////////////////
|
|
82
|
+
MISC FUNCTIONS FOR METADATA
|
|
83
|
+
//////////////////////////////////////////////////////////////*/
|
|
84
|
+
|
|
85
|
+
function _previewRedeem(
|
|
86
|
+
address /*tokenOut*/,
|
|
87
|
+
uint256 amountSharesToRedeem
|
|
88
|
+
) internal pure override returns (uint256 /*amountTokenOut*/) {
|
|
89
|
+
return amountSharesToRedeem;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function getTokensIn() public pure override returns (address[] memory res) {
|
|
93
|
+
return ArrayLib.create(CBBTC, LBTC);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function getTokensOut() public pure override returns (address[] memory res) {
|
|
97
|
+
return ArrayLib.create(LBTC);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function isValidTokenIn(address token) public pure override returns (bool) {
|
|
101
|
+
return token == CBBTC || token == LBTC;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function isValidTokenOut(address token) public pure override returns (bool) {
|
|
105
|
+
return token == LBTC;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
|
|
109
|
+
return (AssetType.TOKEN, CBBTC, IERC20Metadata(CBBTC).decimals());
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function getAbsoluteTotalSupply() external view returns (uint256) {
|
|
113
|
+
// to be upgraded by Lombard to expose totalStake variable
|
|
114
|
+
// this function fails/be inaccurate when stakeLimit is lowered to be smaller than remaining stake
|
|
115
|
+
return ILBTCMinterBase(MINTER).stakeLimit() - ILBTCMinterBase(MINTER).remainingStake();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function getAbsoluteSupplyCap() external view returns (uint256) {
|
|
119
|
+
return ILBTCMinterBase(MINTER).stakeLimit();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -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
|
+
}
|
package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol
CHANGED
|
@@ -91,7 +91,8 @@ contract PendleZerolendEBTCSYUpg is PendleAaveV3WithRewardsSYUpg {
|
|
|
91
91
|
|
|
92
92
|
function getAbsoluteSupplyCap() external view returns (uint256) {
|
|
93
93
|
uint256 data = (IZerolendPool(ZEROLEND_POOL).getConfiguration(eBTC)).data;
|
|
94
|
-
uint256 unscaledSupplyCap = (data &
|
|
94
|
+
uint256 unscaledSupplyCap = (data &
|
|
95
|
+
(~uint256(0xFFFFFFFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF))) >> 116;
|
|
95
96
|
return unscaledSupplyCap * (10 ** IERC20Metadata(eBTC).decimals());
|
|
96
97
|
}
|
|
97
98
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
pragma solidity ^0.8.0;
|
|
3
|
+
|
|
4
|
+
import "./IPChainlinkOracle.sol";
|
|
5
|
+
|
|
6
|
+
interface IPChainlinkOracleFactory {
|
|
7
|
+
event OracleCreated(
|
|
8
|
+
address indexed market,
|
|
9
|
+
uint32 indexed twapDuration,
|
|
10
|
+
PendleOracleType indexed baseOracleType,
|
|
11
|
+
address oracle,
|
|
12
|
+
bytes32 oracleId
|
|
13
|
+
);
|
|
14
|
+
event OracleWithQuoteCreated(
|
|
15
|
+
address indexed market,
|
|
16
|
+
uint32 indexed twapDuration,
|
|
17
|
+
PendleOracleType indexed baseOracleType,
|
|
18
|
+
address quoteOracle,
|
|
19
|
+
address oracle,
|
|
20
|
+
bytes32 oracleId
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
pragma solidity ^0.8.0;
|
|
3
|
+
|
|
4
|
+
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface.sol";
|
|
5
|
+
|
|
6
|
+
interface IPChainlinkOracleWithQuote is AggregatorV2V3Interface {
|
|
7
|
+
function quoteOracle() external view returns (address);
|
|
8
|
+
}
|
|
@@ -60,12 +60,9 @@ struct FillOrderParams {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
interface IPLimitRouterCallback is IPLimitOrderType {
|
|
63
|
-
function limitRouterCallback(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
uint256 totalFee,
|
|
67
|
-
bytes memory data
|
|
68
|
-
) external returns (bytes memory);
|
|
63
|
+
function limitRouterCallback(uint256 actualMaking, uint256 actualTaking, uint256 totalFee, bytes memory data)
|
|
64
|
+
external
|
|
65
|
+
returns (bytes memory);
|
|
69
66
|
}
|
|
70
67
|
|
|
71
68
|
interface IPLimitRouter is IPLimitOrderType {
|
|
@@ -106,18 +103,31 @@ interface IPLimitRouter is IPLimitOrderType {
|
|
|
106
103
|
|
|
107
104
|
function cancelBatch(Order[] calldata orders) external;
|
|
108
105
|
|
|
109
|
-
function orderStatusesRaw(
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
function orderStatusesRaw(bytes32[] memory orderHashes)
|
|
107
|
+
external
|
|
108
|
+
view
|
|
109
|
+
returns (uint256[] memory remainingsRaw, uint256[] memory filledAmounts);
|
|
112
110
|
|
|
113
|
-
function orderStatuses(
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
function orderStatuses(bytes32[] memory orderHashes)
|
|
112
|
+
external
|
|
113
|
+
view
|
|
114
|
+
returns (uint256[] memory remainings, uint256[] memory filledAmounts);
|
|
116
115
|
|
|
117
116
|
function DOMAIN_SEPARATOR() external view returns (bytes32);
|
|
118
117
|
|
|
119
118
|
function simulate(address target, bytes calldata data) external payable;
|
|
120
119
|
|
|
120
|
+
function _checkSig(Order memory order, bytes memory signature)
|
|
121
|
+
external
|
|
122
|
+
view
|
|
123
|
+
returns (
|
|
124
|
+
bytes32,
|
|
125
|
+
/*orderHash*/
|
|
126
|
+
uint256,
|
|
127
|
+
/*remainingMakerAmount*/
|
|
128
|
+
uint256
|
|
129
|
+
); /*filledMakerAmount*/
|
|
130
|
+
|
|
121
131
|
/* --- Deprecated events --- */
|
|
122
132
|
|
|
123
133
|
// deprecate on 7/1/2024, prior to official launch
|
|
@@ -16,11 +16,10 @@ interface IPPYLpOracle {
|
|
|
16
16
|
|
|
17
17
|
function getLpToSyRate(address market, uint32 duration) external view returns (uint256);
|
|
18
18
|
|
|
19
|
-
function getOracleState(
|
|
20
|
-
address market,
|
|
21
|
-
uint32 duration
|
|
22
|
-
)
|
|
19
|
+
function getOracleState(address market, uint32 duration)
|
|
23
20
|
external
|
|
24
21
|
view
|
|
25
22
|
returns (bool increaseCardinalityRequired, uint16 cardinalityRequired, bool oldestObservationSatisfied);
|
|
23
|
+
|
|
24
|
+
function blockCycleNumerator() external view returns (uint16);
|
|
26
25
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
interface ILBTCMinterBase {
|
|
5
|
+
function swapCBBTCToLBTC(uint256 amount) external;
|
|
6
|
+
|
|
7
|
+
function relativeFee() external view returns (uint16);
|
|
8
|
+
|
|
9
|
+
function remainingStake() external view returns (uint256);
|
|
10
|
+
|
|
11
|
+
function stakeLimit() external view returns (uint256);
|
|
12
|
+
}
|