@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
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../../interfaces/IPChainlinkOracle.sol";
|
|
5
|
+
import "../PendleLpOracleLib.sol";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @dev The round data returned from this contract will follow:
|
|
9
|
+
* - There will be only one round (roundId=0)
|
|
10
|
+
* - startedAt=0, updatedAt=block.timestamp
|
|
11
|
+
*/
|
|
12
|
+
contract PendleChainlinkOracle is IPChainlinkOracle {
|
|
13
|
+
error InvalidRoundId();
|
|
14
|
+
|
|
15
|
+
// solhint-disable immutable-vars-naming
|
|
16
|
+
address public immutable factory;
|
|
17
|
+
|
|
18
|
+
address public immutable market;
|
|
19
|
+
uint32 public immutable twapDuration;
|
|
20
|
+
PendleOracleType public immutable baseOracleType;
|
|
21
|
+
|
|
22
|
+
uint256 public immutable fromTokenScale;
|
|
23
|
+
uint256 public immutable toTokenScale;
|
|
24
|
+
|
|
25
|
+
function(IPMarket, uint32) internal view returns (uint256) private immutable _getRawPendlePrice;
|
|
26
|
+
|
|
27
|
+
modifier roundIdIsZero(uint80 roundId) {
|
|
28
|
+
if (roundId != 0) {
|
|
29
|
+
revert InvalidRoundId();
|
|
30
|
+
}
|
|
31
|
+
_;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
constructor(address _market, uint32 _twapDuration, PendleOracleType _baseOracleType) {
|
|
35
|
+
factory = msg.sender;
|
|
36
|
+
market = _market;
|
|
37
|
+
twapDuration = _twapDuration;
|
|
38
|
+
baseOracleType = _baseOracleType;
|
|
39
|
+
(uint256 fromTokenDecimals, uint256 toTokenDecimals) = _readDecimals(_market, _baseOracleType);
|
|
40
|
+
(fromTokenScale, toTokenScale) = (10 ** fromTokenDecimals, 10 ** toTokenDecimals);
|
|
41
|
+
_getRawPendlePrice = _getRawPendlePriceFunc();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// =================================================================
|
|
45
|
+
// CHAINLINK INTERFACE
|
|
46
|
+
// =================================================================
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @notice The round data returned from this contract will follow:
|
|
50
|
+
* - answer will satisfy 1 natural unit of PendleToken = (answer/1e18) natural unit of OutputToken
|
|
51
|
+
* - In other words, 10**(PendleToken.decimals) = (answer/1e18) * 10**(OutputToken.decimals)
|
|
52
|
+
* @param roundId always 0 for this contract
|
|
53
|
+
* @param answer The answer (in 18 decimals)
|
|
54
|
+
* @param startedAt always 0 for this contract
|
|
55
|
+
* @param updatedAt always block.timestamp for this contract
|
|
56
|
+
* @param answeredInRound always 0 for this contract
|
|
57
|
+
*/
|
|
58
|
+
function latestRoundData()
|
|
59
|
+
public
|
|
60
|
+
view
|
|
61
|
+
virtual
|
|
62
|
+
returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
|
|
63
|
+
{
|
|
64
|
+
roundId = 0;
|
|
65
|
+
answer = _getPendleTokenPrice();
|
|
66
|
+
startedAt = 0;
|
|
67
|
+
updatedAt = block.timestamp;
|
|
68
|
+
answeredInRound = 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function getRoundData(
|
|
72
|
+
uint80 roundId
|
|
73
|
+
) external view roundIdIsZero(roundId) returns (uint80, int256, uint256, uint256, uint80) {
|
|
74
|
+
return latestRoundData();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function decimals() external pure returns (uint8) {
|
|
78
|
+
return 18;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function description() external pure returns (string memory) {
|
|
82
|
+
return "Pendle Chainlink-compatible Oracle";
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function version() external pure returns (uint256) {
|
|
86
|
+
return 1;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// =================================================================
|
|
90
|
+
// PRICING FUNCTIONS
|
|
91
|
+
// =================================================================
|
|
92
|
+
|
|
93
|
+
function _getPendleTokenPrice() internal view returns (int256) {
|
|
94
|
+
return _descalePrice(_getRawPendlePrice(IPMarket(market), twapDuration));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function _descalePrice(uint256 price) private view returns (int256 unwrappedPrice) {
|
|
98
|
+
return PMath.Int((price * fromTokenScale) / toTokenScale);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// =================================================================
|
|
102
|
+
// USE ONLY AT INITIALIZATION
|
|
103
|
+
// =================================================================
|
|
104
|
+
|
|
105
|
+
function _getRawPendlePriceFunc()
|
|
106
|
+
internal
|
|
107
|
+
view
|
|
108
|
+
returns (function(IPMarket, uint32) internal view returns (uint256))
|
|
109
|
+
{
|
|
110
|
+
if (baseOracleType == PendleOracleType.PT_TO_SY) {
|
|
111
|
+
return PendlePYOracleLib.getPtToSyRate;
|
|
112
|
+
} else if (baseOracleType == PendleOracleType.PT_TO_ASSET) {
|
|
113
|
+
return PendlePYOracleLib.getPtToAssetRate;
|
|
114
|
+
} else {
|
|
115
|
+
revert("not supported");
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function _readDecimals(
|
|
120
|
+
address _market,
|
|
121
|
+
PendleOracleType _oracleType
|
|
122
|
+
) internal view returns (uint8 _fromDecimals, uint8 _toDecimals) {
|
|
123
|
+
(IStandardizedYield SY, , ) = IPMarket(_market).readTokens();
|
|
124
|
+
|
|
125
|
+
uint8 syDecimals = SY.decimals();
|
|
126
|
+
(, , uint8 assetDecimals) = SY.assetInfo();
|
|
127
|
+
|
|
128
|
+
if (_oracleType == PendleOracleType.PT_TO_ASSET) {
|
|
129
|
+
return (assetDecimals, assetDecimals);
|
|
130
|
+
} else if (_oracleType == PendleOracleType.PT_TO_SY) {
|
|
131
|
+
return (assetDecimals, syDecimals);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import "./PendleChainlinkOracle.sol";
|
|
5
|
+
import "./PendleChainlinkOracleWithQuote.sol";
|
|
6
|
+
import "../../interfaces/IPChainlinkOracleFactory.sol";
|
|
7
|
+
import "../../interfaces/IPPYLpOracle.sol";
|
|
8
|
+
|
|
9
|
+
contract PendleChainlinkOracleFactory is IPChainlinkOracleFactory {
|
|
10
|
+
error OracleAlreadyExists();
|
|
11
|
+
|
|
12
|
+
error OracleIncreaseCardinalityRequired(uint32 cardinalityRequired);
|
|
13
|
+
error OracleOldestObservationNotSatisfied();
|
|
14
|
+
|
|
15
|
+
// [keccak256(market, duration, baseOracleType)]
|
|
16
|
+
mapping(bytes32 oracleId => address oracleAddr) internal oracles;
|
|
17
|
+
|
|
18
|
+
// [keccak256(market, duration, baseOracleType, quoteOracle)]
|
|
19
|
+
mapping(bytes32 oracleId => address oracleAddr) internal oraclesWithQuote;
|
|
20
|
+
|
|
21
|
+
address public immutable pyLpOracle;
|
|
22
|
+
|
|
23
|
+
constructor(address _pyLpOracle) {
|
|
24
|
+
pyLpOracle = _pyLpOracle;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// =================================================================
|
|
28
|
+
// CREATE ORACLE
|
|
29
|
+
// =================================================================
|
|
30
|
+
|
|
31
|
+
function createOracle(
|
|
32
|
+
address market,
|
|
33
|
+
uint32 twapDuration,
|
|
34
|
+
PendleOracleType baseOracleType
|
|
35
|
+
) external returns (address oracle) {
|
|
36
|
+
bytes32 oracleId = getOracleId(market, twapDuration, baseOracleType);
|
|
37
|
+
if (oracles[oracleId] != address(0)) revert OracleAlreadyExists();
|
|
38
|
+
|
|
39
|
+
checkMarketOracleState(market, twapDuration);
|
|
40
|
+
|
|
41
|
+
oracle = address(new PendleChainlinkOracle(market, twapDuration, baseOracleType));
|
|
42
|
+
oracles[oracleId] = oracle;
|
|
43
|
+
emit OracleCreated(market, twapDuration, baseOracleType, oracle, oracleId);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @dev quoteOracle must has Chainlink-compatible interface
|
|
48
|
+
*/
|
|
49
|
+
function createOracleWithQuote(
|
|
50
|
+
address market,
|
|
51
|
+
uint32 twapDuration,
|
|
52
|
+
PendleOracleType baseOracleType,
|
|
53
|
+
address quoteOracle
|
|
54
|
+
) external returns (address oracle) {
|
|
55
|
+
bytes32 oracleId = getOracleWithQuoteId(market, twapDuration, baseOracleType, quoteOracle);
|
|
56
|
+
if (oraclesWithQuote[oracleId] != address(0)) revert OracleAlreadyExists();
|
|
57
|
+
|
|
58
|
+
checkMarketOracleState(market, twapDuration);
|
|
59
|
+
|
|
60
|
+
oracle = address(new PendleChainlinkOracleWithQuote(market, twapDuration, baseOracleType, quoteOracle));
|
|
61
|
+
oraclesWithQuote[oracleId] = oracle;
|
|
62
|
+
emit OracleWithQuoteCreated(market, twapDuration, baseOracleType, quoteOracle, oracle, oracleId);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// =================================================================
|
|
66
|
+
// GET ORACLE
|
|
67
|
+
// =================================================================
|
|
68
|
+
|
|
69
|
+
function getOracle(
|
|
70
|
+
address market,
|
|
71
|
+
uint32 twapDuration,
|
|
72
|
+
PendleOracleType baseOracleType
|
|
73
|
+
) public view returns (address) {
|
|
74
|
+
return oracles[getOracleId(market, twapDuration, baseOracleType)];
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function getOracleWithQuote(
|
|
78
|
+
address market,
|
|
79
|
+
uint32 twapDuration,
|
|
80
|
+
PendleOracleType baseOracleType,
|
|
81
|
+
address quoteOracle
|
|
82
|
+
) public view returns (address) {
|
|
83
|
+
return oraclesWithQuote[getOracleWithQuoteId(market, twapDuration, baseOracleType, quoteOracle)];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function getOracleId(
|
|
87
|
+
address market,
|
|
88
|
+
uint32 twapDuration,
|
|
89
|
+
PendleOracleType baseOracleType
|
|
90
|
+
) public pure returns (bytes32) {
|
|
91
|
+
return keccak256(abi.encode(market, twapDuration, baseOracleType));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function getOracleWithQuoteId(
|
|
95
|
+
address market,
|
|
96
|
+
uint32 twapDuration,
|
|
97
|
+
PendleOracleType baseOracleType,
|
|
98
|
+
address quoteOracle
|
|
99
|
+
) public pure returns (bytes32) {
|
|
100
|
+
return keccak256(abi.encode(market, twapDuration, baseOracleType, quoteOracle));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// =================================================================
|
|
104
|
+
// CHECK ORACLE STATE
|
|
105
|
+
// =================================================================
|
|
106
|
+
|
|
107
|
+
function checkMarketOracleState(address market, uint32 twapDuration) public view {
|
|
108
|
+
(bool increaseCardinalityRequired, uint32 cardinalityRequired, bool oldestObservationSatisfied) = IPPYLpOracle(
|
|
109
|
+
pyLpOracle
|
|
110
|
+
).getOracleState(market, twapDuration);
|
|
111
|
+
|
|
112
|
+
if (increaseCardinalityRequired) {
|
|
113
|
+
// call IPMarket(market).increaseObservationsCardinalityNext(cardinalityRequired) then wait for twapDuration seconds
|
|
114
|
+
revert OracleIncreaseCardinalityRequired(cardinalityRequired);
|
|
115
|
+
}
|
|
116
|
+
if (!oldestObservationSatisfied) {
|
|
117
|
+
// wait for twapDuration seconds
|
|
118
|
+
revert OracleOldestObservationNotSatisfied();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import "./PendleChainlinkOracle.sol";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @dev The round data returned from this contract will follow:
|
|
8
|
+
* - There will be only one round (roundId=0)
|
|
9
|
+
* - startedAt=0, updatedAt=quoteOracle.updatedAt()
|
|
10
|
+
*/
|
|
11
|
+
contract PendleChainlinkOracleWithQuote is PendleChainlinkOracle {
|
|
12
|
+
// solhint-disable immutable-vars-naming
|
|
13
|
+
address public immutable quoteOracle;
|
|
14
|
+
int256 public immutable quoteScale;
|
|
15
|
+
|
|
16
|
+
constructor(
|
|
17
|
+
address _market,
|
|
18
|
+
uint32 _twapDuration,
|
|
19
|
+
PendleOracleType _baseOracleType,
|
|
20
|
+
address _quoteOracle
|
|
21
|
+
) PendleChainlinkOracle(_market, _twapDuration, _baseOracleType) {
|
|
22
|
+
quoteOracle = _quoteOracle;
|
|
23
|
+
quoteScale = PMath.Int(10 ** AggregatorV3Interface(_quoteOracle).decimals());
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @notice The round data returned from this contract will follow:
|
|
28
|
+
* - answer will satisfy 1 natural unit of PendleToken = (answer/1e18) natural unit of quoteToken
|
|
29
|
+
* - In other words, 10**(PendleToken.decimals) = (answer/1e18) * 10**(quoteToken.decimals)
|
|
30
|
+
* @return roundId always 0 for this contract
|
|
31
|
+
* @return answer The answer (in 18 decimals)
|
|
32
|
+
* @return startedAt always 0 for this contract
|
|
33
|
+
* @return updatedAt will be the same as quoteOracle.updatedAt()
|
|
34
|
+
* @return answeredInRound always 0 for this contract
|
|
35
|
+
*/
|
|
36
|
+
function latestRoundData()
|
|
37
|
+
public
|
|
38
|
+
view
|
|
39
|
+
override
|
|
40
|
+
returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
|
|
41
|
+
{
|
|
42
|
+
(, int256 quoteAnswer, , uint256 quoteUpdatedAt, ) = AggregatorV3Interface(quoteOracle).latestRoundData();
|
|
43
|
+
|
|
44
|
+
roundId = 0;
|
|
45
|
+
answer = (_getPendleTokenPrice() * quoteAnswer) / quoteScale;
|
|
46
|
+
updatedAt = quoteUpdatedAt;
|
|
47
|
+
startedAt = 0;
|
|
48
|
+
answeredInRound = 0;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SY WBTC",
|
|
3
|
+
"SY": "0x59E5a339701797a55465c590b2fE484855Be1a7B",
|
|
4
|
+
"YT": "0x31a7308A2308CC2bCa8E1e701c53A8d8D0B55254",
|
|
5
|
+
"PT": "0x6E96041a7F6A3a974a90016f277fb7457a64Ef9B",
|
|
6
|
+
"market": "0x461CD9222e130D1dc0Bd79DAb4643952430937c1",
|
|
7
|
+
"expiry": 1750896000,
|
|
8
|
+
"scalarRoot": "64394909743000000000",
|
|
9
|
+
"initAnchor": "1038014324000000000",
|
|
10
|
+
"lnFeeRateRoot": "999500333000000",
|
|
11
|
+
"deployTxHash": "0xd5ab3f4625f4e33814372a52428e67364a5e0db365def81749dc903d62f444f2",
|
|
12
|
+
"deployBlockNumber": 21269402,
|
|
13
|
+
"reversedFee": 0.09999999999164011
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SY sUSDS",
|
|
3
|
+
"SY": "0xBe3d4ec488A0a042BB86F9176C24f8CD54018BA7",
|
|
4
|
+
"YT": "0xe88580889A3F02a03e27f9b9c65dD43AD685fC8f",
|
|
5
|
+
"PT": "0x152b8629fee8105248bA3b7ba6afb94f7a468302",
|
|
6
|
+
"market": "0x21D85Ff3BEDFF031EF466C7d5295240C8AB2a2b8",
|
|
7
|
+
"expiry": 1743033600,
|
|
8
|
+
"scalarRoot": "66210056099000000000",
|
|
9
|
+
"initAnchor": "1028441141000000000",
|
|
10
|
+
"lnFeeRateRoot": "499875041000000",
|
|
11
|
+
"reversedFee": 0.04999999993486881
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SY USD0++",
|
|
3
|
+
"SY": "0x52453825c287dDef62D647ce51C0979D27c461f7",
|
|
4
|
+
"YT": "0xEAD01319c2aB0dC2C690EfF5DfC5f465Cd38FC87",
|
|
5
|
+
"PT": "0xf696FE29Ef85E892b5926313897D178288faA07e",
|
|
6
|
+
"market": "0x048680F64d6DFf1748ba6D9a01F578433787e24B",
|
|
7
|
+
"expiry": 1750896000,
|
|
8
|
+
"scalarRoot": "25840344753000000000",
|
|
9
|
+
"initAnchor": "1094579386000000000",
|
|
10
|
+
"lnFeeRateRoot": "1998002662000000",
|
|
11
|
+
"deployTxHash": "0x84d55092d8c0a23fb5ee3801d2ed904685eb2cc289338a58aed49accac686ab9",
|
|
12
|
+
"deployBlockNumber": 21220847,
|
|
13
|
+
"reversedFee": 0.19999999993256523
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SY gUSDC",
|
|
3
|
+
"SY": "0x0a9eD458E6c283D1E84237e3347333Aa08221d09",
|
|
4
|
+
"YT": "0xeb044f64aE0dFD5433726fC5418d6643897cbb6B",
|
|
5
|
+
"PT": "0x0b6121b4c00ca4FbBb6516C11eB4BF61722E0f8d",
|
|
6
|
+
"market": "0x22e0F26320aCE985e3CB2434095F18Bfe114E28e",
|
|
7
|
+
"expiry": 1750896000,
|
|
8
|
+
"scalarRoot": "21136461043000000000",
|
|
9
|
+
"initAnchor": "1094191809000000000",
|
|
10
|
+
"lnFeeRateRoot": "1998002662000000",
|
|
11
|
+
"deployTxHash": "0xab4a74917f0c839df3b13f6eb81e4286f2c3dcbf268ef51be4cf3a85f658c7ac",
|
|
12
|
+
"deployBlockNumber": 276038148,
|
|
13
|
+
"reversedFee": 0.19999999993256523
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SY MUX",
|
|
3
|
+
"SY": "0x5220E1Ef8CE83Aa9fE0CCE1b8395cD698d04bc7E",
|
|
4
|
+
"YT": "0xa661223676633a701B3D1E51bd8c47e2Da07C1f6",
|
|
5
|
+
"PT": "0x9D8eADeb4e7311e340A5EE39DbF62d7694F1aa85",
|
|
6
|
+
"market": "0xF1De71573Ee482f13AE4DcF980e83bFAba8b233d",
|
|
7
|
+
"expiry": 1750896000,
|
|
8
|
+
"scalarRoot": "23175451492000000000",
|
|
9
|
+
"initAnchor": "1088578948000000000",
|
|
10
|
+
"lnFeeRateRoot": "1998002662000000",
|
|
11
|
+
"deployTxHash": "0x3500a5b6f2145e7172c6fe3a814a455b512be2b5822df332b0f4e90b2564168e",
|
|
12
|
+
"deployBlockNumber": 276038060,
|
|
13
|
+
"reversedFee": 0.19999999993256523
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SY cbETH",
|
|
3
|
+
"SY": "0x75372F72EC752a761E96Cbcb3395f4b9586d9aFd",
|
|
4
|
+
"YT": "0xf9dA8F69D518d7f6488179014f475E843EE2DefD",
|
|
5
|
+
"PT": "0xE46c8bA948f8071b425a1f7Ba45c0a65CBAcea2e",
|
|
6
|
+
"market": "0x483f2e223c58a5eF19c4B32fbC6dE57709749cb3",
|
|
7
|
+
"expiry": 1766620800,
|
|
8
|
+
"scalarRoot": "146013418776000000000",
|
|
9
|
+
"initAnchor": "1038333098000000000",
|
|
10
|
+
"lnFeeRateRoot": "499875041000000",
|
|
11
|
+
"deployTxHash": "0x69c5a2b100f19a52dbc6346127e9970426df36da60407654e6b90fd8f0c7b96f",
|
|
12
|
+
"deployBlockNumber": 22727510,
|
|
13
|
+
"reversedFee": 0.04999999993486881
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SY LBTC",
|
|
3
|
+
"SY": "0xB261266Cb30c255CB9c73EBf4A3eaD9398D23AB4",
|
|
4
|
+
"YT": "0x5fd84c3dd5C00Ab9E04bd94685B55e8Dd0c1e3fD",
|
|
5
|
+
"PT": "0x5d746848005507DA0b1717C137A10C30AD9ee307",
|
|
6
|
+
"market": "0x727cEbAcfb10fFd353Fc221D06A862B437eC1735",
|
|
7
|
+
"expiry": 1748476800,
|
|
8
|
+
"scalarRoot": "99858759456000000000",
|
|
9
|
+
"initAnchor": "1024261630000000000",
|
|
10
|
+
"lnFeeRateRoot": "999500333000000",
|
|
11
|
+
"deployTxHash": "0x2b7ca2264698cbd59e9699296bbc8827344008b483674de81d940b463fab1556",
|
|
12
|
+
"deployBlockNumber": 22920673,
|
|
13
|
+
"reversedFee": 0.09999999999164011
|
|
14
|
+
}
|
package/package.json
CHANGED
|
@@ -33,6 +33,7 @@ export interface IERC4626Interface extends utils.Interface {
|
|
|
33
33
|
"convertToShares(uint256)": FunctionFragment;
|
|
34
34
|
"decimals()": FunctionFragment;
|
|
35
35
|
"deposit(uint256,address)": FunctionFragment;
|
|
36
|
+
"maxMint(address)": FunctionFragment;
|
|
36
37
|
"name()": FunctionFragment;
|
|
37
38
|
"previewDeposit(uint256)": FunctionFragment;
|
|
38
39
|
"previewRedeem(uint256)": FunctionFragment;
|
|
@@ -67,6 +68,7 @@ export interface IERC4626Interface extends utils.Interface {
|
|
|
67
68
|
functionFragment: "deposit",
|
|
68
69
|
values: [BigNumberish, string]
|
|
69
70
|
): string;
|
|
71
|
+
encodeFunctionData(functionFragment: "maxMint", values: [string]): string;
|
|
70
72
|
encodeFunctionData(functionFragment: "name", values?: undefined): string;
|
|
71
73
|
encodeFunctionData(
|
|
72
74
|
functionFragment: "previewDeposit",
|
|
@@ -112,6 +114,7 @@ export interface IERC4626Interface extends utils.Interface {
|
|
|
112
114
|
): Result;
|
|
113
115
|
decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
|
|
114
116
|
decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
|
|
117
|
+
decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result;
|
|
115
118
|
decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
|
|
116
119
|
decodeFunctionResult(
|
|
117
120
|
functionFragment: "previewDeposit",
|
|
@@ -222,6 +225,8 @@ export interface IERC4626 extends BaseContract {
|
|
|
222
225
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
223
226
|
): Promise<ContractTransaction>;
|
|
224
227
|
|
|
228
|
+
maxMint(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
229
|
+
|
|
225
230
|
name(overrides?: CallOverrides): Promise<[string]>;
|
|
226
231
|
|
|
227
232
|
previewDeposit(
|
|
@@ -295,6 +300,8 @@ export interface IERC4626 extends BaseContract {
|
|
|
295
300
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
296
301
|
): Promise<ContractTransaction>;
|
|
297
302
|
|
|
303
|
+
maxMint(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
304
|
+
|
|
298
305
|
name(overrides?: CallOverrides): Promise<string>;
|
|
299
306
|
|
|
300
307
|
previewDeposit(
|
|
@@ -368,6 +375,8 @@ export interface IERC4626 extends BaseContract {
|
|
|
368
375
|
overrides?: CallOverrides
|
|
369
376
|
): Promise<BigNumber>;
|
|
370
377
|
|
|
378
|
+
maxMint(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
379
|
+
|
|
371
380
|
name(overrides?: CallOverrides): Promise<string>;
|
|
372
381
|
|
|
373
382
|
previewDeposit(
|
|
@@ -466,6 +475,8 @@ export interface IERC4626 extends BaseContract {
|
|
|
466
475
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
467
476
|
): Promise<BigNumber>;
|
|
468
477
|
|
|
478
|
+
maxMint(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
479
|
+
|
|
469
480
|
name(overrides?: CallOverrides): Promise<BigNumber>;
|
|
470
481
|
|
|
471
482
|
previewDeposit(
|
|
@@ -543,6 +554,11 @@ export interface IERC4626 extends BaseContract {
|
|
|
543
554
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
544
555
|
): Promise<PopulatedTransaction>;
|
|
545
556
|
|
|
557
|
+
maxMint(
|
|
558
|
+
arg0: string,
|
|
559
|
+
overrides?: CallOverrides
|
|
560
|
+
): Promise<PopulatedTransaction>;
|
|
561
|
+
|
|
546
562
|
name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
547
563
|
|
|
548
564
|
previewDeposit(
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
BaseContract,
|
|
6
|
+
BigNumber,
|
|
7
|
+
BigNumberish,
|
|
8
|
+
BytesLike,
|
|
9
|
+
CallOverrides,
|
|
10
|
+
ContractTransaction,
|
|
11
|
+
Overrides,
|
|
12
|
+
PopulatedTransaction,
|
|
13
|
+
Signer,
|
|
14
|
+
utils,
|
|
15
|
+
} from "ethers";
|
|
16
|
+
import { FunctionFragment, Result } from "@ethersproject/abi";
|
|
17
|
+
import { Listener, Provider } from "@ethersproject/providers";
|
|
18
|
+
import type {
|
|
19
|
+
TypedEventFilter,
|
|
20
|
+
TypedEvent,
|
|
21
|
+
TypedListener,
|
|
22
|
+
OnEvent,
|
|
23
|
+
} from "./common";
|
|
24
|
+
|
|
25
|
+
export interface ILBTCMinterBaseInterface extends utils.Interface {
|
|
26
|
+
contractName: "ILBTCMinterBase";
|
|
27
|
+
functions: {
|
|
28
|
+
"relativeFee()": FunctionFragment;
|
|
29
|
+
"remainingStake()": FunctionFragment;
|
|
30
|
+
"stakeLimit()": FunctionFragment;
|
|
31
|
+
"swapCBBTCToLBTC(uint256)": FunctionFragment;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
encodeFunctionData(
|
|
35
|
+
functionFragment: "relativeFee",
|
|
36
|
+
values?: undefined
|
|
37
|
+
): string;
|
|
38
|
+
encodeFunctionData(
|
|
39
|
+
functionFragment: "remainingStake",
|
|
40
|
+
values?: undefined
|
|
41
|
+
): string;
|
|
42
|
+
encodeFunctionData(
|
|
43
|
+
functionFragment: "stakeLimit",
|
|
44
|
+
values?: undefined
|
|
45
|
+
): string;
|
|
46
|
+
encodeFunctionData(
|
|
47
|
+
functionFragment: "swapCBBTCToLBTC",
|
|
48
|
+
values: [BigNumberish]
|
|
49
|
+
): string;
|
|
50
|
+
|
|
51
|
+
decodeFunctionResult(
|
|
52
|
+
functionFragment: "relativeFee",
|
|
53
|
+
data: BytesLike
|
|
54
|
+
): Result;
|
|
55
|
+
decodeFunctionResult(
|
|
56
|
+
functionFragment: "remainingStake",
|
|
57
|
+
data: BytesLike
|
|
58
|
+
): Result;
|
|
59
|
+
decodeFunctionResult(functionFragment: "stakeLimit", data: BytesLike): Result;
|
|
60
|
+
decodeFunctionResult(
|
|
61
|
+
functionFragment: "swapCBBTCToLBTC",
|
|
62
|
+
data: BytesLike
|
|
63
|
+
): Result;
|
|
64
|
+
|
|
65
|
+
events: {};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface ILBTCMinterBase extends BaseContract {
|
|
69
|
+
contractName: "ILBTCMinterBase";
|
|
70
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
71
|
+
attach(addressOrName: string): this;
|
|
72
|
+
deployed(): Promise<this>;
|
|
73
|
+
|
|
74
|
+
interface: ILBTCMinterBaseInterface;
|
|
75
|
+
|
|
76
|
+
queryFilter<TEvent extends TypedEvent>(
|
|
77
|
+
event: TypedEventFilter<TEvent>,
|
|
78
|
+
fromBlockOrBlockhash?: string | number | undefined,
|
|
79
|
+
toBlock?: string | number | undefined
|
|
80
|
+
): Promise<Array<TEvent>>;
|
|
81
|
+
|
|
82
|
+
listeners<TEvent extends TypedEvent>(
|
|
83
|
+
eventFilter?: TypedEventFilter<TEvent>
|
|
84
|
+
): Array<TypedListener<TEvent>>;
|
|
85
|
+
listeners(eventName?: string): Array<Listener>;
|
|
86
|
+
removeAllListeners<TEvent extends TypedEvent>(
|
|
87
|
+
eventFilter: TypedEventFilter<TEvent>
|
|
88
|
+
): this;
|
|
89
|
+
removeAllListeners(eventName?: string): this;
|
|
90
|
+
off: OnEvent<this>;
|
|
91
|
+
on: OnEvent<this>;
|
|
92
|
+
once: OnEvent<this>;
|
|
93
|
+
removeListener: OnEvent<this>;
|
|
94
|
+
|
|
95
|
+
functions: {
|
|
96
|
+
relativeFee(overrides?: CallOverrides): Promise<[number]>;
|
|
97
|
+
|
|
98
|
+
remainingStake(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
99
|
+
|
|
100
|
+
stakeLimit(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
101
|
+
|
|
102
|
+
swapCBBTCToLBTC(
|
|
103
|
+
amount: BigNumberish,
|
|
104
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
105
|
+
): Promise<ContractTransaction>;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
relativeFee(overrides?: CallOverrides): Promise<number>;
|
|
109
|
+
|
|
110
|
+
remainingStake(overrides?: CallOverrides): Promise<BigNumber>;
|
|
111
|
+
|
|
112
|
+
stakeLimit(overrides?: CallOverrides): Promise<BigNumber>;
|
|
113
|
+
|
|
114
|
+
swapCBBTCToLBTC(
|
|
115
|
+
amount: BigNumberish,
|
|
116
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
117
|
+
): Promise<ContractTransaction>;
|
|
118
|
+
|
|
119
|
+
callStatic: {
|
|
120
|
+
relativeFee(overrides?: CallOverrides): Promise<number>;
|
|
121
|
+
|
|
122
|
+
remainingStake(overrides?: CallOverrides): Promise<BigNumber>;
|
|
123
|
+
|
|
124
|
+
stakeLimit(overrides?: CallOverrides): Promise<BigNumber>;
|
|
125
|
+
|
|
126
|
+
swapCBBTCToLBTC(
|
|
127
|
+
amount: BigNumberish,
|
|
128
|
+
overrides?: CallOverrides
|
|
129
|
+
): Promise<void>;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
filters: {};
|
|
133
|
+
|
|
134
|
+
estimateGas: {
|
|
135
|
+
relativeFee(overrides?: CallOverrides): Promise<BigNumber>;
|
|
136
|
+
|
|
137
|
+
remainingStake(overrides?: CallOverrides): Promise<BigNumber>;
|
|
138
|
+
|
|
139
|
+
stakeLimit(overrides?: CallOverrides): Promise<BigNumber>;
|
|
140
|
+
|
|
141
|
+
swapCBBTCToLBTC(
|
|
142
|
+
amount: BigNumberish,
|
|
143
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
144
|
+
): Promise<BigNumber>;
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
populateTransaction: {
|
|
148
|
+
relativeFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
149
|
+
|
|
150
|
+
remainingStake(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
151
|
+
|
|
152
|
+
stakeLimit(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
153
|
+
|
|
154
|
+
swapCBBTCToLBTC(
|
|
155
|
+
amount: BigNumberish,
|
|
156
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
157
|
+
): Promise<PopulatedTransaction>;
|
|
158
|
+
};
|
|
159
|
+
}
|