@pendle/core-v2 1.2.0-mainnet → 1.4.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/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/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 +34 -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/SYBase.sol/SYBase.json +141 -0
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.json +141 -0
- package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.json +10 -0
- 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 +143 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +1257 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +1244 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +1218 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +1192 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +133 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +40 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +322 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json +1171 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.json +133 -0
- 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 +143 -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 +143 -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 +143 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.json +141 -0
- 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 +143 -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 +143 -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/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/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +39 -2
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.json +10 -0
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.json +24 -0
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.json +133 -0
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.json +328 -0
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.json +467 -0
- package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.json +61 -0
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.json +30 -0
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.json +398 -0
- package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.json +24 -0
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.json +278 -0
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +18 -0
- package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- 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/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.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 +19 -0
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.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/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 -2
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +322 -0
- package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +47 -0
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +2 -2
- 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/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 +2 -2
- 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 +2 -2
- 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 +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/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/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +2 -2
- package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +10 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +359 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.json +101 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json +183 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +7 -9
- package/contracts/core/StandardizedYield/SYBase.sol +23 -5
- package/contracts/core/StandardizedYield/StEthHelper.sol +71 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +170 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +162 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +134 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +154 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +289 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +618 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol +68 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +322 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +390 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +329 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +30 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +189 -0
- package/contracts/core/libraries/ArrayLib.sol +6 -3
- package/contracts/core/libraries/Errors.sol +3 -0
- package/contracts/interfaces/Balancer/IAsset.sol +4 -0
- package/contracts/interfaces/Balancer/IBalancerFees.sol +6 -0
- package/contracts/interfaces/Balancer/IBalancerStablePreview.sol +22 -0
- package/contracts/interfaces/Balancer/IBasePool.sol +30 -0
- package/contracts/interfaces/Balancer/IComposableStable.sol +39 -0
- package/contracts/interfaces/Balancer/IGauge.sol +10 -0
- package/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol +6 -0
- package/contracts/interfaces/Balancer/IMetaStablePool.sol +31 -0
- package/contracts/interfaces/Balancer/IRateProvider.sol +6 -0
- package/contracts/interfaces/Balancer/IVault.sol +78 -0
- package/contracts/interfaces/ConvexCurve/IRewards.sol +5 -0
- package/contracts/offchain-helpers/PendleMulticall.sol +26 -0
- package/contracts/router/kyberswap/AggregationRouterHelper.sol +191 -205
- package/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol +134 -0
- package/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol +17 -0
- package/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol +185 -0
- package/contracts/router/kyberswap/interfaces/IHashflow.sol +30 -0
- package/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol +33 -0
- package/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol +42 -0
- package/deployments/1-core.json +1 -1
- package/deployments/1-markets/BALANCER-LP-AURA-RETH-WETH-28DEC.json +11 -0
- package/deployments/1-markets/BALANCER-LP-AURA-WSTETH-WETH-JUN272024.json +10 -0
- package/deployments/1-offchain-helper.json +4 -0
- package/package.json +6 -6
- package/typechain-types/ComposableStablePreview.ts +217 -0
- package/typechain-types/GMXPreviewHelper.ts +81 -0
- package/typechain-types/I1inchAggregationRouterV5.ts +257 -0
- package/typechain-types/IAggregationExecutor.ts +182 -0
- package/typechain-types/IBalancerFees.ts +89 -0
- package/typechain-types/IBalancerStablePreview.ts +217 -0
- package/typechain-types/IBasePool.ts +482 -0
- package/typechain-types/IComposableStable.ts +730 -0
- package/typechain-types/IExecutorHelperEthereum1.ts +599 -0
- package/typechain-types/IGMXVault.ts +494 -0
- package/typechain-types/IGauge.ts +160 -0
- package/typechain-types/IGlpManager.ts +115 -0
- package/typechain-types/IHashflow.ts +159 -0
- package/typechain-types/IKyberSwapAggregationRouterHelper.ts +109 -0
- package/typechain-types/ILiquidityGaugeFactory.ts +99 -0
- package/typechain-types/IMetaAggregationRouter.ts +213 -0
- package/typechain-types/IMetaAggregationRouterV2.ts +221 -0
- package/typechain-types/IMetaStablePool.ts +619 -0
- package/typechain-types/IPFeeDistributor.ts +18 -0
- package/typechain-types/IPYieldTokenV2.ts +915 -0
- package/typechain-types/IRateProvider.ts +81 -0
- package/typechain-types/IRewardRouterV2.ts +303 -0
- package/typechain-types/IRewards.ts +35 -5
- package/typechain-types/ISwapAggregator.ts +124 -0
- package/typechain-types/IVault.ts +410 -0
- package/typechain-types/IVaultPriceFeed.ts +114 -0
- package/typechain-types/InterestManagerYTV2.ts +124 -0
- package/typechain-types/MetaStableMath.ts +113 -0
- package/typechain-types/MetaStablePreview.ts +501 -0
- package/typechain-types/Multicall2.ts +437 -0
- package/typechain-types/PendleAura3EthSY.ts +1600 -0
- package/typechain-types/PendleAuraBalancerStableLPSY.ts +1523 -0
- package/typechain-types/PendleAuraCbethWstethSY.ts +1587 -0
- package/typechain-types/PendleAuraWethRethSY.ts +1549 -0
- package/typechain-types/PendleAuraWethWstethSY.ts +1523 -0
- package/typechain-types/PendleConvexLPSY.ts +204 -0
- package/typechain-types/PendleCurveFraxUsdcSY.ts +204 -0
- package/typechain-types/PendleCurveUsdd3CrvSY.ts +204 -0
- package/typechain-types/PendleFeeDistributor.ts +37 -0
- package/typechain-types/PendleGlpSY.ts +1396 -0
- package/typechain-types/PendleLooksStakingSY.ts +204 -0
- package/typechain-types/PendleMulticall.ts +110 -0
- package/typechain-types/PendlePrincipalTokenV2.ts +614 -0
- package/typechain-types/PendleQiTokenSY.ts +204 -0
- package/typechain-types/PendleWstEthSY.ts +204 -0
- package/typechain-types/PendleYieldContractFactoryV2.ts +801 -0
- package/typechain-types/PendleYieldTokenV2.ts +1304 -0
- package/typechain-types/SAPE.ts +204 -0
- package/typechain-types/SYBase.ts +204 -0
- package/typechain-types/SYBaseWithRewards.ts +204 -0
- package/typechain-types/StEthHelper.ts +107 -0
- package/typechain-types/StablePreviewBase.ts +217 -0
- package/typechain-types/SwapAggregator.ts +406 -0
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
- 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 +1 -1
- package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
- 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/ComposableStablePreview__factory.ts +190 -0
- package/typechain-types/factories/Errors__factory.ts +38 -1
- package/typechain-types/factories/GMXPreviewHelper__factory.ts +39 -0
- package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +179 -0
- package/typechain-types/factories/IAggregationExecutor__factory.ts +84 -0
- package/typechain-types/factories/IBalancerFees__factory.ts +36 -0
- package/typechain-types/factories/IBalancerStablePreview__factory.ts +152 -0
- package/typechain-types/factories/IBasePool__factory.ts +340 -0
- package/typechain-types/factories/IComposableStable__factory.ts +482 -0
- package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +378 -0
- package/typechain-types/factories/IGMXVault__factory.ts +320 -0
- package/typechain-types/factories/IGauge__factory.ts +70 -0
- package/typechain-types/factories/IGlpManager__factory.ts +55 -0
- package/typechain-types/factories/IHashflow__factory.ts +113 -0
- package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +56 -0
- package/typechain-types/factories/ILiquidityGaugeFactory__factory.ts +49 -0
- package/typechain-types/factories/IMetaAggregationRouterV2__factory.ts +234 -0
- package/typechain-types/factories/IMetaAggregationRouter__factory.ts +202 -0
- package/typechain-types/factories/IMetaStablePool__factory.ts +413 -0
- package/typechain-types/factories/IPFeeDistributor__factory.ts +19 -0
- package/typechain-types/factories/IPYieldTokenV2__factory.ts +702 -0
- package/typechain-types/factories/IRateProvider__factory.ts +36 -0
- package/typechain-types/factories/IRewardRouterV2__factory.ts +180 -0
- package/typechain-types/factories/IRewards__factory.ts +18 -0
- package/typechain-types/factories/ISwapAggregator__factory.ts +66 -0
- package/typechain-types/factories/IVaultPriceFeed__factory.ts +60 -0
- package/typechain-types/factories/IVault__factory.ts +287 -0
- package/typechain-types/factories/InterestManagerYTV2__factory.ts +63 -0
- package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
- package/typechain-types/factories/MetaStableMath__factory.ts +93 -0
- package/typechain-types/factories/MetaStablePreview__factory.ts +375 -0
- package/typechain-types/factories/Multicall2__factory.ts +372 -0
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleAura3EthSY__factory.ts +1326 -0
- package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +1190 -0
- package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1317 -0
- package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1291 -0
- package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1265 -0
- package/typechain-types/factories/PendleConvexLPSY__factory.ts +141 -0
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +142 -1
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +142 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +33 -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 +1216 -0
- package/typechain-types/factories/PendleLooksStakingSY__factory.ts +142 -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/PendleMulticall__factory.ts +100 -0
- package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +564 -0
- 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 +142 -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 +142 -1
- package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +674 -0
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1122 -0
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/RouterStatic__factory.ts +1 -1
- package/typechain-types/factories/SAPE__factory.ts +142 -1
- package/typechain-types/factories/SYBaseWithRewards__factory.ts +141 -0
- package/typechain-types/factories/SYBase__factory.ts +141 -0
- package/typechain-types/factories/StEthHelper__factory.ts +62 -0
- package/typechain-types/factories/StablePreviewBase__factory.ts +148 -0
- package/typechain-types/factories/SwapAggregator__factory.ts +309 -0
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +269 -8
- package/typechain-types/index.ts +62 -4
- package/build/artifacts/contracts/router/kyberswap/IMultihopRouterEthereum.sol/IMultihopRouterEthereum.dbg.json +0 -4
- package/build/artifacts/contracts/router/kyberswap/IMultihopRouterEthereum.sol/IMultihopRouterEthereum.json +0 -136
- package/contracts/router/kyberswap/IMultihopRouterEthereum.sol +0 -141
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
|
|
3
3
|
pragma solidity 0.8.17;
|
|
4
|
-
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
5
|
-
import "./IMultihopRouterEthereum.sol";
|
|
6
|
-
import "./IAggregatorRouterHelper.sol";
|
|
7
4
|
import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
|
|
8
5
|
import "../../core/libraries/BoringOwnableUpgradeable.sol";
|
|
9
6
|
|
|
7
|
+
import "../../interfaces/IWETH.sol";
|
|
8
|
+
|
|
9
|
+
import "./interfaces/IMetaAggregationRouter.sol";
|
|
10
|
+
import "./interfaces/IMetaAggregationRouterV2.sol";
|
|
11
|
+
import "./interfaces/IHashflow.sol";
|
|
12
|
+
import "./interfaces/IExecutorHelperEthereum1.sol";
|
|
13
|
+
|
|
14
|
+
import "./IAggregatorRouterHelper.sol";
|
|
15
|
+
import "./ScaleDataHelperEthereum1.sol";
|
|
16
|
+
|
|
10
17
|
contract AggregationRouterHelper is
|
|
11
18
|
IAggregationRouterHelper,
|
|
12
19
|
Initializable,
|
|
@@ -20,8 +27,6 @@ contract AggregationRouterHelper is
|
|
|
20
27
|
uint256 private constant _BURN_FROM_TX_ORIGIN = 0x10;
|
|
21
28
|
uint256 private constant _SIMPLE_SWAP = 0x20;
|
|
22
29
|
|
|
23
|
-
uint256 private constant SLIPPAGE_RANGE = 10; // over 100
|
|
24
|
-
|
|
25
30
|
constructor() initializer {}
|
|
26
31
|
|
|
27
32
|
function initialize() external initializer {
|
|
@@ -30,29 +35,9 @@ contract AggregationRouterHelper is
|
|
|
30
35
|
|
|
31
36
|
function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
|
|
32
37
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
CURVE,
|
|
37
|
-
KYBERDMM,
|
|
38
|
-
SADDLE,
|
|
39
|
-
UNIV3PROMM,
|
|
40
|
-
BALANCERV2,
|
|
41
|
-
KYBERRFQ,
|
|
42
|
-
DODO,
|
|
43
|
-
WSTETH
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
struct SwapDescription {
|
|
47
|
-
IERC20 srcToken;
|
|
48
|
-
IERC20 dstToken;
|
|
49
|
-
address[] srcReceivers;
|
|
50
|
-
uint256[] srcAmounts;
|
|
51
|
-
address dstReceiver;
|
|
52
|
-
uint256 amount;
|
|
53
|
-
uint256 minReturnAmount;
|
|
54
|
-
uint256 flags;
|
|
55
|
-
bytes permit;
|
|
38
|
+
struct Swap {
|
|
39
|
+
bytes data;
|
|
40
|
+
bytes4 selector;
|
|
56
41
|
}
|
|
57
42
|
|
|
58
43
|
struct SimpleSwapData {
|
|
@@ -64,7 +49,7 @@ contract AggregationRouterHelper is
|
|
|
64
49
|
}
|
|
65
50
|
|
|
66
51
|
struct SwapExecutorDescription {
|
|
67
|
-
|
|
52
|
+
Swap[][] swapSequences;
|
|
68
53
|
address tokenIn;
|
|
69
54
|
address tokenOut;
|
|
70
55
|
uint256 minTotalAmountOut;
|
|
@@ -79,47 +64,129 @@ contract AggregationRouterHelper is
|
|
|
79
64
|
returns (bytes memory)
|
|
80
65
|
{
|
|
81
66
|
bytes4 selector = bytes4(kybercall[:4]);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
67
|
+
|
|
68
|
+
if (selector == IWETH.deposit.selector) {
|
|
69
|
+
return kybercall; // no scaling needed
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (selector == IWETH.withdraw.selector) {
|
|
73
|
+
return abi.encodeWithSelector(selector, newAmount);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (
|
|
77
|
+
selector == IMetaAggregationRouter.swap.selector ||
|
|
78
|
+
selector == IMetaAggregationRouter.swapSimpleMode.selector
|
|
79
|
+
) {
|
|
80
|
+
(
|
|
81
|
+
address callTarget,
|
|
82
|
+
IMetaAggregationRouter.SwapDescription memory desc,
|
|
83
|
+
bytes memory targetData,
|
|
84
|
+
bytes memory clientData
|
|
85
|
+
) = abi.decode(
|
|
86
|
+
kybercall[4:],
|
|
87
|
+
(address, IMetaAggregationRouter.SwapDescription, bytes, bytes)
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
(desc, targetData) = _getScaledInputDataV1(
|
|
91
|
+
desc,
|
|
92
|
+
targetData,
|
|
93
|
+
newAmount,
|
|
94
|
+
selector == IMetaAggregationRouter.swapSimpleMode.selector ||
|
|
95
|
+
_flagsChecked(desc.flags, _SIMPLE_SWAP)
|
|
96
|
+
);
|
|
97
|
+
return abi.encodeWithSelector(selector, callTarget, desc, targetData, clientData);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (selector == IMetaAggregationRouterV2.swap.selector) {
|
|
101
|
+
IMetaAggregationRouterV2.SwapExecutionParams memory params = abi.decode(
|
|
102
|
+
kybercall[4:],
|
|
103
|
+
(IMetaAggregationRouterV2.SwapExecutionParams)
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
(params.desc, params.targetData) = _getScaledInputDataV2(
|
|
107
|
+
params.desc,
|
|
108
|
+
params.targetData,
|
|
109
|
+
newAmount,
|
|
110
|
+
_flagsChecked(params.desc.flags, _SIMPLE_SWAP)
|
|
111
|
+
);
|
|
112
|
+
return abi.encodeWithSelector(selector, params);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (selector == IMetaAggregationRouterV2.swapSimpleMode.selector) {
|
|
116
|
+
(
|
|
117
|
+
address callTarget,
|
|
118
|
+
IMetaAggregationRouterV2.SwapDescriptionV2 memory desc,
|
|
119
|
+
bytes memory targetData,
|
|
120
|
+
bytes memory clientData
|
|
121
|
+
) = abi.decode(
|
|
122
|
+
kybercall[4:],
|
|
123
|
+
(address, IMetaAggregationRouterV2.SwapDescriptionV2, bytes, bytes)
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
(desc, targetData) = _getScaledInputDataV2(desc, targetData, newAmount, true);
|
|
127
|
+
return abi.encodeWithSelector(selector, callTarget, desc, targetData, clientData);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
revert("InputScalingHelper: Invalid selector");
|
|
91
131
|
}
|
|
92
132
|
|
|
93
|
-
function
|
|
94
|
-
SwapDescription memory desc,
|
|
133
|
+
function _getScaledInputDataV1(
|
|
134
|
+
IMetaAggregationRouter.SwapDescription memory desc,
|
|
95
135
|
bytes memory executorData,
|
|
96
|
-
uint256 newAmount
|
|
97
|
-
|
|
98
|
-
|
|
136
|
+
uint256 newAmount,
|
|
137
|
+
bool isSimpleMode
|
|
138
|
+
) internal pure returns (IMetaAggregationRouter.SwapDescription memory, bytes memory) {
|
|
99
139
|
uint256 oldAmount = desc.amount;
|
|
100
140
|
if (oldAmount == newAmount) {
|
|
101
141
|
return (desc, executorData);
|
|
102
142
|
}
|
|
103
143
|
|
|
104
144
|
// simple mode swap
|
|
105
|
-
if (
|
|
106
|
-
require(desc.srcReceivers.length == 0, "kyber: can't scale if take fee");
|
|
145
|
+
if (isSimpleMode) {
|
|
107
146
|
return (
|
|
108
|
-
|
|
109
|
-
|
|
147
|
+
_scaledSwapDescriptionV1(desc, oldAmount, newAmount),
|
|
148
|
+
_scaledSimpleSwapData(executorData, oldAmount, newAmount)
|
|
110
149
|
);
|
|
111
150
|
}
|
|
112
151
|
|
|
113
152
|
//normal mode swap
|
|
114
|
-
|
|
115
|
-
|
|
153
|
+
return (
|
|
154
|
+
_scaledSwapDescriptionV1(desc, oldAmount, newAmount),
|
|
155
|
+
_scaledExecutorCallBytesData(executorData, oldAmount, newAmount)
|
|
156
|
+
);
|
|
116
157
|
}
|
|
117
158
|
|
|
118
|
-
function
|
|
119
|
-
|
|
159
|
+
function _getScaledInputDataV2(
|
|
160
|
+
IMetaAggregationRouterV2.SwapDescriptionV2 memory desc,
|
|
161
|
+
bytes memory executorData,
|
|
162
|
+
uint256 newAmount,
|
|
163
|
+
bool isSimpleMode
|
|
164
|
+
) internal pure returns (IMetaAggregationRouterV2.SwapDescriptionV2 memory, bytes memory) {
|
|
165
|
+
uint256 oldAmount = desc.amount;
|
|
166
|
+
if (oldAmount == newAmount) {
|
|
167
|
+
return (desc, executorData);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// simple mode swap
|
|
171
|
+
if (isSimpleMode) {
|
|
172
|
+
return (
|
|
173
|
+
_scaledSwapDescriptionV2(desc, oldAmount, newAmount),
|
|
174
|
+
_scaledSimpleSwapData(executorData, oldAmount, newAmount)
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
//normal mode swap
|
|
179
|
+
return (
|
|
180
|
+
_scaledSwapDescriptionV2(desc, oldAmount, newAmount),
|
|
181
|
+
_scaledExecutorCallBytesData(executorData, oldAmount, newAmount)
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
function _scaledSwapDescriptionV1(
|
|
186
|
+
IMetaAggregationRouter.SwapDescription memory desc,
|
|
120
187
|
uint256 oldAmount,
|
|
121
188
|
uint256 newAmount
|
|
122
|
-
) internal pure returns (SwapDescription memory) {
|
|
189
|
+
) internal pure returns (IMetaAggregationRouter.SwapDescription memory) {
|
|
123
190
|
uint256 oldMinReturnAmount = desc.minReturnAmount;
|
|
124
191
|
desc.minReturnAmount = (desc.minReturnAmount * newAmount) / oldAmount;
|
|
125
192
|
//newMinReturnAmount should no be 0 if oldMinReturnAmount > 0
|
|
@@ -141,7 +208,7 @@ contract AggregationRouterHelper is
|
|
|
141
208
|
return desc;
|
|
142
209
|
}
|
|
143
210
|
|
|
144
|
-
function
|
|
211
|
+
function _scaledSimpleSwapData(
|
|
145
212
|
bytes memory data,
|
|
146
213
|
uint256 oldAmount,
|
|
147
214
|
uint256 newAmount
|
|
@@ -162,170 +229,89 @@ contract AggregationRouterHelper is
|
|
|
162
229
|
return abi.encode(swapData);
|
|
163
230
|
}
|
|
164
231
|
|
|
165
|
-
function
|
|
232
|
+
function _scaledExecutorCallBytesData(
|
|
166
233
|
bytes memory data,
|
|
167
234
|
uint256 oldAmount,
|
|
168
235
|
uint256 newAmount
|
|
169
236
|
) internal pure returns (bytes memory) {
|
|
170
|
-
SwapExecutorDescription memory
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
(swapExecutorDescription.minTotalAmountOut * newAmount) /
|
|
176
|
-
oldAmount;
|
|
237
|
+
SwapExecutorDescription memory executorDesc = abi.decode(data, (SwapExecutorDescription));
|
|
238
|
+
executorDesc.minTotalAmountOut = (executorDesc.minTotalAmountOut * newAmount) / oldAmount;
|
|
239
|
+
for (uint256 i = 0; i < executorDesc.swapSequences.length; i++) {
|
|
240
|
+
Swap memory swap = executorDesc.swapSequences[i][0];
|
|
241
|
+
bytes4 selector = swap.selector;
|
|
177
242
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
if (
|
|
187
|
-
|
|
188
|
-
} else if (
|
|
189
|
-
|
|
190
|
-
} else if (
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
} else if (
|
|
197
|
-
(
|
|
198
|
-
} else if (
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
} else {
|
|
205
|
-
|
|
206
|
-
}
|
|
207
|
-
|
|
243
|
+
if (selector == IExecutorHelperEthereum1.executeUniSwap.selector) {
|
|
244
|
+
swap.data = ScaleDataHelperEthereum1.newUniSwap(swap.data, oldAmount, newAmount);
|
|
245
|
+
} else if (selector == IExecutorHelperEthereum1.executeStableSwap.selector) {
|
|
246
|
+
swap.data = ScaleDataHelperEthereum1.newStableSwap(
|
|
247
|
+
swap.data,
|
|
248
|
+
oldAmount,
|
|
249
|
+
newAmount
|
|
250
|
+
);
|
|
251
|
+
} else if (selector == IExecutorHelperEthereum1.executeCurveSwap.selector) {
|
|
252
|
+
swap.data = ScaleDataHelperEthereum1.newCurveSwap(swap.data, oldAmount, newAmount);
|
|
253
|
+
} else if (selector == IExecutorHelperEthereum1.executeKyberDMMSwap.selector) {
|
|
254
|
+
swap.data = ScaleDataHelperEthereum1.newKyberDMM(swap.data, oldAmount, newAmount);
|
|
255
|
+
} else if (selector == IExecutorHelperEthereum1.executeUniV3ProMMSwap.selector) {
|
|
256
|
+
swap.data = ScaleDataHelperEthereum1.newUniV3ProMM(
|
|
257
|
+
swap.data,
|
|
258
|
+
oldAmount,
|
|
259
|
+
newAmount
|
|
260
|
+
);
|
|
261
|
+
} else if (selector == IExecutorHelperEthereum1.executeRfqSwap.selector) {
|
|
262
|
+
revert("InputScalingHelper: Can not scale RFQ swap");
|
|
263
|
+
} else if (selector == IExecutorHelperEthereum1.executeBalV2Swap.selector) {
|
|
264
|
+
swap.data = ScaleDataHelperEthereum1.newBalancerV2(
|
|
265
|
+
swap.data,
|
|
266
|
+
oldAmount,
|
|
267
|
+
newAmount
|
|
268
|
+
);
|
|
269
|
+
} else if (selector == IExecutorHelperEthereum1.executeDODOSwap.selector) {
|
|
270
|
+
swap.data = ScaleDataHelperEthereum1.newDODO(swap.data, oldAmount, newAmount);
|
|
271
|
+
} else if (selector == IExecutorHelperEthereum1.executeWrappedstETHSwap.selector) {
|
|
272
|
+
swap.data = ScaleDataHelperEthereum1.newWrappedstETHSwap(
|
|
273
|
+
swap.data,
|
|
274
|
+
oldAmount,
|
|
275
|
+
newAmount
|
|
276
|
+
);
|
|
277
|
+
} else if (selector == IExecutorHelperEthereum1.executeSynthetixSwap.selector) {
|
|
278
|
+
swap.data = ScaleDataHelperEthereum1.newSynthetix(swap.data, oldAmount, newAmount);
|
|
279
|
+
} else if (selector == IExecutorHelperEthereum1.executePSMSwap.selector) {
|
|
280
|
+
swap.data = ScaleDataHelperEthereum1.newPSM(swap.data, oldAmount, newAmount);
|
|
281
|
+
} else if (selector == IExecutorHelperEthereum1.executeHashflowSwap.selector) {
|
|
282
|
+
revert("InputScalingHelper: Can not scale RFQ swap");
|
|
283
|
+
} else revert("AggregationExecutor: Dex type not supported");
|
|
208
284
|
}
|
|
209
|
-
return abi.encode(
|
|
285
|
+
return abi.encode(executorDesc);
|
|
210
286
|
}
|
|
211
287
|
|
|
212
|
-
function
|
|
213
|
-
|
|
214
|
-
uint256 value,
|
|
215
|
-
uint256 oldAmount,
|
|
216
|
-
uint256 newAmount
|
|
217
|
-
) internal pure returns (bytes memory, uint256) {
|
|
218
|
-
IMultihopRouterEthereum.UniSwap memory uniSwap = abi.decode(
|
|
219
|
-
data,
|
|
220
|
-
(IMultihopRouterEthereum.UniSwap)
|
|
221
|
-
);
|
|
222
|
-
if (value > 0) uniSwap.collectAmount = value;
|
|
223
|
-
else uniSwap.collectAmount = (uniSwap.collectAmount * newAmount) / oldAmount;
|
|
224
|
-
return (abi.encode(uniSwap), uniSwap.collectAmount);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
function _newStableSwap(
|
|
228
|
-
bytes memory data,
|
|
229
|
-
uint256 value,
|
|
288
|
+
function _scaledSwapDescriptionV2(
|
|
289
|
+
IMetaAggregationRouterV2.SwapDescriptionV2 memory desc,
|
|
230
290
|
uint256 oldAmount,
|
|
231
291
|
uint256 newAmount
|
|
232
|
-
) internal pure returns (
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
);
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
function _newCurveSwap(
|
|
243
|
-
bytes memory data,
|
|
244
|
-
uint256 value,
|
|
245
|
-
uint256 oldAmount,
|
|
246
|
-
uint256 newAmount
|
|
247
|
-
) internal pure returns (bytes memory, uint256) {
|
|
248
|
-
IMultihopRouterEthereum.CurveSwap memory curveSwap = abi.decode(
|
|
249
|
-
data,
|
|
250
|
-
(IMultihopRouterEthereum.CurveSwap)
|
|
251
|
-
);
|
|
252
|
-
if (value > 0) curveSwap.dx = value;
|
|
253
|
-
else curveSwap.dx = (curveSwap.dx * newAmount) / oldAmount;
|
|
254
|
-
return (abi.encode(curveSwap), curveSwap.dx);
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
function _newKyberDMMSwap(
|
|
258
|
-
bytes memory data,
|
|
259
|
-
uint256 value,
|
|
260
|
-
uint256 oldAmount,
|
|
261
|
-
uint256 newAmount
|
|
262
|
-
) internal pure returns (bytes memory, uint256) {
|
|
263
|
-
IMultihopRouterEthereum.UniSwap memory kyberDMMSwap = abi.decode(
|
|
264
|
-
data,
|
|
265
|
-
(IMultihopRouterEthereum.UniSwap)
|
|
266
|
-
);
|
|
267
|
-
if (value > 0) kyberDMMSwap.collectAmount = value;
|
|
268
|
-
else kyberDMMSwap.collectAmount = (kyberDMMSwap.collectAmount * newAmount) / oldAmount;
|
|
269
|
-
return (abi.encode(kyberDMMSwap), kyberDMMSwap.collectAmount);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
function _newUniV3ProMMSwap(
|
|
273
|
-
bytes memory data,
|
|
274
|
-
uint256 value,
|
|
275
|
-
uint256 oldAmount,
|
|
276
|
-
uint256 newAmount
|
|
277
|
-
) internal pure returns (bytes memory, uint256) {
|
|
278
|
-
IMultihopRouterEthereum.UniSwapV3ProMM memory uniSwapV3ProMM = abi.decode(
|
|
279
|
-
data,
|
|
280
|
-
(IMultihopRouterEthereum.UniSwapV3ProMM)
|
|
281
|
-
);
|
|
282
|
-
if (value > 0) uniSwapV3ProMM.swapAmount = value;
|
|
283
|
-
else uniSwapV3ProMM.swapAmount = (uniSwapV3ProMM.swapAmount * newAmount) / oldAmount;
|
|
284
|
-
return (abi.encode(uniSwapV3ProMM), uniSwapV3ProMM.swapAmount);
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
function _newBalancerV2Swap(
|
|
288
|
-
bytes memory data,
|
|
289
|
-
uint256 value,
|
|
290
|
-
uint256 oldAmount,
|
|
291
|
-
uint256 newAmount
|
|
292
|
-
) internal pure returns (bytes memory, uint256) {
|
|
293
|
-
IMultihopRouterEthereum.BalancerV2 memory balancerV2 = abi.decode(
|
|
294
|
-
data,
|
|
295
|
-
(IMultihopRouterEthereum.BalancerV2)
|
|
296
|
-
);
|
|
297
|
-
if (value > 0) balancerV2.amount = value;
|
|
298
|
-
else balancerV2.amount = (balancerV2.amount * newAmount) / oldAmount;
|
|
299
|
-
return (abi.encode(balancerV2, balancerV2.amount), balancerV2.amount);
|
|
300
|
-
}
|
|
292
|
+
) internal pure returns (IMetaAggregationRouterV2.SwapDescriptionV2 memory) {
|
|
293
|
+
uint256 oldMinReturnAmount = desc.minReturnAmount;
|
|
294
|
+
desc.minReturnAmount = (desc.minReturnAmount * newAmount) / oldAmount;
|
|
295
|
+
//newMinReturnAmount should no be 0 if oldMinReturnAmount > 0
|
|
296
|
+
if (oldMinReturnAmount > 0 && desc.minReturnAmount == 0) desc.minReturnAmount = 1;
|
|
297
|
+
desc.amount = newAmount;
|
|
298
|
+
if (desc.srcReceivers.length == 0) {
|
|
299
|
+
return desc;
|
|
300
|
+
}
|
|
301
301
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
if (value > 0) dodo.amount = value;
|
|
313
|
-
else dodo.amount = (dodo.amount * newAmount) / oldAmount;
|
|
314
|
-
return (abi.encode(dodo), dodo.amount);
|
|
302
|
+
uint256 newTotal;
|
|
303
|
+
for (uint256 i = 0; i < desc.srcReceivers.length; i++) {
|
|
304
|
+
if (i == desc.srcReceivers.length - 1) {
|
|
305
|
+
desc.srcAmounts[i] = newAmount - newTotal;
|
|
306
|
+
} else {
|
|
307
|
+
desc.srcAmounts[i] = (desc.srcAmounts[i] * newAmount) / oldAmount;
|
|
308
|
+
}
|
|
309
|
+
newTotal += desc.srcAmounts[i];
|
|
310
|
+
}
|
|
311
|
+
return desc;
|
|
315
312
|
}
|
|
316
313
|
|
|
317
|
-
function
|
|
318
|
-
|
|
319
|
-
uint256 value,
|
|
320
|
-
uint256 oldAmount,
|
|
321
|
-
uint256 newAmount
|
|
322
|
-
) internal pure returns (bytes memory, uint256) {
|
|
323
|
-
IMultihopRouterEthereum.WSTETH memory wstEthData = abi.decode(
|
|
324
|
-
data,
|
|
325
|
-
(IMultihopRouterEthereum.WSTETH)
|
|
326
|
-
);
|
|
327
|
-
if (value > 0) wstEthData.amount = value;
|
|
328
|
-
else wstEthData.amount = (wstEthData.amount * newAmount) / oldAmount;
|
|
329
|
-
return (abi.encode(wstEthData), wstEthData.amount);
|
|
314
|
+
function _flagsChecked(uint256 number, uint256 flag) internal pure returns (bool) {
|
|
315
|
+
return number & flag != 0;
|
|
330
316
|
}
|
|
331
317
|
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "./interfaces/IExecutorHelperEthereum1.sol";
|
|
5
|
+
|
|
6
|
+
library ScaleDataHelperEthereum1 {
|
|
7
|
+
function newUniSwap(
|
|
8
|
+
bytes memory data,
|
|
9
|
+
uint256 oldAmount,
|
|
10
|
+
uint256 newAmount
|
|
11
|
+
) internal pure returns (bytes memory) {
|
|
12
|
+
IExecutorHelperEthereum1.UniSwap memory uniSwap = abi.decode(
|
|
13
|
+
data,
|
|
14
|
+
(IExecutorHelperEthereum1.UniSwap)
|
|
15
|
+
);
|
|
16
|
+
uniSwap.collectAmount = (uniSwap.collectAmount * newAmount) / oldAmount;
|
|
17
|
+
return abi.encode(uniSwap);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function newStableSwap(
|
|
21
|
+
bytes memory data,
|
|
22
|
+
uint256 oldAmount,
|
|
23
|
+
uint256 newAmount
|
|
24
|
+
) internal pure returns (bytes memory) {
|
|
25
|
+
IExecutorHelperEthereum1.StableSwap memory stableSwap = abi.decode(
|
|
26
|
+
data,
|
|
27
|
+
(IExecutorHelperEthereum1.StableSwap)
|
|
28
|
+
);
|
|
29
|
+
stableSwap.dx = (stableSwap.dx * newAmount) / oldAmount;
|
|
30
|
+
return abi.encode(stableSwap);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function newCurveSwap(
|
|
34
|
+
bytes memory data,
|
|
35
|
+
uint256 oldAmount,
|
|
36
|
+
uint256 newAmount
|
|
37
|
+
) internal pure returns (bytes memory) {
|
|
38
|
+
IExecutorHelperEthereum1.CurveSwap memory curveSwap = abi.decode(
|
|
39
|
+
data,
|
|
40
|
+
(IExecutorHelperEthereum1.CurveSwap)
|
|
41
|
+
);
|
|
42
|
+
curveSwap.dx = (curveSwap.dx * newAmount) / oldAmount;
|
|
43
|
+
return abi.encode(curveSwap);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function newKyberDMM(
|
|
47
|
+
bytes memory data,
|
|
48
|
+
uint256 oldAmount,
|
|
49
|
+
uint256 newAmount
|
|
50
|
+
) internal pure returns (bytes memory) {
|
|
51
|
+
IExecutorHelperEthereum1.UniSwap memory kyberDMMSwap = abi.decode(
|
|
52
|
+
data,
|
|
53
|
+
(IExecutorHelperEthereum1.UniSwap)
|
|
54
|
+
);
|
|
55
|
+
kyberDMMSwap.collectAmount = (kyberDMMSwap.collectAmount * newAmount) / oldAmount;
|
|
56
|
+
return abi.encode(kyberDMMSwap);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function newUniV3ProMM(
|
|
60
|
+
bytes memory data,
|
|
61
|
+
uint256 oldAmount,
|
|
62
|
+
uint256 newAmount
|
|
63
|
+
) internal pure returns (bytes memory) {
|
|
64
|
+
IExecutorHelperEthereum1.UniSwapV3ProMM memory uniSwapV3ProMM = abi.decode(
|
|
65
|
+
data,
|
|
66
|
+
(IExecutorHelperEthereum1.UniSwapV3ProMM)
|
|
67
|
+
);
|
|
68
|
+
uniSwapV3ProMM.swapAmount = (uniSwapV3ProMM.swapAmount * newAmount) / oldAmount;
|
|
69
|
+
|
|
70
|
+
return abi.encode(uniSwapV3ProMM);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function newBalancerV2(
|
|
74
|
+
bytes memory data,
|
|
75
|
+
uint256 oldAmount,
|
|
76
|
+
uint256 newAmount
|
|
77
|
+
) internal pure returns (bytes memory) {
|
|
78
|
+
IExecutorHelperEthereum1.BalancerV2 memory balancerV2 = abi.decode(
|
|
79
|
+
data,
|
|
80
|
+
(IExecutorHelperEthereum1.BalancerV2)
|
|
81
|
+
);
|
|
82
|
+
balancerV2.amount = (balancerV2.amount * newAmount) / oldAmount;
|
|
83
|
+
return abi.encode(balancerV2);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function newDODO(
|
|
87
|
+
bytes memory data,
|
|
88
|
+
uint256 oldAmount,
|
|
89
|
+
uint256 newAmount
|
|
90
|
+
) internal pure returns (bytes memory) {
|
|
91
|
+
IExecutorHelperEthereum1.DODO memory dodo = abi.decode(
|
|
92
|
+
data,
|
|
93
|
+
(IExecutorHelperEthereum1.DODO)
|
|
94
|
+
);
|
|
95
|
+
dodo.amount = (dodo.amount * newAmount) / oldAmount;
|
|
96
|
+
return abi.encode(dodo);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function newSynthetix(
|
|
100
|
+
bytes memory data,
|
|
101
|
+
uint256 oldAmount,
|
|
102
|
+
uint256 newAmount
|
|
103
|
+
) internal pure returns (bytes memory) {
|
|
104
|
+
IExecutorHelperEthereum1.Synthetix memory synthetix = abi.decode(
|
|
105
|
+
data,
|
|
106
|
+
(IExecutorHelperEthereum1.Synthetix)
|
|
107
|
+
);
|
|
108
|
+
synthetix.sourceAmount = (synthetix.sourceAmount * newAmount) / oldAmount;
|
|
109
|
+
return abi.encode(synthetix);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function newWrappedstETHSwap(
|
|
113
|
+
bytes memory data,
|
|
114
|
+
uint256 oldAmount,
|
|
115
|
+
uint256 newAmount
|
|
116
|
+
) internal pure returns (bytes memory) {
|
|
117
|
+
IExecutorHelperEthereum1.WSTETH memory wstEthData = abi.decode(
|
|
118
|
+
data,
|
|
119
|
+
(IExecutorHelperEthereum1.WSTETH)
|
|
120
|
+
);
|
|
121
|
+
wstEthData.amount = (wstEthData.amount * newAmount) / oldAmount;
|
|
122
|
+
return abi.encode(wstEthData);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function newPSM(
|
|
126
|
+
bytes memory data,
|
|
127
|
+
uint256 oldAmount,
|
|
128
|
+
uint256 newAmount
|
|
129
|
+
) internal pure returns (bytes memory) {
|
|
130
|
+
IExecutorHelperEthereum1.PSM memory psm = abi.decode(data, (IExecutorHelperEthereum1.PSM));
|
|
131
|
+
psm.amountIn = (psm.amountIn * newAmount) / oldAmount;
|
|
132
|
+
return abi.encode(psm);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
pragma solidity >=0.6.12;
|
|
4
|
+
|
|
5
|
+
interface IAggregationExecutor {
|
|
6
|
+
function callBytes(bytes calldata data) external payable; // 0xd9c45357
|
|
7
|
+
|
|
8
|
+
// callbytes per swap sequence
|
|
9
|
+
function swapSingleSequence(bytes calldata data) external;
|
|
10
|
+
|
|
11
|
+
function finalTransactionProcessing(
|
|
12
|
+
address tokenIn,
|
|
13
|
+
address tokenOut,
|
|
14
|
+
address to,
|
|
15
|
+
bytes calldata destTokenFeeData
|
|
16
|
+
) external;
|
|
17
|
+
}
|