@pendle/core-v2 5.3.1 → 5.4.0
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/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +0 -37
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +0 -115
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +0 -37
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +0 -37
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +0 -37
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +0 -37
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +0 -179
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +0 -257
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.json +0 -37
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +0 -37
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -37
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -39
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +4 -0
- package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.json → offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json} +4 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +4 -0
- package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.json → offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json} +4 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -39
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -117
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -39
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -39
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -39
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -181
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +4 -0
- package/build/artifacts/contracts/router/math/{MarketApproxLib.sol/MarketApproxPtInLib.json → MarketApproxLibV2.sol/MarketApproxPtInLibV2.json} +4 -4
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +4 -0
- package/build/artifacts/contracts/router/math/{MarketApproxLib.sol/MarketApproxPtOutLib.json → MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json} +4 -4
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
- package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +1 -1
- package/contracts/interfaces/IPActionMarketAuxStatic.sol +2 -1
- package/contracts/interfaces/IPActionMiscV3.sol +1 -7
- package/contracts/interfaces/IPActionStorageStatic.sol +1 -1
- package/contracts/interfaces/IPActionSwapPTV3.sol +1 -1
- package/contracts/interfaces/IPActionSwapYTV3.sol +1 -17
- package/contracts/interfaces/IPActionVePendleStatic.sol +1 -0
- package/contracts/interfaces/IPAllEventsV3.sol +0 -8
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +2 -2
- package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +8 -7
- package/contracts/{router/math/MarketApproxLib.sol → offchain-helpers/router-static/base/MarketApproxLibV1.sol} +13 -13
- package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +1 -1
- package/contracts/router/ActionAddRemoveLiqV3.sol +4 -4
- package/contracts/router/ActionMiscV3.sol +0 -14
- package/contracts/router/ActionSwapYTV3.sol +2 -65
- package/contracts/router/base/ActionBase.sol +5 -6
- package/contracts/router/math/MarketApproxLibV2.sol +479 -0
- package/contracts/router/swap-aggregator/IPSwapAggregator.sol +8 -1
- package/contracts/router/swap-aggregator/PendleSwap.sol +0 -2
- package/deployments/1-core.json +5 -5
- package/package.json +1 -1
- package/typechain-types/ActionAddRemoveLiqV3.ts +2000 -0
- package/typechain-types/ActionInfoStatic.ts +310 -0
- package/typechain-types/ActionMarketAuxStatic.ts +903 -0
- package/typechain-types/ActionMarketCoreStatic.ts +1974 -0
- package/typechain-types/ActionMintRedeemStatic.ts +435 -0
- package/typechain-types/ActionMiscV3.ts +2213 -0
- package/typechain-types/ActionSimple.ts +1544 -0
- package/typechain-types/ActionStorageStatic.ts +1345 -0
- package/typechain-types/ActionStorageV4.ts +1270 -0
- package/typechain-types/ActionSwapPTV3.ts +1507 -0
- package/typechain-types/ActionSwapYTV3.ts +1507 -0
- package/typechain-types/ActionVePendleStatic.ts +113 -0
- package/typechain-types/IKyberScalingHelper.ts +108 -0
- package/typechain-types/IOdosRouterV2.ts +147 -0
- package/typechain-types/IPActionAddRemoveLiqV3.ts +2000 -0
- package/typechain-types/IPActionAddRemoveLiqV3Events.ts +499 -0
- package/typechain-types/IPActionMarketAuxStatic.ts +859 -0
- package/typechain-types/IPActionMiscV3.ts +2213 -0
- package/typechain-types/IPActionMiscV3Events.ts +463 -0
- package/typechain-types/IPActionSimple.ts +1544 -0
- package/typechain-types/IPActionStorageEvents.ts +97 -0
- package/typechain-types/IPActionStorageStatic.ts +1268 -0
- package/typechain-types/IPActionStorageV4.ts +1270 -0
- package/typechain-types/IPActionSwapPTV3.ts +1507 -0
- package/typechain-types/IPActionSwapPTV3Events.ts +125 -0
- package/typechain-types/IPActionSwapYTV3.ts +1507 -0
- package/typechain-types/IPActionSwapYTV3Events.ts +125 -0
- package/typechain-types/IPActionVePendleStatic.ts +113 -0
- package/typechain-types/IPAllActionV3.ts +4210 -0
- package/typechain-types/IPAllEventsV3.ts +1080 -0
- package/typechain-types/IPRouterStatic.ts +4633 -0
- package/typechain-types/IPSwapAggregator.ts +187 -0
- package/typechain-types/PendlePoolDeployHelper.ts +342 -0
- package/typechain-types/PendleRouterStatic.ts +57 -0
- package/typechain-types/PendleRouterV4.ts +57 -0
- package/typechain-types/PendleSwap.ts +208 -0
- package/typechain-types/Reflector.ts +95 -0
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +3533 -0
- package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
- package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +780 -0
- package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1449 -0
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +304 -0
- package/typechain-types/factories/ActionMiscV3__factory.ts +3056 -0
- package/typechain-types/factories/ActionSimple__factory.ts +1939 -0
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1576 -0
- package/typechain-types/factories/ActionStorageV4__factory.ts +1504 -0
- package/typechain-types/factories/ActionSwapPTV3__factory.ts +2556 -0
- package/typechain-types/factories/ActionSwapYTV3__factory.ts +2556 -0
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
- package/typechain-types/factories/IKyberScalingHelper__factory.ts +55 -0
- package/typechain-types/factories/IOdosRouterV2__factory.ts +94 -0
- package/typechain-types/factories/IPActionAddRemoveLiqV3Events__factory.ts +582 -0
- package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +3421 -0
- package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +622 -0
- package/typechain-types/factories/IPActionMiscV3Events__factory.ts +608 -0
- package/typechain-types/factories/IPActionMiscV3__factory.ts +3005 -0
- package/typechain-types/factories/IPActionSimple__factory.ts +1840 -0
- package/typechain-types/factories/IPActionStorageEvents__factory.ts +68 -0
- package/typechain-types/factories/IPActionStorageStatic__factory.ts +1498 -0
- package/typechain-types/factories/IPActionStorageV4__factory.ts +1466 -0
- package/typechain-types/factories/IPActionSwapPTV3Events__factory.ts +116 -0
- package/typechain-types/factories/IPActionSwapPTV3__factory.ts +2454 -0
- package/typechain-types/factories/IPActionSwapYTV3Events__factory.ts +116 -0
- package/typechain-types/factories/IPActionSwapYTV3__factory.ts +2454 -0
- package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
- package/typechain-types/factories/IPAllActionV3__factory.ts +7860 -0
- package/typechain-types/factories/IPAllEventsV3__factory.ts +1363 -0
- package/typechain-types/factories/IPRouterStatic__factory.ts +3956 -0
- package/typechain-types/factories/IPSwapAggregator__factory.ts +136 -0
- package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +345 -0
- package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
- package/typechain-types/factories/PendleRouterV4__factory.ts +96 -0
- package/typechain-types/factories/PendleSwap__factory.ts +188 -0
- package/typechain-types/factories/Reflector__factory.ts +84 -0
- package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +0 -4
- package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +0 -4
- 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/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.json +0 -194
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.json +0 -1787
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.json +0 -2873
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol/IExecutorHelperL2Struct.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol/IExecutorHelperL2Struct.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol/IExecutorHelperStruct.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol/IExecutorHelperStruct.json +0 -10
- 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/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol/IBebopV3.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol/IBebopV3.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol/IKyberDSLO.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol/IKyberDSLO.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol/IKyberLO.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol/IKyberLO.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol/BytesHelper.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol/BytesHelper.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol/RevertReasonParser.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol/RevertReasonParser.json +0 -10
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -31
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol +0 -63
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol +0 -164
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol +0 -483
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol +0 -412
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol +0 -459
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +0 -47
- package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol +0 -23
- package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol +0 -36
- package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol +0 -32
- package/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol +0 -354
- package/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol +0 -521
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol +0 -93
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol +0 -404
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol +0 -118
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol +0 -41
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol +0 -684
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol +0 -61
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol +0 -373
- package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol +0 -273
- package/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol +0 -32
- package/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol +0 -75
|
@@ -1,684 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
pragma solidity ^0.8.0;
|
|
3
|
-
|
|
4
|
-
import {CalldataReader} from "./CalldataReader.sol";
|
|
5
|
-
import {IExecutorHelperL2} from "../interfaces/IExecutorHelperL2.sol";
|
|
6
|
-
import {IExecutorHelperL2Struct} from "../interfaces/IExecutorHelperL2Struct.sol";
|
|
7
|
-
import {IBebopV3} from "../interfaces/pools/IBebopV3.sol";
|
|
8
|
-
import {BytesHelper} from "./BytesHelper.sol";
|
|
9
|
-
import {Common} from "./Common.sol";
|
|
10
|
-
import {IKyberDSLO} from "../interfaces/pools/IKyberDSLO.sol";
|
|
11
|
-
import {IKyberLO} from "../interfaces/pools/IKyberLO.sol";
|
|
12
|
-
|
|
13
|
-
/// @title DexScaler
|
|
14
|
-
/// @notice Contain functions to scale DEX structs
|
|
15
|
-
/// @dev For this repo's scope, we only care about swap amounts, so we just need to decode until we get swap amounts
|
|
16
|
-
library DexScaler {
|
|
17
|
-
using BytesHelper for bytes;
|
|
18
|
-
using CalldataReader for bytes;
|
|
19
|
-
using Common for bytes;
|
|
20
|
-
|
|
21
|
-
function scaleUniSwap(
|
|
22
|
-
bytes memory data,
|
|
23
|
-
uint256 oldAmount,
|
|
24
|
-
uint256 newAmount
|
|
25
|
-
) internal pure returns (bytes memory) {
|
|
26
|
-
uint256 startByte;
|
|
27
|
-
// decode
|
|
28
|
-
(, startByte) = data._readPool(startByte);
|
|
29
|
-
(, startByte) = data._readRecipient(startByte);
|
|
30
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
31
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleUniSwap");
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function scaleStableSwap(
|
|
35
|
-
bytes memory data,
|
|
36
|
-
uint256 oldAmount,
|
|
37
|
-
uint256 newAmount
|
|
38
|
-
) internal pure returns (bytes memory) {
|
|
39
|
-
uint256 startByte;
|
|
40
|
-
(, startByte) = data._readPool(startByte);
|
|
41
|
-
(, startByte) = data._readUint8(startByte);
|
|
42
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
43
|
-
return
|
|
44
|
-
data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleStableSwap");
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function scaleCurveSwap(
|
|
48
|
-
bytes memory data,
|
|
49
|
-
uint256 oldAmount,
|
|
50
|
-
uint256 newAmount
|
|
51
|
-
) internal pure returns (bytes memory) {
|
|
52
|
-
uint256 startByte;
|
|
53
|
-
bool canGetIndex;
|
|
54
|
-
(canGetIndex, startByte) = data._readBool(0);
|
|
55
|
-
(, startByte) = data._readPool(startByte);
|
|
56
|
-
if (!canGetIndex) {
|
|
57
|
-
(, startByte) = data._readAddress(startByte);
|
|
58
|
-
(, startByte) = data._readUint8(startByte);
|
|
59
|
-
}
|
|
60
|
-
(, startByte) = data._readUint8(startByte);
|
|
61
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
62
|
-
return
|
|
63
|
-
data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleCurveSwap");
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function scaleUniswapV3KSElastic(
|
|
67
|
-
bytes memory data,
|
|
68
|
-
uint256 oldAmount,
|
|
69
|
-
uint256 newAmount
|
|
70
|
-
) internal pure returns (bytes memory) {
|
|
71
|
-
uint256 startByte;
|
|
72
|
-
(, startByte) = data._readRecipient(startByte);
|
|
73
|
-
(, startByte) = data._readPool(startByte);
|
|
74
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
75
|
-
return
|
|
76
|
-
data.write16Bytes(
|
|
77
|
-
startByte,
|
|
78
|
-
oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount,
|
|
79
|
-
"scaleUniswapV3KSElastic"
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
function scaleBalancerV2(
|
|
84
|
-
bytes memory data,
|
|
85
|
-
uint256 oldAmount,
|
|
86
|
-
uint256 newAmount
|
|
87
|
-
) internal pure returns (bytes memory) {
|
|
88
|
-
uint256 startByte;
|
|
89
|
-
(, startByte) = data._readPool(startByte);
|
|
90
|
-
(, startByte) = data._readBytes32(startByte);
|
|
91
|
-
(, startByte) = data._readUint8(startByte);
|
|
92
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
93
|
-
return
|
|
94
|
-
data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleBalancerV2");
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function scaleDODO(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
98
|
-
uint256 startByte;
|
|
99
|
-
(, startByte) = data._readRecipient(startByte);
|
|
100
|
-
(, startByte) = data._readPool(startByte);
|
|
101
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
102
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleDODO");
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function scaleGMX(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
106
|
-
uint256 startByte;
|
|
107
|
-
// decode
|
|
108
|
-
(, startByte) = data._readPool(startByte);
|
|
109
|
-
|
|
110
|
-
(, startByte) = data._readAddress(startByte);
|
|
111
|
-
|
|
112
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
113
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleGMX");
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function scaleSynthetix(
|
|
117
|
-
bytes memory data,
|
|
118
|
-
uint256 oldAmount,
|
|
119
|
-
uint256 newAmount
|
|
120
|
-
) internal pure returns (bytes memory) {
|
|
121
|
-
uint256 startByte;
|
|
122
|
-
|
|
123
|
-
// decode
|
|
124
|
-
(, startByte) = data._readPool(startByte);
|
|
125
|
-
|
|
126
|
-
(, startByte) = data._readAddress(startByte);
|
|
127
|
-
(, startByte) = data._readBytes32(startByte);
|
|
128
|
-
|
|
129
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
130
|
-
return
|
|
131
|
-
data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleSynthetix");
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function scaleWrappedstETH(
|
|
135
|
-
bytes memory data,
|
|
136
|
-
uint256 oldAmount,
|
|
137
|
-
uint256 newAmount
|
|
138
|
-
) internal pure returns (bytes memory) {
|
|
139
|
-
uint256 startByte;
|
|
140
|
-
|
|
141
|
-
// decode
|
|
142
|
-
(, startByte) = data._readPool(startByte);
|
|
143
|
-
|
|
144
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
145
|
-
return
|
|
146
|
-
data.write16Bytes(
|
|
147
|
-
startByte,
|
|
148
|
-
oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount,
|
|
149
|
-
"scaleWrappedstETH"
|
|
150
|
-
);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
function scaleStETH(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
154
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(0);
|
|
155
|
-
return data.write16Bytes(0, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleStETH");
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function scalePlatypus(
|
|
159
|
-
bytes memory data,
|
|
160
|
-
uint256 oldAmount,
|
|
161
|
-
uint256 newAmount
|
|
162
|
-
) internal pure returns (bytes memory) {
|
|
163
|
-
uint256 startByte;
|
|
164
|
-
|
|
165
|
-
// decode
|
|
166
|
-
(, startByte) = data._readPool(startByte);
|
|
167
|
-
|
|
168
|
-
(, startByte) = data._readAddress(startByte);
|
|
169
|
-
|
|
170
|
-
(, startByte) = data._readRecipient(startByte);
|
|
171
|
-
|
|
172
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
173
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scalePlatypus");
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
function scalePSM(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
177
|
-
uint256 startByte;
|
|
178
|
-
|
|
179
|
-
// decode
|
|
180
|
-
(, startByte) = data._readPool(startByte);
|
|
181
|
-
|
|
182
|
-
(, startByte) = data._readAddress(startByte);
|
|
183
|
-
|
|
184
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
185
|
-
|
|
186
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scalePSM");
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
function scaleMaverick(
|
|
190
|
-
bytes memory data,
|
|
191
|
-
uint256 oldAmount,
|
|
192
|
-
uint256 newAmount
|
|
193
|
-
) internal pure returns (bytes memory) {
|
|
194
|
-
uint256 startByte;
|
|
195
|
-
|
|
196
|
-
// decode
|
|
197
|
-
(, startByte) = data._readPool(startByte);
|
|
198
|
-
|
|
199
|
-
(, startByte) = data._readAddress(startByte);
|
|
200
|
-
|
|
201
|
-
(, startByte) = data._readRecipient(startByte);
|
|
202
|
-
|
|
203
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
204
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleMaverick");
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
function scaleSyncSwap(
|
|
208
|
-
bytes memory data,
|
|
209
|
-
uint256 oldAmount,
|
|
210
|
-
uint256 newAmount
|
|
211
|
-
) internal pure returns (bytes memory) {
|
|
212
|
-
uint256 startByte;
|
|
213
|
-
|
|
214
|
-
// decode
|
|
215
|
-
(, startByte) = data._readBytes(startByte);
|
|
216
|
-
(, startByte) = data._readPool(startByte);
|
|
217
|
-
|
|
218
|
-
(, startByte) = data._readAddress(startByte);
|
|
219
|
-
|
|
220
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
221
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleSyncSwap");
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
function scaleAlgebraV1(
|
|
225
|
-
bytes memory data,
|
|
226
|
-
uint256 oldAmount,
|
|
227
|
-
uint256 newAmount
|
|
228
|
-
) internal pure returns (bytes memory) {
|
|
229
|
-
uint256 startByte;
|
|
230
|
-
|
|
231
|
-
(, startByte) = data._readRecipient(startByte);
|
|
232
|
-
|
|
233
|
-
(, startByte) = data._readPool(startByte);
|
|
234
|
-
|
|
235
|
-
(, startByte) = data._readAddress(startByte);
|
|
236
|
-
|
|
237
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
238
|
-
|
|
239
|
-
return
|
|
240
|
-
data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleAlgebraV1");
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
function scaleBalancerBatch(
|
|
244
|
-
bytes memory data,
|
|
245
|
-
uint256 oldAmount,
|
|
246
|
-
uint256 newAmount
|
|
247
|
-
) internal pure returns (bytes memory) {
|
|
248
|
-
uint256 startByte;
|
|
249
|
-
|
|
250
|
-
// decode
|
|
251
|
-
(, startByte) = data._readPool(startByte);
|
|
252
|
-
|
|
253
|
-
(, startByte) = data._readBytes32Array(startByte);
|
|
254
|
-
(, startByte) = data._readAddressArray(startByte);
|
|
255
|
-
(, startByte) = data._readBytesArray(startByte);
|
|
256
|
-
|
|
257
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte);
|
|
258
|
-
return
|
|
259
|
-
data.write16Bytes(
|
|
260
|
-
startByte,
|
|
261
|
-
oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount,
|
|
262
|
-
"scaleBalancerBatch"
|
|
263
|
-
);
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
function scaleMantis(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
267
|
-
uint256 startByte;
|
|
268
|
-
|
|
269
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
270
|
-
|
|
271
|
-
(, startByte) = data._readAddress(startByte); // tokenOut
|
|
272
|
-
|
|
273
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte); // amount
|
|
274
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleMantis");
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
function scaleIziSwap(
|
|
278
|
-
bytes memory data,
|
|
279
|
-
uint256 oldAmount,
|
|
280
|
-
uint256 newAmount
|
|
281
|
-
) internal pure returns (bytes memory) {
|
|
282
|
-
uint256 startByte;
|
|
283
|
-
|
|
284
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
285
|
-
|
|
286
|
-
(, startByte) = data._readAddress(startByte); // tokenOut
|
|
287
|
-
|
|
288
|
-
// recipient
|
|
289
|
-
(, startByte) = data._readRecipient(startByte);
|
|
290
|
-
|
|
291
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte); // amount
|
|
292
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleIziSwap");
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
function scaleTraderJoeV2(
|
|
296
|
-
bytes memory data,
|
|
297
|
-
uint256 oldAmount,
|
|
298
|
-
uint256 newAmount
|
|
299
|
-
) internal pure returns (bytes memory) {
|
|
300
|
-
uint256 startByte;
|
|
301
|
-
|
|
302
|
-
// recipient
|
|
303
|
-
(, startByte) = data._readRecipient(startByte);
|
|
304
|
-
|
|
305
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
306
|
-
|
|
307
|
-
(, startByte) = data._readAddress(startByte); // tokenOut
|
|
308
|
-
|
|
309
|
-
(, startByte) = data._readBool(startByte); // isV2
|
|
310
|
-
|
|
311
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte); // amount
|
|
312
|
-
return
|
|
313
|
-
data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleTraderJoeV2");
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
function scaleLevelFiV2(
|
|
317
|
-
bytes memory data,
|
|
318
|
-
uint256 oldAmount,
|
|
319
|
-
uint256 newAmount
|
|
320
|
-
) internal pure returns (bytes memory) {
|
|
321
|
-
uint256 startByte;
|
|
322
|
-
|
|
323
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
324
|
-
|
|
325
|
-
(, startByte) = data._readAddress(startByte); // tokenOut
|
|
326
|
-
|
|
327
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte); // amount
|
|
328
|
-
return
|
|
329
|
-
data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleLevelFiV2");
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
function scaleGMXGLP(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
333
|
-
uint256 startByte;
|
|
334
|
-
|
|
335
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
336
|
-
|
|
337
|
-
(, startByte) = data._readAddress(startByte); // yearnVault
|
|
338
|
-
|
|
339
|
-
uint8 directionFlag;
|
|
340
|
-
(directionFlag, startByte) = data._readUint8(startByte);
|
|
341
|
-
if (directionFlag == 1) (, startByte) = data._readAddress(startByte); // tokenOut
|
|
342
|
-
|
|
343
|
-
(uint256 swapAmount, ) = data._readUint128AsUint256(startByte); // amount
|
|
344
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (swapAmount * newAmount) / oldAmount, "scaleGMXGLP");
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
function scaleVooi(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
348
|
-
uint256 startByte;
|
|
349
|
-
|
|
350
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
351
|
-
|
|
352
|
-
(, startByte) = data._readUint8(startByte); // toId
|
|
353
|
-
|
|
354
|
-
(uint256 fromAmount, ) = data._readUint128AsUint256(startByte); // amount
|
|
355
|
-
|
|
356
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (fromAmount * newAmount) / oldAmount, "scaleVooi");
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
function scaleVelocoreV2(
|
|
360
|
-
bytes memory data,
|
|
361
|
-
uint256 oldAmount,
|
|
362
|
-
uint256 newAmount
|
|
363
|
-
) internal pure returns (bytes memory) {
|
|
364
|
-
uint256 startByte;
|
|
365
|
-
|
|
366
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
367
|
-
|
|
368
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
369
|
-
|
|
370
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleVelocoreV2");
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
function scaleKokonut(
|
|
374
|
-
bytes memory data,
|
|
375
|
-
uint256 oldAmount,
|
|
376
|
-
uint256 newAmount
|
|
377
|
-
) internal pure returns (bytes memory) {
|
|
378
|
-
uint256 startByte;
|
|
379
|
-
|
|
380
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
381
|
-
|
|
382
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
383
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleKokonut");
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
function scaleBalancerV1(
|
|
387
|
-
bytes memory data,
|
|
388
|
-
uint256 oldAmount,
|
|
389
|
-
uint256 newAmount
|
|
390
|
-
) internal pure returns (bytes memory) {
|
|
391
|
-
uint256 startByte;
|
|
392
|
-
|
|
393
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
394
|
-
|
|
395
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
396
|
-
|
|
397
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleBalancerV1");
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
function scaleArbswapStable(
|
|
401
|
-
bytes memory data,
|
|
402
|
-
uint256 oldAmount,
|
|
403
|
-
uint256 newAmount
|
|
404
|
-
) internal pure returns (bytes memory) {
|
|
405
|
-
uint256 startByte;
|
|
406
|
-
|
|
407
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
408
|
-
|
|
409
|
-
(uint256 dx, ) = data._readUint128AsUint256(startByte); // dx
|
|
410
|
-
|
|
411
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (dx * newAmount) / oldAmount, "scaleArbswapStable");
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
function scaleBancorV2(
|
|
415
|
-
bytes memory data,
|
|
416
|
-
uint256 oldAmount,
|
|
417
|
-
uint256 newAmount
|
|
418
|
-
) internal pure returns (bytes memory) {
|
|
419
|
-
uint256 startByte;
|
|
420
|
-
|
|
421
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
422
|
-
|
|
423
|
-
(, startByte) = data._readAddressArray(startByte); // swapPath
|
|
424
|
-
|
|
425
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
426
|
-
|
|
427
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleBancorV2");
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
function scaleAmbient(
|
|
431
|
-
bytes memory data,
|
|
432
|
-
uint256 oldAmount,
|
|
433
|
-
uint256 newAmount
|
|
434
|
-
) internal pure returns (bytes memory) {
|
|
435
|
-
uint256 startByte;
|
|
436
|
-
|
|
437
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
438
|
-
|
|
439
|
-
(uint128 qty, ) = data._readUint128(startByte); // amount
|
|
440
|
-
|
|
441
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (qty * newAmount) / oldAmount, "scaleAmbient");
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
function scaleLighterV2(
|
|
445
|
-
bytes memory data,
|
|
446
|
-
uint256 oldAmount,
|
|
447
|
-
uint256 newAmount
|
|
448
|
-
) internal pure returns (bytes memory) {
|
|
449
|
-
uint256 startByte;
|
|
450
|
-
|
|
451
|
-
(, startByte) = data._readPool(startByte); // orderbook
|
|
452
|
-
|
|
453
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
454
|
-
|
|
455
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleLighterV2");
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
function scaleMaiPSM(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
459
|
-
uint256 startByte;
|
|
460
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
461
|
-
|
|
462
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
463
|
-
|
|
464
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleMaiPSM");
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
function scaleKyberRFQ(
|
|
468
|
-
bytes memory data,
|
|
469
|
-
uint256 oldAmount,
|
|
470
|
-
uint256 newAmount
|
|
471
|
-
) internal pure returns (bytes memory) {
|
|
472
|
-
uint256 startByte;
|
|
473
|
-
(, startByte) = data._readPool(startByte); // rfq
|
|
474
|
-
(, startByte) = data._readOrderRFQ(startByte); // order
|
|
475
|
-
(, startByte) = data._readBytes(startByte); // signature
|
|
476
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
477
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleKyberRFQ");
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
function scaleDSLO(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
481
|
-
uint256 startByte;
|
|
482
|
-
|
|
483
|
-
(, startByte) = data._readPool(startByte); // kyberLOAddress
|
|
484
|
-
|
|
485
|
-
(, startByte) = data._readAddress(startByte); // makerAsset
|
|
486
|
-
|
|
487
|
-
// (, startByte) = data._readAddress(startByte); // don't have takerAsset
|
|
488
|
-
|
|
489
|
-
(
|
|
490
|
-
IKyberDSLO.FillBatchOrdersParams memory params,
|
|
491
|
-
,
|
|
492
|
-
uint256 takingAmountStartByte,
|
|
493
|
-
uint256 thresholdStartByte
|
|
494
|
-
) = data._readDSLOFillBatchOrdersParams(startByte); // FillBatchOrdersParams
|
|
495
|
-
|
|
496
|
-
data = data.write16Bytes(
|
|
497
|
-
takingAmountStartByte,
|
|
498
|
-
oldAmount == 0 ? 0 : (params.takingAmount * newAmount) / oldAmount,
|
|
499
|
-
"scaleDSLO"
|
|
500
|
-
);
|
|
501
|
-
|
|
502
|
-
return data.write16Bytes(thresholdStartByte, 1, "scaleThreshold");
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
function scaleKyberLimitOrder(
|
|
506
|
-
bytes memory data,
|
|
507
|
-
uint256 oldAmount,
|
|
508
|
-
uint256 newAmount
|
|
509
|
-
) internal pure returns (bytes memory) {
|
|
510
|
-
uint256 startByte;
|
|
511
|
-
|
|
512
|
-
(, startByte) = data._readPool(startByte); // kyberLOAddress
|
|
513
|
-
|
|
514
|
-
(, startByte) = data._readAddress(startByte); // makerAsset
|
|
515
|
-
|
|
516
|
-
// (, startByte) = data._readAddress(startByte); // takerAsset
|
|
517
|
-
|
|
518
|
-
(
|
|
519
|
-
IKyberLO.FillBatchOrdersParams memory params,
|
|
520
|
-
,
|
|
521
|
-
uint256 takingAmountStartByte,
|
|
522
|
-
uint256 thresholdStartByte
|
|
523
|
-
) = data._readLOFillBatchOrdersParams(startByte); // FillBatchOrdersParams
|
|
524
|
-
|
|
525
|
-
data = data.write16Bytes(
|
|
526
|
-
takingAmountStartByte,
|
|
527
|
-
oldAmount == 0 ? 0 : (params.takingAmount * newAmount) / oldAmount,
|
|
528
|
-
"scaleLO"
|
|
529
|
-
);
|
|
530
|
-
return data.write16Bytes(thresholdStartByte, 1, "scaleThreshold");
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
function scaleHashflow(
|
|
534
|
-
bytes memory data,
|
|
535
|
-
uint256 oldAmount,
|
|
536
|
-
uint256 newAmount
|
|
537
|
-
) internal pure returns (bytes memory) {
|
|
538
|
-
uint256 startByte;
|
|
539
|
-
|
|
540
|
-
(, startByte) = data._readAddress(startByte); // router
|
|
541
|
-
|
|
542
|
-
(IExecutorHelperL2.RFQTQuote memory rfqQuote, , uint256 ebtaStartByte) = data._readRFQTQuote(startByte); // RFQTQuote
|
|
543
|
-
|
|
544
|
-
return
|
|
545
|
-
data.write16Bytes(
|
|
546
|
-
ebtaStartByte,
|
|
547
|
-
oldAmount == 0 ? 0 : (rfqQuote.effectiveBaseTokenAmount * newAmount) / oldAmount,
|
|
548
|
-
"scaleHashflow"
|
|
549
|
-
);
|
|
550
|
-
}
|
|
551
|
-
|
|
552
|
-
function scaleNative(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
553
|
-
require(newAmount < oldAmount, "Native: not support scale up");
|
|
554
|
-
|
|
555
|
-
uint256 startByte;
|
|
556
|
-
bytes memory strData;
|
|
557
|
-
uint256 amountStartByte;
|
|
558
|
-
uint256 amount;
|
|
559
|
-
uint256 multihopAndOffset;
|
|
560
|
-
uint256 strDataStartByte;
|
|
561
|
-
|
|
562
|
-
(, startByte) = data._readAddress(startByte); // target
|
|
563
|
-
|
|
564
|
-
amountStartByte = startByte;
|
|
565
|
-
(amount, startByte) = data._readUint128AsUint256(startByte); // amount
|
|
566
|
-
|
|
567
|
-
strDataStartByte = startByte;
|
|
568
|
-
(strData, startByte) = data._readBytes(startByte); // data
|
|
569
|
-
|
|
570
|
-
(, startByte) = data._readAddress(startByte); // tokenIn
|
|
571
|
-
(, startByte) = data._readAddress(startByte); // tokenOut
|
|
572
|
-
(, startByte) = data._readAddress(startByte); // recipient
|
|
573
|
-
(multihopAndOffset, startByte) = data._readUint256(startByte); // multihopAndOffset
|
|
574
|
-
|
|
575
|
-
require(multihopAndOffset >> 255 == 0, "Native: Multihop not supported");
|
|
576
|
-
|
|
577
|
-
amount = (amount * newAmount) / oldAmount;
|
|
578
|
-
|
|
579
|
-
uint256 amountInOffset = uint256(uint64(multihopAndOffset >> 64));
|
|
580
|
-
uint256 amountOutMinOffset = uint256(uint64(multihopAndOffset));
|
|
581
|
-
// bytes memory newCallData = strData;
|
|
582
|
-
|
|
583
|
-
strData = strData.write32Bytes(amountInOffset, amount, "ScaleStructDataAmount");
|
|
584
|
-
|
|
585
|
-
// update amount out min if needed
|
|
586
|
-
if (amountOutMinOffset != 0) {
|
|
587
|
-
strData = strData.write32Bytes(amountOutMinOffset, 1, "ScaleStructDataAmountOutMin");
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
data.write16Bytes(amountStartByte, amount, "scaleNativeAmount");
|
|
591
|
-
|
|
592
|
-
return data.writeBytes(strDataStartByte + 4, strData);
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
function scaleBebop(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
596
|
-
require(newAmount < oldAmount, "Bebop: not support scale up");
|
|
597
|
-
|
|
598
|
-
uint256 startByte;
|
|
599
|
-
uint256 amount;
|
|
600
|
-
uint256 amountStartByte;
|
|
601
|
-
uint256 txDataStartByte;
|
|
602
|
-
bytes memory txData;
|
|
603
|
-
|
|
604
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
605
|
-
|
|
606
|
-
amountStartByte = startByte;
|
|
607
|
-
(amount, startByte) = data._readUint128AsUint256(startByte); // amount
|
|
608
|
-
txDataStartByte = startByte;
|
|
609
|
-
(txData, startByte) = data._readBytes(startByte); // data
|
|
610
|
-
|
|
611
|
-
amount = (amount * newAmount) / oldAmount;
|
|
612
|
-
|
|
613
|
-
{
|
|
614
|
-
// update calldata with new swap amount
|
|
615
|
-
(bytes4 selector, bytes memory callData) = txData.splitCalldata();
|
|
616
|
-
|
|
617
|
-
(IBebopV3.Single memory s, IBebopV3.MakerSignature memory m, ) = abi.decode(
|
|
618
|
-
callData,
|
|
619
|
-
(IBebopV3.Single, IBebopV3.MakerSignature, uint256)
|
|
620
|
-
);
|
|
621
|
-
|
|
622
|
-
txData = bytes.concat(bytes4(selector), abi.encode(s, m, amount));
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
data.write16Bytes(amountStartByte, amount, "scaleBebopAmount");
|
|
626
|
-
|
|
627
|
-
return data.writeBytes(txDataStartByte + 4, txData);
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
function scaleMantleUsd(
|
|
631
|
-
bytes memory data,
|
|
632
|
-
uint256 oldAmount,
|
|
633
|
-
uint256 newAmount
|
|
634
|
-
) internal pure returns (bytes memory) {
|
|
635
|
-
(uint256 isWrapAndAmount, ) = data._readUint256(0);
|
|
636
|
-
|
|
637
|
-
bool _isWrap = isWrapAndAmount >> 255 == 1;
|
|
638
|
-
uint256 _amount = uint256(uint128(isWrapAndAmount));
|
|
639
|
-
|
|
640
|
-
//scale amount
|
|
641
|
-
_amount = oldAmount == 0 ? 0 : (_amount * newAmount) / oldAmount;
|
|
642
|
-
|
|
643
|
-
// reset and create new variable for isWrap and amount
|
|
644
|
-
isWrapAndAmount = 0;
|
|
645
|
-
isWrapAndAmount |= uint256(uint128(_amount));
|
|
646
|
-
isWrapAndAmount |= uint256(_isWrap ? 1 : 0) << 255;
|
|
647
|
-
return abi.encode(isWrapAndAmount);
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
function scaleKelp(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
651
|
-
uint256 startByte;
|
|
652
|
-
|
|
653
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
654
|
-
|
|
655
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
656
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleKelp");
|
|
657
|
-
}
|
|
658
|
-
|
|
659
|
-
function scaleSymbioticLRT(
|
|
660
|
-
bytes memory data,
|
|
661
|
-
uint256 oldAmount,
|
|
662
|
-
uint256 newAmount
|
|
663
|
-
) internal pure returns (bytes memory) {
|
|
664
|
-
uint256 startByte;
|
|
665
|
-
|
|
666
|
-
(, startByte) = data._readPool(startByte); // vault
|
|
667
|
-
|
|
668
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
669
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleSymbioticLRT");
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
function scaleMaverickV2(
|
|
673
|
-
bytes memory data,
|
|
674
|
-
uint256 oldAmount,
|
|
675
|
-
uint256 newAmount
|
|
676
|
-
) internal pure returns (bytes memory) {
|
|
677
|
-
uint256 startByte;
|
|
678
|
-
|
|
679
|
-
(, startByte) = data._readPool(startByte); // pool
|
|
680
|
-
|
|
681
|
-
(uint256 amount, ) = data._readUint128AsUint256(startByte); // amount
|
|
682
|
-
return data.write16Bytes(startByte, oldAmount == 0 ? 0 : (amount * newAmount) / oldAmount, "scaleMaverickV2");
|
|
683
|
-
}
|
|
684
|
-
}
|