@pendle/core-v2 5.3.0 → 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/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.json +13 -0
- 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/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
- 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/interfaces/IPPausingInterface.sol +2 -0
- 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/deployments/merkle-distribution/2024-10-31.json +23370 -0
- package/deployments/merkle-distribution/2024-11-28.json +24040 -0
- 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/IPPausingInterface.ts +125 -0
- package/typechain-types/IPRouterStatic.ts +4633 -0
- package/typechain-types/IPSwapAggregator.ts +187 -0
- package/typechain-types/PendleGovernanceProxy.ts +603 -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/IPPausingInterface__factory.ts +53 -0
- package/typechain-types/factories/IPRouterStatic__factory.ts +3956 -0
- package/typechain-types/factories/IPSwapAggregator__factory.ts +136 -0
- package/typechain-types/factories/PendleGovernanceProxy__factory.ts +458 -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,273 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
pragma solidity ^0.8.0;
|
|
3
|
-
|
|
4
|
-
import {IExecutorHelper} from "../interfaces/IExecutorHelper.sol";
|
|
5
|
-
import {DexScaler} from "./DexScaler.sol";
|
|
6
|
-
|
|
7
|
-
library ScalingDataL2Lib {
|
|
8
|
-
using DexScaler for bytes;
|
|
9
|
-
|
|
10
|
-
function newUniSwap(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
11
|
-
return data.scaleUniSwap(oldAmount, newAmount);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function newStableSwap(
|
|
15
|
-
bytes memory data,
|
|
16
|
-
uint256 oldAmount,
|
|
17
|
-
uint256 newAmount
|
|
18
|
-
) internal pure returns (bytes memory) {
|
|
19
|
-
return data.scaleStableSwap(oldAmount, newAmount);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function newCurveSwap(
|
|
23
|
-
bytes memory data,
|
|
24
|
-
uint256 oldAmount,
|
|
25
|
-
uint256 newAmount
|
|
26
|
-
) internal pure returns (bytes memory) {
|
|
27
|
-
return data.scaleCurveSwap(oldAmount, newAmount);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function newKyberDMM(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
31
|
-
return data.scaleUniSwap(oldAmount, newAmount);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function newUniswapV3KSElastic(
|
|
35
|
-
bytes memory data,
|
|
36
|
-
uint256 oldAmount,
|
|
37
|
-
uint256 newAmount
|
|
38
|
-
) internal pure returns (bytes memory) {
|
|
39
|
-
return data.scaleUniswapV3KSElastic(oldAmount, newAmount);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function newBalancerV2(
|
|
43
|
-
bytes memory data,
|
|
44
|
-
uint256 oldAmount,
|
|
45
|
-
uint256 newAmount
|
|
46
|
-
) internal pure returns (bytes memory) {
|
|
47
|
-
return data.scaleBalancerV2(oldAmount, newAmount);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function newDODO(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
51
|
-
return data.scaleDODO(oldAmount, newAmount);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function newVelodrome(
|
|
55
|
-
bytes memory data,
|
|
56
|
-
uint256 oldAmount,
|
|
57
|
-
uint256 newAmount
|
|
58
|
-
) internal pure returns (bytes memory) {
|
|
59
|
-
return data.scaleUniSwap(oldAmount, newAmount);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function newGMX(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
63
|
-
return data.scaleGMX(oldAmount, newAmount);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function newSynthetix(
|
|
67
|
-
bytes memory data,
|
|
68
|
-
uint256 oldAmount,
|
|
69
|
-
uint256 newAmount
|
|
70
|
-
) internal pure returns (bytes memory) {
|
|
71
|
-
return data.scaleSynthetix(oldAmount, newAmount);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
function newCamelot(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
75
|
-
return data.scaleUniSwap(oldAmount, newAmount);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function newPlatypus(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
79
|
-
return data.scalePlatypus(oldAmount, newAmount);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function newWrappedstETHSwap(
|
|
83
|
-
bytes memory data,
|
|
84
|
-
uint256 oldAmount,
|
|
85
|
-
uint256 newAmount
|
|
86
|
-
) internal pure returns (bytes memory) {
|
|
87
|
-
return data.scaleWrappedstETH(oldAmount, newAmount);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
function newPSM(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
91
|
-
return data.scalePSM(oldAmount, newAmount);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function newFrax(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
95
|
-
return data.scaleUniSwap(oldAmount, newAmount);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
function newStETHSwap(
|
|
99
|
-
bytes memory data,
|
|
100
|
-
uint256 oldAmount,
|
|
101
|
-
uint256 newAmount
|
|
102
|
-
) internal pure returns (bytes memory) {
|
|
103
|
-
return data.scaleStETH(oldAmount, newAmount);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function newMaverick(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
107
|
-
return data.scaleMaverick(oldAmount, newAmount);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function newSyncSwap(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
111
|
-
return data.scaleSyncSwap(oldAmount, newAmount);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function newAlgebraV1(
|
|
115
|
-
bytes memory data,
|
|
116
|
-
uint256 oldAmount,
|
|
117
|
-
uint256 newAmount
|
|
118
|
-
) internal pure returns (bytes memory) {
|
|
119
|
-
return data.scaleAlgebraV1(oldAmount, newAmount);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function newBalancerBatch(
|
|
123
|
-
bytes memory data,
|
|
124
|
-
uint256 oldAmount,
|
|
125
|
-
uint256 newAmount
|
|
126
|
-
) internal pure returns (bytes memory) {
|
|
127
|
-
return data.scaleBalancerBatch(oldAmount, newAmount);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
function newMantis(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
131
|
-
return data.scaleMantis(oldAmount, newAmount);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function newIziSwap(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
135
|
-
return data.scaleIziSwap(oldAmount, newAmount);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function newTraderJoeV2(
|
|
139
|
-
bytes memory data,
|
|
140
|
-
uint256 oldAmount,
|
|
141
|
-
uint256 newAmount
|
|
142
|
-
) internal pure returns (bytes memory) {
|
|
143
|
-
return data.scaleTraderJoeV2(oldAmount, newAmount);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
function newLevelFiV2(
|
|
147
|
-
bytes memory data,
|
|
148
|
-
uint256 oldAmount,
|
|
149
|
-
uint256 newAmount
|
|
150
|
-
) internal pure returns (bytes memory) {
|
|
151
|
-
return data.scaleLevelFiV2(oldAmount, newAmount);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
function newGMXGLP(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
155
|
-
return data.scaleGMXGLP(oldAmount, newAmount);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function newVooi(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
159
|
-
return data.scaleVooi(oldAmount, newAmount);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
function newVelocoreV2(
|
|
163
|
-
bytes memory data,
|
|
164
|
-
uint256 oldAmount,
|
|
165
|
-
uint256 newAmount
|
|
166
|
-
) internal pure returns (bytes memory) {
|
|
167
|
-
return data.scaleVelocoreV2(oldAmount, newAmount);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
function newKokonut(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
171
|
-
return data.scaleKokonut(oldAmount, newAmount);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
function newBalancerV1(
|
|
175
|
-
bytes memory data,
|
|
176
|
-
uint256 oldAmount,
|
|
177
|
-
uint256 newAmount
|
|
178
|
-
) internal pure returns (bytes memory) {
|
|
179
|
-
return data.scaleBalancerV1(oldAmount, newAmount);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
function newArbswapStable(
|
|
183
|
-
bytes memory data,
|
|
184
|
-
uint256 oldAmount,
|
|
185
|
-
uint256 newAmount
|
|
186
|
-
) internal pure returns (bytes memory) {
|
|
187
|
-
return data.scaleArbswapStable(oldAmount, newAmount);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
function newBancorV2(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
191
|
-
return data.scaleBancorV2(oldAmount, newAmount);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
function newAmbient(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
195
|
-
return data.scaleAmbient(oldAmount, newAmount);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
function newLighterV2(
|
|
199
|
-
bytes memory data,
|
|
200
|
-
uint256 oldAmount,
|
|
201
|
-
uint256 newAmount
|
|
202
|
-
) internal pure returns (bytes memory) {
|
|
203
|
-
return data.scaleLighterV2(oldAmount, newAmount);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
function newMaiPSM(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
207
|
-
return data.scaleMaiPSM(oldAmount, newAmount);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
function newNative(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
211
|
-
return data.scaleNative(oldAmount, newAmount);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
function newKyberDSLO(
|
|
215
|
-
bytes memory data,
|
|
216
|
-
uint256 oldAmount,
|
|
217
|
-
uint256 newAmount
|
|
218
|
-
) internal pure returns (bytes memory) {
|
|
219
|
-
return data.scaleDSLO(oldAmount, newAmount);
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
function newKyberLimitOrder(
|
|
223
|
-
bytes memory data,
|
|
224
|
-
uint256 oldAmount,
|
|
225
|
-
uint256 newAmount
|
|
226
|
-
) internal pure returns (bytes memory) {
|
|
227
|
-
return data.scaleKyberLimitOrder(oldAmount, newAmount);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
function newHashflow(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
231
|
-
return data.scaleHashflow(oldAmount, newAmount);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
function newKyberRFQ(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
235
|
-
return data.scaleKyberRFQ(oldAmount, newAmount);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
function newBebop(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
239
|
-
return data.scaleBebop(oldAmount, newAmount);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
function newMantleUsd(
|
|
243
|
-
bytes memory data,
|
|
244
|
-
uint256 oldAmount,
|
|
245
|
-
uint256 newAmount
|
|
246
|
-
) internal pure returns (bytes memory) {
|
|
247
|
-
return data.scaleMantleUsd(oldAmount, newAmount);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
function newKelp(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
251
|
-
return data.scaleKelp(oldAmount, newAmount);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
function newSymbioticLRT(
|
|
255
|
-
bytes memory data,
|
|
256
|
-
uint256 oldAmount,
|
|
257
|
-
uint256 newAmount
|
|
258
|
-
) internal pure returns (bytes memory) {
|
|
259
|
-
return data.scaleSymbioticLRT(oldAmount, newAmount);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
function newMaverickV2(
|
|
263
|
-
bytes memory data,
|
|
264
|
-
uint256 oldAmount,
|
|
265
|
-
uint256 newAmount
|
|
266
|
-
) internal pure returns (bytes memory) {
|
|
267
|
-
return data.scaleMaverickV2(oldAmount, newAmount);
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
function newIntegral(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
|
|
271
|
-
return data.scaleMaverickV2(oldAmount, newAmount); // using kind of same scaling as MaverickV2
|
|
272
|
-
}
|
|
273
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
pragma solidity ^0.8.0;
|
|
2
|
-
|
|
3
|
-
library BytesHelper {
|
|
4
|
-
function update(
|
|
5
|
-
bytes memory originalCalldata,
|
|
6
|
-
uint256 newAmount,
|
|
7
|
-
uint256 amountInOffset
|
|
8
|
-
) internal pure returns (bytes memory) {
|
|
9
|
-
require(amountInOffset + 32 <= originalCalldata.length, "Offset out of bounds");
|
|
10
|
-
|
|
11
|
-
// Update the 32 bytes at the specified offset with the new amount
|
|
12
|
-
for (uint256 i; i < 32; ++i) {
|
|
13
|
-
originalCalldata[amountInOffset + i] = bytes32(newAmount)[i];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return originalCalldata;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function splitCalldata(bytes memory data) internal pure returns (bytes4 selector, bytes memory functionCalldata) {
|
|
20
|
-
require(data.length >= 4, "Calldata too short");
|
|
21
|
-
|
|
22
|
-
// Extract the selector
|
|
23
|
-
assembly {
|
|
24
|
-
selector := mload(add(data, 32))
|
|
25
|
-
}
|
|
26
|
-
// Extract the function calldata
|
|
27
|
-
functionCalldata = new bytes(data.length - 4);
|
|
28
|
-
for (uint256 i = 0; i < data.length - 4; i++) {
|
|
29
|
-
functionCalldata[i] = data[i + 4];
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
|
|
3
|
-
pragma solidity >=0.7.6;
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
“Copyright (c) 2019-2021 1inch
|
|
7
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
8
|
-
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
9
|
-
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
10
|
-
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
11
|
-
subject to the following conditions:
|
|
12
|
-
The above copyright notice and this permission notice shall be included
|
|
13
|
-
in all copies or substantial portions of the Software.
|
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
15
|
-
THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
16
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
17
|
-
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE”.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
library RevertReasonParser {
|
|
22
|
-
function parse(bytes memory data, string memory prefix) internal pure returns (string memory) {
|
|
23
|
-
// https://solidity.readthedocs.io/en/latest/control-structures.html#revert
|
|
24
|
-
// We assume that revert reason is abi-encoded as Error(string)
|
|
25
|
-
|
|
26
|
-
// 68 = 4-byte selector 0x08c379a0 + 32 bytes offset + 32 bytes length
|
|
27
|
-
if (data.length >= 68 && data[0] == "\x08" && data[1] == "\xc3" && data[2] == "\x79" && data[3] == "\xa0") {
|
|
28
|
-
string memory reason;
|
|
29
|
-
// solhint-disable no-inline-assembly
|
|
30
|
-
assembly {
|
|
31
|
-
// 68 = 32 bytes data length + 4-byte selector + 32 bytes offset
|
|
32
|
-
reason := add(data, 68)
|
|
33
|
-
}
|
|
34
|
-
/*
|
|
35
|
-
revert reason is padded up to 32 bytes with ABI encoder: Error(string)
|
|
36
|
-
also sometimes there is extra 32 bytes of zeros padded in the end:
|
|
37
|
-
https://github.com/ethereum/solidity/issues/10170
|
|
38
|
-
because of that we can't check for equality and instead check
|
|
39
|
-
that string length + extra 68 bytes is less than overall data length
|
|
40
|
-
*/
|
|
41
|
-
require(data.length >= 68 + bytes(reason).length, "Invalid revert reason");
|
|
42
|
-
return string(abi.encodePacked(prefix, "Error(", reason, ")"));
|
|
43
|
-
}
|
|
44
|
-
// 36 = 4-byte selector 0x4e487b71 + 32 bytes integer
|
|
45
|
-
else if (
|
|
46
|
-
data.length == 36 && data[0] == "\x4e" && data[1] == "\x48" && data[2] == "\x7b" && data[3] == "\x71"
|
|
47
|
-
) {
|
|
48
|
-
uint256 code;
|
|
49
|
-
// solhint-disable no-inline-assembly
|
|
50
|
-
assembly {
|
|
51
|
-
// 36 = 32 bytes data length + 4-byte selector
|
|
52
|
-
code := mload(add(data, 36))
|
|
53
|
-
}
|
|
54
|
-
return string(abi.encodePacked(prefix, "Panic(", _toHex(code), ")"));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return string(abi.encodePacked(prefix, "Unknown(", _toHex(data), ")"));
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function _toHex(uint256 value) private pure returns (string memory) {
|
|
61
|
-
return _toHex(abi.encodePacked(value));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function _toHex(bytes memory data) private pure returns (string memory) {
|
|
65
|
-
bytes16 alphabet = 0x30313233343536373839616263646566;
|
|
66
|
-
bytes memory str = new bytes(2 + data.length * 2);
|
|
67
|
-
str[0] = "0";
|
|
68
|
-
str[1] = "x";
|
|
69
|
-
for (uint256 i = 0; i < data.length; i++) {
|
|
70
|
-
str[2 * i + 2] = alphabet[uint8(data[i] >> 4)];
|
|
71
|
-
str[2 * i + 3] = alphabet[uint8(data[i] & 0x0f)];
|
|
72
|
-
}
|
|
73
|
-
return string(str);
|
|
74
|
-
}
|
|
75
|
-
}
|