@pendle/core-v2 2.4.0-mainnet → 2.5.1-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/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/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/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +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/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/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/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/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/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.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/PendleConvexLPSY.sol/PendleConvexLPSY.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/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +1157 -0
- 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/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/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/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +18 -2
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.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/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.json +747 -0
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.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/IStargateLP.sol/IStargateLP.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IStargatePool.sol/IStargatePool.json → IStargateLP.sol/IStargateLP.json} +68 -3
- package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IStargateLPStaking.sol/IStargateLPStaking.json → IStargateStaking.sol/IStargateStaking.json} +20 -27
- 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/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/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/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 +4 -0
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +891 -0
- 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/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/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.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/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol +222 -0
- package/contracts/core/libraries/Errors.sol +2 -0
- package/contracts/interfaces/IPRouterHelper.sol +168 -0
- package/contracts/interfaces/{IStargatePool.sol → IStargateLP.sol} +14 -1
- package/contracts/interfaces/{IStargateLPStaking.sol → IStargateStaking.sol} +2 -2
- package/contracts/router/PendleRouterHelper.sol +358 -0
- package/contracts/router/base/ActionBaseMintRedeem.sol +5 -4
- package/deployments/1-core.json +2 -1
- package/deployments/42161-core.json +2 -1
- package/package.json +2 -2
- package/typechain-types/IPRouterHelper.ts +638 -0
- package/typechain-types/ISiloPriceProvider.ts +150 -0
- package/typechain-types/PendlePtOracleBase.ts +26 -0
- package/typechain-types/PendleRouterHelper.ts +270 -171
- package/typechain-types/PendleStargateLPSY.ts +1442 -0
- package/typechain-types/PtFraxUsdcOracle.ts +26 -0
- package/typechain-types/PtStETHOracle.ts +26 -0
- 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/Errors__factory.ts +17 -1
- package/typechain-types/factories/IPRouterHelper__factory.ts +763 -0
- package/typechain-types/factories/ISiloPriceProvider__factory.ts +90 -0
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
- 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/PendlePrincipalTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendlePtOracleBase__factory.ts +26 -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 +159 -47
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleStargateLPSY__factory.ts +1241 -0
- 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/PtFraxUsdcOracle__factory.ts +27 -1
- package/typechain-types/factories/PtStETHOracle__factory.ts +27 -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 +30 -21
- package/typechain-types/index.ts +8 -6
- package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +0 -4
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../SYBaseWithRewards.sol";
|
|
5
|
+
import "../../../interfaces/IStargateRouter.sol";
|
|
6
|
+
import "../../../interfaces/IStargateLP.sol";
|
|
7
|
+
import "../../../interfaces/IStargateStaking.sol";
|
|
8
|
+
|
|
9
|
+
contract PendleStargateLPSY is SYBaseWithRewards {
|
|
10
|
+
uint256 public constant STARGATE_BP_DENOMINATOR = 10000;
|
|
11
|
+
|
|
12
|
+
using Math for uint256;
|
|
13
|
+
|
|
14
|
+
uint16 public immutable pid; // pool id
|
|
15
|
+
uint256 public immutable sid; // staking id
|
|
16
|
+
address public immutable lp;
|
|
17
|
+
address public immutable underlying;
|
|
18
|
+
address public immutable stargateRouter;
|
|
19
|
+
address public immutable stargateStaking;
|
|
20
|
+
address public immutable stgToken;
|
|
21
|
+
|
|
22
|
+
// preview variables
|
|
23
|
+
uint256 public immutable convertRate;
|
|
24
|
+
|
|
25
|
+
constructor(
|
|
26
|
+
string memory _name,
|
|
27
|
+
string memory _symbol,
|
|
28
|
+
address _stargateLP,
|
|
29
|
+
address _stargateStaking,
|
|
30
|
+
uint256 _sid
|
|
31
|
+
) SYBaseWithRewards(_name, _symbol, _stargateLP) {
|
|
32
|
+
lp = _stargateLP;
|
|
33
|
+
underlying = IStargateLP(lp).token();
|
|
34
|
+
|
|
35
|
+
stargateRouter = IStargateLP(lp).router();
|
|
36
|
+
pid = uint16(IStargateLP(lp).poolId());
|
|
37
|
+
|
|
38
|
+
stargateStaking = _stargateStaking;
|
|
39
|
+
sid = _sid;
|
|
40
|
+
|
|
41
|
+
stgToken = IStargateStaking(stargateStaking).stargate();
|
|
42
|
+
|
|
43
|
+
// preview variables
|
|
44
|
+
convertRate = IStargateLP(lp).convertRate();
|
|
45
|
+
|
|
46
|
+
_safeApproveInf(underlying, stargateRouter);
|
|
47
|
+
_safeApproveInf(lp, stargateStaking);
|
|
48
|
+
|
|
49
|
+
_validateStargateStakingId(stargateStaking, sid, lp);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function _validateStargateStakingId(
|
|
53
|
+
address staking,
|
|
54
|
+
uint256 id,
|
|
55
|
+
address lpToken
|
|
56
|
+
) internal view {
|
|
57
|
+
(address _lpToken, , , ) = IStargateStaking(staking).poolInfo(id);
|
|
58
|
+
// Custom error not needed here since this only happens on deployment
|
|
59
|
+
require(_lpToken == lpToken, "invalid sid & lpToken");
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/*///////////////////////////////////////////////////////////////
|
|
63
|
+
DEPOSIT/REDEEM USING BASE TOKENS
|
|
64
|
+
//////////////////////////////////////////////////////////////*/
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* The underlying yield token is startgateLP. If the base token deposited is underlying, the function
|
|
68
|
+
* deposits received underlying into the startgateLP contract.
|
|
69
|
+
*/
|
|
70
|
+
function _deposit(
|
|
71
|
+
address tokenIn,
|
|
72
|
+
uint256 amountDeposited
|
|
73
|
+
) internal virtual override returns (uint256 amountSharesOut) {
|
|
74
|
+
if (tokenIn == underlying) {
|
|
75
|
+
IStargateRouter(stargateRouter).addLiquidity(pid, amountDeposited, address(this));
|
|
76
|
+
amountSharesOut = _selfBalance(lp);
|
|
77
|
+
// all outstanding LP will be staked
|
|
78
|
+
} else {
|
|
79
|
+
amountSharesOut = amountDeposited;
|
|
80
|
+
}
|
|
81
|
+
IStargateStaking(stargateStaking).deposit(sid, amountSharesOut);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function _redeem(
|
|
85
|
+
address receiver,
|
|
86
|
+
address tokenOut,
|
|
87
|
+
uint256 amountSharesToRedeem
|
|
88
|
+
) internal virtual override returns (uint256 amountTokenOut) {
|
|
89
|
+
IStargateStaking(stargateStaking).withdraw(sid, amountSharesToRedeem);
|
|
90
|
+
if (tokenOut == lp) {
|
|
91
|
+
amountTokenOut = amountSharesToRedeem;
|
|
92
|
+
_transferOut(lp, receiver, amountTokenOut);
|
|
93
|
+
} else {
|
|
94
|
+
/**
|
|
95
|
+
* @dev There is an lp cap variable in stargate to define the maximum amount of lp
|
|
96
|
+
* which can be burned.
|
|
97
|
+
* In case there is not enough liquidity in the pool to proceed the withdrawal,
|
|
98
|
+
* stargatePool will not revert and try to withdraw as much lp as it can instead.
|
|
99
|
+
*
|
|
100
|
+
* When this rare case happens, Pendle's SY should guarantee to revert.
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
uint256 preBalanceLp = _selfBalance(lp);
|
|
104
|
+
|
|
105
|
+
uint256 amountSD = IStargateRouter(stargateRouter).instantRedeemLocal(
|
|
106
|
+
pid,
|
|
107
|
+
amountSharesToRedeem,
|
|
108
|
+
receiver
|
|
109
|
+
);
|
|
110
|
+
uint256 lpUsed = preBalanceLp - _selfBalance(lp);
|
|
111
|
+
if (lpUsed < amountSharesToRedeem) {
|
|
112
|
+
revert Errors.SYStargateRedeemCapExceeded(amountSharesToRedeem, lpUsed);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
amountTokenOut = amountSD * convertRate;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/*///////////////////////////////////////////////////////////////
|
|
120
|
+
EXCHANGE-RATE
|
|
121
|
+
//////////////////////////////////////////////////////////////*/
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @notice Calculates and updates the exchange rate of shares to underlying asset token
|
|
125
|
+
* @dev It is the exchange rate of lp to underlying
|
|
126
|
+
*/
|
|
127
|
+
function exchangeRate() public view virtual override returns (uint256) {
|
|
128
|
+
return
|
|
129
|
+
IStargateLP(lp).totalLiquidity().divDown(IStargateLP(lp).totalSupply()) * convertRate;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/*///////////////////////////////////////////////////////////////
|
|
133
|
+
REWARDS-RELATED
|
|
134
|
+
//////////////////////////////////////////////////////////////*/
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* @dev See {IStandardizedYield-getRewardTokens}
|
|
138
|
+
*/
|
|
139
|
+
function _getRewardTokens() internal view override returns (address[] memory res) {
|
|
140
|
+
res = new address[](1);
|
|
141
|
+
res[0] = stgToken;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function _redeemExternalReward() internal override {
|
|
145
|
+
IStargateStaking(stargateStaking).withdraw(sid, 0);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/*///////////////////////////////////////////////////////////////
|
|
149
|
+
MISC FUNCTIONS FOR METADATA
|
|
150
|
+
//////////////////////////////////////////////////////////////*/
|
|
151
|
+
|
|
152
|
+
function _previewDeposit(
|
|
153
|
+
address tokenIn,
|
|
154
|
+
uint256 amountTokenToDeposit
|
|
155
|
+
) internal view override returns (uint256 amountSharesOut) {
|
|
156
|
+
if (tokenIn == lp) {
|
|
157
|
+
amountSharesOut = amountTokenToDeposit;
|
|
158
|
+
} else {
|
|
159
|
+
uint256 totalLiquidity = IStargateLP(lp).totalLiquidity();
|
|
160
|
+
uint256 totalSupply = IStargateLP(lp).totalSupply();
|
|
161
|
+
uint256 mintFeeBP = IStargateLP(lp).mintFeeBP();
|
|
162
|
+
|
|
163
|
+
uint256 amountSD = amountTokenToDeposit / convertRate;
|
|
164
|
+
|
|
165
|
+
// Tho fee is always enabled, it is currently set to zero
|
|
166
|
+
uint256 mintFeeSD = (amountSD * mintFeeBP) / STARGATE_BP_DENOMINATOR;
|
|
167
|
+
amountSD = amountSD - mintFeeSD;
|
|
168
|
+
|
|
169
|
+
// skip check for lp.totalSupply() == 0
|
|
170
|
+
amountSharesOut = (amountSD * totalSupply) / totalLiquidity;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function _previewRedeem(
|
|
175
|
+
address tokenOut,
|
|
176
|
+
uint256 amountSharesToRedeem
|
|
177
|
+
) internal view override returns (uint256 amountTokenOut) {
|
|
178
|
+
if (tokenOut == lp) {
|
|
179
|
+
amountTokenOut = amountSharesToRedeem;
|
|
180
|
+
} else {
|
|
181
|
+
uint256 totalLiquidity = IStargateLP(lp).totalLiquidity();
|
|
182
|
+
uint256 totalSupply = IStargateLP(lp).totalSupply();
|
|
183
|
+
uint256 deltaCredit = IStargateLP(lp).deltaCredit();
|
|
184
|
+
|
|
185
|
+
uint256 capAmountLp = (deltaCredit * totalSupply) / totalLiquidity;
|
|
186
|
+
if (amountSharesToRedeem > capAmountLp) {
|
|
187
|
+
revert Errors.SYStargateRedeemCapExceeded(amountSharesToRedeem, capAmountLp);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
uint256 amountSD = (amountSharesToRedeem * totalLiquidity) / totalSupply;
|
|
191
|
+
amountTokenOut = amountSD * convertRate;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
196
|
+
res = new address[](2);
|
|
197
|
+
res[0] = underlying;
|
|
198
|
+
res[1] = lp;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
function getTokensOut() public view virtual override returns (address[] memory res) {
|
|
202
|
+
res = new address[](2);
|
|
203
|
+
res[0] = underlying;
|
|
204
|
+
res[1] = lp;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
208
|
+
return token == underlying || token == lp;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
212
|
+
return token == underlying || token == lp;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function assetInfo()
|
|
216
|
+
external
|
|
217
|
+
view
|
|
218
|
+
returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
|
|
219
|
+
{
|
|
220
|
+
return (AssetType.TOKEN, underlying, IERC20Metadata(underlying).decimals());
|
|
221
|
+
}
|
|
222
|
+
}
|
|
@@ -114,6 +114,8 @@ library Errors {
|
|
|
114
114
|
error SYBalancerInvalidPid();
|
|
115
115
|
error SYInvalidRewardToken(address token);
|
|
116
116
|
|
|
117
|
+
error SYStargateRedeemCapExceeded(uint256 amountLpDesired, uint256 amountLpRedeemable);
|
|
118
|
+
|
|
117
119
|
// Liquidity Mining
|
|
118
120
|
error VCInactivePool(address pool);
|
|
119
121
|
error VCPoolAlreadyActive(address pool);
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../router/base/MarketApproxLib.sol";
|
|
5
|
+
import "../router/base/ActionBaseMintRedeem.sol";
|
|
6
|
+
|
|
7
|
+
interface IPRouterHelper {
|
|
8
|
+
/**
|
|
9
|
+
* @param output This output struct should be filled the same way as the normal removeLiquiditySingleToken
|
|
10
|
+
operation (This means all BulkSeller, PendleSwap still works the same way). Note that the
|
|
11
|
+
output.tokenOut will also be used as the input token for the addLiquidity
|
|
12
|
+
*/
|
|
13
|
+
struct RemoveLiquiditySingleTokenStruct {
|
|
14
|
+
address market;
|
|
15
|
+
uint256 netLpToRemove;
|
|
16
|
+
bool doRedeemRewards;
|
|
17
|
+
TokenOutput output;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @param guessNetTokenIn the predicted amount of tokenIn that will be used to add liquidity. This
|
|
22
|
+
should be the same amount that was used to generate guessPtReceivedFromSy (if any).
|
|
23
|
+
* @param guessPtReceivedFromSy the same guess struct in the normal addLiquiditySingleToken operation.
|
|
24
|
+
Again, note that this struct, if not empty (i.e. if guessOffchain == 0), should be generated
|
|
25
|
+
using `guessNetTokenIn` amount of tokenIn
|
|
26
|
+
* @dev tokenIn is the output.tokenOut of the removeLiquiditySingleTokenStruct
|
|
27
|
+
*/
|
|
28
|
+
struct AddLiquiditySingleTokenStruct {
|
|
29
|
+
address market;
|
|
30
|
+
uint256 minLpOut;
|
|
31
|
+
uint256 guessNetTokenIn;
|
|
32
|
+
ApproxParams guessPtReceivedFromSy;
|
|
33
|
+
address bulk;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @dev tokenIn is the output.tokenOut of the removeLiquiditySingleTokenStruct
|
|
38
|
+
*/
|
|
39
|
+
struct AddLiquiditySingleTokenKeepYtStruct {
|
|
40
|
+
address market;
|
|
41
|
+
uint256 minLpOut;
|
|
42
|
+
uint256 minYtOut;
|
|
43
|
+
address bulk;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
struct RemoveLiquiditySingleSyStruct {
|
|
47
|
+
address market;
|
|
48
|
+
uint256 netLpToRemove;
|
|
49
|
+
bool doRedeemRewards;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @dev guessNetSyIn & guessPtReceivedFromSy have similar meanings to AddLiquiditySingleTokenStruct
|
|
54
|
+
*/
|
|
55
|
+
struct AddLiquiditySingleSyStruct {
|
|
56
|
+
address market;
|
|
57
|
+
uint256 minLpOut;
|
|
58
|
+
uint256 guessNetSyIn;
|
|
59
|
+
ApproxParams guessPtReceivedFromSy;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
struct AddLiquiditySingleSyKeepYtStruct {
|
|
63
|
+
address market;
|
|
64
|
+
uint256 minLpOut;
|
|
65
|
+
uint256 minYtOut;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
event RemoveLiquiditySingleToken(
|
|
69
|
+
address indexed caller,
|
|
70
|
+
address indexed market,
|
|
71
|
+
address indexed token,
|
|
72
|
+
address receiver,
|
|
73
|
+
uint256 netLpToRemove,
|
|
74
|
+
uint256 netTokenOut
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
event RemoveLiquiditySingleSy(
|
|
78
|
+
address indexed caller,
|
|
79
|
+
address indexed market,
|
|
80
|
+
address indexed receiver,
|
|
81
|
+
uint256 netLpToRemove,
|
|
82
|
+
uint256 netSyOut
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
event AddLiquiditySingleToken(
|
|
86
|
+
address indexed caller,
|
|
87
|
+
address indexed market,
|
|
88
|
+
address indexed token,
|
|
89
|
+
address receiver,
|
|
90
|
+
uint256 netTokenIn,
|
|
91
|
+
uint256 netLpOut
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
event AddLiquiditySingleSy(
|
|
95
|
+
address indexed caller,
|
|
96
|
+
address indexed market,
|
|
97
|
+
address indexed receiver,
|
|
98
|
+
uint256 netSyIn,
|
|
99
|
+
uint256 netLpOut
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
event AddLiquiditySingleTokenKeepYt(
|
|
103
|
+
address indexed caller,
|
|
104
|
+
address indexed market,
|
|
105
|
+
address indexed token,
|
|
106
|
+
address receiver,
|
|
107
|
+
uint256 netTokenIn,
|
|
108
|
+
uint256 netLpOut,
|
|
109
|
+
uint256 netYtOut
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
event AddLiquiditySingleSyKeepYt(
|
|
113
|
+
address indexed caller,
|
|
114
|
+
address indexed market,
|
|
115
|
+
address indexed receiver,
|
|
116
|
+
uint256 netSyIn,
|
|
117
|
+
uint256 netLpOut,
|
|
118
|
+
uint256 netYtOut
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
function transferLiquidityDifferentSyNormal(
|
|
122
|
+
RemoveLiquiditySingleTokenStruct calldata fromMarket,
|
|
123
|
+
AddLiquiditySingleTokenStruct calldata toMarket
|
|
124
|
+
)
|
|
125
|
+
external
|
|
126
|
+
returns (
|
|
127
|
+
uint256 netLpOut,
|
|
128
|
+
uint256 netTokenZapIn,
|
|
129
|
+
uint256 netSyFeeOfRemove,
|
|
130
|
+
uint256 netSyFeeOfAdd
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
function transferLiquidityDifferentSyKeepYt(
|
|
134
|
+
RemoveLiquiditySingleTokenStruct calldata fromMarket,
|
|
135
|
+
AddLiquiditySingleTokenKeepYtStruct calldata toMarket
|
|
136
|
+
)
|
|
137
|
+
external
|
|
138
|
+
returns (
|
|
139
|
+
uint256 netLpOut,
|
|
140
|
+
uint256 netYtOut,
|
|
141
|
+
uint256 netTokenZapIn,
|
|
142
|
+
uint256 netSyFeeOfRemove
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
function transferLiquiditySameSyNormal(
|
|
146
|
+
RemoveLiquiditySingleSyStruct calldata fromMarket,
|
|
147
|
+
AddLiquiditySingleSyStruct calldata toMarket
|
|
148
|
+
)
|
|
149
|
+
external
|
|
150
|
+
returns (
|
|
151
|
+
uint256 netLpOut,
|
|
152
|
+
uint256 netSyZapIn,
|
|
153
|
+
uint256 netSyFeeOfRemove,
|
|
154
|
+
uint256 netSyFeeOfAdd
|
|
155
|
+
);
|
|
156
|
+
|
|
157
|
+
function transferLiquiditySameSyKeepYt(
|
|
158
|
+
RemoveLiquiditySingleSyStruct calldata fromMarket,
|
|
159
|
+
AddLiquiditySingleSyKeepYtStruct calldata toMarket
|
|
160
|
+
)
|
|
161
|
+
external
|
|
162
|
+
returns (
|
|
163
|
+
uint256 netLpOut,
|
|
164
|
+
uint256 netYtOut,
|
|
165
|
+
uint256 netSyZapIn,
|
|
166
|
+
uint256 netSyFeeOfRemove
|
|
167
|
+
);
|
|
168
|
+
}
|
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
*/
|
|
23
23
|
pragma solidity 0.8.17;
|
|
24
24
|
|
|
25
|
-
interface
|
|
25
|
+
interface IStargateLP {
|
|
26
|
+
|
|
27
|
+
|
|
26
28
|
struct SwapObj {
|
|
27
29
|
uint256 amount;
|
|
28
30
|
uint256 eqFee;
|
|
@@ -45,5 +47,16 @@ interface IStargatePool {
|
|
|
45
47
|
|
|
46
48
|
function token() external view returns (address);
|
|
47
49
|
|
|
50
|
+
function router() external view returns (address);
|
|
51
|
+
|
|
52
|
+
function totalSupply() external view returns (uint256);
|
|
53
|
+
|
|
48
54
|
function totalLiquidity() external view returns (uint256);
|
|
55
|
+
|
|
56
|
+
function mintFeeBP() external view returns (uint256);
|
|
57
|
+
|
|
58
|
+
function convertRate() external view returns (uint256);
|
|
59
|
+
|
|
60
|
+
function deltaCredit() external view returns (uint256);
|
|
61
|
+
|
|
49
62
|
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
pragma solidity 0.8.17;
|
|
24
24
|
|
|
25
|
-
interface
|
|
25
|
+
interface IStargateStaking {
|
|
26
26
|
struct PoolInfo {
|
|
27
27
|
address lpToken; // Address of LP token contract.
|
|
28
28
|
uint256 allocPoint; // How many allocation points assigned to this pool. STGs to distribute per block.
|
|
@@ -41,7 +41,7 @@ interface IStargateLPStaking {
|
|
|
41
41
|
|
|
42
42
|
function withdraw(uint256 _pid, uint256 _amount) external;
|
|
43
43
|
|
|
44
|
-
function poolInfo(uint256 _pid) external view returns (
|
|
44
|
+
function poolInfo(uint256 _pid) external view returns (address, uint256, uint256, uint256);
|
|
45
45
|
|
|
46
46
|
function userInfo(uint256 _pid, address _user) external view returns (UserInfo memory);
|
|
47
47
|
}
|