@pendle/core-v2 1.5.0-testnet → 1.6.0-testnet
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/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/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
- 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/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +492 -0
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- 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/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- 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/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- 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/BulkSeller.sol/BulkSeller.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
- 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/OracleLib.sol/OracleLib.json +2 -2
- 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/Ape/sAPE.sol/sAPE.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +1171 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +1171 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +1171 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +1171 -0
- 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/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/{PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json → PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.json} +33 -54
- 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/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
- 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/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +987 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
- 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/Errors.sol/Errors.json +12 -2
- 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 +4 -0
- package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.json +56 -0
- 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/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.json +169 -0
- 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/Broadcaster.sol/Broadcaster.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +200 -0
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +89 -0
- 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/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +2 -2
- 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/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol +166 -0
- package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +19 -7
- package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethAnkrethSY.sol → PendleAuraWethAnkrethSYV2.sol} +23 -15
- package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethRethSY.sol → PendleAuraWethRocketEthSYV2.sol} +34 -25
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol +135 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethWstethSY.sol → PendleAuraWethWstethSYV2.sol} +23 -15
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/{PendleAuraBalancerStableLPSY.sol → PendleAuraBalancerStableLPSYV2.sol} +97 -33
- package/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol +132 -0
- package/contracts/core/libraries/Errors.sol +3 -0
- package/contracts/interfaces/Balancer/IVault.sol +21 -4
- package/contracts/interfaces/Frax/IFrxEthMinter.sol +10 -0
- package/contracts/interfaces/GMX/IGlpManager.sol +2 -0
- package/contracts/interfaces/IPFeeDistributor.sol +3 -4
- package/contracts/interfaces/IPFeeDistributorV2.sol +46 -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/offchain-helpers/EmptyUUPS.sol +16 -0
- package/contracts/offchain-helpers/PendleMulticallV1.sol +61 -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/43113-core.json +2 -1
- package/package.json +4 -3
- package/typechain-types/{AggregationRouterHelper.ts → EmptyUUPS.ts} +5 -45
- package/typechain-types/{SCYBase.ts → ICamelotPair.ts} +415 -444
- package/typechain-types/ICamelotRouter.ts +955 -0
- package/typechain-types/IChronosFactory.ts +245 -0
- package/typechain-types/IChronosPair.ts +631 -0
- package/typechain-types/IChronosRouter.ts +311 -0
- package/typechain-types/{IBoringOwnableUpgradeable.ts → IERC721Receiver.ts} +36 -30
- package/typechain-types/{ICelerMessageBus.ts → IFrxEthMinter.ts} +53 -45
- package/typechain-types/IGlpManager.ts +19 -0
- package/typechain-types/IMaGauge.ts +1246 -0
- package/typechain-types/IMaLPNFT.ts +1146 -0
- package/typechain-types/IPFeeDistributorV2.ts +287 -0
- package/typechain-types/IPMarket.ts +98 -0
- package/typechain-types/IPPtOracle.ts +184 -0
- package/typechain-types/IPYieldToken.ts +21 -0
- package/typechain-types/IPair.ts +553 -0
- package/typechain-types/IPairFactory.ts +245 -0
- package/typechain-types/{PendleAuraBalancerStableLPSY.ts → PendleAuraBalancerStableLPSYV2.ts} +61 -72
- package/typechain-types/{PendleAuraWethRethSY.ts → PendleAuraWethAnkrethSYV2.ts} +60 -98
- package/typechain-types/PendleAuraWethRocketEthSYV2.ts +1511 -0
- package/typechain-types/{PendleAuraWethWstethSY.ts → PendleAuraWethStafiEthSY.ts} +60 -72
- package/typechain-types/{PendleAuraWethAnkrethSY.ts → PendleAuraWethWstethSYV2.ts} +60 -72
- package/typechain-types/PendleCamelotV1Base.ts +120 -0
- package/typechain-types/PendleChronosChrEthSY.ts +1520 -0
- package/typechain-types/PendleChronosNFTManager.ts +217 -0
- package/typechain-types/PendleChronosVolatilePairBase.ts +134 -0
- package/typechain-types/{PtAMMArb.ts → PendleFeeDistributorV2.ts} +324 -189
- package/typechain-types/PendleMulticallV1.ts +162 -0
- package/typechain-types/{PendlePtOracleBase.ts → PendlePtGlpOracle.ts} +19 -39
- package/typechain-types/{CelerSenderUpg.ts → PendlePtOracle.ts} +140 -68
- package/typechain-types/{PendlePtUSDOracle.ts → PendlePtUsdChainlinkOracle.ts} +18 -59
- package/typechain-types/{SYBaseAutoCompound.ts → PendleSfrxEthSY.ts} +44 -5
- 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/Broadcaster__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
- package/typechain-types/factories/BulkSeller__factory.ts +1 -1
- package/typechain-types/factories/EmptyUUPS__factory.ts +250 -0
- package/typechain-types/factories/Errors__factory.ts +11 -1
- package/typechain-types/factories/{SCYBase__factory.ts → ICamelotPair__factory.ts} +208 -278
- package/typechain-types/factories/ICamelotRouter__factory.ts +662 -0
- package/typechain-types/factories/{CelerSenderUpg__factory.ts → IChronosFactory__factory.ts} +80 -76
- package/typechain-types/factories/IChronosPair__factory.ts +473 -0
- package/typechain-types/factories/IChronosRouter__factory.ts +210 -0
- package/typechain-types/factories/IERC721Receiver__factory.ts +60 -0
- package/typechain-types/factories/{StEthHelper__factory.ts → IFrxEthMinter__factory.ts} +19 -13
- package/typechain-types/factories/IGlpManager__factory.ts +19 -0
- package/typechain-types/factories/{SCYBaseWithDynamicRewards__factory.ts → IMaGauge__factory.ts} +313 -348
- package/typechain-types/factories/{ISuperComposableYield__factory.ts → IMaLPNFT__factory.ts} +310 -270
- package/typechain-types/factories/{PendleFeeDistributorAbstract__factory.ts → IPFeeDistributorV2__factory.ts} +67 -66
- package/typechain-types/factories/IPMarket__factory.ts +67 -0
- package/typechain-types/factories/IPPtOracle__factory.ts +94 -0
- package/typechain-types/factories/IPYieldToken__factory.ts +13 -0
- package/typechain-types/factories/{EpochResultManager__factory.ts → IPairFactory__factory.ts} +72 -54
- package/typechain-types/factories/{IAToken__factory.ts → IPair__factory.ts} +205 -77
- package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/{PendleAuraBalancerStableLPSY__factory.ts → PendleAuraBalancerStableLPSYV2__factory.ts} +39 -60
- package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1244 -0
- package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1244 -0
- package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1244 -0
- package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1244 -0
- package/typechain-types/factories/{ISiloPriceProvider__factory.ts → PendleCamelotV1Base__factory.ts} +21 -33
- package/typechain-types/factories/PendleChronosChrEthSY__factory.ts +1323 -0
- package/typechain-types/factories/{IYearnVault__factory.ts → PendleChronosNFTManager__factory.ts} +47 -46
- package/typechain-types/factories/{PendlePtOracleBase__factory.ts → PendleChronosVolatilePairBase__factory.ts} +24 -33
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +549 -0
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
- 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/PendleLooksStakingSY__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/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMulticallV1__factory.ts +142 -0
- 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 +198 -0
- package/typechain-types/factories/PendlePtOracle__factory.ts +312 -0
- package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +228 -0
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__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/PendleSfrxEthSY__factory.ts +1051 -0
- package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwapArbitrum__factory.ts +1 -1
- package/typechain-types/factories/PendleSwapEthereum__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWstEthSY__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/factories/SAPE__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +185 -77
- package/typechain-types/index.ts +48 -22
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -592
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +0 -1192
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +0 -1218
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +0 -1192
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +0 -47
- package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +0 -219
- package/contracts/offchain-helpers/PendleMulticall.sol +0 -26
- package/typechain-types/AccessControl.ts +0 -360
- package/typechain-types/ActionBaseMintRedeem.ts +0 -87
- package/typechain-types/ActionCallback.ts +0 -134
- package/typechain-types/ActionCore.ts +0 -1758
- package/typechain-types/ActionSCYAndPTBase.ts +0 -87
- package/typechain-types/ActionSCYAndPYBase.ts +0 -87
- package/typechain-types/ActionSCYAndYTBase.ts +0 -87
- package/typechain-types/ActionSwapPTYT.ts +0 -237
- package/typechain-types/ActionYT.ts +0 -509
- package/typechain-types/BaseSplitCodeFactory.ts +0 -118
- package/typechain-types/BoringOwnable.ts +0 -194
- package/typechain-types/BoringOwnableData.ts +0 -100
- package/typechain-types/BribeDistributor.ts +0 -363
- package/typechain-types/CelerReceiverUpg.ts +0 -372
- package/typechain-types/ComposableStablePreview.ts +0 -217
- package/typechain-types/Curve3CrvPoolHelper.ts +0 -236
- package/typechain-types/CurveFraxUsdcPoolHelper.ts +0 -158
- package/typechain-types/CurveUsdd3CrvPoolHelper.ts +0 -184
- package/typechain-types/DistributorBase.ts +0 -363
- package/typechain-types/ERC165.ts +0 -102
- package/typechain-types/ERC1967UpgradeUpgradeable.ts +0 -97
- package/typechain-types/EpochResultManager.ts +0 -261
- package/typechain-types/FeeDistributor.ts +0 -416
- package/typechain-types/FeeDistributorAbstract.ts +0 -240
- package/typechain-types/FeeDistributorVePendle.ts +0 -81
- package/typechain-types/FeeDistributorVoting.ts +0 -272
- package/typechain-types/FeeDistributorVotingFactory.ts +0 -293
- package/typechain-types/GMXPreviewHelper.ts +0 -121
- package/typechain-types/IAToken.ts +0 -386
- package/typechain-types/IAavePool.ts +0 -192
- package/typechain-types/IAaveRewardsController.ts +0 -148
- package/typechain-types/IAccessControl.ts +0 -305
- package/typechain-types/IAggregationRouterHelper.ts +0 -108
- package/typechain-types/IBeaconUpgradeable.ts +0 -87
- package/typechain-types/ICelerMessageReceiverApp.ts +0 -120
- package/typechain-types/IChainlinkAggregator.ts +0 -246
- package/typechain-types/IERC165.ts +0 -102
- package/typechain-types/IERC1822ProxiableUpgradeable.ts +0 -87
- package/typechain-types/IERC20Upgradeable.ts +0 -300
- package/typechain-types/IEulerEToken.ts +0 -320
- package/typechain-types/IEulerMarkets.ts +0 -204
- package/typechain-types/IKyberSwapAggregationRouterHelper.ts +0 -109
- package/typechain-types/IMetaAggregationRouter.ts +0 -213
- package/typechain-types/IMultihopRouter.ts +0 -209
- package/typechain-types/IMultihopRouterEthereum.ts +0 -209
- package/typechain-types/IPActionCore.ts +0 -1739
- package/typechain-types/IPActionSwapPTYT.ts +0 -237
- package/typechain-types/IPActionYT.ts +0 -490
- package/typechain-types/IPBatchSeller.ts +0 -234
- package/typechain-types/IPFeeDistributorFactory.ts +0 -101
- package/typechain-types/IPGovernanceManager.ts +0 -84
- package/typechain-types/IPLiquidityMigrator.ts +0 -565
- package/typechain-types/IPVotingControllerStorage.ts +0 -169
- package/typechain-types/IPVotingEscrow.ts +0 -344
- package/typechain-types/IPermissionsV2Upg.ts +0 -87
- package/typechain-types/IREDACTEDStaking.ts +0 -216
- package/typechain-types/ISAvax.ts +0 -430
- package/typechain-types/ISJoe.ts +0 -340
- package/typechain-types/ISiloPriceProvider.ts +0 -150
- package/typechain-types/IStargateLPStaking.ts +0 -251
- package/typechain-types/IStargatePool.ts +0 -223
- package/typechain-types/ISuperComposableYield.ts +0 -895
- package/typechain-types/ISwapAggregator.ts +0 -124
- package/typechain-types/IWAvax.ts +0 -380
- package/typechain-types/IWXBTRFLY.ts +0 -267
- package/typechain-types/IYearnVault.ts +0 -256
- package/typechain-types/ImplicitSwapfeeContract.ts +0 -149
- package/typechain-types/InputScalingHelper.ts +0 -108
- package/typechain-types/KyberSwapHelper.ts +0 -87
- package/typechain-types/MarketMathStatic.ts +0 -259
- package/typechain-types/OwnableUpgradeable.ts +0 -165
- package/typechain-types/Pendle3CrvAndTokenSCY.ts +0 -1215
- package/typechain-types/Pendle3CrvAndTokenSY.ts +0 -1243
- package/typechain-types/Pendle3CrvHelper.ts +0 -133
- package/typechain-types/Pendle3CrvTokenSCY.ts +0 -1150
- package/typechain-types/PendleAaveV3SCY.ts +0 -1088
- package/typechain-types/PendleApeStakingSY.ts +0 -1135
- package/typechain-types/PendleAura3EthSY.ts +0 -1600
- package/typechain-types/PendleAuraCbethWstethSY.ts +0 -1587
- package/typechain-types/PendleBatchSeller.ts +0 -648
- package/typechain-types/PendleConvex2TokensSY.ts +0 -1215
- package/typechain-types/PendleConvexCurveLP2PoolSCY.ts +0 -1215
- package/typechain-types/PendleConvexCurveLP3PoolSCY.ts +0 -1269
- package/typechain-types/PendleConvexCurveLP4PoolSCY.ts +0 -1288
- package/typechain-types/PendleConvexCurveLPSCY.ts +0 -1189
- package/typechain-types/PendleCvxCRVSCY.ts +0 -1104
- package/typechain-types/PendleERC4626SCY.ts +0 -950
- package/typechain-types/PendleEulerSCY.ts +0 -965
- package/typechain-types/PendleFeeDistributorAbstract.ts +0 -289
- package/typechain-types/PendleFeeDistributorFactory.ts +0 -591
- package/typechain-types/PendleFeeDistributorVoting.ts +0 -321
- package/typechain-types/PendleFeeDistributorVotingFactory.ts +0 -294
- package/typechain-types/PendleGovernanceManager.ts +0 -187
- package/typechain-types/PendleLooksStaking.ts +0 -1052
- package/typechain-types/PendlePtAssetOracle.ts +0 -167
- package/typechain-types/PendlePtChainlinkOracle.ts +0 -215
- package/typechain-types/PendlePtSingleAssetOracle.ts +0 -167
- package/typechain-types/PendleQiSAvaxSCY.ts +0 -1098
- package/typechain-types/PendleQiTokenSCY.ts +0 -1166
- package/typechain-types/PendleSAvaxSCY.ts +0 -962
- package/typechain-types/PendleSJoeSCY.ts +0 -1053
- package/typechain-types/PendleStargateLP.ts +0 -1442
- package/typechain-types/PendleStargateSCY.ts +0 -1135
- package/typechain-types/PendleSwapAggregator.ts +0 -126
- package/typechain-types/PendleWstEthSCY.ts +0 -1040
- package/typechain-types/PendleYearnVaultSCY.ts +0 -963
- package/typechain-types/PermissionsV2Upg.ts +0 -87
- package/typechain-types/PtFraxUsdcOracle.ts +0 -202
- package/typechain-types/PtStETHOracle.ts +0 -189
- package/typechain-types/RouterStatic.ts +0 -2939
- package/typechain-types/SCYBaseWithDynamicRewards.ts +0 -1063
- package/typechain-types/SCYBaseWithRewards.ts +0 -1094
- package/typechain-types/SSTORE2DeployerContract.ts +0 -242
- package/typechain-types/StEthHelper.ts +0 -107
- package/typechain-types/SwapAggregator.ts +0 -406
- package/typechain-types/factories/AccessControl__factory.ts +0 -227
- package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +0 -43
- package/typechain-types/factories/ActionCallback__factory.ts +0 -223
- package/typechain-types/factories/ActionCore__factory.ts +0 -1863
- package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +0 -39
- package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -39
- package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +0 -39
- package/typechain-types/factories/ActionSwapPTYT__factory.ts +0 -396
- package/typechain-types/factories/ActionYT__factory.ts +0 -499
- package/typechain-types/factories/AggregationRouterHelper__factory.ts +0 -281
- package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +0 -102
- package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
- package/typechain-types/factories/BoringOwnable__factory.ts +0 -141
- package/typechain-types/factories/BribeDistributor__factory.ts +0 -303
- package/typechain-types/factories/CelerReceiverUpg__factory.ts +0 -205
- package/typechain-types/factories/ComposableStablePreview__factory.ts +0 -190
- package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +0 -220
- package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +0 -146
- package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +0 -172
- package/typechain-types/factories/DistributorBase__factory.ts +0 -249
- package/typechain-types/factories/ERC165__factory.ts +0 -39
- package/typechain-types/factories/ERC1967UpgradeUpgradeable__factory.ts +0 -75
- package/typechain-types/factories/FeeDistributorAbstract__factory.ts +0 -127
- package/typechain-types/factories/FeeDistributorVePendle__factory.ts +0 -97
- package/typechain-types/factories/FeeDistributorVotingFactory__factory.ts +0 -211
- package/typechain-types/factories/FeeDistributorVoting__factory.ts +0 -219
- package/typechain-types/factories/FeeDistributor__factory.ts +0 -339
- package/typechain-types/factories/GMXPreviewHelper__factory.ts +0 -65
- package/typechain-types/factories/IAavePool__factory.ts +0 -99
- package/typechain-types/factories/IAaveRewardsController__factory.ts +0 -78
- package/typechain-types/factories/IAccessControl__factory.ts +0 -198
- package/typechain-types/factories/IAggregationRouterHelper__factory.ts +0 -54
- package/typechain-types/factories/IBeaconUpgradeable__factory.ts +0 -39
- package/typechain-types/factories/IBoringOwnableUpgradeable__factory.ts +0 -53
- package/typechain-types/factories/ICelerMessageBus__factory.ts +0 -68
- package/typechain-types/factories/ICelerMessageReceiverApp__factory.ts +0 -64
- package/typechain-types/factories/IChainlinkAggregator__factory.ts +0 -170
- package/typechain-types/factories/IERC165__factory.ts +0 -42
- package/typechain-types/factories/IERC1822ProxiableUpgradeable__factory.ts +0 -43
- package/typechain-types/factories/IERC20Upgradeable__factory.ts +0 -209
- package/typechain-types/factories/IEulerEToken__factory.ts +0 -174
- package/typechain-types/factories/IEulerMarkets__factory.ts +0 -99
- package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +0 -56
- package/typechain-types/factories/IMetaAggregationRouter__factory.ts +0 -202
- package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +0 -155
- package/typechain-types/factories/IMultihopRouter__factory.ts +0 -151
- package/typechain-types/factories/IPActionCore__factory.ts +0 -1784
- package/typechain-types/factories/IPActionSwapPTYT__factory.ts +0 -205
- package/typechain-types/factories/IPActionYT__factory.ts +0 -435
- package/typechain-types/factories/IPBatchSeller__factory.ts +0 -132
- package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +0 -86
- package/typechain-types/factories/IPGovernanceManager__factory.ts +0 -39
- package/typechain-types/factories/IPLiquidityMigrator__factory.ts +0 -677
- package/typechain-types/factories/IPVotingControllerStorage__factory.ts +0 -107
- package/typechain-types/factories/IPVotingEscrow__factory.ts +0 -250
- package/typechain-types/factories/IPermissionsV2Upg__factory.ts +0 -39
- package/typechain-types/factories/IREDACTEDStaking__factory.ts +0 -107
- package/typechain-types/factories/ISAvax__factory.ts +0 -208
- package/typechain-types/factories/ISJoe__factory.ts +0 -177
- package/typechain-types/factories/IStargateLPStaking__factory.ts +0 -152
- package/typechain-types/factories/IStargatePool__factory.ts +0 -147
- package/typechain-types/factories/ISwapAggregator__factory.ts +0 -66
- package/typechain-types/factories/IWAvax__factory.ts +0 -261
- package/typechain-types/factories/IWXBTRFLY__factory.ts +0 -144
- package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +0 -239
- package/typechain-types/factories/InputScalingHelper__factory.ts +0 -88
- package/typechain-types/factories/KyberSwapHelper__factory.ts +0 -39
- package/typechain-types/factories/MarketMathStatic__factory.ts +0 -312
- package/typechain-types/factories/OwnableUpgradeable__factory.ts +0 -78
- package/typechain-types/factories/Pendle3CrvAndTokenSCY__factory.ts +0 -1130
- package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +0 -1106
- package/typechain-types/factories/Pendle3CrvHelper__factory.ts +0 -129
- package/typechain-types/factories/Pendle3CrvTokenSCY__factory.ts +0 -996
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +0 -874
- package/typechain-types/factories/PendleApeStakingSY__factory.ts +0 -981
- package/typechain-types/factories/PendleAura3EthSY__factory.ts +0 -1326
- package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +0 -1317
- 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/PendleBatchSeller__factory.ts +0 -480
- package/typechain-types/factories/PendleConvex2TokensSY__factory.ts +0 -1093
- package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +0 -1125
- package/typechain-types/factories/PendleConvexCurveLP3PoolSCY__factory.ts +0 -1067
- package/typechain-types/factories/PendleConvexCurveLP4PoolSCY__factory.ts +0 -1080
- package/typechain-types/factories/PendleConvexCurveLPSCY__factory.ts +0 -967
- package/typechain-types/factories/PendleCvxCRVSCY__factory.ts +0 -910
- package/typechain-types/factories/PendleERC4626SCY__factory.ts +0 -774
- package/typechain-types/factories/PendleEulerSCY__factory.ts +0 -805
- package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +0 -485
- package/typechain-types/factories/PendleFeeDistributorVotingFactory__factory.ts +0 -213
- package/typechain-types/factories/PendleFeeDistributorVoting__factory.ts +0 -275
- package/typechain-types/factories/PendleGovernanceManager__factory.ts +0 -149
- package/typechain-types/factories/PendleLooksStaking__factory.ts +0 -933
- package/typechain-types/factories/PendlePtAssetOracle__factory.ts +0 -199
- package/typechain-types/factories/PendlePtChainlinkOracle__factory.ts +0 -251
- package/typechain-types/factories/PendlePtSingleAssetOracle__factory.ts +0 -203
- package/typechain-types/factories/PendlePtUSDOracle__factory.ts +0 -247
- package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +0 -917
- package/typechain-types/factories/PendleQiTokenSCY__factory.ts +0 -1095
- package/typechain-types/factories/PendleSAvaxSCY__factory.ts +0 -796
- package/typechain-types/factories/PendleSJoeSCY__factory.ts +0 -845
- package/typechain-types/factories/PendleStargateLP__factory.ts +0 -1241
- package/typechain-types/factories/PendleStargateSCY__factory.ts +0 -952
- package/typechain-types/factories/PendleSwapAggregator__factory.ts +0 -129
- package/typechain-types/factories/PendleWstEthSCY__factory.ts +0 -924
- package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +0 -787
- package/typechain-types/factories/PermissionsV2Upg__factory.ts +0 -39
- package/typechain-types/factories/PtAMMArb__factory.ts +0 -525
- package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +0 -252
- package/typechain-types/factories/PtStETHOracle__factory.ts +0 -227
- package/typechain-types/factories/RouterStatic__factory.ts +0 -2673
- package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -867
- package/typechain-types/factories/SSTORE2DeployerContract__factory.ts +0 -191
- package/typechain-types/factories/SYBaseAutoCompound__factory.ts +0 -942
- package/typechain-types/factories/SwapAggregator__factory.ts +0 -309
|
@@ -116,6 +116,8 @@ library Errors {
|
|
|
116
116
|
|
|
117
117
|
error SYStargateRedeemCapExceeded(uint256 amountLpDesired, uint256 amountLpRedeemable);
|
|
118
118
|
|
|
119
|
+
error SYBalancerReentrancy();
|
|
120
|
+
|
|
119
121
|
// Liquidity Mining
|
|
120
122
|
error VCInactivePool(address pool);
|
|
121
123
|
error VCPoolAlreadyActive(address pool);
|
|
@@ -165,6 +167,7 @@ library Errors {
|
|
|
165
167
|
error ArrayOutOfBounds();
|
|
166
168
|
error ZeroAddress();
|
|
167
169
|
error FailedToSendEther();
|
|
170
|
+
error InvalidMerkleProof();
|
|
168
171
|
|
|
169
172
|
error OnlyLayerZeroEndpoint();
|
|
170
173
|
error OnlyYT();
|
|
@@ -5,6 +5,21 @@ import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
|
5
5
|
import "./IAsset.sol";
|
|
6
6
|
|
|
7
7
|
interface IVault {
|
|
8
|
+
enum UserBalanceOpKind {
|
|
9
|
+
DEPOSIT_INTERNAL,
|
|
10
|
+
WITHDRAW_INTERNAL,
|
|
11
|
+
TRANSFER_INTERNAL,
|
|
12
|
+
TRANSFER_EXTERNAL
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
struct UserBalanceOp {
|
|
16
|
+
UserBalanceOpKind kind;
|
|
17
|
+
IAsset asset;
|
|
18
|
+
uint256 amount;
|
|
19
|
+
address sender;
|
|
20
|
+
address payable recipient;
|
|
21
|
+
}
|
|
22
|
+
|
|
8
23
|
struct JoinPoolRequest {
|
|
9
24
|
address[] assets;
|
|
10
25
|
uint256[] maxAmountsIn;
|
|
@@ -61,12 +76,14 @@ interface IVault {
|
|
|
61
76
|
uint256 deadline
|
|
62
77
|
) external payable returns (uint256);
|
|
63
78
|
|
|
64
|
-
function getPoolTokens(
|
|
65
|
-
bytes32 poolId
|
|
66
|
-
)
|
|
79
|
+
function getPoolTokens(bytes32 poolId)
|
|
67
80
|
external
|
|
68
81
|
view
|
|
69
|
-
returns (
|
|
82
|
+
returns (
|
|
83
|
+
IERC20[] memory tokens,
|
|
84
|
+
uint256[] memory balances,
|
|
85
|
+
uint256 lastChangeBlock
|
|
86
|
+
);
|
|
70
87
|
|
|
71
88
|
function WETH() external view returns (IERC20);
|
|
72
89
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
interface IFrxEthMinter {
|
|
5
|
+
function frxETHToken() external view returns (address);
|
|
6
|
+
|
|
7
|
+
function sfrxETHToken() external view returns (address);
|
|
8
|
+
|
|
9
|
+
function submitAndDeposit(address recipient) external payable returns (uint256 shares);
|
|
10
|
+
}
|
|
@@ -13,10 +13,9 @@ interface IPFeeDistributor {
|
|
|
13
13
|
uint128 iter;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
function claimReward(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
) external returns (uint256[] memory amountRewardOut);
|
|
16
|
+
function claimReward(address user, address[] calldata pools)
|
|
17
|
+
external
|
|
18
|
+
returns (uint256[] memory amountRewardOut);
|
|
20
19
|
|
|
21
20
|
function getAllPools() external view returns (address[] memory);
|
|
22
21
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
interface IPFeeDistributorV2 {
|
|
5
|
+
event SetMerkleRootAndFund(bytes32 indexed merkleRoot, uint256 amountFunded);
|
|
6
|
+
|
|
7
|
+
event Claimed(address indexed user, uint256 amountOut);
|
|
8
|
+
|
|
9
|
+
event UpdateProtocolClaimable(address indexed user, uint256 sumTopUp);
|
|
10
|
+
|
|
11
|
+
struct UpdateProtocolStruct {
|
|
12
|
+
address user;
|
|
13
|
+
bytes32[] proof;
|
|
14
|
+
address[] pools;
|
|
15
|
+
uint256[] topUps;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @notice submit total ETH accrued & proof to claim the outstanding amount. Intended to be
|
|
20
|
+
used by retail users
|
|
21
|
+
*/
|
|
22
|
+
function claimRetail(
|
|
23
|
+
address receiver,
|
|
24
|
+
uint256 totalAccrued,
|
|
25
|
+
bytes32[] calldata proof
|
|
26
|
+
) external returns (uint256 amountOut);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @notice Protocols that require the use of this function & feeData should contact the Pendle team.
|
|
30
|
+
* @notice Protocols should NOT EVER use claimRetail. Using it will make getProtocolFeeData unreliable.
|
|
31
|
+
*/
|
|
32
|
+
function claimProtocol(address receiver, address[] calldata pools)
|
|
33
|
+
external
|
|
34
|
+
returns (uint256 totalAmountOut, uint256[] memory amountsOut);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @notice returns the claimable fees per pool. Only available if the Pendle team has specifically
|
|
38
|
+
set up the data
|
|
39
|
+
*/
|
|
40
|
+
function getProtocolClaimables(address user, address[] calldata pools)
|
|
41
|
+
external
|
|
42
|
+
view
|
|
43
|
+
returns (uint256[] memory claimables);
|
|
44
|
+
|
|
45
|
+
function getProtocolTotalAccrued(address user) external view returns (uint256);
|
|
46
|
+
}
|
|
@@ -84,4 +84,23 @@ interface IPMarket is IERC20Metadata, IPGauge {
|
|
|
84
84
|
function isExpired() external view returns (bool);
|
|
85
85
|
|
|
86
86
|
function expiry() external view returns (uint256);
|
|
87
|
+
|
|
88
|
+
function observations(
|
|
89
|
+
uint256 index
|
|
90
|
+
)
|
|
91
|
+
external
|
|
92
|
+
view
|
|
93
|
+
returns (uint32 blockTimestamp, uint216 lnImpliedRateCumulative, bool initialized);
|
|
94
|
+
|
|
95
|
+
function _storage()
|
|
96
|
+
external
|
|
97
|
+
view
|
|
98
|
+
returns (
|
|
99
|
+
int128 totalPt,
|
|
100
|
+
int128 totalSy,
|
|
101
|
+
uint96 lastLnImpliedRate,
|
|
102
|
+
uint16 observationIndex,
|
|
103
|
+
uint16 observationCardinality,
|
|
104
|
+
uint16 observationCardinalityNext
|
|
105
|
+
);
|
|
87
106
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
interface IPPtOracle {
|
|
5
|
+
event SetBlockCycleNumerator(uint16 newBlockCycleNumerator);
|
|
6
|
+
|
|
7
|
+
function getPtToAssetRate(
|
|
8
|
+
address market,
|
|
9
|
+
uint32 duration
|
|
10
|
+
) external view returns (uint256 ptToAssetRate);
|
|
11
|
+
|
|
12
|
+
function getOracleState(
|
|
13
|
+
address market,
|
|
14
|
+
uint32 duration
|
|
15
|
+
)
|
|
16
|
+
external
|
|
17
|
+
view
|
|
18
|
+
returns (
|
|
19
|
+
bool increaseCardinalityRequired,
|
|
20
|
+
uint16 cardinalityRequired,
|
|
21
|
+
bool oldestObservationSatisfied
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -62,4 +62,7 @@ interface IPYieldToken is IERC20Metadata, IRewardManager, IPInterestManagerYT {
|
|
|
62
62
|
function isExpired() external view returns (bool);
|
|
63
63
|
|
|
64
64
|
function doCacheIndexSameBlock() external view returns (bool);
|
|
65
|
+
|
|
66
|
+
function pyIndexLastUpdatedBlock() external view returns (uint128);
|
|
67
|
+
|
|
65
68
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
import "../interfaces/IPMarket.sol";
|
|
4
|
+
|
|
5
|
+
abstract contract BoringPtSeller {
|
|
6
|
+
bytes internal constant EMPTY_BYTES = abi.encode();
|
|
7
|
+
|
|
8
|
+
constructor() {}
|
|
9
|
+
|
|
10
|
+
/// @dev slippage control should be done on a higher level with the returned parameter
|
|
11
|
+
/// @param market market address
|
|
12
|
+
/// @param netPtIn amount of Pt to sell
|
|
13
|
+
/// @param tokenOut should be included in SY.getTokensOut()
|
|
14
|
+
/// @return netTokenOut amount of token out
|
|
15
|
+
function _sellPtForToken(
|
|
16
|
+
address market,
|
|
17
|
+
uint256 netPtIn,
|
|
18
|
+
address tokenOut
|
|
19
|
+
) internal returns (uint256 netTokenOut) {
|
|
20
|
+
(IStandardizedYield SY, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market)
|
|
21
|
+
.readTokens();
|
|
22
|
+
|
|
23
|
+
uint256 netSyOut;
|
|
24
|
+
if (PT.isExpired()) {
|
|
25
|
+
PT.transfer(address(YT), netPtIn);
|
|
26
|
+
netSyOut = YT.redeemPY(address(SY));
|
|
27
|
+
} else {
|
|
28
|
+
// safeTransfer not required
|
|
29
|
+
PT.transfer(market, netPtIn);
|
|
30
|
+
(netSyOut, ) = IPMarket(market).swapExactPtForSy(
|
|
31
|
+
address(SY), // better gas optimization to transfer SY directly to itself and burn
|
|
32
|
+
netPtIn,
|
|
33
|
+
EMPTY_BYTES
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
netTokenOut = SY.redeem(address(this), netSyOut, tokenOut, 0, true);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
pragma solidity 0.8.17;
|
|
4
|
+
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
5
|
+
import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
|
|
6
|
+
import "../core/libraries/BoringOwnableUpgradeable.sol";
|
|
7
|
+
|
|
8
|
+
contract EmptyUUPS is Initializable, UUPSUpgradeable, BoringOwnableUpgradeable {
|
|
9
|
+
constructor() initializer {}
|
|
10
|
+
|
|
11
|
+
function initialize() external initializer {
|
|
12
|
+
__BoringOwnable_init();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
|
|
16
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
contract PendleMulticallV1 {
|
|
5
|
+
struct Call {
|
|
6
|
+
address target;
|
|
7
|
+
bytes callData;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
struct Result {
|
|
11
|
+
bool success;
|
|
12
|
+
bytes returnData;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function aggregate(Call[] calldata calls) public payable virtual {
|
|
16
|
+
uint256 length = calls.length;
|
|
17
|
+
Call calldata call;
|
|
18
|
+
for (uint256 i = 0; i < length; ) {
|
|
19
|
+
call = calls[i];
|
|
20
|
+
|
|
21
|
+
(bool success, bytes memory resp) = call.target.call(call.callData);
|
|
22
|
+
if (!success) {
|
|
23
|
+
assembly {
|
|
24
|
+
revert(add(32, resp), mload(resp))
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
unchecked {
|
|
29
|
+
++i;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function tryAggregate(
|
|
35
|
+
bool requireSuccess,
|
|
36
|
+
uint256 gasLimit,
|
|
37
|
+
Call[] calldata calls
|
|
38
|
+
) public payable returns (Result[] memory returnData) {
|
|
39
|
+
uint256 length = calls.length;
|
|
40
|
+
returnData = new Result[](length);
|
|
41
|
+
Call calldata call;
|
|
42
|
+
for (uint256 i = 0; i < length; ) {
|
|
43
|
+
call = calls[i];
|
|
44
|
+
|
|
45
|
+
(bool success, bytes memory resp) = call.target.call{ gas: gasLimit }(
|
|
46
|
+
calls[i].callData
|
|
47
|
+
);
|
|
48
|
+
if (!success && requireSuccess) {
|
|
49
|
+
assembly {
|
|
50
|
+
revert(add(32, resp), mload(resp))
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
returnData[i] = Result(success, resp);
|
|
55
|
+
|
|
56
|
+
unchecked {
|
|
57
|
+
++i;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
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 "../core/libraries/BoringOwnableUpgradeable.sol";
|
|
7
|
+
|
|
8
|
+
contract PendlePtOracle is BoringOwnableUpgradeable, IPPtOracle {
|
|
9
|
+
using PendlePtOracleLib for IPMarket;
|
|
10
|
+
|
|
11
|
+
error InvalidBlockRate(uint256 blockCycleNumerator);
|
|
12
|
+
error TwapDurationTooLarge(uint32 duration, uint32 cardinalityRequired);
|
|
13
|
+
|
|
14
|
+
/// @notice Oracles will be created ensuring a lowerbound in PendleMarket oracle's cardinality
|
|
15
|
+
/// @dev Cardinality lowerbound will be calculated as twap_duration * 1000 / blockCycleNumerator
|
|
16
|
+
/// @dev blockCycleNumerator should be configured so that blockCycleNumerator / 1000 < actual block cycle
|
|
17
|
+
/// @dev blockCycleNumerator should be greater or equal to 1000 since the oracle only records one
|
|
18
|
+
/// rate per timestamp
|
|
19
|
+
/// For example, on Ethereum blockCycleNumerator = 11000, where 11000/1000 = 11 < 12
|
|
20
|
+
/// Arbitrum blockCycleNumerator = 1000, since we can't do better than this
|
|
21
|
+
uint16 public blockCycleNumerator;
|
|
22
|
+
uint16 public constant BLOCK_CYCLE_DENOMINATOR = 1000;
|
|
23
|
+
|
|
24
|
+
constructor(uint16 _blockCycleNumerator) initializer {
|
|
25
|
+
__BoringOwnable_init();
|
|
26
|
+
setBlockCycleNumerator(_blockCycleNumerator);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function setBlockCycleNumerator(uint16 newBlockCycleNumerator) public onlyOwner {
|
|
30
|
+
if (newBlockCycleNumerator < BLOCK_CYCLE_DENOMINATOR) {
|
|
31
|
+
revert InvalidBlockRate(newBlockCycleNumerator);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
blockCycleNumerator = newBlockCycleNumerator;
|
|
35
|
+
emit SetBlockCycleNumerator(newBlockCycleNumerator);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* This function returns the twap rate PT/Asset on market
|
|
40
|
+
* @param market market to get rate from
|
|
41
|
+
* @param duration twap duration
|
|
42
|
+
*/
|
|
43
|
+
function getPtToAssetRate(
|
|
44
|
+
address market,
|
|
45
|
+
uint32 duration
|
|
46
|
+
) external view returns (uint256 ptToAssetRate) {
|
|
47
|
+
ptToAssetRate = IPMarket(market).getPtToAssetRate(duration);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* A check function for the cardinality status of the market
|
|
52
|
+
* @param market PendleMarket address
|
|
53
|
+
* @param duration twap duration
|
|
54
|
+
* @return increaseCardinalityRequired a boolean indicates whether the cardinality should be increased to serve the duration
|
|
55
|
+
* @return cardinalityRequired the amount of cardinality required for the twap duration
|
|
56
|
+
*/
|
|
57
|
+
function getOracleState(
|
|
58
|
+
address market,
|
|
59
|
+
uint32 duration
|
|
60
|
+
)
|
|
61
|
+
external
|
|
62
|
+
view
|
|
63
|
+
returns (
|
|
64
|
+
bool increaseCardinalityRequired,
|
|
65
|
+
uint16 cardinalityRequired,
|
|
66
|
+
bool oldestObservationSatisfied
|
|
67
|
+
)
|
|
68
|
+
{
|
|
69
|
+
(
|
|
70
|
+
,
|
|
71
|
+
,
|
|
72
|
+
,
|
|
73
|
+
uint16 observationIndex,
|
|
74
|
+
uint16 observationCardinality,
|
|
75
|
+
uint16 cardinalityReserved
|
|
76
|
+
) = IPMarket(market)._storage();
|
|
77
|
+
|
|
78
|
+
// checkIncreaseCardinalityRequired
|
|
79
|
+
cardinalityRequired = _calcCardinalityRequiredRequired(duration);
|
|
80
|
+
increaseCardinalityRequired = cardinalityReserved < cardinalityRequired;
|
|
81
|
+
|
|
82
|
+
// check oldestObservationSatisfied
|
|
83
|
+
(uint32 oldestTimestamp, , bool initialized) = IPMarket(market).observations(
|
|
84
|
+
(observationIndex + 1) % observationCardinality
|
|
85
|
+
);
|
|
86
|
+
if (!initialized) {
|
|
87
|
+
(oldestTimestamp, , ) = IPMarket(market).observations(0);
|
|
88
|
+
}
|
|
89
|
+
oldestObservationSatisfied = oldestTimestamp < block.timestamp - duration;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function _calcCardinalityRequiredRequired(uint32 duration) internal view returns (uint16) {
|
|
93
|
+
uint32 cardinalityRequired = (duration * BLOCK_CYCLE_DENOMINATOR) / blockCycleNumerator;
|
|
94
|
+
if (cardinalityRequired > type(uint16).max) {
|
|
95
|
+
revert TwapDurationTooLarge(duration, cardinalityRequired);
|
|
96
|
+
}
|
|
97
|
+
return uint16(cardinalityRequired);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -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) / (10 ** 30);
|
|
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
|
+
}
|
|
@@ -27,5 +27,6 @@
|
|
|
27
27
|
"senderEndpoint": "0x86bD575c36e236386284C035ffeBE66CB6ecd2DD",
|
|
28
28
|
"votingController": "0x40ea97a7E9A4A0520229d1bbdf4D82E36b1a5475",
|
|
29
29
|
"gaugeController": "0x90Fa61ea34f61e31e9471CEB0ED22b12bBf4263E",
|
|
30
|
-
"feeDistributor": "0x40160f3439317bCD0ec8eB09545dD6A30771A7B6"
|
|
30
|
+
"feeDistributor": "0x40160f3439317bCD0ec8eB09545dD6A30771A7B6",
|
|
31
|
+
"feeDistributorV2": "0x8C237520a8E14D658170A633D96F8e80764433b9"
|
|
31
32
|
}
|
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": "1.
|
|
5
|
+
"version": "1.6.0-testnet",
|
|
6
6
|
"homepage": "https://pendle.finance",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"pendle",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@typechain/ethers-v5": "^9.0.0",
|
|
27
27
|
"@typechain/hardhat": "^4.0.0",
|
|
28
|
-
"hardhat": "^2.13.
|
|
28
|
+
"hardhat": "^2.13.1",
|
|
29
29
|
"hardhat-contract-sizer": "^2.8.0",
|
|
30
|
-
"prettier": "^2.8.
|
|
30
|
+
"prettier": "^2.8.7",
|
|
31
31
|
"prettier-plugin-solidity": "^1.1.3",
|
|
32
32
|
"solc": "^0.8.19",
|
|
33
33
|
"solhint": "^3.4.1",
|
|
@@ -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
|
}
|