@pendle/core-v2 2.8.3-mainnet → 2.9.0-mainnet
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
- package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.json +19 -0
- package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +67 -0
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.json +82 -0
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +13 -0
- package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.json +10 -0
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
- 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/PendlePtOracle.sol/PendlePtOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +247 -0
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +10 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +118 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +144 -0
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +1 -1
- package/contracts/interfaces/GMX/IGlpManager.sol +2 -0
- package/contracts/interfaces/IPMarket.sol +19 -0
- package/contracts/interfaces/IPPtOracle.sol +23 -0
- package/contracts/interfaces/IPYieldToken.sol +3 -0
- package/contracts/offchain-helpers/BoringPtSeller.sol +39 -0
- package/contracts/oracles/PendlePtOracle.sol +99 -0
- package/contracts/oracles/PendlePtOracleLib.sol +59 -0
- package/contracts/oracles/samples/PendlePtGlpOracle.sol +53 -0
- package/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol +61 -0
- package/deployments/1-core.json +3 -2
- package/deployments/1-markets/BALANCER-LP-AURA-ANKRETH-WETH-SEP-26-2024.json +5 -5
- package/deployments/1-markets/BALANCER-LP-AURA-RETH-WETH-DEC-26-2024.json +5 -5
- package/deployments/42161-core.json +1 -0
- package/package.json +2 -1
- package/typechain-types/IGlpManager.ts +19 -0
- package/typechain-types/IPMarket.ts +98 -0
- package/typechain-types/IPPtOracle.ts +22 -3
- package/typechain-types/IPYieldToken.ts +21 -0
- package/typechain-types/PendlePtOracle.ts +189 -3
- package/typechain-types/factories/ActionAddRemoveLiq__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/ActionMintRedeem__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/IGlpManager__factory.ts +19 -0
- package/typechain-types/factories/IPMarket__factory.ts +67 -0
- package/typechain-types/factories/IPPtOracle__factory.ts +13 -0
- package/typechain-types/factories/IPYieldToken__factory.ts +13 -0
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/PendlePtOracle__factory.ts +126 -1
- package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +72 -9
- package/typechain-types/index.ts +16 -2
- package/typechain-types/IPPtAssetOracle.ts +0 -115
- package/typechain-types/IPPtUsdOracle.ts +0 -97
- package/typechain-types/PendleAuraBalancerStableLPSY.ts +0 -1523
- package/typechain-types/PendleAuraWethAnkrethSY.ts +0 -1523
- package/typechain-types/PendleAuraWethRethSY.ts +0 -1549
- package/typechain-types/PendleAuraWethWstethSY.ts +0 -1523
- package/typechain-types/PendleOracleFactory.ts +0 -251
- package/typechain-types/PendlePtAssetOracle.ts +0 -188
- package/typechain-types/PendlePtUsdOracle.ts +0 -142
- package/typechain-types/PendleStafiEthSY.ts +0 -100
- package/typechain-types/factories/IPPtAssetOracle__factory.ts +0 -65
- package/typechain-types/factories/IPPtUsdOracle__factory.ts +0 -49
- package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +0 -1190
- package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +0 -1265
- package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +0 -1291
- package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +0 -1265
- package/typechain-types/factories/PendleOracleFactory__factory.ts +0 -258
- package/typechain-types/factories/PendlePtAssetOracle__factory.ts +0 -199
- package/typechain-types/factories/PendlePtUsdOracle__factory.ts +0 -153
- package/typechain-types/factories/PendleStafiEthSY__factory.ts +0 -118
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../interfaces/IPMarket.sol";
|
|
5
|
+
import "../core/libraries/math/Math.sol";
|
|
6
|
+
|
|
7
|
+
library PendlePtOracleLib {
|
|
8
|
+
using Math for uint256;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* This function returns the twap rate PT/Asset on market
|
|
12
|
+
* @param market market to get rate from
|
|
13
|
+
* @param duration twap duration
|
|
14
|
+
*/
|
|
15
|
+
function getPtToAssetRate(IPMarket market, uint32 duration)
|
|
16
|
+
internal
|
|
17
|
+
view
|
|
18
|
+
returns (uint256 ptToAssetRate)
|
|
19
|
+
{
|
|
20
|
+
uint256 expiry = market.expiry();
|
|
21
|
+
if (expiry <= block.timestamp) {
|
|
22
|
+
return _getPtToAssetRatePostExpiry(market);
|
|
23
|
+
}
|
|
24
|
+
uint256 lnImpliedRate = _getMarketLnImpliedRate(market, duration);
|
|
25
|
+
uint256 timeToExpiry = expiry - block.timestamp;
|
|
26
|
+
uint256 assetToPtRate = uint256(
|
|
27
|
+
MarketMathCore._getExchangeRateFromImpliedRate(lnImpliedRate, timeToExpiry)
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
ptToAssetRate = Math.ONE.divDown(assetToPtRate);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function _getMarketLnImpliedRate(IPMarket market, uint32 duration)
|
|
34
|
+
private
|
|
35
|
+
view
|
|
36
|
+
returns (uint256)
|
|
37
|
+
{
|
|
38
|
+
uint32[] memory durations = new uint32[](2);
|
|
39
|
+
durations[0] = duration;
|
|
40
|
+
|
|
41
|
+
uint216[] memory lnImpliedRateCumulative = market.observe(durations);
|
|
42
|
+
return (lnImpliedRateCumulative[1] - lnImpliedRateCumulative[0]) / duration;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function _getPtToAssetRatePostExpiry(IPMarket market) private view returns (uint256) {
|
|
46
|
+
(IStandardizedYield SY, , IPYieldToken YT) = market.readTokens();
|
|
47
|
+
|
|
48
|
+
uint256 syIndex = SY.exchangeRate();
|
|
49
|
+
uint256 pyIndexCurrent;
|
|
50
|
+
|
|
51
|
+
if (YT.doCacheIndexSameBlock() && YT.pyIndexLastUpdatedBlock() == block.number) {
|
|
52
|
+
pyIndexCurrent = YT.pyIndexStored();
|
|
53
|
+
} else {
|
|
54
|
+
pyIndexCurrent = Math.max(syIndex, YT.pyIndexStored());
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return syIndex.divDown(pyIndexCurrent);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../PendlePtOracleLib.sol";
|
|
5
|
+
import "../../interfaces/IPPtOracle.sol";
|
|
6
|
+
import "../../interfaces/GMX/IGlpManager.sol";
|
|
7
|
+
import "../../core/libraries/math/Math.sol";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @notice The returned price from this contract is multiply with the USD price of GLP read from
|
|
11
|
+
* GLPManager contract
|
|
12
|
+
*
|
|
13
|
+
* @dev This contract uses the PendlePtOracleLibrary to get the price instead of calling PendlePtOracle contract
|
|
14
|
+
* to save 1 external call gas consumption
|
|
15
|
+
*/
|
|
16
|
+
contract PendlePtGlpOracle {
|
|
17
|
+
using PendlePtOracleLib for IPMarket;
|
|
18
|
+
|
|
19
|
+
uint32 public immutable twapDuration;
|
|
20
|
+
address public immutable market;
|
|
21
|
+
address public immutable glpManager;
|
|
22
|
+
error OracleNotReady(bool increaseCardinalityRequired, bool oldestObservationSatisfied);
|
|
23
|
+
|
|
24
|
+
constructor(
|
|
25
|
+
address _ptOracle,
|
|
26
|
+
uint32 _twapDuration,
|
|
27
|
+
address _market,
|
|
28
|
+
address _glpManager
|
|
29
|
+
) {
|
|
30
|
+
twapDuration = _twapDuration;
|
|
31
|
+
market = _market;
|
|
32
|
+
glpManager = _glpManager;
|
|
33
|
+
|
|
34
|
+
(bool increaseCardinalityRequired, , bool oldestObservationSatisfied) = IPPtOracle(
|
|
35
|
+
_ptOracle
|
|
36
|
+
).getOracleState(market, twapDuration);
|
|
37
|
+
|
|
38
|
+
if (increaseCardinalityRequired || !oldestObservationSatisfied) {
|
|
39
|
+
revert OracleNotReady(increaseCardinalityRequired, oldestObservationSatisfied);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function getPtPrice() external view virtual returns (uint256) {
|
|
44
|
+
// using library directly to save 1 external call (gas optimization)
|
|
45
|
+
uint256 ptRate = IPMarket(market).getPtToAssetRate(twapDuration);
|
|
46
|
+
uint256 assetPrice = IGlpManager(glpManager).getPrice(true);
|
|
47
|
+
return (assetPrice * ptRate) / Math.ONE;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function decimals() external pure virtual returns (uint8) {
|
|
51
|
+
return 18;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../../interfaces/IPPtOracle.sol";
|
|
5
|
+
import "../../core/libraries/math/Math.sol";
|
|
6
|
+
import { AggregatorV2V3Interface as IChainlinkAggregator } from "@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface.sol";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @notice The returned price from this contract is multiply with the default USD price of asset
|
|
10
|
+
* read from Chainlink Oracles
|
|
11
|
+
*
|
|
12
|
+
* @dev The ptRate is fetched from PendlePtOracle contract
|
|
13
|
+
*/
|
|
14
|
+
contract PendlePtUsdChainlinkOracle {
|
|
15
|
+
address public immutable ptOracle;
|
|
16
|
+
uint32 public immutable twapDuration;
|
|
17
|
+
address public immutable market;
|
|
18
|
+
address public immutable feed;
|
|
19
|
+
uint8 public immutable feedDecimals;
|
|
20
|
+
|
|
21
|
+
error OracleNotReady(bool increaseCardinalityRequired, bool oldestObservationSatisfied);
|
|
22
|
+
|
|
23
|
+
constructor(
|
|
24
|
+
address _ptOracle,
|
|
25
|
+
uint32 _twapDuration,
|
|
26
|
+
address _market,
|
|
27
|
+
address _feed
|
|
28
|
+
) {
|
|
29
|
+
ptOracle = _ptOracle;
|
|
30
|
+
twapDuration = _twapDuration;
|
|
31
|
+
market = _market;
|
|
32
|
+
feed = _feed;
|
|
33
|
+
feedDecimals = IChainlinkAggregator(feed).decimals();
|
|
34
|
+
|
|
35
|
+
(bool increaseCardinalityRequired, , bool oldestObservationSatisfied) = IPPtOracle(
|
|
36
|
+
_ptOracle
|
|
37
|
+
).getOracleState(market, twapDuration);
|
|
38
|
+
|
|
39
|
+
if (increaseCardinalityRequired || !oldestObservationSatisfied) {
|
|
40
|
+
revert OracleNotReady(increaseCardinalityRequired, oldestObservationSatisfied);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function getPtPrice() external view virtual returns (uint256) {
|
|
45
|
+
uint256 ptRate = IPPtOracle(ptOracle).getPtToAssetRate(market, twapDuration);
|
|
46
|
+
uint256 assetPrice = _getUnderlyingAssetPrice();
|
|
47
|
+
return (assetPrice * ptRate) / Math.ONE;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function _getUnderlyingAssetPrice() internal view virtual returns (uint256) {
|
|
51
|
+
uint256 rawPrice = uint256(IChainlinkAggregator(feed).latestAnswer());
|
|
52
|
+
return
|
|
53
|
+
feedDecimals < 18
|
|
54
|
+
? rawPrice * 10**(18 - feedDecimals)
|
|
55
|
+
: rawPrice / 10**(feedDecimals - 18);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function decimals() external pure virtual returns (uint8) {
|
|
59
|
+
return 18;
|
|
60
|
+
}
|
|
61
|
+
}
|
package/deployments/1-core.json
CHANGED
|
@@ -23,10 +23,11 @@
|
|
|
23
23
|
"router": "0x0000000001e4ef00d069e71d6ba041b0a16f7ea0",
|
|
24
24
|
"routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
|
|
25
25
|
"pendleSwap": "0x38812C3AC3563Bf200482ac9D096952D7cB55f9b",
|
|
26
|
+
"routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335",
|
|
27
|
+
"ptOracle": "0x414d3C8A26157085f286abE3BC6E1bb010733602",
|
|
26
28
|
"vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
|
|
27
29
|
"senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
|
|
28
30
|
"votingController": "0x44087E105137a5095c008AaB6a6530182821F2F0",
|
|
29
31
|
"gaugeController": "0x47D74516B33eD5D70ddE7119A40839f6Fcc24e57",
|
|
30
|
-
"feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2"
|
|
31
|
-
"routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335"
|
|
32
|
+
"feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2"
|
|
32
33
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "SY ankrETH-WETH_BalancerLP Aura",
|
|
3
|
-
"SY": "
|
|
4
|
-
"YT": "
|
|
5
|
-
"PT": "
|
|
6
|
-
"market": "
|
|
3
|
+
"SY": "0x7f531a70A240Fba0e40169E56EedE1C6B7Ef8463",
|
|
4
|
+
"YT": "0x5A0f44FE239856091C52a4b2114aba55773b9c8d",
|
|
5
|
+
"PT": "0xD961c25aDb22171B142f7e9E14dF01962D4decDf",
|
|
6
|
+
"market": "0xabC8ae339e3F560BF700A3f6eE85Ee719979762b",
|
|
7
7
|
"expiry": 1727308800,
|
|
8
|
-
"bulkSeller": "
|
|
8
|
+
"bulkSeller": "0x7d54A138835C66cb930aaF66C6007B3FC5bc731c",
|
|
9
9
|
"scalarRoot": "24629050000000000000",
|
|
10
10
|
"initAnchor": "1172739000000000000"
|
|
11
11
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "SY rETH-WETH_BalancerLP Aura",
|
|
3
|
-
"SY": "
|
|
4
|
-
"YT": "
|
|
5
|
-
"PT": "
|
|
6
|
-
"market": "
|
|
3
|
+
"SY": "0xc0dd85720E3Bc7959890127b5d3Af2D29f6C74f4",
|
|
4
|
+
"YT": "0x1524b28167a54C5Daef3d1A511A31436ACC91ed0",
|
|
5
|
+
"PT": "0xa5D0d71cB2601d7082E1c39cF1B6f131Bf866a33",
|
|
6
|
+
"market": "0x2EC8C498ec997aD963969a2c93Bf7150a1F5b213",
|
|
7
7
|
"expiry": 1735171200,
|
|
8
|
-
"bulkSeller": "
|
|
8
|
+
"bulkSeller": "0x3d9E694db2F50c31cA9bBb61c8C0046CeDC569cC",
|
|
9
9
|
"scalarRoot": "52750270000000000000",
|
|
10
10
|
"initAnchor": "1104792000000000000"
|
|
11
11
|
}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"routerStatic": "0xAdB09F65bd90d19e3148D9ccb693F3161C6DB3E8",
|
|
22
22
|
"pendleSwap": "0xF0bF560F01d4196773a5c58A09d6D34b6bba4503",
|
|
23
23
|
"routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335",
|
|
24
|
+
"ptOracle": "0x428f2f93afAc3F96B0DE59854038c585e06165C8",
|
|
24
25
|
"receiverEndpoint": "0xC9215ae9EC67385F38C755D862C8eE3702B5793A",
|
|
25
26
|
"vePendle": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
|
|
26
27
|
"gaugeController": "0x1e56299ebc8a1010cec26005d12e3e5c5cc2db00"
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@pendle/core-v2",
|
|
3
3
|
"description": "Core smart contracts of Pendle Protocol.",
|
|
4
4
|
"license": "BUSL-1.1",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.9.0-mainnet",
|
|
6
6
|
"homepage": "https://pendle.finance",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"pendle",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"packageManager": "yarn@3.3.1",
|
|
46
46
|
"dependencies": {
|
|
47
|
+
"@chainlink/contracts": "^0.6.1",
|
|
47
48
|
"@openzeppelin/contracts": "4.7.3",
|
|
48
49
|
"@openzeppelin/contracts-upgradeable": "4.7.3"
|
|
49
50
|
}
|
|
@@ -26,6 +26,7 @@ export interface IGlpManagerInterface extends utils.Interface {
|
|
|
26
26
|
contractName: "IGlpManager";
|
|
27
27
|
functions: {
|
|
28
28
|
"getAumInUsdg(bool)": FunctionFragment;
|
|
29
|
+
"getPrice(bool)": FunctionFragment;
|
|
29
30
|
"gov()": FunctionFragment;
|
|
30
31
|
"setCooldownDuration(uint256)": FunctionFragment;
|
|
31
32
|
"vault()": FunctionFragment;
|
|
@@ -35,6 +36,7 @@ export interface IGlpManagerInterface extends utils.Interface {
|
|
|
35
36
|
functionFragment: "getAumInUsdg",
|
|
36
37
|
values: [boolean]
|
|
37
38
|
): string;
|
|
39
|
+
encodeFunctionData(functionFragment: "getPrice", values: [boolean]): string;
|
|
38
40
|
encodeFunctionData(functionFragment: "gov", values?: undefined): string;
|
|
39
41
|
encodeFunctionData(
|
|
40
42
|
functionFragment: "setCooldownDuration",
|
|
@@ -46,6 +48,7 @@ export interface IGlpManagerInterface extends utils.Interface {
|
|
|
46
48
|
functionFragment: "getAumInUsdg",
|
|
47
49
|
data: BytesLike
|
|
48
50
|
): Result;
|
|
51
|
+
decodeFunctionResult(functionFragment: "getPrice", data: BytesLike): Result;
|
|
49
52
|
decodeFunctionResult(functionFragment: "gov", data: BytesLike): Result;
|
|
50
53
|
decodeFunctionResult(
|
|
51
54
|
functionFragment: "setCooldownDuration",
|
|
@@ -89,6 +92,11 @@ export interface IGlpManager extends BaseContract {
|
|
|
89
92
|
overrides?: CallOverrides
|
|
90
93
|
): Promise<[BigNumber]>;
|
|
91
94
|
|
|
95
|
+
getPrice(
|
|
96
|
+
_maximise: boolean,
|
|
97
|
+
overrides?: CallOverrides
|
|
98
|
+
): Promise<[BigNumber]>;
|
|
99
|
+
|
|
92
100
|
gov(overrides?: CallOverrides): Promise<[string]>;
|
|
93
101
|
|
|
94
102
|
setCooldownDuration(
|
|
@@ -104,6 +112,8 @@ export interface IGlpManager extends BaseContract {
|
|
|
104
112
|
overrides?: CallOverrides
|
|
105
113
|
): Promise<BigNumber>;
|
|
106
114
|
|
|
115
|
+
getPrice(_maximise: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
116
|
+
|
|
107
117
|
gov(overrides?: CallOverrides): Promise<string>;
|
|
108
118
|
|
|
109
119
|
setCooldownDuration(
|
|
@@ -119,6 +129,8 @@ export interface IGlpManager extends BaseContract {
|
|
|
119
129
|
overrides?: CallOverrides
|
|
120
130
|
): Promise<BigNumber>;
|
|
121
131
|
|
|
132
|
+
getPrice(_maximise: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
133
|
+
|
|
122
134
|
gov(overrides?: CallOverrides): Promise<string>;
|
|
123
135
|
|
|
124
136
|
setCooldownDuration(
|
|
@@ -137,6 +149,8 @@ export interface IGlpManager extends BaseContract {
|
|
|
137
149
|
overrides?: CallOverrides
|
|
138
150
|
): Promise<BigNumber>;
|
|
139
151
|
|
|
152
|
+
getPrice(_maximise: boolean, overrides?: CallOverrides): Promise<BigNumber>;
|
|
153
|
+
|
|
140
154
|
gov(overrides?: CallOverrides): Promise<BigNumber>;
|
|
141
155
|
|
|
142
156
|
setCooldownDuration(
|
|
@@ -153,6 +167,11 @@ export interface IGlpManager extends BaseContract {
|
|
|
153
167
|
overrides?: CallOverrides
|
|
154
168
|
): Promise<PopulatedTransaction>;
|
|
155
169
|
|
|
170
|
+
getPrice(
|
|
171
|
+
_maximise: boolean,
|
|
172
|
+
overrides?: CallOverrides
|
|
173
|
+
): Promise<PopulatedTransaction>;
|
|
174
|
+
|
|
156
175
|
gov(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
157
176
|
|
|
158
177
|
setCooldownDuration(
|
|
@@ -59,6 +59,7 @@ export type MarketStateStructOutput = [
|
|
|
59
59
|
export interface IPMarketInterface extends utils.Interface {
|
|
60
60
|
contractName: "IPMarket";
|
|
61
61
|
functions: {
|
|
62
|
+
"_storage()": FunctionFragment;
|
|
62
63
|
"activeBalance(address)": FunctionFragment;
|
|
63
64
|
"allowance(address,address)": FunctionFragment;
|
|
64
65
|
"approve(address,uint256)": FunctionFragment;
|
|
@@ -71,6 +72,7 @@ export interface IPMarketInterface extends utils.Interface {
|
|
|
71
72
|
"isExpired()": FunctionFragment;
|
|
72
73
|
"mint(address,uint256,uint256)": FunctionFragment;
|
|
73
74
|
"name()": FunctionFragment;
|
|
75
|
+
"observations(uint256)": FunctionFragment;
|
|
74
76
|
"observe(uint32[])": FunctionFragment;
|
|
75
77
|
"readState(address)": FunctionFragment;
|
|
76
78
|
"readTokens()": FunctionFragment;
|
|
@@ -84,6 +86,7 @@ export interface IPMarketInterface extends utils.Interface {
|
|
|
84
86
|
"transferFrom(address,address,uint256)": FunctionFragment;
|
|
85
87
|
};
|
|
86
88
|
|
|
89
|
+
encodeFunctionData(functionFragment: "_storage", values?: undefined): string;
|
|
87
90
|
encodeFunctionData(
|
|
88
91
|
functionFragment: "activeBalance",
|
|
89
92
|
values: [string]
|
|
@@ -117,6 +120,10 @@ export interface IPMarketInterface extends utils.Interface {
|
|
|
117
120
|
values: [string, BigNumberish, BigNumberish]
|
|
118
121
|
): string;
|
|
119
122
|
encodeFunctionData(functionFragment: "name", values?: undefined): string;
|
|
123
|
+
encodeFunctionData(
|
|
124
|
+
functionFragment: "observations",
|
|
125
|
+
values: [BigNumberish]
|
|
126
|
+
): string;
|
|
120
127
|
encodeFunctionData(
|
|
121
128
|
functionFragment: "observe",
|
|
122
129
|
values: [BigNumberish[]]
|
|
@@ -156,6 +163,7 @@ export interface IPMarketInterface extends utils.Interface {
|
|
|
156
163
|
values: [string, string, BigNumberish]
|
|
157
164
|
): string;
|
|
158
165
|
|
|
166
|
+
decodeFunctionResult(functionFragment: "_storage", data: BytesLike): Result;
|
|
159
167
|
decodeFunctionResult(
|
|
160
168
|
functionFragment: "activeBalance",
|
|
161
169
|
data: BytesLike
|
|
@@ -177,6 +185,10 @@ export interface IPMarketInterface extends utils.Interface {
|
|
|
177
185
|
decodeFunctionResult(functionFragment: "isExpired", data: BytesLike): Result;
|
|
178
186
|
decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
|
|
179
187
|
decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
|
|
188
|
+
decodeFunctionResult(
|
|
189
|
+
functionFragment: "observations",
|
|
190
|
+
data: BytesLike
|
|
191
|
+
): Result;
|
|
180
192
|
decodeFunctionResult(functionFragment: "observe", data: BytesLike): Result;
|
|
181
193
|
decodeFunctionResult(functionFragment: "readState", data: BytesLike): Result;
|
|
182
194
|
decodeFunctionResult(functionFragment: "readTokens", data: BytesLike): Result;
|
|
@@ -328,6 +340,19 @@ export interface IPMarket extends BaseContract {
|
|
|
328
340
|
removeListener: OnEvent<this>;
|
|
329
341
|
|
|
330
342
|
functions: {
|
|
343
|
+
_storage(
|
|
344
|
+
overrides?: CallOverrides
|
|
345
|
+
): Promise<
|
|
346
|
+
[BigNumber, BigNumber, BigNumber, number, number, number] & {
|
|
347
|
+
totalPt: BigNumber;
|
|
348
|
+
totalSy: BigNumber;
|
|
349
|
+
lastLnImpliedRate: BigNumber;
|
|
350
|
+
observationIndex: number;
|
|
351
|
+
observationCardinality: number;
|
|
352
|
+
observationCardinalityNext: number;
|
|
353
|
+
}
|
|
354
|
+
>;
|
|
355
|
+
|
|
331
356
|
activeBalance(
|
|
332
357
|
user: string,
|
|
333
358
|
overrides?: CallOverrides
|
|
@@ -376,6 +401,17 @@ export interface IPMarket extends BaseContract {
|
|
|
376
401
|
|
|
377
402
|
name(overrides?: CallOverrides): Promise<[string]>;
|
|
378
403
|
|
|
404
|
+
observations(
|
|
405
|
+
index: BigNumberish,
|
|
406
|
+
overrides?: CallOverrides
|
|
407
|
+
): Promise<
|
|
408
|
+
[number, BigNumber, boolean] & {
|
|
409
|
+
blockTimestamp: number;
|
|
410
|
+
lnImpliedRateCumulative: BigNumber;
|
|
411
|
+
initialized: boolean;
|
|
412
|
+
}
|
|
413
|
+
>;
|
|
414
|
+
|
|
379
415
|
observe(
|
|
380
416
|
secondsAgos: BigNumberish[],
|
|
381
417
|
overrides?: CallOverrides
|
|
@@ -431,6 +467,19 @@ export interface IPMarket extends BaseContract {
|
|
|
431
467
|
): Promise<ContractTransaction>;
|
|
432
468
|
};
|
|
433
469
|
|
|
470
|
+
_storage(
|
|
471
|
+
overrides?: CallOverrides
|
|
472
|
+
): Promise<
|
|
473
|
+
[BigNumber, BigNumber, BigNumber, number, number, number] & {
|
|
474
|
+
totalPt: BigNumber;
|
|
475
|
+
totalSy: BigNumber;
|
|
476
|
+
lastLnImpliedRate: BigNumber;
|
|
477
|
+
observationIndex: number;
|
|
478
|
+
observationCardinality: number;
|
|
479
|
+
observationCardinalityNext: number;
|
|
480
|
+
}
|
|
481
|
+
>;
|
|
482
|
+
|
|
434
483
|
activeBalance(user: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
435
484
|
|
|
436
485
|
allowance(
|
|
@@ -476,6 +525,17 @@ export interface IPMarket extends BaseContract {
|
|
|
476
525
|
|
|
477
526
|
name(overrides?: CallOverrides): Promise<string>;
|
|
478
527
|
|
|
528
|
+
observations(
|
|
529
|
+
index: BigNumberish,
|
|
530
|
+
overrides?: CallOverrides
|
|
531
|
+
): Promise<
|
|
532
|
+
[number, BigNumber, boolean] & {
|
|
533
|
+
blockTimestamp: number;
|
|
534
|
+
lnImpliedRateCumulative: BigNumber;
|
|
535
|
+
initialized: boolean;
|
|
536
|
+
}
|
|
537
|
+
>;
|
|
538
|
+
|
|
479
539
|
observe(
|
|
480
540
|
secondsAgos: BigNumberish[],
|
|
481
541
|
overrides?: CallOverrides
|
|
@@ -531,6 +591,19 @@ export interface IPMarket extends BaseContract {
|
|
|
531
591
|
): Promise<ContractTransaction>;
|
|
532
592
|
|
|
533
593
|
callStatic: {
|
|
594
|
+
_storage(
|
|
595
|
+
overrides?: CallOverrides
|
|
596
|
+
): Promise<
|
|
597
|
+
[BigNumber, BigNumber, BigNumber, number, number, number] & {
|
|
598
|
+
totalPt: BigNumber;
|
|
599
|
+
totalSy: BigNumber;
|
|
600
|
+
lastLnImpliedRate: BigNumber;
|
|
601
|
+
observationIndex: number;
|
|
602
|
+
observationCardinality: number;
|
|
603
|
+
observationCardinalityNext: number;
|
|
604
|
+
}
|
|
605
|
+
>;
|
|
606
|
+
|
|
534
607
|
activeBalance(user: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
535
608
|
|
|
536
609
|
allowance(
|
|
@@ -584,6 +657,17 @@ export interface IPMarket extends BaseContract {
|
|
|
584
657
|
|
|
585
658
|
name(overrides?: CallOverrides): Promise<string>;
|
|
586
659
|
|
|
660
|
+
observations(
|
|
661
|
+
index: BigNumberish,
|
|
662
|
+
overrides?: CallOverrides
|
|
663
|
+
): Promise<
|
|
664
|
+
[number, BigNumber, boolean] & {
|
|
665
|
+
blockTimestamp: number;
|
|
666
|
+
lnImpliedRateCumulative: BigNumber;
|
|
667
|
+
initialized: boolean;
|
|
668
|
+
}
|
|
669
|
+
>;
|
|
670
|
+
|
|
587
671
|
observe(
|
|
588
672
|
secondsAgos: BigNumberish[],
|
|
589
673
|
overrides?: CallOverrides
|
|
@@ -731,6 +815,8 @@ export interface IPMarket extends BaseContract {
|
|
|
731
815
|
};
|
|
732
816
|
|
|
733
817
|
estimateGas: {
|
|
818
|
+
_storage(overrides?: CallOverrides): Promise<BigNumber>;
|
|
819
|
+
|
|
734
820
|
activeBalance(user: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
735
821
|
|
|
736
822
|
allowance(
|
|
@@ -776,6 +862,11 @@ export interface IPMarket extends BaseContract {
|
|
|
776
862
|
|
|
777
863
|
name(overrides?: CallOverrides): Promise<BigNumber>;
|
|
778
864
|
|
|
865
|
+
observations(
|
|
866
|
+
index: BigNumberish,
|
|
867
|
+
overrides?: CallOverrides
|
|
868
|
+
): Promise<BigNumber>;
|
|
869
|
+
|
|
779
870
|
observe(
|
|
780
871
|
secondsAgos: BigNumberish[],
|
|
781
872
|
overrides?: CallOverrides
|
|
@@ -825,6 +916,8 @@ export interface IPMarket extends BaseContract {
|
|
|
825
916
|
};
|
|
826
917
|
|
|
827
918
|
populateTransaction: {
|
|
919
|
+
_storage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
920
|
+
|
|
828
921
|
activeBalance(
|
|
829
922
|
user: string,
|
|
830
923
|
overrides?: CallOverrides
|
|
@@ -876,6 +969,11 @@ export interface IPMarket extends BaseContract {
|
|
|
876
969
|
|
|
877
970
|
name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
878
971
|
|
|
972
|
+
observations(
|
|
973
|
+
index: BigNumberish,
|
|
974
|
+
overrides?: CallOverrides
|
|
975
|
+
): Promise<PopulatedTransaction>;
|
|
976
|
+
|
|
879
977
|
observe(
|
|
880
978
|
secondsAgos: BigNumberish[],
|
|
881
979
|
overrides?: CallOverrides
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
Signer,
|
|
12
12
|
utils,
|
|
13
13
|
} from "ethers";
|
|
14
|
-
import { FunctionFragment, Result } from "@ethersproject/abi";
|
|
14
|
+
import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
|
|
15
15
|
import { Listener, Provider } from "@ethersproject/providers";
|
|
16
16
|
import type {
|
|
17
17
|
TypedEventFilter,
|
|
@@ -45,9 +45,21 @@ export interface IPPtOracleInterface extends utils.Interface {
|
|
|
45
45
|
data: BytesLike
|
|
46
46
|
): Result;
|
|
47
47
|
|
|
48
|
-
events: {
|
|
48
|
+
events: {
|
|
49
|
+
"SetBlockCycleNumerator(uint16)": EventFragment;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
getEvent(nameOrSignatureOrTopic: "SetBlockCycleNumerator"): EventFragment;
|
|
49
53
|
}
|
|
50
54
|
|
|
55
|
+
export type SetBlockCycleNumeratorEvent = TypedEvent<
|
|
56
|
+
[number],
|
|
57
|
+
{ newBlockCycleNumerator: number }
|
|
58
|
+
>;
|
|
59
|
+
|
|
60
|
+
export type SetBlockCycleNumeratorEventFilter =
|
|
61
|
+
TypedEventFilter<SetBlockCycleNumeratorEvent>;
|
|
62
|
+
|
|
51
63
|
export interface IPPtOracle extends BaseContract {
|
|
52
64
|
contractName: "IPPtOracle";
|
|
53
65
|
connect(signerOrProvider: Signer | Provider | string): this;
|
|
@@ -133,7 +145,14 @@ export interface IPPtOracle extends BaseContract {
|
|
|
133
145
|
): Promise<BigNumber>;
|
|
134
146
|
};
|
|
135
147
|
|
|
136
|
-
filters: {
|
|
148
|
+
filters: {
|
|
149
|
+
"SetBlockCycleNumerator(uint16)"(
|
|
150
|
+
newBlockCycleNumerator?: null
|
|
151
|
+
): SetBlockCycleNumeratorEventFilter;
|
|
152
|
+
SetBlockCycleNumerator(
|
|
153
|
+
newBlockCycleNumerator?: null
|
|
154
|
+
): SetBlockCycleNumeratorEventFilter;
|
|
155
|
+
};
|
|
137
156
|
|
|
138
157
|
estimateGas: {
|
|
139
158
|
getOracleState(
|
|
@@ -39,6 +39,7 @@ export interface IPYieldTokenInterface extends utils.Interface {
|
|
|
39
39
|
"mintPY(address,address)": FunctionFragment;
|
|
40
40
|
"name()": FunctionFragment;
|
|
41
41
|
"pyIndexCurrent()": FunctionFragment;
|
|
42
|
+
"pyIndexLastUpdatedBlock()": FunctionFragment;
|
|
42
43
|
"pyIndexStored()": FunctionFragment;
|
|
43
44
|
"redeemDueInterestAndRewards(address,bool,bool)": FunctionFragment;
|
|
44
45
|
"redeemPY(address)": FunctionFragment;
|
|
@@ -84,6 +85,10 @@ export interface IPYieldTokenInterface extends utils.Interface {
|
|
|
84
85
|
functionFragment: "pyIndexCurrent",
|
|
85
86
|
values?: undefined
|
|
86
87
|
): string;
|
|
88
|
+
encodeFunctionData(
|
|
89
|
+
functionFragment: "pyIndexLastUpdatedBlock",
|
|
90
|
+
values?: undefined
|
|
91
|
+
): string;
|
|
87
92
|
encodeFunctionData(
|
|
88
93
|
functionFragment: "pyIndexStored",
|
|
89
94
|
values?: undefined
|
|
@@ -146,6 +151,10 @@ export interface IPYieldTokenInterface extends utils.Interface {
|
|
|
146
151
|
functionFragment: "pyIndexCurrent",
|
|
147
152
|
data: BytesLike
|
|
148
153
|
): Result;
|
|
154
|
+
decodeFunctionResult(
|
|
155
|
+
functionFragment: "pyIndexLastUpdatedBlock",
|
|
156
|
+
data: BytesLike
|
|
157
|
+
): Result;
|
|
149
158
|
decodeFunctionResult(
|
|
150
159
|
functionFragment: "pyIndexStored",
|
|
151
160
|
data: BytesLike
|
|
@@ -339,6 +348,8 @@ export interface IPYieldToken extends BaseContract {
|
|
|
339
348
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
340
349
|
): Promise<ContractTransaction>;
|
|
341
350
|
|
|
351
|
+
pyIndexLastUpdatedBlock(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
352
|
+
|
|
342
353
|
pyIndexStored(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
343
354
|
|
|
344
355
|
redeemDueInterestAndRewards(
|
|
@@ -441,6 +452,8 @@ export interface IPYieldToken extends BaseContract {
|
|
|
441
452
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
442
453
|
): Promise<ContractTransaction>;
|
|
443
454
|
|
|
455
|
+
pyIndexLastUpdatedBlock(overrides?: CallOverrides): Promise<BigNumber>;
|
|
456
|
+
|
|
444
457
|
pyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
|
|
445
458
|
|
|
446
459
|
redeemDueInterestAndRewards(
|
|
@@ -539,6 +552,8 @@ export interface IPYieldToken extends BaseContract {
|
|
|
539
552
|
|
|
540
553
|
pyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
|
|
541
554
|
|
|
555
|
+
pyIndexLastUpdatedBlock(overrides?: CallOverrides): Promise<BigNumber>;
|
|
556
|
+
|
|
542
557
|
pyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
|
|
543
558
|
|
|
544
559
|
redeemDueInterestAndRewards(
|
|
@@ -728,6 +743,8 @@ export interface IPYieldToken extends BaseContract {
|
|
|
728
743
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
729
744
|
): Promise<BigNumber>;
|
|
730
745
|
|
|
746
|
+
pyIndexLastUpdatedBlock(overrides?: CallOverrides): Promise<BigNumber>;
|
|
747
|
+
|
|
731
748
|
pyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
|
|
732
749
|
|
|
733
750
|
redeemDueInterestAndRewards(
|
|
@@ -826,6 +843,10 @@ export interface IPYieldToken extends BaseContract {
|
|
|
826
843
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
827
844
|
): Promise<PopulatedTransaction>;
|
|
828
845
|
|
|
846
|
+
pyIndexLastUpdatedBlock(
|
|
847
|
+
overrides?: CallOverrides
|
|
848
|
+
): Promise<PopulatedTransaction>;
|
|
849
|
+
|
|
829
850
|
pyIndexStored(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
830
851
|
|
|
831
852
|
redeemDueInterestAndRewards(
|