@paraswap/dex-lib 2.35.7-multiple-dex-base-chain.2 → 2.35.7-worker-pool.1
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/abi/quickPerps/fast-price-events.json +70 -0
- package/build/abi/quickPerps/fast-price-feed.json +748 -0
- package/build/abi/quickPerps/reader.json +313 -0
- package/build/abi/quickPerps/vault-price-feed.json +477 -0
- package/build/abi/quickPerps/vault.json +1953 -0
- package/build/config.js +2 -2
- package/build/dex/algebra/algebra.d.ts +4 -2
- package/build/dex/algebra/algebra.js +4 -3
- package/build/dex/algebra/algebra.js.map +1 -1
- package/build/dex/balancer-v2/config.js +1 -9
- package/build/dex/balancer-v2/config.js.map +1 -1
- package/build/dex/index.js +0 -2
- package/build/dex/index.js.map +1 -1
- package/build/dex/maverick-v1/config.js +0 -9
- package/build/dex/maverick-v1/config.js.map +1 -1
- package/build/dex/maverick-v1/maverick-v1.js +2 -11
- package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
- package/build/dex/pancakeswap-v3/config.js +0 -17
- package/build/dex/pancakeswap-v3/config.js.map +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +3 -2
- package/build/dex/pancakeswap-v3/pancakeswap-v3.js +3 -3
- package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
- package/build/dex/solidly/config.js +1 -22
- package/build/dex/solidly/config.js.map +1 -1
- package/build/dex/solidly/solidly.js +0 -1
- package/build/dex/solidly/solidly.js.map +1 -1
- package/build/dex/{ramses-v2 → test-dex}/config.d.ts +1 -1
- package/build/dex/test-dex/config.js +15 -0
- package/build/dex/test-dex/config.js.map +1 -0
- package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
- package/build/dex/test-dex/test-dex-pool.js +63 -0
- package/build/dex/test-dex/test-dex-pool.js.map +1 -0
- package/build/dex/test-dex/test-dex.d.ts +37 -0
- package/build/dex/test-dex/test-dex.js +126 -0
- package/build/dex/test-dex/test-dex.js.map +1 -0
- package/build/dex/test-dex/types.d.ts +6 -0
- package/build/dex/{pancakeswap-v3 → test-dex}/types.js.map +1 -1
- package/build/dex/uniswap-v3/config.js +0 -12
- package/build/dex/uniswap-v3/config.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3.d.ts +3 -2
- package/build/dex/uniswap-v3/uniswap-v3.js +3 -3
- package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
- package/build/dex/woo-fi-v2/config.js +0 -13
- package/build/dex/woo-fi-v2/config.js.map +1 -1
- package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
- package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
- package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
- package/build/dex-helper/dummy-dex-helper.d.ts +1 -0
- package/build/dex-helper/dummy-dex-helper.js +3 -0
- package/build/dex-helper/dummy-dex-helper.js.map +1 -1
- package/build/dex-helper/idex-helper.d.ts +1 -0
- package/build/workers.d.ts +0 -0
- package/build/workers.js +2 -0
- package/build/workers.js.map +1 -0
- package/package.json +1 -1
- package/src/config.ts +2 -2
- package/src/dex/algebra/algebra.ts +13 -15
- package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +1 -122
- package/src/dex/balancer-v2/config.ts +1 -10
- package/src/dex/index.ts +0 -2
- package/src/dex/maverick-v1/config.ts +0 -10
- package/src/dex/maverick-v1/maverick-v1-e2e.test.ts +1 -121
- package/src/dex/maverick-v1/maverick-v1.ts +2 -12
- package/src/dex/pancakeswap-v3/config.ts +0 -19
- package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +0 -120
- package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +12 -16
- package/src/dex/solidly/config.ts +1 -24
- package/src/dex/solidly/solidly-e2e.test.ts +0 -88
- package/src/dex/solidly/solidly-integration.test.ts +0 -66
- package/src/dex/solidly/solidly.ts +0 -1
- package/src/dex/uniswap-v3/config.ts +0 -13
- package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +4 -25
- package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +0 -142
- package/src/dex/uniswap-v3/uniswap-v3.ts +12 -15
- package/src/dex/woo-fi-v2/config.ts +0 -13
- package/src/dex/woo-fi-v2/woo-fi-v2-e2e.test.ts +0 -64
- package/src/dex-helper/dummy-dex-helper.ts +13 -0
- package/src/dex-helper/idex-helper.ts +7 -0
- package/tests/constants-e2e.ts +0 -30
- package/tests/utils-e2e.ts +0 -1
- package/.idea/aws.xml +0 -17
- package/.idea/codeStyles/Project.xml +0 -19
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/paraswap-dex-lib.iml +0 -9
- package/.idea/vcs.xml +0 -6
- package/build/abi/aerodrome/aerodrome-pool-factory.json +0 -586
- package/build/abi/algebra/AlgebraPool.abi.json +0 -727
- package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
- package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
- package/build/abi/sushiswap-v3/QuoterV2.json +0 -267
- package/build/abi/sushiswap-v3/RouterProcessor3.json +0 -289
- package/build/abi/wBETH.json +0 -1527
- package/build/dex/algebra/algebra-pool.d.ts +0 -46
- package/build/dex/algebra/algebra-pool.js +0 -336
- package/build/dex/algebra/algebra-pool.js.map +0 -1
- package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
- package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
- package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
- package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
- package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
- package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
- package/build/dex/pancakeswap-v3/types.d.ts +0 -14
- package/build/dex/ramses-v2/config.js +0 -28
- package/build/dex/ramses-v2/config.js.map +0 -1
- package/build/dex/ramses-v2/constants.d.ts +0 -28
- package/build/dex/ramses-v2/constants.js +0 -35
- package/build/dex/ramses-v2/constants.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
- package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
- package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
- package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
- package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
- package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
- package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
- package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
- package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
- package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
- package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
- package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
- package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
- package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
- package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
- package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
- package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
- package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
- package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
- package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
- package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
- package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
- package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
- package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
- package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
- package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
- package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
- package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
- package/build/dex/ramses-v2/contract-math/utils.js +0 -16
- package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
- package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -42
- package/build/dex/ramses-v2/ramses-v2-pool.js +0 -307
- package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
- package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
- package/build/dex/ramses-v2/ramses-v2.js +0 -690
- package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
- package/build/dex/ramses-v2/types.d.ts +0 -154
- package/build/dex/ramses-v2/types.js +0 -9
- package/build/dex/ramses-v2/types.js.map +0 -1
- package/build/dex/ramses-v2/utils.d.ts +0 -6
- package/build/dex/ramses-v2/utils.js +0 -71
- package/build/dex/ramses-v2/utils.js.map +0 -1
- package/build/dex/solidly/forks-override/aerodrome.d.ts +0 -14
- package/build/dex/solidly/forks-override/aerodrome.js +0 -48
- package/build/dex/solidly/forks-override/aerodrome.js.map +0 -1
- package/build/dex/sushiswap-v3/config.d.ts +0 -4
- package/build/dex/sushiswap-v3/config.js +0 -132
- package/build/dex/sushiswap-v3/config.js.map +0 -1
- package/build/dex/sushiswap-v3/constants.d.ts +0 -4
- package/build/dex/sushiswap-v3/constants.js +0 -32
- package/build/dex/sushiswap-v3/constants.js.map +0 -1
- package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +0 -56
- package/build/dex/sushiswap-v3/sushiswap-v3-original.js +0 -598
- package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +0 -1
- package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +0 -1
- package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +0 -6
- package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +0 -1
- package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +0 -21
- package/build/dex/sushiswap-v3/sushiswap-v3.js +0 -58
- package/build/dex/sushiswap-v3/sushiswap-v3.js.map +0 -1
- package/build/dex/sushiswap-v3/token.d.ts +0 -6
- package/build/dex/sushiswap-v3/token.js +0 -23
- package/build/dex/sushiswap-v3/token.js.map +0 -1
- package/build/dex/sushiswap-v3/types.d.ts +0 -15
- package/build/dex/sushiswap-v3/types.js +0 -18
- package/build/dex/sushiswap-v3/types.js.map +0 -1
- package/src/abi/aerodrome/aerodrome-pool-factory.json +0 -586
- package/src/dex/solidly/forks-override/aerodrome.ts +0 -57
- /package/build/dex/{pancakeswap-v3 → test-dex}/types.js +0 -0
|
@@ -959,146 +959,4 @@ describe('SushiSwapV3', () => {
|
|
|
959
959
|
expect(falseChecksCounter).toBeLessThan(poolPrices!.length);
|
|
960
960
|
});
|
|
961
961
|
});
|
|
962
|
-
|
|
963
|
-
describe('Base', () => {
|
|
964
|
-
let blockNumber: number;
|
|
965
|
-
let sushiSwapV3: UniswapV3;
|
|
966
|
-
let sushiSwapV3Mainnet: UniswapV3;
|
|
967
|
-
|
|
968
|
-
const network = Network.BASE;
|
|
969
|
-
const dexHelper = new DummyDexHelper(network);
|
|
970
|
-
const TokenASymbol = 'USDbC';
|
|
971
|
-
const TokenA = Tokens[network][TokenASymbol];
|
|
972
|
-
|
|
973
|
-
const TokenBSymbol = 'DAI';
|
|
974
|
-
const TokenB = Tokens[network][TokenBSymbol];
|
|
975
|
-
|
|
976
|
-
beforeEach(async () => {
|
|
977
|
-
blockNumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
978
|
-
sushiSwapV3 = new UniswapV3(network, dexKey, dexHelper);
|
|
979
|
-
sushiSwapV3Mainnet = new UniswapV3(Network.MAINNET, dexKey, dexHelper);
|
|
980
|
-
});
|
|
981
|
-
|
|
982
|
-
it('getPoolIdentifiers and getPricesVolume SELL', async function () {
|
|
983
|
-
const amounts = [0n, BI_POWS[6], 2000000n];
|
|
984
|
-
|
|
985
|
-
const pools = await sushiSwapV3.getPoolIdentifiers(
|
|
986
|
-
TokenA,
|
|
987
|
-
TokenB,
|
|
988
|
-
SwapSide.SELL,
|
|
989
|
-
blockNumber,
|
|
990
|
-
);
|
|
991
|
-
console.log(
|
|
992
|
-
`${TokenASymbol} <> ${TokenBSymbol} Pool Identifiers: `,
|
|
993
|
-
pools,
|
|
994
|
-
);
|
|
995
|
-
|
|
996
|
-
expect(pools.length).toBeGreaterThan(0);
|
|
997
|
-
|
|
998
|
-
const poolPrices = await sushiSwapV3.getPricesVolume(
|
|
999
|
-
TokenA,
|
|
1000
|
-
TokenB,
|
|
1001
|
-
amounts,
|
|
1002
|
-
SwapSide.SELL,
|
|
1003
|
-
blockNumber,
|
|
1004
|
-
pools,
|
|
1005
|
-
);
|
|
1006
|
-
console.log(
|
|
1007
|
-
`${TokenASymbol} <> ${TokenBSymbol} Pool Prices: `,
|
|
1008
|
-
poolPrices,
|
|
1009
|
-
);
|
|
1010
|
-
|
|
1011
|
-
expect(poolPrices).not.toBeNull();
|
|
1012
|
-
checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
|
|
1013
|
-
|
|
1014
|
-
let falseChecksCounter = 0;
|
|
1015
|
-
await Promise.all(
|
|
1016
|
-
poolPrices!.map(async price => {
|
|
1017
|
-
const fee = sushiSwapV3.eventPools[price.poolIdentifier!]!.feeCode;
|
|
1018
|
-
const res = await checkOnChainPricing(
|
|
1019
|
-
dexHelper,
|
|
1020
|
-
sushiSwapV3,
|
|
1021
|
-
'quoteExactInputSingle',
|
|
1022
|
-
blockNumber,
|
|
1023
|
-
'0xb1E835Dc2785b52265711e17fCCb0fd018226a6e',
|
|
1024
|
-
price.prices,
|
|
1025
|
-
TokenA.address,
|
|
1026
|
-
TokenB.address,
|
|
1027
|
-
fee,
|
|
1028
|
-
amounts,
|
|
1029
|
-
);
|
|
1030
|
-
if (res === false) falseChecksCounter++;
|
|
1031
|
-
}),
|
|
1032
|
-
);
|
|
1033
|
-
|
|
1034
|
-
expect(falseChecksCounter).toBeLessThan(poolPrices!.length);
|
|
1035
|
-
});
|
|
1036
|
-
|
|
1037
|
-
it('getPoolIdentifiers and getPricesVolume BUY', async function () {
|
|
1038
|
-
const amounts = [0n, BI_POWS[6], 2000000n];
|
|
1039
|
-
|
|
1040
|
-
const pools = await sushiSwapV3.getPoolIdentifiers(
|
|
1041
|
-
TokenA,
|
|
1042
|
-
TokenB,
|
|
1043
|
-
SwapSide.BUY,
|
|
1044
|
-
blockNumber,
|
|
1045
|
-
);
|
|
1046
|
-
console.log(
|
|
1047
|
-
`${TokenASymbol} <> ${TokenBSymbol} Pool Identifiers: `,
|
|
1048
|
-
pools,
|
|
1049
|
-
);
|
|
1050
|
-
|
|
1051
|
-
expect(pools.length).toBeGreaterThan(0);
|
|
1052
|
-
|
|
1053
|
-
const poolPrices = await sushiSwapV3.getPricesVolume(
|
|
1054
|
-
TokenA,
|
|
1055
|
-
TokenB,
|
|
1056
|
-
amounts,
|
|
1057
|
-
SwapSide.BUY,
|
|
1058
|
-
blockNumber,
|
|
1059
|
-
pools,
|
|
1060
|
-
);
|
|
1061
|
-
console.log(
|
|
1062
|
-
`${TokenASymbol} <> ${TokenBSymbol} Pool Prices: `,
|
|
1063
|
-
poolPrices,
|
|
1064
|
-
);
|
|
1065
|
-
|
|
1066
|
-
expect(poolPrices).not.toBeNull();
|
|
1067
|
-
checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
|
|
1068
|
-
|
|
1069
|
-
let falseChecksCounter = 0;
|
|
1070
|
-
await Promise.all(
|
|
1071
|
-
poolPrices!.map(async price => {
|
|
1072
|
-
const fee = sushiSwapV3.eventPools[price.poolIdentifier!]!.feeCode;
|
|
1073
|
-
const res = await checkOnChainPricing(
|
|
1074
|
-
dexHelper,
|
|
1075
|
-
sushiSwapV3,
|
|
1076
|
-
'quoteExactOutputSingle',
|
|
1077
|
-
blockNumber,
|
|
1078
|
-
'0xb1E835Dc2785b52265711e17fCCb0fd018226a6e',
|
|
1079
|
-
price.prices,
|
|
1080
|
-
TokenA.address,
|
|
1081
|
-
TokenB.address,
|
|
1082
|
-
fee,
|
|
1083
|
-
amounts,
|
|
1084
|
-
);
|
|
1085
|
-
if (res === false) falseChecksCounter++;
|
|
1086
|
-
}),
|
|
1087
|
-
);
|
|
1088
|
-
|
|
1089
|
-
expect(falseChecksCounter).toBeLessThan(poolPrices!.length);
|
|
1090
|
-
});
|
|
1091
|
-
|
|
1092
|
-
it('getTopPoolsForToken', async function () {
|
|
1093
|
-
const poolLiquidity = await sushiSwapV3.getTopPoolsForToken(
|
|
1094
|
-
TokenB.address,
|
|
1095
|
-
10,
|
|
1096
|
-
);
|
|
1097
|
-
console.log(`${TokenASymbol} Top Pools:`, poolLiquidity);
|
|
1098
|
-
|
|
1099
|
-
checkPoolsLiquidity(poolLiquidity, TokenB.address, dexKey);
|
|
1100
|
-
});
|
|
1101
|
-
});
|
|
1102
|
-
|
|
1103
962
|
});
|
|
1104
|
-
|
|
@@ -641,20 +641,17 @@ export class UniswapV3
|
|
|
641
641
|
const balanceDestToken =
|
|
642
642
|
_destAddress === pool.token0 ? state.balance0 : state.balance1;
|
|
643
643
|
|
|
644
|
-
const unitResult = this.
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
zeroForOne,
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
_amounts,
|
|
654
|
-
|
|
655
|
-
side,
|
|
656
|
-
balanceDestToken,
|
|
657
|
-
);
|
|
644
|
+
const unitResult = (await this.dexHelper.executeOnWorkerPool(
|
|
645
|
+
this.dexKey,
|
|
646
|
+
'getOutputs',
|
|
647
|
+
[state, [unitAmount], zeroForOne, side, balanceDestToken],
|
|
648
|
+
)) as ReturnType<typeof this.getOutputs>;
|
|
649
|
+
|
|
650
|
+
const pricesResult = (await this.dexHelper.executeOnWorkerPool(
|
|
651
|
+
this.dexKey,
|
|
652
|
+
'getOutputs',
|
|
653
|
+
[state, _amounts, zeroForOne, side, balanceDestToken],
|
|
654
|
+
)) as ReturnType<typeof this.getOutputs>;
|
|
658
655
|
|
|
659
656
|
if (!unitResult || !pricesResult) {
|
|
660
657
|
this.logger.debug('Prices or unit is not calculated');
|
|
@@ -1071,7 +1068,7 @@ export class UniswapV3
|
|
|
1071
1068
|
return newConfig;
|
|
1072
1069
|
}
|
|
1073
1070
|
|
|
1074
|
-
|
|
1071
|
+
getOutputs(
|
|
1075
1072
|
state: DeepReadonly<PoolState>,
|
|
1076
1073
|
amounts: bigint[],
|
|
1077
1074
|
zeroForOne: boolean,
|
|
@@ -64,16 +64,6 @@ export const WooFiV2Config: DexConfigMap<DexParams> = {
|
|
|
64
64
|
decimals: 6,
|
|
65
65
|
},
|
|
66
66
|
},
|
|
67
|
-
[Network.BASE]: {
|
|
68
|
-
wooPPV2Address: '0xb130a49065178465931d4f887056328CeA5D723f',
|
|
69
|
-
wooOracleV2Address: '0x2Fe5E5D341cFFa606a5d9DA1B6B646a381B0f7ec',
|
|
70
|
-
integrationHelperAddress: '0xC4E9B633685461E7B7A807D12a246C81f96F31B8',
|
|
71
|
-
// USDbC
|
|
72
|
-
quoteToken: {
|
|
73
|
-
address: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA',
|
|
74
|
-
decimals: 6,
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
67
|
},
|
|
78
68
|
};
|
|
79
69
|
|
|
@@ -94,7 +84,4 @@ export const Adapters: Record<number, AdapterMappings> = {
|
|
|
94
84
|
[Network.AVALANCHE]: {
|
|
95
85
|
[SwapSide.SELL]: [{ name: 'AvalancheAdapter01', index: 12 }],
|
|
96
86
|
},
|
|
97
|
-
[Network.BASE]: {
|
|
98
|
-
[SwapSide.SELL]: [{ name: 'BaseAdapter01', index: 5 }],
|
|
99
|
-
},
|
|
100
87
|
};
|
|
@@ -213,68 +213,4 @@ describe('WooFiV2 E2E', () => {
|
|
|
213
213
|
tokenQuoteAmount,
|
|
214
214
|
);
|
|
215
215
|
});
|
|
216
|
-
|
|
217
|
-
describe('Base', () => {
|
|
218
|
-
const network = Network.BASE;
|
|
219
|
-
|
|
220
|
-
const baseATokenSymbol = 'USDbC';
|
|
221
|
-
const baseBTokenSymbol = 'ETH';
|
|
222
|
-
|
|
223
|
-
const tokenBaseAAmount = '100000000';
|
|
224
|
-
const tokenBaseBAmount = '1000000000000000000';
|
|
225
|
-
|
|
226
|
-
const tokens = Tokens[network];
|
|
227
|
-
const holders = Holders[network];
|
|
228
|
-
|
|
229
|
-
const provider = new StaticJsonRpcProvider(
|
|
230
|
-
generateConfig(network).privateHttpProvider,
|
|
231
|
-
network,
|
|
232
|
-
);
|
|
233
|
-
|
|
234
|
-
const sideToContractMethods = new Map([
|
|
235
|
-
[
|
|
236
|
-
SwapSide.SELL,
|
|
237
|
-
[
|
|
238
|
-
ContractMethod.simpleSwap,
|
|
239
|
-
ContractMethod.multiSwap,
|
|
240
|
-
ContractMethod.megaSwap,
|
|
241
|
-
],
|
|
242
|
-
],
|
|
243
|
-
]);
|
|
244
|
-
|
|
245
|
-
sideToContractMethods.forEach((contractMethods, side) =>
|
|
246
|
-
describe(`${side}`, () => {
|
|
247
|
-
contractMethods.forEach((contractMethod: ContractMethod) => {
|
|
248
|
-
describe(`${contractMethod}`, () => {
|
|
249
|
-
it(`${baseATokenSymbol} -> ${baseBTokenSymbol}`, async () => {
|
|
250
|
-
await testE2E(
|
|
251
|
-
tokens[baseATokenSymbol],
|
|
252
|
-
tokens[baseBTokenSymbol],
|
|
253
|
-
holders[baseATokenSymbol],
|
|
254
|
-
tokenBaseAAmount,
|
|
255
|
-
side,
|
|
256
|
-
dexKey,
|
|
257
|
-
contractMethod,
|
|
258
|
-
network,
|
|
259
|
-
provider,
|
|
260
|
-
);
|
|
261
|
-
});
|
|
262
|
-
it(`${baseBTokenSymbol} -> ${baseATokenSymbol}`, async () => {
|
|
263
|
-
await testE2E(
|
|
264
|
-
tokens[baseBTokenSymbol],
|
|
265
|
-
tokens[baseATokenSymbol],
|
|
266
|
-
holders[baseBTokenSymbol],
|
|
267
|
-
tokenBaseBAmount,
|
|
268
|
-
side,
|
|
269
|
-
dexKey,
|
|
270
|
-
contractMethod,
|
|
271
|
-
network,
|
|
272
|
-
provider,
|
|
273
|
-
);
|
|
274
|
-
});
|
|
275
|
-
});
|
|
276
|
-
});
|
|
277
|
-
}),
|
|
278
|
-
);
|
|
279
|
-
});
|
|
280
216
|
});
|
|
@@ -246,6 +246,11 @@ export class DummyDexHelper implements IDexHelper {
|
|
|
246
246
|
getLogger: LoggerConstructor;
|
|
247
247
|
web3Provider: Web3;
|
|
248
248
|
getTokenUSDPrice: (token: Token, amount: bigint) => Promise<number>;
|
|
249
|
+
executeOnWorkerPool: (
|
|
250
|
+
dexKeys: string,
|
|
251
|
+
methodSelector: string,
|
|
252
|
+
payload: any[],
|
|
253
|
+
) => Promise<any>;
|
|
249
254
|
|
|
250
255
|
constructor(network: number, rpcUrl?: string) {
|
|
251
256
|
this.config = new ConfigHelper(false, generateConfig(network), 'is');
|
|
@@ -281,6 +286,14 @@ export class DummyDexHelper implements IDexHelper {
|
|
|
281
286
|
5,
|
|
282
287
|
this.getLogger(`PromiseScheduler-${network}`),
|
|
283
288
|
);
|
|
289
|
+
|
|
290
|
+
this.executeOnWorkerPool = async (
|
|
291
|
+
dexKey: string,
|
|
292
|
+
methodSelector: string,
|
|
293
|
+
payload: any[],
|
|
294
|
+
) => {
|
|
295
|
+
return null;
|
|
296
|
+
};
|
|
284
297
|
}
|
|
285
298
|
|
|
286
299
|
replaceProviderWithRPC(rpcUrl: string) {
|
|
@@ -9,6 +9,7 @@ import { Token } from '../types';
|
|
|
9
9
|
import { ConfigHelper } from '../config';
|
|
10
10
|
import { MultiWrapper } from '../lib/multi-wrapper';
|
|
11
11
|
import { PromiseScheduler } from '../lib/promise-scheduler';
|
|
12
|
+
import { AsyncOrSync } from 'ts-essentials';
|
|
12
13
|
|
|
13
14
|
export interface IDexHelper {
|
|
14
15
|
config: ConfigHelper;
|
|
@@ -21,5 +22,11 @@ export interface IDexHelper {
|
|
|
21
22
|
web3Provider: Web3;
|
|
22
23
|
blockManager: IBlockManager;
|
|
23
24
|
getLogger: LoggerConstructor;
|
|
25
|
+
executeOnWorkerPool: (
|
|
26
|
+
dexKey: string,
|
|
27
|
+
methodSelector: string,
|
|
28
|
+
// For POC it is ok to have any
|
|
29
|
+
payload: any[],
|
|
30
|
+
) => Promise<any>;
|
|
24
31
|
getTokenUSDPrice: (token: Token, amount: bigint) => Promise<number>;
|
|
25
32
|
}
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -892,30 +892,6 @@ export const Tokens: {
|
|
|
892
892
|
address: '0x4200000000000000000000000000000000000006',
|
|
893
893
|
decimals: 18,
|
|
894
894
|
},
|
|
895
|
-
MAV: {
|
|
896
|
-
address: '0x64b88c73A5DfA78D1713fE1b4c69a22d7E0faAa7',
|
|
897
|
-
decimals: 18,
|
|
898
|
-
},
|
|
899
|
-
USDC: {
|
|
900
|
-
address: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',
|
|
901
|
-
decimals: 6,
|
|
902
|
-
},
|
|
903
|
-
USDbC: {
|
|
904
|
-
address: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA',
|
|
905
|
-
decimals: 6,
|
|
906
|
-
},
|
|
907
|
-
DAI: {
|
|
908
|
-
address: '0x50c5725949a6f0c72e6c4a641f24049a917db0cb',
|
|
909
|
-
decimals: 18,
|
|
910
|
-
},
|
|
911
|
-
BAL: {
|
|
912
|
-
address: '0x4158734d47fc9692176b5085e0f52ee0da5d47f1',
|
|
913
|
-
decimals: 18,
|
|
914
|
-
},
|
|
915
|
-
GOLD: {
|
|
916
|
-
address: '0xbeFD5C25A59ef2C1316c5A4944931171F30Cd3E4',
|
|
917
|
-
decimals: 18,
|
|
918
|
-
},
|
|
919
895
|
ETH: { address: ETHER_ADDRESS, decimals: 18 },
|
|
920
896
|
},
|
|
921
897
|
};
|
|
@@ -1141,12 +1117,6 @@ export const Holders: {
|
|
|
1141
1117
|
WETH: '0x4bb6b2efe7036020ba6f02a05602546c9f25bf28',
|
|
1142
1118
|
PRIME: '0x956bcc6b56c99db382d9d97a30ba5f1402144b3e',
|
|
1143
1119
|
ETH: '0xdd9176ea3e7559d6b68b537ef555d3e89403f742',
|
|
1144
|
-
MAV: '0x7499785aa5d1bdf0a0ac862c1ef3698d3cba6568',
|
|
1145
|
-
USDC: '0xaac391f166f33cdaefaa4afa6616a3bea66b694d',
|
|
1146
|
-
USDbC: '0xc9d05a1c3c8e01dcb701d6185cdc21a5bb94becb',
|
|
1147
|
-
DAI: '0x20f03e26968b179025f65c1f4afadfd3959c8d03',
|
|
1148
|
-
BAL: '0x854b004700885a61107b458f11ecc169a019b764',
|
|
1149
|
-
GOLD: '0x1374c25b3710758c326ee0c70ec48b595d5ccf8c',
|
|
1150
1120
|
},
|
|
1151
1121
|
};
|
|
1152
1122
|
|
package/tests/utils-e2e.ts
CHANGED
|
@@ -86,7 +86,6 @@ const MULTISIG: { [nid: number]: string } = {
|
|
|
86
86
|
[Network.AVALANCHE]: '0x1e2ECA5e812D08D2A7F8664D69035163ff5BfEC2',
|
|
87
87
|
[Network.OPTIMISM]: '0xf01121e808F782d7F34E857c27dA31AD1f151b39',
|
|
88
88
|
[Network.ARBITRUM]: '0x90DfD8a6454CFE19be39EaB42ac93CD850c7f339',
|
|
89
|
-
[Network.BASE]: '0x6C674c8Df1aC663b822c4B6A56B4E5e889379AE0',
|
|
90
89
|
};
|
|
91
90
|
|
|
92
91
|
class APIParaswapSDK implements IParaSwapSDK {
|
package/.idea/aws.xml
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="accountSettings">
|
|
4
|
-
<option name="activeProfile" value="profile:default" />
|
|
5
|
-
<option name="activeRegion" value="us-east-1" />
|
|
6
|
-
<option name="recentlyUsedProfiles">
|
|
7
|
-
<list>
|
|
8
|
-
<option value="profile:default" />
|
|
9
|
-
</list>
|
|
10
|
-
</option>
|
|
11
|
-
<option name="recentlyUsedRegions">
|
|
12
|
-
<list>
|
|
13
|
-
<option value="us-east-1" />
|
|
14
|
-
</list>
|
|
15
|
-
</option>
|
|
16
|
-
</component>
|
|
17
|
-
</project>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<component name="ProjectCodeStyleConfiguration">
|
|
2
|
-
<code_scheme name="Project" version="173">
|
|
3
|
-
<ScalaCodeStyleSettings>
|
|
4
|
-
<option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
|
|
5
|
-
</ScalaCodeStyleSettings>
|
|
6
|
-
<TypeScriptCodeStyleSettings version="0">
|
|
7
|
-
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACKETS" value="true" />
|
|
8
|
-
<option name="USE_DOUBLE_QUOTES" value="false" />
|
|
9
|
-
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
10
|
-
</TypeScriptCodeStyleSettings>
|
|
11
|
-
<codeStyleSettings language="TypeScript">
|
|
12
|
-
<indentOptions>
|
|
13
|
-
<option name="INDENT_SIZE" value="2" />
|
|
14
|
-
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
15
|
-
<option name="TAB_SIZE" value="2" />
|
|
16
|
-
</indentOptions>
|
|
17
|
-
</codeStyleSettings>
|
|
18
|
-
</code_scheme>
|
|
19
|
-
</component>
|
package/.idea/misc.xml
DELETED
package/.idea/modules.xml
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectModuleManager">
|
|
4
|
-
<modules>
|
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" filepath="$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" />
|
|
6
|
-
</modules>
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<module type="JAVA_MODULE" version="4">
|
|
3
|
-
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
4
|
-
<exclude-output />
|
|
5
|
-
<content url="file://$MODULE_DIR$" />
|
|
6
|
-
<orderEntry type="inheritedJdk" />
|
|
7
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
|
8
|
-
</component>
|
|
9
|
-
</module>
|