@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,358 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../interfaces/IPAllAction.sol";
|
|
5
|
+
import "../interfaces/IPMarket.sol";
|
|
6
|
+
import "../interfaces/IPRouterHelper.sol";
|
|
7
|
+
import "./base/ActionBaseMintRedeem.sol";
|
|
8
|
+
import "./base/MarketApproxLib.sol";
|
|
9
|
+
import "../interfaces/IAddressProvider.sol";
|
|
10
|
+
|
|
11
|
+
contract PendleRouterHelper is TokenHelper, IPRouterHelper {
|
|
12
|
+
IPAllAction public immutable ROUTER;
|
|
13
|
+
address public immutable WETH;
|
|
14
|
+
|
|
15
|
+
constructor(address _ROUTER, IAddressProvider provider) {
|
|
16
|
+
ROUTER = IPAllAction(_ROUTER);
|
|
17
|
+
WETH = _getWETHAddress(provider, 1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function _getWETHAddress(IAddressProvider provider, uint256 providerId)
|
|
21
|
+
internal
|
|
22
|
+
view
|
|
23
|
+
returns (address)
|
|
24
|
+
{
|
|
25
|
+
return provider.get(providerId);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
receive() external payable {}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @dev all the parameters for this function should be generated in the same way as they are
|
|
32
|
+
generated for the main Router, except that input.tokenIn & swapData should be generated
|
|
33
|
+
for tokenIn == WETH instead of ETH
|
|
34
|
+
*/
|
|
35
|
+
function addLiquiditySingleTokenKeepYtWithEth(
|
|
36
|
+
address receiver,
|
|
37
|
+
address market,
|
|
38
|
+
uint256 minLpOut,
|
|
39
|
+
uint256 minYtOut,
|
|
40
|
+
TokenInput calldata input
|
|
41
|
+
) external payable returns (uint256 netLpOut, uint256 netYtOut) {
|
|
42
|
+
require(input.tokenIn == WETH);
|
|
43
|
+
|
|
44
|
+
_transferIn(NATIVE, msg.sender, input.netTokenIn);
|
|
45
|
+
|
|
46
|
+
_wrap_unwrap_ETH(NATIVE, WETH, input.netTokenIn);
|
|
47
|
+
(netLpOut, netYtOut) = ROUTER.addLiquiditySingleTokenKeepYt(
|
|
48
|
+
receiver,
|
|
49
|
+
market,
|
|
50
|
+
minLpOut,
|
|
51
|
+
minYtOut,
|
|
52
|
+
input
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
emit AddLiquiditySingleTokenKeepYt(
|
|
56
|
+
msg.sender,
|
|
57
|
+
market,
|
|
58
|
+
NATIVE,
|
|
59
|
+
msg.sender,
|
|
60
|
+
input.netTokenIn,
|
|
61
|
+
netLpOut,
|
|
62
|
+
netYtOut
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function transferLiquidityDifferentSyNormal(
|
|
67
|
+
RemoveLiquiditySingleTokenStruct calldata fromMarket,
|
|
68
|
+
AddLiquiditySingleTokenStruct calldata toMarket
|
|
69
|
+
)
|
|
70
|
+
external
|
|
71
|
+
returns (
|
|
72
|
+
uint256 netLpOut,
|
|
73
|
+
uint256 netTokenZapIn,
|
|
74
|
+
uint256 netSyFeeOfRemove,
|
|
75
|
+
uint256 netSyFeeOfAdd
|
|
76
|
+
)
|
|
77
|
+
{
|
|
78
|
+
(netTokenZapIn, netSyFeeOfRemove) = _removeLiquiditySingleToken(fromMarket);
|
|
79
|
+
(netLpOut, netSyFeeOfAdd) = _addLiquiditySingleToken(
|
|
80
|
+
toMarket,
|
|
81
|
+
fromMarket.output.tokenOut,
|
|
82
|
+
netTokenZapIn
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function transferLiquidityDifferentSyKeepYt(
|
|
87
|
+
RemoveLiquiditySingleTokenStruct calldata fromMarket,
|
|
88
|
+
AddLiquiditySingleTokenKeepYtStruct calldata toMarket
|
|
89
|
+
)
|
|
90
|
+
external
|
|
91
|
+
returns (
|
|
92
|
+
uint256 netLpOut,
|
|
93
|
+
uint256 netYtOut,
|
|
94
|
+
uint256 netTokenZapIn,
|
|
95
|
+
uint256 netSyFeeOfRemove
|
|
96
|
+
)
|
|
97
|
+
{
|
|
98
|
+
(netTokenZapIn, netSyFeeOfRemove) = _removeLiquiditySingleToken(fromMarket);
|
|
99
|
+
(netLpOut, netYtOut) = _addLiquiditySingleTokenKeepYt(
|
|
100
|
+
toMarket,
|
|
101
|
+
fromMarket.output.tokenOut,
|
|
102
|
+
netTokenZapIn
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function transferLiquiditySameSyNormal(
|
|
107
|
+
RemoveLiquiditySingleSyStruct calldata fromMarket,
|
|
108
|
+
AddLiquiditySingleSyStruct calldata toMarket
|
|
109
|
+
)
|
|
110
|
+
external
|
|
111
|
+
returns (
|
|
112
|
+
uint256 netLpOut,
|
|
113
|
+
uint256 netSyZapIn,
|
|
114
|
+
uint256 netSyFeeOfRemove,
|
|
115
|
+
uint256 netSyFeeOfAdd
|
|
116
|
+
)
|
|
117
|
+
{
|
|
118
|
+
(netSyZapIn, netSyFeeOfRemove) = _removeLiquiditySingleSy(fromMarket);
|
|
119
|
+
(netLpOut, netSyFeeOfAdd) = _addLiquiditySingleSy(toMarket, netSyZapIn);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function transferLiquiditySameSyKeepYt(
|
|
123
|
+
RemoveLiquiditySingleSyStruct calldata fromMarket,
|
|
124
|
+
AddLiquiditySingleSyKeepYtStruct calldata toMarket
|
|
125
|
+
)
|
|
126
|
+
external
|
|
127
|
+
returns (
|
|
128
|
+
uint256 netLpOut,
|
|
129
|
+
uint256 netYtOut,
|
|
130
|
+
uint256 netSyZapIn,
|
|
131
|
+
uint256 netSyFeeOfRemove
|
|
132
|
+
)
|
|
133
|
+
{
|
|
134
|
+
(netSyZapIn, netSyFeeOfRemove) = _removeLiquiditySingleSy(fromMarket);
|
|
135
|
+
(netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(toMarket, netSyZapIn);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function _removeLiquiditySingleToken(RemoveLiquiditySingleTokenStruct calldata fromMarket)
|
|
139
|
+
internal
|
|
140
|
+
returns (uint256 netTokenOut, uint256 netSyFee)
|
|
141
|
+
{
|
|
142
|
+
_transferFrom(
|
|
143
|
+
IERC20(fromMarket.market),
|
|
144
|
+
msg.sender,
|
|
145
|
+
address(this),
|
|
146
|
+
fromMarket.netLpToRemove
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
_safeApproveInf(fromMarket.market, address(ROUTER));
|
|
150
|
+
|
|
151
|
+
(netTokenOut, netSyFee) = ROUTER.removeLiquiditySingleToken(
|
|
152
|
+
address(this),
|
|
153
|
+
fromMarket.market,
|
|
154
|
+
fromMarket.netLpToRemove,
|
|
155
|
+
fromMarket.output
|
|
156
|
+
);
|
|
157
|
+
|
|
158
|
+
if (fromMarket.doRedeemRewards) {
|
|
159
|
+
IPMarket(fromMarket.market).redeemRewards(msg.sender);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
emit RemoveLiquiditySingleToken(
|
|
163
|
+
msg.sender,
|
|
164
|
+
fromMarket.market,
|
|
165
|
+
fromMarket.output.tokenOut,
|
|
166
|
+
msg.sender,
|
|
167
|
+
fromMarket.netLpToRemove,
|
|
168
|
+
netTokenOut
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function _removeLiquiditySingleSy(RemoveLiquiditySingleSyStruct calldata fromMarket)
|
|
173
|
+
internal
|
|
174
|
+
returns (uint256 netSyOut, uint256 netSyFee)
|
|
175
|
+
{
|
|
176
|
+
_transferFrom(
|
|
177
|
+
IERC20(fromMarket.market),
|
|
178
|
+
msg.sender,
|
|
179
|
+
address(this),
|
|
180
|
+
fromMarket.netLpToRemove
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
_safeApproveInf(fromMarket.market, address(ROUTER));
|
|
184
|
+
|
|
185
|
+
(netSyOut, netSyFee) = ROUTER.removeLiquiditySingleSy(
|
|
186
|
+
address(this),
|
|
187
|
+
fromMarket.market,
|
|
188
|
+
fromMarket.netLpToRemove,
|
|
189
|
+
0
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
if (fromMarket.doRedeemRewards) {
|
|
193
|
+
IPMarket(fromMarket.market).redeemRewards(msg.sender);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
emit RemoveLiquiditySingleSy(
|
|
197
|
+
msg.sender,
|
|
198
|
+
fromMarket.market,
|
|
199
|
+
msg.sender,
|
|
200
|
+
fromMarket.netLpToRemove,
|
|
201
|
+
netSyOut
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
function _addLiquiditySingleToken(
|
|
206
|
+
AddLiquiditySingleTokenStruct calldata toMarket,
|
|
207
|
+
address tokenToZapIn,
|
|
208
|
+
uint256 actualNetTokenIn
|
|
209
|
+
) internal returns (uint256 netLpOut, uint256 netSyFee) {
|
|
210
|
+
uint256 netNativeToAttach;
|
|
211
|
+
if (tokenToZapIn == NATIVE) {
|
|
212
|
+
netNativeToAttach = actualNetTokenIn;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
_safeApproveInf(tokenToZapIn, address(ROUTER));
|
|
216
|
+
|
|
217
|
+
(netLpOut, netSyFee) = ROUTER.addLiquiditySingleToken{ value: netNativeToAttach }(
|
|
218
|
+
msg.sender,
|
|
219
|
+
toMarket.market,
|
|
220
|
+
toMarket.minLpOut,
|
|
221
|
+
_scaleApproxParams(
|
|
222
|
+
toMarket.guessPtReceivedFromSy,
|
|
223
|
+
toMarket.guessNetTokenIn,
|
|
224
|
+
actualNetTokenIn
|
|
225
|
+
),
|
|
226
|
+
_newTokenInputStruct(tokenToZapIn, actualNetTokenIn, toMarket.bulk)
|
|
227
|
+
);
|
|
228
|
+
|
|
229
|
+
emit AddLiquiditySingleToken(
|
|
230
|
+
msg.sender,
|
|
231
|
+
toMarket.market,
|
|
232
|
+
tokenToZapIn,
|
|
233
|
+
msg.sender,
|
|
234
|
+
actualNetTokenIn,
|
|
235
|
+
netLpOut
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
function _addLiquiditySingleSy(
|
|
240
|
+
AddLiquiditySingleSyStruct calldata toMarket,
|
|
241
|
+
uint256 actualNetSyIn
|
|
242
|
+
) internal returns (uint256 netLpOut, uint256 netSyFee) {
|
|
243
|
+
(IStandardizedYield SY, , ) = IPMarket(toMarket.market).readTokens();
|
|
244
|
+
|
|
245
|
+
_safeApproveInf(address(SY), address(ROUTER));
|
|
246
|
+
|
|
247
|
+
(netLpOut, netSyFee) = ROUTER.addLiquiditySingleSy(
|
|
248
|
+
msg.sender,
|
|
249
|
+
toMarket.market,
|
|
250
|
+
actualNetSyIn,
|
|
251
|
+
toMarket.minLpOut,
|
|
252
|
+
_scaleApproxParams(
|
|
253
|
+
toMarket.guessPtReceivedFromSy,
|
|
254
|
+
toMarket.guessNetSyIn,
|
|
255
|
+
actualNetSyIn
|
|
256
|
+
)
|
|
257
|
+
);
|
|
258
|
+
|
|
259
|
+
emit AddLiquiditySingleSy(
|
|
260
|
+
msg.sender,
|
|
261
|
+
toMarket.market,
|
|
262
|
+
msg.sender,
|
|
263
|
+
actualNetSyIn,
|
|
264
|
+
netLpOut
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
function _addLiquiditySingleTokenKeepYt(
|
|
269
|
+
AddLiquiditySingleTokenKeepYtStruct calldata toMarket,
|
|
270
|
+
address tokenToZapIn,
|
|
271
|
+
uint256 actualNetTokenIn
|
|
272
|
+
) internal returns (uint256 netLpOut, uint256 netYtOut) {
|
|
273
|
+
if (tokenToZapIn == NATIVE) {
|
|
274
|
+
tokenToZapIn = WETH;
|
|
275
|
+
_wrap_unwrap_ETH(NATIVE, WETH, actualNetTokenIn);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
_safeApproveInf(tokenToZapIn, address(ROUTER));
|
|
279
|
+
|
|
280
|
+
(netLpOut, netYtOut) = ROUTER.addLiquiditySingleTokenKeepYt(
|
|
281
|
+
msg.sender,
|
|
282
|
+
toMarket.market,
|
|
283
|
+
toMarket.minLpOut,
|
|
284
|
+
toMarket.minYtOut,
|
|
285
|
+
_newTokenInputStruct(tokenToZapIn, actualNetTokenIn, toMarket.bulk)
|
|
286
|
+
);
|
|
287
|
+
|
|
288
|
+
emit AddLiquiditySingleTokenKeepYt(
|
|
289
|
+
msg.sender,
|
|
290
|
+
toMarket.market,
|
|
291
|
+
tokenToZapIn,
|
|
292
|
+
msg.sender,
|
|
293
|
+
actualNetTokenIn,
|
|
294
|
+
netLpOut,
|
|
295
|
+
netYtOut
|
|
296
|
+
);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
function _addLiquiditySingleSyKeepYt(
|
|
300
|
+
AddLiquiditySingleSyKeepYtStruct calldata toMarket,
|
|
301
|
+
uint256 actualNetSyIn
|
|
302
|
+
) internal returns (uint256 netLpOut, uint256 netYtOut) {
|
|
303
|
+
(IStandardizedYield SY, , ) = IPMarket(toMarket.market).readTokens();
|
|
304
|
+
|
|
305
|
+
_safeApproveInf(address(SY), address(ROUTER));
|
|
306
|
+
|
|
307
|
+
(netLpOut, netYtOut) = ROUTER.addLiquiditySingleSyKeepYt(
|
|
308
|
+
msg.sender,
|
|
309
|
+
toMarket.market,
|
|
310
|
+
actualNetSyIn,
|
|
311
|
+
toMarket.minLpOut,
|
|
312
|
+
toMarket.minYtOut
|
|
313
|
+
);
|
|
314
|
+
|
|
315
|
+
emit AddLiquiditySingleSyKeepYt(
|
|
316
|
+
msg.sender,
|
|
317
|
+
toMarket.market,
|
|
318
|
+
msg.sender,
|
|
319
|
+
actualNetSyIn,
|
|
320
|
+
netLpOut,
|
|
321
|
+
netYtOut
|
|
322
|
+
);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
// ============ struct helpers ============
|
|
326
|
+
|
|
327
|
+
function _newTokenInputStruct(
|
|
328
|
+
address tokenIn,
|
|
329
|
+
uint256 netTokenIn,
|
|
330
|
+
address bulk
|
|
331
|
+
) internal pure returns (TokenInput memory res) {
|
|
332
|
+
res.tokenIn = res.tokenMintSy = tokenIn;
|
|
333
|
+
res.netTokenIn = netTokenIn;
|
|
334
|
+
res.bulk = bulk;
|
|
335
|
+
return res;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/// @dev either SY or Token here is good since token->sy conversion is almost linearly proportional
|
|
339
|
+
function _scaleApproxParams(
|
|
340
|
+
ApproxParams calldata params,
|
|
341
|
+
uint256 guessNetTokenIn,
|
|
342
|
+
uint256 actualNetTokenIn
|
|
343
|
+
) internal pure returns (ApproxParams memory) {
|
|
344
|
+
if (params.guessOffchain == 0) {
|
|
345
|
+
require(params.guessMin == 0 && params.guessMax == type(uint256).max, "invalid guess");
|
|
346
|
+
return params;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
return
|
|
350
|
+
ApproxParams({
|
|
351
|
+
guessMin: (params.guessMin * actualNetTokenIn) / guessNetTokenIn,
|
|
352
|
+
guessMax: (params.guessMax * actualNetTokenIn) / guessNetTokenIn,
|
|
353
|
+
guessOffchain: (params.guessOffchain * actualNetTokenIn) / guessNetTokenIn,
|
|
354
|
+
maxIteration: params.maxIteration,
|
|
355
|
+
eps: params.eps
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
}
|
|
@@ -193,10 +193,11 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
|
|
|
193
193
|
if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
function _syOrBulk(
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
function _syOrBulk(address SY, TokenOutput calldata output)
|
|
197
|
+
internal
|
|
198
|
+
pure
|
|
199
|
+
returns (address addr)
|
|
200
|
+
{
|
|
200
201
|
return output.bulk != address(0) ? output.bulk : SY;
|
|
201
202
|
}
|
|
202
203
|
}
|
package/deployments/1-core.json
CHANGED
|
@@ -27,5 +27,6 @@
|
|
|
27
27
|
"senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
|
|
28
28
|
"votingController": "0x44087E105137a5095c008AaB6a6530182821F2F0",
|
|
29
29
|
"gaugeController": "0x47D74516B33eD5D70ddE7119A40839f6Fcc24e57",
|
|
30
|
-
"feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2"
|
|
30
|
+
"feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2",
|
|
31
|
+
"routerHelper": "0xeb984195D54Df02BaF757e21B0705032FaEFde2E"
|
|
31
32
|
}
|
|
@@ -22,5 +22,6 @@
|
|
|
22
22
|
"pendleSwap": "0xDa78D46C4133EA548386e64eaca26FC456F71D2d",
|
|
23
23
|
"receiverEndpoint": "0xC9215ae9EC67385F38C755D862C8eE3702B5793A",
|
|
24
24
|
"vePendle": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
|
|
25
|
-
"gaugeController": "0x1e56299ebc8a1010cec26005d12e3e5c5cc2db00"
|
|
25
|
+
"gaugeController": "0x1e56299ebc8a1010cec26005d12e3e5c5cc2db00",
|
|
26
|
+
"routerHelper": "0xeb984195D54Df02BaF757e21B0705032FaEFde2E"
|
|
26
27
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@pendle/core-v2",
|
|
3
3
|
"description": "Core smart contracts of Pendle Protocol.",
|
|
4
4
|
"license": "BUSL-1.1",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.5.1-mainnet",
|
|
6
6
|
"homepage": "https://pendle.finance",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"pendle",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@typechain/hardhat": "^4.0.0",
|
|
28
28
|
"hardhat": "^2.13.0",
|
|
29
29
|
"hardhat-contract-sizer": "^2.8.0",
|
|
30
|
-
"prettier": "^2.8.
|
|
30
|
+
"prettier": "^2.8.5",
|
|
31
31
|
"prettier-plugin-solidity": "^1.1.3",
|
|
32
32
|
"solc": "^0.8.19",
|
|
33
33
|
"solhint": "^3.4.1",
|