@pendle/core-v2 0.20.2-testnet → 1.0.0-mainnet
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/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/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +4 -0
- package/build/artifacts/contracts/{interfaces/IApeStaking.sol/IApeStaking.json → LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.json} +52 -70
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +310 -0
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +389 -0
- 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/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/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/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/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/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/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/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/ArrayLib.sol/ArrayLib.json +2 -2
- 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 +5 -171
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +0 -18
- 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/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.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/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +32 -80
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +40 -100
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +16 -40
- package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +16 -40
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +104 -260
- 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/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +32 -43
- package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{Balancer/IGauge.sol/IGauge.json → IPFeeDistributorFactory.sol/IPFeeDistributorFactory.json} +33 -18
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.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/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/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- 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/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -42
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +98 -171
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +53 -96
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +61 -116
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +25 -44
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +25 -44
- 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/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.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/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +224 -0
- package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +35 -0
- package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.json +136 -0
- package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +4 -0
- package/build/artifacts/contracts/{interfaces/Balancer/IRateProvider.sol/IRateProvider.json → router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json} +5 -5
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +9 -7
- package/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol +159 -0
- package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol +99 -0
- package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol +70 -0
- package/contracts/core/BulkSeller/BulkSeller.sol +1 -1
- package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +3 -1
- package/contracts/core/libraries/ArrayLib.sol +0 -12
- package/contracts/core/libraries/Errors.sol +2 -19
- package/contracts/interfaces/ConvexCurve/IRewards.sol +0 -5
- package/contracts/interfaces/IPActionAddRemoveLiq.sol +1 -1
- package/contracts/interfaces/IPActionMintRedeem.sol +3 -2
- package/contracts/interfaces/IPActionSwapPT.sol +1 -1
- package/contracts/interfaces/IPActionSwapPTYT.sol +1 -1
- package/contracts/interfaces/IPActionSwapYT.sol +1 -1
- package/contracts/interfaces/IPFeeDistributor.sol +10 -12
- package/contracts/interfaces/IPFeeDistributorFactory.sol +14 -0
- package/contracts/offchain-helpers/MarketMathStatic.sol +88 -181
- package/contracts/offchain-helpers/RouterStatic.sol +72 -72
- package/contracts/router/ActionAddRemoveLiq.sol +2 -2
- package/contracts/router/ActionMintRedeem.sol +9 -7
- package/contracts/router/ActionSwapPT.sol +2 -2
- package/contracts/router/ActionSwapYT.sol +2 -2
- package/contracts/router/base/ActionBaseMintRedeem.sol +14 -51
- package/contracts/router/kyberswap/AggregationRouterHelper.sol +317 -0
- package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +10 -0
- package/contracts/router/kyberswap/IMultihopRouter.sol +139 -0
- package/contracts/router/kyberswap/KyberSwapHelper.sol +79 -0
- package/deployments/1-core.json +29 -0
- package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +11 -0
- package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +10 -0
- package/deployments/1-markets/STETH-JUNE29.json +10 -0
- package/deployments/1-markets/STETH-MARCH30.json +10 -0
- package/package.json +6 -6
- package/typechain-types/ActionAddRemoveLiq.ts +35 -41
- package/typechain-types/ActionBaseMintRedeem.ts +8 -8
- package/typechain-types/ActionMintRedeem.ts +42 -45
- package/typechain-types/ActionSwapPT.ts +22 -28
- package/typechain-types/ActionSwapYT.ts +22 -28
- package/typechain-types/IPActionAddRemoveLiq.ts +16 -22
- package/typechain-types/IPActionMintRedeem.ts +23 -26
- package/typechain-types/IPActionSwapPT.ts +14 -20
- package/typechain-types/IPActionSwapYT.ts +14 -20
- package/typechain-types/IPAllAction.ts +31 -34
- package/typechain-types/IPFeeDistributor.ts +78 -61
- package/typechain-types/IPFeeDistributorFactory.ts +139 -53
- package/typechain-types/IRewards.ts +5 -35
- package/typechain-types/MarketMathStatic.ts +0 -49
- package/typechain-types/PendleFeeDistributor.ts +117 -409
- package/typechain-types/RouterStatic.ts +69 -40
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +56 -99
- package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +1 -1
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeem__factory.ts +64 -119
- package/typechain-types/factories/ActionMisc__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPT__factory.ts +28 -47
- package/typechain-types/factories/ActionSwapYT__factory.ts +28 -47
- package/typechain-types/factories/AggregationRouterHelper__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 +4 -170
- package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +32 -80
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +40 -100
- package/typechain-types/factories/IPActionSwapPT__factory.ts +16 -40
- package/typechain-types/factories/IPActionSwapYT__factory.ts +16 -40
- package/typechain-types/factories/IPAllAction__factory.ts +104 -260
- package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +34 -25
- package/typechain-types/factories/IPFeeDistributor__factory.ts +31 -42
- package/typechain-types/factories/IRewards__factory.ts +0 -18
- package/typechain-types/factories/MarketMathStatic__factory.ts +1 -41
- package/typechain-types/factories/OracleLib__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/PendleFeeDistributorFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +66 -341
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__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/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__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/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/RouterStatic__factory.ts +41 -118
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +56 -263
- package/typechain-types/index.ts +16 -62
- package/README.md +0 -28
- 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/StEthHelper.sol/StEthHelper.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.json +0 -50
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +0 -1075
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +0 -1296
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +0 -1283
- 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 -1231
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +0 -10
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +0 -133
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +0 -10
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +0 -40
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +0 -322
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json +0 -1171
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +0 -10
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.json +0 -133
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.json +0 -10
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.json +0 -24
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.json +0 -133
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.json +0 -328
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.json +0 -467
- package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.json +0 -30
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.json +0 -398
- package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.json +0 -278
- package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +0 -322
- package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +0 -160
- package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/ISwapAggregator.sol/ISwapAggregator.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/ISwapAggregator.sol/ISwapAggregator.json +0 -51
- package/build/artifacts/contracts/router/swap-aggregator/SwapAggregator.sol/SwapAggregator.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/SwapAggregator.sol/SwapAggregator.json +0 -256
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +0 -65
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +0 -359
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.json +0 -101
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json +0 -183
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +0 -215
- package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +0 -224
- package/contracts/core/StandardizedYield/StEthHelper.sol +0 -71
- package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +0 -197
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +0 -170
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +0 -162
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +0 -134
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +0 -154
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +0 -289
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +0 -618
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol +0 -68
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +0 -322
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +0 -390
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +0 -329
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +0 -30
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +0 -189
- package/contracts/interfaces/Balancer/IAsset.sol +0 -4
- package/contracts/interfaces/Balancer/IBalancerFees.sol +0 -6
- package/contracts/interfaces/Balancer/IBalancerStablePreview.sol +0 -22
- package/contracts/interfaces/Balancer/IBasePool.sol +0 -30
- package/contracts/interfaces/Balancer/IComposableStable.sol +0 -39
- package/contracts/interfaces/Balancer/IGauge.sol +0 -10
- package/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol +0 -6
- package/contracts/interfaces/Balancer/IMetaStablePool.sol +0 -31
- package/contracts/interfaces/Balancer/IRateProvider.sol +0 -6
- package/contracts/interfaces/Balancer/IVault.sol +0 -78
- package/contracts/interfaces/IApeStaking.sol +0 -30
- package/contracts/offchain-helpers/Multicall2.sol +0 -103
- package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +0 -45
- package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +0 -71
- package/contracts/router/swap-aggregator/ISwapAggregator.sol +0 -21
- package/contracts/router/swap-aggregator/SwapAggregator.sol +0 -62
- package/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol +0 -302
- package/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol +0 -134
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol +0 -185
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol +0 -30
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouter.sol +0 -33
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +0 -42
- package/deployments/43113-core.json +0 -29
- package/deployments/43113-helper.json +0 -3
- package/deployments/43113-markets/APE-30-MARCH.json +0 -10
- package/deployments/43113-markets/USDC-FEB-2ND.json +0 -10
- package/deployments/43113-markets/USDC-FEB-4TH.json +0 -10
- package/deployments/43113-markets/WETH-FEB-2ND.json +0 -11
- package/deployments/43113-markets/WETH-FEB-4TH.json +0 -11
- package/deployments/43113-testenv.json +0 -22
- package/deployments/80001-core.json +0 -28
- package/deployments/80001-helper.json +0 -3
- package/deployments/80001-markets/USDC-FEB-4TH.json +0 -10
- package/deployments/80001-markets/WETH-FEB-4TH.json +0 -11
- package/deployments/80001-testenv.json +0 -22
- package/typechain-types/BribeDistributor.ts +0 -363
- package/typechain-types/ComposableStablePreview.ts +0 -217
- package/typechain-types/DistributorBase.ts +0 -363
- package/typechain-types/FeeDistributor.ts +0 -416
- package/typechain-types/I1inchAggregationRouterV5.ts +0 -257
- package/typechain-types/IAggregationExecutor.ts +0 -182
- package/typechain-types/IApeStaking.ts +0 -305
- package/typechain-types/IBalancerFees.ts +0 -89
- package/typechain-types/IBalancerStablePreview.ts +0 -217
- package/typechain-types/IBasePool.ts +0 -482
- package/typechain-types/IComposableStable.ts +0 -730
- package/typechain-types/IExecutorHelperEthereum1.ts +0 -599
- package/typechain-types/IGauge.ts +0 -160
- package/typechain-types/IHashflow.ts +0 -159
- package/typechain-types/IKyberSwapAggregationRouterHelper.ts +0 -109
- package/typechain-types/ILiquidityGaugeFactory.ts +0 -99
- package/typechain-types/IMetaAggregationRouter.ts +0 -213
- package/typechain-types/IMetaAggregationRouterV2.ts +0 -221
- package/typechain-types/IMetaStablePool.ts +0 -619
- package/typechain-types/IMultihopRouterEthereum.ts +0 -209
- package/typechain-types/IRateProvider.ts +0 -81
- package/typechain-types/ISwapAggregator.ts +0 -124
- package/typechain-types/IVault.ts +0 -410
- package/typechain-types/MetaStableMath.ts +0 -113
- package/typechain-types/MetaStablePreview.ts +0 -501
- package/typechain-types/Multicall2.ts +0 -437
- package/typechain-types/PendleApeStakingSY.ts +0 -1135
- package/typechain-types/PendleAura3EthSY.ts +0 -1639
- package/typechain-types/PendleAuraBalancerStableLPSY.ts +0 -1523
- package/typechain-types/PendleAuraCbethWstethSY.ts +0 -1626
- package/typechain-types/PendleAuraWethRethSY.ts +0 -1549
- package/typechain-types/PendleAuraWethWstethSY.ts +0 -1562
- package/typechain-types/SAPE.ts +0 -1395
- package/typechain-types/SYBaseAutoCompound.ts +0 -1203
- package/typechain-types/StEthHelper.ts +0 -107
- package/typechain-types/StablePreviewBase.ts +0 -217
- package/typechain-types/SwapAggregator.ts +0 -406
- package/typechain-types/factories/BribeDistributor__factory.ts +0 -303
- package/typechain-types/factories/ComposableStablePreview__factory.ts +0 -190
- package/typechain-types/factories/DistributorBase__factory.ts +0 -249
- package/typechain-types/factories/FeeDistributor__factory.ts +0 -339
- package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +0 -179
- package/typechain-types/factories/IAggregationExecutor__factory.ts +0 -84
- package/typechain-types/factories/IApeStaking__factory.ts +0 -161
- package/typechain-types/factories/IBalancerFees__factory.ts +0 -36
- package/typechain-types/factories/IBalancerStablePreview__factory.ts +0 -152
- package/typechain-types/factories/IBasePool__factory.ts +0 -340
- package/typechain-types/factories/IComposableStable__factory.ts +0 -482
- package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -378
- package/typechain-types/factories/IGauge__factory.ts +0 -70
- package/typechain-types/factories/IHashflow__factory.ts +0 -113
- package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +0 -56
- package/typechain-types/factories/ILiquidityGaugeFactory__factory.ts +0 -49
- package/typechain-types/factories/IMetaAggregationRouterV2__factory.ts +0 -234
- package/typechain-types/factories/IMetaAggregationRouter__factory.ts +0 -202
- package/typechain-types/factories/IMetaStablePool__factory.ts +0 -413
- package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +0 -155
- package/typechain-types/factories/IRateProvider__factory.ts +0 -36
- package/typechain-types/factories/ISwapAggregator__factory.ts +0 -66
- package/typechain-types/factories/IVault__factory.ts +0 -287
- package/typechain-types/factories/MetaStableMath__factory.ts +0 -93
- package/typechain-types/factories/MetaStablePreview__factory.ts +0 -375
- package/typechain-types/factories/Multicall2__factory.ts +0 -372
- package/typechain-types/factories/PendleApeStakingSY__factory.ts +0 -981
- package/typechain-types/factories/PendleAura3EthSY__factory.ts +0 -1365
- package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +0 -1190
- package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +0 -1356
- package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +0 -1291
- package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +0 -1304
- package/typechain-types/factories/SAPE__factory.ts +0 -1142
- package/typechain-types/factories/SYBaseAutoCompound__factory.ts +0 -942
- package/typechain-types/factories/StEthHelper__factory.ts +0 -62
- package/typechain-types/factories/StablePreviewBase__factory.ts +0 -148
- package/typechain-types/factories/SwapAggregator__factory.ts +0 -309
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.17;
|
|
3
|
-
|
|
4
|
-
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
5
|
-
|
|
6
|
-
import "../../../../../interfaces/Balancer/IVault.sol";
|
|
7
|
-
import "../../../../../interfaces/Balancer/IRateProvider.sol";
|
|
8
|
-
import "../../../../../interfaces/Balancer/IBasePool.sol";
|
|
9
|
-
import "../../../../../interfaces/Balancer/IBalancerStablePreview.sol";
|
|
10
|
-
import "../../../../../interfaces/ConvexCurve/IBooster.sol";
|
|
11
|
-
import "../../../../../interfaces/ConvexCurve/IRewards.sol";
|
|
12
|
-
|
|
13
|
-
import "./StablePoolUserData.sol";
|
|
14
|
-
import "../../../../libraries/ArrayLib.sol";
|
|
15
|
-
import "../../../SYBaseWithRewards.sol";
|
|
16
|
-
|
|
17
|
-
abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
18
|
-
using ArrayLib for address[];
|
|
19
|
-
|
|
20
|
-
address public constant BAL_TOKEN = 0xba100000625a3754423978a60c9317c58a424e3D;
|
|
21
|
-
address public constant AURA_TOKEN = 0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF;
|
|
22
|
-
address public constant AURA_BOOSTER = 0xA57b8d98dAE62B26Ec3bcC4a365338157060B234;
|
|
23
|
-
address public constant BALANCER_VAULT = 0xBA12222222228d8Ba445958a75a0704d566BF2C8;
|
|
24
|
-
|
|
25
|
-
address public immutable balLp;
|
|
26
|
-
bytes32 public immutable balPoolId;
|
|
27
|
-
|
|
28
|
-
uint256 public immutable auraPid;
|
|
29
|
-
address public immutable auraRewardManager;
|
|
30
|
-
|
|
31
|
-
IBalancerStablePreview public immutable previewHelper;
|
|
32
|
-
|
|
33
|
-
address[] public extraRewards;
|
|
34
|
-
|
|
35
|
-
constructor(
|
|
36
|
-
string memory _name,
|
|
37
|
-
string memory _symbol,
|
|
38
|
-
address _balLp,
|
|
39
|
-
uint256 _auraPid,
|
|
40
|
-
IBalancerStablePreview _previewHelper
|
|
41
|
-
) SYBaseWithRewards(_name, _symbol, _balLp) {
|
|
42
|
-
balPoolId = IBasePool(_balLp).getPoolId();
|
|
43
|
-
auraPid = _auraPid;
|
|
44
|
-
|
|
45
|
-
(balLp, auraRewardManager) = _getPoolInfo(_auraPid);
|
|
46
|
-
if (balLp != _balLp) revert Errors.SYBalancerInvalidPid();
|
|
47
|
-
|
|
48
|
-
_safeApproveInf(_balLp, AURA_BOOSTER);
|
|
49
|
-
|
|
50
|
-
address[] memory tokens = _getPoolTokenAddresses();
|
|
51
|
-
for (uint256 i = 0; i < tokens.length; ++i) {
|
|
52
|
-
_safeApproveInf(tokens[i], BALANCER_VAULT);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
previewHelper = _previewHelper;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function _getPoolInfo(uint256 _auraPid)
|
|
59
|
-
internal
|
|
60
|
-
view
|
|
61
|
-
returns (address _auraLp, address _auraRewardManager)
|
|
62
|
-
{
|
|
63
|
-
if (_auraPid > IBooster(AURA_BOOSTER).poolLength()) revert Errors.SYBalancerInvalidPid();
|
|
64
|
-
(_auraLp, , , _auraRewardManager, , ) = IBooster(AURA_BOOSTER).poolInfo(_auraPid);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/*///////////////////////////////////////////////////////////////
|
|
68
|
-
DEPOSIT/REDEEM USING BASE TOKENS
|
|
69
|
-
//////////////////////////////////////////////////////////////*/
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* @notice Either wraps LP, or also joins pool using exact tokenIn
|
|
73
|
-
*/
|
|
74
|
-
function _deposit(address tokenIn, uint256 amount)
|
|
75
|
-
internal
|
|
76
|
-
virtual
|
|
77
|
-
override
|
|
78
|
-
returns (uint256 amountSharesOut)
|
|
79
|
-
{
|
|
80
|
-
if (tokenIn == balLp) {
|
|
81
|
-
amountSharesOut = amount;
|
|
82
|
-
} else {
|
|
83
|
-
amountSharesOut = _depositToBalancer(tokenIn, amount);
|
|
84
|
-
}
|
|
85
|
-
IBooster(AURA_BOOSTER).deposit(auraPid, amountSharesOut, true);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* @notice Either unwraps LP, or also exits pool using exact LP for only `tokenOut`
|
|
90
|
-
*/
|
|
91
|
-
function _redeem(
|
|
92
|
-
address receiver,
|
|
93
|
-
address tokenOut,
|
|
94
|
-
uint256 amountSharesToRedeem
|
|
95
|
-
) internal virtual override returns (uint256 amountTokenOut) {
|
|
96
|
-
IRewards(auraRewardManager).withdrawAndUnwrap(amountSharesToRedeem, false);
|
|
97
|
-
|
|
98
|
-
if (tokenOut == balLp) {
|
|
99
|
-
amountTokenOut = amountSharesToRedeem;
|
|
100
|
-
_transferOut(tokenOut, receiver, amountTokenOut);
|
|
101
|
-
} else {
|
|
102
|
-
amountTokenOut = _redeemFromBalancer(receiver, tokenOut, amountSharesToRedeem);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function exchangeRate() external view override returns (uint256) {
|
|
107
|
-
return IRateProvider(balLp).getRate();
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/*///////////////////////////////////////////////////////////////
|
|
111
|
-
BALANCER-RELATED FUNCTIONS
|
|
112
|
-
//////////////////////////////////////////////////////////////*/
|
|
113
|
-
|
|
114
|
-
function _depositToBalancer(address tokenIn, uint256 amountTokenToDeposit)
|
|
115
|
-
internal
|
|
116
|
-
virtual
|
|
117
|
-
returns (uint256)
|
|
118
|
-
{
|
|
119
|
-
IVault.JoinPoolRequest memory request = _assembleJoinRequest(
|
|
120
|
-
tokenIn,
|
|
121
|
-
amountTokenToDeposit
|
|
122
|
-
);
|
|
123
|
-
IVault(BALANCER_VAULT).joinPool(balPoolId, address(this), address(this), request);
|
|
124
|
-
|
|
125
|
-
// amount shares out = amount LP received
|
|
126
|
-
return _selfBalance(balLp);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function _assembleJoinRequest(address tokenIn, uint256 amountTokenToDeposit)
|
|
130
|
-
internal
|
|
131
|
-
view
|
|
132
|
-
virtual
|
|
133
|
-
returns (IVault.JoinPoolRequest memory request)
|
|
134
|
-
{
|
|
135
|
-
// max amounts in
|
|
136
|
-
address[] memory assets = _getPoolTokenAddresses();
|
|
137
|
-
|
|
138
|
-
uint256 amountsLength = _getBPTIndex() < type(uint256).max
|
|
139
|
-
? assets.length - 1
|
|
140
|
-
: assets.length;
|
|
141
|
-
|
|
142
|
-
uint256[] memory amountsIn = new uint256[](amountsLength);
|
|
143
|
-
uint256[] memory maxAmountsIn = new uint256[](assets.length);
|
|
144
|
-
|
|
145
|
-
uint256 index = assets.find(tokenIn);
|
|
146
|
-
uint256 indexSkipBPT = index > _getBPTIndex() ? index - 1 : index;
|
|
147
|
-
maxAmountsIn[index] = amountsIn[indexSkipBPT] = amountTokenToDeposit;
|
|
148
|
-
|
|
149
|
-
// encode user data
|
|
150
|
-
StablePoolUserData.JoinKind joinKind = StablePoolUserData
|
|
151
|
-
.JoinKind
|
|
152
|
-
.EXACT_TOKENS_IN_FOR_BPT_OUT;
|
|
153
|
-
uint256 minimumBPT = 0;
|
|
154
|
-
|
|
155
|
-
bytes memory userData = abi.encode(joinKind, amountsIn, minimumBPT);
|
|
156
|
-
|
|
157
|
-
// assemble joinpoolrequest
|
|
158
|
-
request = IVault.JoinPoolRequest(assets, maxAmountsIn, userData, false);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
function _redeemFromBalancer(
|
|
162
|
-
address receiver,
|
|
163
|
-
address tokenOut,
|
|
164
|
-
uint256 amountLpToRedeem
|
|
165
|
-
) internal virtual returns (uint256) {
|
|
166
|
-
uint256 balanceBefore = IERC20(tokenOut).balanceOf(receiver);
|
|
167
|
-
|
|
168
|
-
IVault.ExitPoolRequest memory request = _assembleExitRequest(tokenOut, amountLpToRedeem);
|
|
169
|
-
IVault(BALANCER_VAULT).exitPool(balPoolId, address(this), payable(receiver), request);
|
|
170
|
-
|
|
171
|
-
// calculate amount of tokens out
|
|
172
|
-
uint256 balanceAfter = IERC20(tokenOut).balanceOf(receiver);
|
|
173
|
-
return balanceAfter - balanceBefore;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
function _assembleExitRequest(address tokenOut, uint256 amountLpToRedeem)
|
|
177
|
-
internal
|
|
178
|
-
view
|
|
179
|
-
virtual
|
|
180
|
-
returns (IVault.ExitPoolRequest memory request)
|
|
181
|
-
{
|
|
182
|
-
address[] memory assets = _getPoolTokenAddresses();
|
|
183
|
-
uint256[] memory minAmountsOut = new uint256[](assets.length);
|
|
184
|
-
|
|
185
|
-
// encode user data
|
|
186
|
-
StablePoolUserData.ExitKind exitKind = StablePoolUserData
|
|
187
|
-
.ExitKind
|
|
188
|
-
.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT;
|
|
189
|
-
uint256 bptAmountIn = amountLpToRedeem;
|
|
190
|
-
uint256 exitTokenIndex = assets.find(tokenOut);
|
|
191
|
-
|
|
192
|
-
// must drop BPT index as well
|
|
193
|
-
exitTokenIndex = _getBPTIndex() < exitTokenIndex ? exitTokenIndex - 1 : exitTokenIndex;
|
|
194
|
-
|
|
195
|
-
bytes memory userData = abi.encode(exitKind, bptAmountIn, exitTokenIndex);
|
|
196
|
-
|
|
197
|
-
// assemble exitpoolrequest
|
|
198
|
-
request = IVault.ExitPoolRequest(assets, minAmountsOut, userData, false);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/// @dev this should return tokens in the same order as `IVault.getPoolTokens()`
|
|
202
|
-
function _getPoolTokenAddresses() internal view virtual returns (address[] memory res);
|
|
203
|
-
|
|
204
|
-
/// @dev should be overriden if and only if BPT is one of the pool tokens
|
|
205
|
-
function _getBPTIndex() internal view virtual returns (uint256) {
|
|
206
|
-
return type(uint256).max;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
/*///////////////////////////////////////////////////////////////
|
|
210
|
-
PREVIEW FUNCTIONS
|
|
211
|
-
//////////////////////////////////////////////////////////////*/
|
|
212
|
-
|
|
213
|
-
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
214
|
-
internal
|
|
215
|
-
view
|
|
216
|
-
virtual
|
|
217
|
-
override
|
|
218
|
-
returns (uint256 amountSharesOut)
|
|
219
|
-
{
|
|
220
|
-
if (tokenIn == balLp) {
|
|
221
|
-
amountSharesOut = amountTokenToDeposit;
|
|
222
|
-
} else {
|
|
223
|
-
IVault.JoinPoolRequest memory request = _assembleJoinRequest(
|
|
224
|
-
tokenIn,
|
|
225
|
-
amountTokenToDeposit
|
|
226
|
-
);
|
|
227
|
-
amountSharesOut = previewHelper.joinPoolPreview(
|
|
228
|
-
balPoolId,
|
|
229
|
-
address(this),
|
|
230
|
-
address(this),
|
|
231
|
-
request,
|
|
232
|
-
_getImmutablePoolData()
|
|
233
|
-
);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
238
|
-
internal
|
|
239
|
-
view
|
|
240
|
-
virtual
|
|
241
|
-
override
|
|
242
|
-
returns (uint256 amountTokenOut)
|
|
243
|
-
{
|
|
244
|
-
if (tokenOut == balLp) {
|
|
245
|
-
amountTokenOut = amountSharesToRedeem;
|
|
246
|
-
} else {
|
|
247
|
-
IVault.ExitPoolRequest memory request = _assembleExitRequest(
|
|
248
|
-
tokenOut,
|
|
249
|
-
amountSharesToRedeem
|
|
250
|
-
);
|
|
251
|
-
|
|
252
|
-
amountTokenOut = previewHelper.exitPoolPreview(
|
|
253
|
-
balPoolId,
|
|
254
|
-
address(this),
|
|
255
|
-
address(this),
|
|
256
|
-
request,
|
|
257
|
-
_getImmutablePoolData()
|
|
258
|
-
);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
function _getImmutablePoolData() internal view virtual returns (bytes memory);
|
|
263
|
-
|
|
264
|
-
/*///////////////////////////////////////////////////////////////
|
|
265
|
-
REWARDS-RELATED
|
|
266
|
-
//////////////////////////////////////////////////////////////*/
|
|
267
|
-
|
|
268
|
-
/// @notice allows owner to add new reward tokens in in case Aura does so with their pools
|
|
269
|
-
function addRewardTokens(address token) external virtual onlyOwner {
|
|
270
|
-
if (token == BAL_TOKEN || token == AURA_TOKEN || extraRewards.contains(token))
|
|
271
|
-
revert Errors.SYInvalidRewardToken(token);
|
|
272
|
-
|
|
273
|
-
uint256 nRewardsAura = IRewards(auraRewardManager).extraRewardsLength();
|
|
274
|
-
for (uint256 i = 0; i < nRewardsAura; i++) {
|
|
275
|
-
if (token == IRewards(IRewards(auraRewardManager).extraRewards(i)).rewardToken()) {
|
|
276
|
-
extraRewards.push(token);
|
|
277
|
-
return;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
revert Errors.SYInvalidRewardToken(token);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
function extraRewardsLength() external view virtual returns (uint256) {
|
|
285
|
-
return extraRewards.length;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
function _getRewardTokens() internal view virtual override returns (address[] memory res) {
|
|
289
|
-
uint256 extraRewardsLen = extraRewards.length;
|
|
290
|
-
res = new address[](2 + extraRewardsLen);
|
|
291
|
-
res[0] = BAL_TOKEN;
|
|
292
|
-
res[1] = AURA_TOKEN;
|
|
293
|
-
for (uint256 i = 0; i < extraRewardsLen; i++) {
|
|
294
|
-
res[2 + i] = extraRewards[i];
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
/// @dev if there is no extra rewards, we can call getReward with the 2nd arg (_claimExtra) to be false
|
|
299
|
-
/// which helps save even more gas
|
|
300
|
-
function _redeemExternalReward() internal virtual override {
|
|
301
|
-
uint256 extraRewardsLen = extraRewards.length;
|
|
302
|
-
if (extraRewardsLen == 0) IRewards(auraRewardManager).getReward(address(this), false);
|
|
303
|
-
else IRewards(auraRewardManager).getReward(address(this), true);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
/*///////////////////////////////////////////////////////////////
|
|
307
|
-
MISC FUNCTIONS FOR METADATA
|
|
308
|
-
//////////////////////////////////////////////////////////////*/
|
|
309
|
-
|
|
310
|
-
function getTokensIn() public view virtual override returns (address[] memory res);
|
|
311
|
-
|
|
312
|
-
function getTokensOut() public view virtual override returns (address[] memory res);
|
|
313
|
-
|
|
314
|
-
function isValidTokenIn(address token) public view virtual override returns (bool);
|
|
315
|
-
|
|
316
|
-
function isValidTokenOut(address token) public view virtual override returns (bool);
|
|
317
|
-
|
|
318
|
-
function assetInfo()
|
|
319
|
-
external
|
|
320
|
-
view
|
|
321
|
-
returns (
|
|
322
|
-
AssetType assetType,
|
|
323
|
-
address assetAddress,
|
|
324
|
-
uint8 assetDecimals
|
|
325
|
-
)
|
|
326
|
-
{
|
|
327
|
-
return (AssetType.LIQUIDITY, balLp, IERC20Metadata(balLp).decimals());
|
|
328
|
-
}
|
|
329
|
-
}
|
package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity ^0.8.17;
|
|
3
|
-
|
|
4
|
-
library StablePoolUserData {
|
|
5
|
-
enum JoinKind {
|
|
6
|
-
INIT,
|
|
7
|
-
EXACT_TOKENS_IN_FOR_BPT_OUT,
|
|
8
|
-
TOKEN_IN_FOR_EXACT_BPT_OUT
|
|
9
|
-
}
|
|
10
|
-
enum ExitKind {
|
|
11
|
-
EXACT_BPT_IN_FOR_ONE_TOKEN_OUT,
|
|
12
|
-
BPT_IN_FOR_EXACT_TOKENS_OUT
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function exactTokensInForBptOut(bytes memory self)
|
|
16
|
-
internal
|
|
17
|
-
pure
|
|
18
|
-
returns (uint256[] memory amountsIn, uint256 minBPTAmountOut)
|
|
19
|
-
{
|
|
20
|
-
(, amountsIn, minBPTAmountOut) = abi.decode(self, (JoinKind, uint256[], uint256));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function exactBptInForTokenOut(bytes memory self)
|
|
24
|
-
internal
|
|
25
|
-
pure
|
|
26
|
-
returns (uint256 bptAmountIn, uint256 tokenIndex)
|
|
27
|
-
{
|
|
28
|
-
(, bptAmountIn, tokenIndex) = abi.decode(self, (ExitKind, uint256, uint256));
|
|
29
|
-
}
|
|
30
|
-
}
|
package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.17;
|
|
3
|
-
|
|
4
|
-
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
5
|
-
import "../../../../../interfaces/Balancer/IVault.sol";
|
|
6
|
-
import "../../../../../interfaces/Balancer/IBalancerFees.sol";
|
|
7
|
-
import "../../../../../interfaces/Balancer/IBalancerStablePreview.sol";
|
|
8
|
-
|
|
9
|
-
abstract contract StablePreviewBase is IBalancerStablePreview {
|
|
10
|
-
address internal constant BALANCER_VAULT = 0xBA12222222228d8Ba445958a75a0704d566BF2C8;
|
|
11
|
-
address internal constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
|
|
12
|
-
address internal constant FEE_COLLECTOR = 0xce88686553686DA562CE7Cea497CE749DA109f9F;
|
|
13
|
-
|
|
14
|
-
enum PoolBalanceChangeKind {
|
|
15
|
-
JOIN,
|
|
16
|
-
EXIT
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
struct PoolBalanceChange {
|
|
20
|
-
IAsset[] assets;
|
|
21
|
-
uint256[] limits;
|
|
22
|
-
bytes userData;
|
|
23
|
-
bool useInternalBalance;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function joinPoolPreview(
|
|
27
|
-
bytes32 poolId,
|
|
28
|
-
address sender,
|
|
29
|
-
address recipient,
|
|
30
|
-
IVault.JoinPoolRequest memory request,
|
|
31
|
-
bytes memory data
|
|
32
|
-
) external view returns (uint256 amountBptOut) {
|
|
33
|
-
amountBptOut = _joinOrExit(
|
|
34
|
-
PoolBalanceChangeKind.JOIN,
|
|
35
|
-
poolId,
|
|
36
|
-
sender,
|
|
37
|
-
payable(recipient),
|
|
38
|
-
_toPoolBalanceChange(request),
|
|
39
|
-
data
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function exitPoolPreview(
|
|
44
|
-
bytes32 poolId,
|
|
45
|
-
address sender,
|
|
46
|
-
address recipient,
|
|
47
|
-
IVault.ExitPoolRequest memory request,
|
|
48
|
-
bytes memory data
|
|
49
|
-
) external view returns (uint256 amountTokenOut) {
|
|
50
|
-
amountTokenOut = _joinOrExit(
|
|
51
|
-
PoolBalanceChangeKind.EXIT,
|
|
52
|
-
poolId,
|
|
53
|
-
sender,
|
|
54
|
-
recipient,
|
|
55
|
-
_toPoolBalanceChange(request),
|
|
56
|
-
data
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function _joinOrExit(
|
|
61
|
-
PoolBalanceChangeKind kind,
|
|
62
|
-
bytes32 poolId,
|
|
63
|
-
address sender,
|
|
64
|
-
address recipient,
|
|
65
|
-
PoolBalanceChange memory change,
|
|
66
|
-
bytes memory data
|
|
67
|
-
) private view returns (uint256 amountBptOrTokensOut) {
|
|
68
|
-
IERC20[] memory tokens = _translateToIERC20(change.assets);
|
|
69
|
-
(uint256[] memory balances, uint256 lastChangeBlock) = _validateTokensAndGetBalances(
|
|
70
|
-
poolId,
|
|
71
|
-
tokens
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
amountBptOrTokensOut = _callPoolBalanceChange(
|
|
75
|
-
kind,
|
|
76
|
-
poolId,
|
|
77
|
-
sender,
|
|
78
|
-
recipient,
|
|
79
|
-
change,
|
|
80
|
-
balances,
|
|
81
|
-
lastChangeBlock,
|
|
82
|
-
data
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function _callPoolBalanceChange(
|
|
87
|
-
PoolBalanceChangeKind kind,
|
|
88
|
-
bytes32 poolId,
|
|
89
|
-
address sender,
|
|
90
|
-
address recipient,
|
|
91
|
-
PoolBalanceChange memory change,
|
|
92
|
-
uint256[] memory balances,
|
|
93
|
-
uint256 lastChangeBlock,
|
|
94
|
-
bytes memory data
|
|
95
|
-
) private view returns (uint256 amountsChanged) {
|
|
96
|
-
if (kind == PoolBalanceChangeKind.JOIN) {
|
|
97
|
-
amountsChanged = onJoinPool(
|
|
98
|
-
poolId,
|
|
99
|
-
sender,
|
|
100
|
-
recipient,
|
|
101
|
-
balances,
|
|
102
|
-
lastChangeBlock,
|
|
103
|
-
_getProtocolSwapFeePercentage(),
|
|
104
|
-
change.userData,
|
|
105
|
-
data
|
|
106
|
-
);
|
|
107
|
-
} else {
|
|
108
|
-
amountsChanged = onExitPool(
|
|
109
|
-
poolId,
|
|
110
|
-
sender,
|
|
111
|
-
recipient,
|
|
112
|
-
balances,
|
|
113
|
-
lastChangeBlock,
|
|
114
|
-
_getProtocolSwapFeePercentage(),
|
|
115
|
-
change.userData,
|
|
116
|
-
data
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
function _getProtocolSwapFeePercentage() private view returns (uint256) {
|
|
122
|
-
return IBalancerFees(FEE_COLLECTOR).getSwapFeePercentage();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function _validateTokensAndGetBalances(
|
|
126
|
-
bytes32 poolId,
|
|
127
|
-
IERC20[] memory //expectedTokens
|
|
128
|
-
) private view returns (uint256[] memory, uint256) {
|
|
129
|
-
(, uint256[] memory balances, uint256 lastChangeBlock) = IVault(BALANCER_VAULT)
|
|
130
|
-
.getPoolTokens(poolId);
|
|
131
|
-
return (balances, lastChangeBlock);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function _translateToIERC20(IAsset[] memory assets) internal pure returns (IERC20[] memory) {
|
|
135
|
-
IERC20[] memory tokens = new IERC20[](assets.length);
|
|
136
|
-
for (uint256 i = 0; i < assets.length; ++i) {
|
|
137
|
-
tokens[i] = _translateToIERC20(assets[i]);
|
|
138
|
-
}
|
|
139
|
-
return tokens;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
function _translateToIERC20(IAsset asset) internal pure returns (IERC20) {
|
|
143
|
-
return address(asset) == address(0) ? IERC20(WETH) : IERC20(address(asset));
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
function _toPoolBalanceChange(IVault.JoinPoolRequest memory request)
|
|
147
|
-
private
|
|
148
|
-
pure
|
|
149
|
-
returns (PoolBalanceChange memory change)
|
|
150
|
-
{
|
|
151
|
-
// solhint-disable-next-line no-inline-assembly
|
|
152
|
-
assembly {
|
|
153
|
-
change := request
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
function _toPoolBalanceChange(IVault.ExitPoolRequest memory request)
|
|
158
|
-
private
|
|
159
|
-
pure
|
|
160
|
-
returns (PoolBalanceChange memory change)
|
|
161
|
-
{
|
|
162
|
-
// solhint-disable-next-line no-inline-assembly
|
|
163
|
-
assembly {
|
|
164
|
-
change := request
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
function onJoinPool(
|
|
169
|
-
bytes32 poolId,
|
|
170
|
-
address sender,
|
|
171
|
-
address recipient,
|
|
172
|
-
uint256[] memory balances,
|
|
173
|
-
uint256 lastChangeBlock,
|
|
174
|
-
uint256 protocolSwapFeePercentage,
|
|
175
|
-
bytes memory userData,
|
|
176
|
-
bytes memory data
|
|
177
|
-
) internal view virtual returns (uint256 bptAmountOut);
|
|
178
|
-
|
|
179
|
-
function onExitPool(
|
|
180
|
-
bytes32 poolId,
|
|
181
|
-
address sender,
|
|
182
|
-
address recipient,
|
|
183
|
-
uint256[] memory balances,
|
|
184
|
-
uint256 lastChangeBlock,
|
|
185
|
-
uint256 protocolSwapFeePercentage,
|
|
186
|
-
bytes memory userData,
|
|
187
|
-
bytes memory data
|
|
188
|
-
) internal view virtual returns (uint256 amountTokenOut);
|
|
189
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.17;
|
|
3
|
-
|
|
4
|
-
import "./IVault.sol";
|
|
5
|
-
|
|
6
|
-
interface IBalancerStablePreview {
|
|
7
|
-
function joinPoolPreview(
|
|
8
|
-
bytes32 poolId,
|
|
9
|
-
address sender,
|
|
10
|
-
address recipient,
|
|
11
|
-
IVault.JoinPoolRequest memory request,
|
|
12
|
-
bytes memory data
|
|
13
|
-
) external view returns (uint256 amountBptOut);
|
|
14
|
-
|
|
15
|
-
function exitPoolPreview(
|
|
16
|
-
bytes32 poolId,
|
|
17
|
-
address sender,
|
|
18
|
-
address recipient,
|
|
19
|
-
IVault.ExitPoolRequest memory request,
|
|
20
|
-
bytes memory data
|
|
21
|
-
) external view returns (uint256 amountTokenOut);
|
|
22
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.17;
|
|
3
|
-
|
|
4
|
-
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
5
|
-
|
|
6
|
-
interface IBasePool is IERC20 {
|
|
7
|
-
function onJoinPool(
|
|
8
|
-
bytes32 poolId,
|
|
9
|
-
address sender,
|
|
10
|
-
address recipient,
|
|
11
|
-
uint256[] memory balances,
|
|
12
|
-
uint256 lastChangeBlock,
|
|
13
|
-
uint256 protocolSwapFeePercentage,
|
|
14
|
-
bytes memory userData
|
|
15
|
-
) external returns (uint256[] memory amountsIn, uint256[] memory dueProtocolFeeAmounts);
|
|
16
|
-
|
|
17
|
-
function onExitPool(
|
|
18
|
-
bytes32 poolId,
|
|
19
|
-
address sender,
|
|
20
|
-
address recipient,
|
|
21
|
-
uint256[] memory balances,
|
|
22
|
-
uint256 lastChangeBlock,
|
|
23
|
-
uint256 protocolSwapFeePercentage,
|
|
24
|
-
bytes memory userData
|
|
25
|
-
) external returns (uint256[] memory amountsOut, uint256[] memory dueProtocolFeeAmounts);
|
|
26
|
-
|
|
27
|
-
function getPoolId() external view returns (bytes32);
|
|
28
|
-
|
|
29
|
-
function getSwapFeePercentage() external view returns (uint256);
|
|
30
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.17;
|
|
3
|
-
|
|
4
|
-
import "./IBasePool.sol";
|
|
5
|
-
import "./IRateProvider.sol";
|
|
6
|
-
|
|
7
|
-
interface IComposableStable is IBasePool {
|
|
8
|
-
function getLastJoinExitData()
|
|
9
|
-
external
|
|
10
|
-
view
|
|
11
|
-
returns (uint256 lastJoinExitAmplification, uint256 lastPostJoinExitInvariant);
|
|
12
|
-
|
|
13
|
-
function getAmplificationParameter()
|
|
14
|
-
external
|
|
15
|
-
view
|
|
16
|
-
returns (
|
|
17
|
-
uint256 value,
|
|
18
|
-
bool isUpdating,
|
|
19
|
-
uint256 precision
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
function getProtocolFeePercentageCache(uint256 feeType) external view returns (uint256);
|
|
23
|
-
|
|
24
|
-
function isTokenExemptFromYieldProtocolFee(IERC20 token) external view returns (bool);
|
|
25
|
-
|
|
26
|
-
function getTokenRateCache(IERC20 token)
|
|
27
|
-
external
|
|
28
|
-
view
|
|
29
|
-
returns (
|
|
30
|
-
uint256 rate,
|
|
31
|
-
uint256 oldRate,
|
|
32
|
-
uint256 duration,
|
|
33
|
-
uint256 expires
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
function getRateProviders() external view returns (IRateProvider[] memory);
|
|
37
|
-
|
|
38
|
-
function getBptIndex() external view returns (uint256);
|
|
39
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.17;
|
|
3
|
-
|
|
4
|
-
interface IGauge {
|
|
5
|
-
function claim_rewards(address _addr, address _receiver) external;
|
|
6
|
-
|
|
7
|
-
function reward_count() external view returns (uint256);
|
|
8
|
-
|
|
9
|
-
function reward_tokens(uint256 arg0) external view returns (address);
|
|
10
|
-
}
|