@paraswap/dex-lib 3.8.37 → 3.8.39-1701-1507
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/USDM.json +807 -0
- package/build/abi/bebop/BebopSettlement.abi.json +2137 -0
- package/build/abi/cables/CablesMainnetRFQ.json +1073 -0
- package/build/abi/wUSDM.json +757 -0
- package/build/config.js +16 -9
- package/build/config.js.map +1 -1
- package/build/dex/aave-v2/aave-v2.d.ts +1 -0
- package/build/dex/aave-v2/aave-v2.js +1 -0
- package/build/dex/aave-v2/aave-v2.js.map +1 -1
- package/build/dex/aave-v3/aave-v3.d.ts +1 -0
- package/build/dex/aave-v3/aave-v3.js +1 -0
- package/build/dex/aave-v3/aave-v3.js.map +1 -1
- package/build/dex/aave-v3-stata/aave-v3-stata.d.ts +1 -0
- package/build/dex/aave-v3-stata/aave-v3-stata.js +1 -0
- package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
- package/build/dex/bancor/bancor.d.ts +1 -0
- package/build/dex/bancor/bancor.js +1 -0
- package/build/dex/bancor/bancor.js.map +1 -1
- package/build/dex/bebop/bebop.d.ts +55 -0
- package/build/dex/bebop/bebop.js +524 -0
- package/build/dex/bebop/bebop.js.map +1 -0
- package/build/dex/bebop/config.d.ts +3 -0
- package/build/dex/bebop/config.js +38 -0
- package/build/dex/bebop/config.js.map +1 -0
- package/build/dex/bebop/constants.d.ts +9 -0
- package/build/dex/bebop/constants.js +13 -0
- package/build/dex/bebop/constants.js.map +1 -0
- package/build/dex/bebop/rate-fetcher.d.ts +22 -0
- package/build/dex/bebop/rate-fetcher.js +80 -0
- package/build/dex/bebop/rate-fetcher.js.map +1 -0
- package/build/dex/bebop/types.d.ts +76 -0
- package/build/dex/bebop/types.js +3 -0
- package/build/dex/bebop/types.js.map +1 -0
- package/build/dex/bebop/validators.d.ts +4 -0
- package/build/dex/bebop/validators.js +42 -0
- package/build/dex/bebop/validators.js.map +1 -0
- package/build/dex/bebop/websocket-fetcher.d.ts +35 -0
- package/build/dex/bebop/websocket-fetcher.js +87 -0
- package/build/dex/bebop/websocket-fetcher.js.map +1 -0
- package/build/dex/cables/cables.d.ts +64 -0
- package/build/dex/cables/cables.js +445 -0
- package/build/dex/cables/cables.js.map +1 -0
- package/build/dex/cables/config.d.ts +4 -0
- package/build/dex/cables/config.js +15 -0
- package/build/dex/cables/config.js.map +1 -0
- package/build/dex/cables/constants.d.ts +19 -0
- package/build/dex/cables/constants.js +26 -0
- package/build/dex/cables/constants.js.map +1 -0
- package/build/dex/cables/rate-fetcher.d.ts +34 -0
- package/build/dex/cables/rate-fetcher.js +117 -0
- package/build/dex/cables/rate-fetcher.js.map +1 -0
- package/build/dex/cables/types.d.ts +106 -0
- package/build/dex/cables/types.js +12 -0
- package/build/dex/cables/types.js.map +1 -0
- package/build/dex/cables/validators.d.ts +5 -0
- package/build/dex/cables/validators.js +49 -0
- package/build/dex/cables/validators.js.map +1 -0
- package/build/dex/compound/compound.d.ts +1 -0
- package/build/dex/compound/compound.js +1 -0
- package/build/dex/compound/compound.js.map +1 -1
- package/build/dex/curve-v1/curve-v1.d.ts +1 -0
- package/build/dex/curve-v1/curve-v1.js +1 -0
- package/build/dex/curve-v1/curve-v1.js.map +1 -1
- package/build/dex/dodo-v1/dodo-v1.d.ts +1 -0
- package/build/dex/dodo-v1/dodo-v1.js +1 -0
- package/build/dex/dodo-v1/dodo-v1.js.map +1 -1
- package/build/dex/hashflow/hashflow.d.ts +6 -4
- package/build/dex/hashflow/hashflow.js +183 -29
- package/build/dex/hashflow/hashflow.js.map +1 -1
- package/build/dex/hashflow/types.d.ts +2 -0
- package/build/dex/hashflow/types.js.map +1 -1
- package/build/dex/idex.d.ts +8 -1
- package/build/dex/index.js +2 -0
- package/build/dex/index.js.map +1 -1
- package/build/dex/jarvis-v6/jarvis-v6.d.ts +1 -0
- package/build/dex/jarvis-v6/jarvis-v6.js +1 -0
- package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
- package/build/dex/lido/lido.d.ts +1 -0
- package/build/dex/lido/lido.js +1 -0
- package/build/dex/lido/lido.js.map +1 -1
- package/build/dex/lite-psm/lite-psm.d.ts +1 -0
- package/build/dex/lite-psm/lite-psm.js +1 -0
- package/build/dex/lite-psm/lite-psm.js.map +1 -1
- package/build/dex/maker-psm/maker-psm.d.ts +1 -0
- package/build/dex/maker-psm/maker-psm.js +1 -0
- package/build/dex/maker-psm/maker-psm.js.map +1 -1
- package/build/dex/nerve/nerve.d.ts +1 -0
- package/build/dex/nerve/nerve.js +1 -0
- package/build/dex/nerve/nerve.js.map +1 -1
- package/build/dex/polygon-migrator/polygon-migrator.d.ts +1 -0
- package/build/dex/polygon-migrator/polygon-migrator.js +1 -0
- package/build/dex/polygon-migrator/polygon-migrator.js.map +1 -1
- package/build/dex/simple-exchange.d.ts +3 -1
- package/build/dex/simple-exchange.js +1 -0
- package/build/dex/simple-exchange.js.map +1 -1
- package/build/dex/smoothy/smoothy.d.ts +1 -0
- package/build/dex/smoothy/smoothy.js +1 -0
- package/build/dex/smoothy/smoothy.js.map +1 -1
- package/build/dex/spark/config.js +25 -0
- package/build/dex/spark/config.js.map +1 -1
- package/build/dex/spark/scripts/validate-state.js +1 -1
- package/build/dex/spark/scripts/validate-state.js.map +1 -1
- package/build/dex/spark/spark-sdai-pool.d.ts +7 -3
- package/build/dex/spark/spark-sdai-pool.js +24 -28
- package/build/dex/spark/spark-sdai-pool.js.map +1 -1
- package/build/dex/spark/spark.d.ts +11 -5
- package/build/dex/spark/spark.js +47 -31
- package/build/dex/spark/spark.js.map +1 -1
- package/build/dex/spark/types.d.ts +6 -0
- package/build/dex/spark/types.js.map +1 -1
- package/build/dex/spark/utils.d.ts +3 -1
- package/build/dex/spark/utils.js +43 -7
- package/build/dex/spark/utils.js.map +1 -1
- package/build/dex/stable-pool/stable-pool.d.ts +3 -2
- package/build/dex/stable-pool/stable-pool.js +2 -1
- package/build/dex/stable-pool/stable-pool.js.map +1 -1
- package/build/dex/swaap-v2/swaap-v2.d.ts +5 -3
- package/build/dex/swaap-v2/swaap-v2.js +112 -21
- package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
- package/build/dex/swaap-v2/types.d.ts +2 -0
- package/build/dex/swaap-v2/types.js.map +1 -1
- package/build/dex/trader-joe-v2.1/base.d.ts +1 -0
- package/build/dex/trader-joe-v2.1/base.js +1 -0
- package/build/dex/trader-joe-v2.1/base.js.map +1 -1
- package/build/dex/weth/weth.d.ts +1 -0
- package/build/dex/weth/weth.js +1 -0
- package/build/dex/weth/weth.js.map +1 -1
- package/build/dex/woo-fi-v2/woo-fi-v2-pool.d.ts +2 -2
- package/build/dex/woo-fi-v2/woo-fi-v2-pool.js +30 -9
- package/build/dex/woo-fi-v2/woo-fi-v2-pool.js.map +1 -1
- package/build/dex/woo-fi-v2/woo-fi-v2.js +1 -1
- package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
- package/build/dex/wusdm/config.d.ts +3 -0
- package/build/dex/wusdm/config.js +29 -0
- package/build/dex/wusdm/config.js.map +1 -0
- package/build/dex/wusdm/types.d.ts +10 -0
- package/build/dex/wusdm/types.js +3 -0
- package/build/dex/wusdm/types.js.map +1 -0
- package/build/dex/wusdm/wusdm.d.ts +39 -0
- package/build/dex/wusdm/wusdm.js +212 -0
- package/build/dex/wusdm/wusdm.js.map +1 -0
- package/build/executor/Executor01BytecodeBuilder.d.ts +3 -3
- package/build/executor/Executor01BytecodeBuilder.js +65 -16
- package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor02BytecodeBuilder.d.ts +4 -4
- package/build/executor/Executor02BytecodeBuilder.js +65 -18
- package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
- package/build/executor/Executor03BytecodeBuilder.d.ts +2 -2
- package/build/executor/Executor03BytecodeBuilder.js +52 -8
- package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
- package/build/executor/ExecutorBytecodeBuilder.d.ts +5 -4
- package/build/executor/ExecutorBytecodeBuilder.js +4 -4
- package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
- package/build/executor/ExecutorDetector.js +2 -1
- package/build/executor/ExecutorDetector.js.map +1 -1
- package/build/executor/types.d.ts +1 -0
- package/build/executor/types.js +1 -0
- package/build/executor/types.js.map +1 -1
- package/build/generic-swap-transaction-builder.d.ts +2 -0
- package/build/generic-swap-transaction-builder.js +49 -11
- package/build/generic-swap-transaction-builder.js.map +1 -1
- package/build/implementations/local-paraswap-sdk.js +3 -1
- package/build/implementations/local-paraswap-sdk.js.map +1 -1
- package/build/lib/fetcher/wsFetcher.d.ts +35 -0
- package/build/lib/fetcher/wsFetcher.js +87 -0
- package/build/lib/fetcher/wsFetcher.js.map +1 -0
- package/build/router/simpleswap.js +51 -13
- package/build/router/simpleswap.js.map +1 -1
- package/build/types.d.ts +2 -0
- package/package.json +4 -2
- package/src/abi/bebop/BebopSettlement.abi.json +2137 -0
- package/src/abi/sdai/SavingsUSDS.abi.json +720 -0
- package/src/config.ts +17 -9
- package/src/dex/aave-v2/aave-v2.ts +2 -0
- package/src/dex/aave-v3/aave-v3.ts +2 -0
- package/src/dex/aave-v3-stata/aave-v3-stata.ts +2 -0
- package/src/dex/bancor/bancor.ts +2 -0
- package/src/dex/bebop/bebop-e2e.test.ts +195 -0
- package/src/dex/bebop/bebop-integration.test.ts +170 -0
- package/src/dex/bebop/bebop.ts +732 -0
- package/src/dex/bebop/config.ts +37 -0
- package/src/dex/bebop/constants.ts +9 -0
- package/src/dex/bebop/rate-fetcher.ts +138 -0
- package/src/dex/bebop/types.ts +81 -0
- package/src/dex/bebop/validators.ts +43 -0
- package/src/dex/compound/compound.ts +2 -0
- package/src/dex/curve-v1/curve-v1.ts +2 -0
- package/src/dex/dodo-v1/dodo-v1.ts +2 -0
- package/src/dex/hashflow/hashflow-e2e.test.ts +281 -28
- package/src/dex/hashflow/hashflow.ts +285 -54
- package/src/dex/hashflow/types.ts +2 -0
- package/src/dex/idex.ts +18 -1
- package/src/dex/index.ts +2 -0
- package/src/dex/jarvis-v6/jarvis-v6.ts +2 -0
- package/src/dex/lido/lido.ts +2 -0
- package/src/dex/lite-psm/lite-psm.ts +2 -0
- package/src/dex/maker-psm/maker-psm.ts +2 -0
- package/src/dex/nerve/nerve.ts +2 -0
- package/src/dex/polygon-migrator/polygon-migrator.ts +2 -0
- package/src/dex/simple-exchange.ts +4 -2
- package/src/dex/smoothy/smoothy.ts +2 -0
- package/src/dex/spark/config.ts +24 -0
- package/src/dex/spark/scripts/validate-state.ts +1 -0
- package/src/dex/spark/spark-e2e.test.ts +25 -21
- package/src/dex/spark/spark-events.test.ts +77 -62
- package/src/dex/spark/spark-integration.test.ts +290 -7
- package/src/dex/spark/spark-sdai-pool.ts +22 -19
- package/src/dex/spark/spark.ts +64 -36
- package/src/dex/spark/types.ts +6 -0
- package/src/dex/spark/utils.ts +83 -19
- package/src/dex/stable-pool/stable-pool.ts +4 -1
- package/src/dex/swaap-v2/swaap-v2-e2e.test.ts +13 -13
- package/src/dex/swaap-v2/swaap-v2.ts +217 -32
- package/src/dex/swaap-v2/types.ts +2 -0
- package/src/dex/trader-joe-v2.1/base.ts +2 -0
- package/src/dex/weth/weth.ts +2 -0
- package/src/dex/woo-fi-v2/woo-fi-v2-pool.ts +58 -27
- package/src/dex/woo-fi-v2/woo-fi-v2.ts +1 -2
- package/src/executor/Executor01BytecodeBuilder.ts +105 -11
- package/src/executor/Executor02BytecodeBuilder.ts +95 -8
- package/src/executor/Executor03BytecodeBuilder.ts +89 -5
- package/src/executor/ExecutorBytecodeBuilder.ts +6 -0
- package/src/executor/ExecutorDetector.ts +2 -1
- package/src/executor/types.ts +1 -0
- package/src/generic-swap-transaction-builder.ts +96 -24
- package/src/implementations/local-paraswap-sdk.ts +21 -10
- package/src/lib/fetcher/wsFetcher.ts +126 -0
- package/src/router/simpleswap.ts +94 -18
- package/src/types.ts +2 -0
- package/tests/constants-e2e.ts +7 -2
- package/tests/utils-e2e.ts +308 -2
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import dotenv from 'dotenv';
|
|
2
|
-
dotenv.config();
|
|
3
|
-
|
|
4
2
|
import { StaticJsonRpcProvider } from '@ethersproject/providers';
|
|
5
3
|
import {
|
|
6
4
|
Holders,
|
|
@@ -11,8 +9,10 @@ import { testE2E } from '../../../tests/utils-e2e';
|
|
|
11
9
|
import { generateConfig } from '../../config';
|
|
12
10
|
import { ContractMethod, Network, SwapSide } from '../../constants';
|
|
13
11
|
|
|
12
|
+
dotenv.config();
|
|
13
|
+
|
|
14
14
|
// Give time for rate fetcher to fill the cache
|
|
15
|
-
const sleepMs =
|
|
15
|
+
const sleepMs = 5000;
|
|
16
16
|
|
|
17
17
|
function testForNetwork(
|
|
18
18
|
network: Network,
|
|
@@ -175,31 +175,281 @@ describe('Hashflow E2E', () => {
|
|
|
175
175
|
describe('Mainnet', () => {
|
|
176
176
|
const network = Network.MAINNET;
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
describe('USDT -> USDC', () => {
|
|
179
|
+
const tokenASymbol: string = 'USDT';
|
|
180
|
+
const tokenBSymbol: string = 'USDC';
|
|
180
181
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
const tokenAAmount: string = '100000000';
|
|
183
|
+
const tokenBAmount: string = '100000000';
|
|
184
|
+
const nativeTokenAmount = '100000000000000000';
|
|
184
185
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
186
|
+
testForNetwork(
|
|
187
|
+
network,
|
|
188
|
+
dexKey,
|
|
189
|
+
tokenASymbol,
|
|
190
|
+
tokenBSymbol,
|
|
191
|
+
tokenAAmount,
|
|
192
|
+
tokenBAmount,
|
|
193
|
+
nativeTokenAmount,
|
|
194
|
+
);
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
describe('WETH -> USDC', () => {
|
|
198
|
+
const tokenASymbol: string = 'WETH';
|
|
199
|
+
const tokenBSymbol: string = 'USDC';
|
|
200
|
+
|
|
201
|
+
const tokenAAmount: string = '100000000000000000';
|
|
202
|
+
const tokenBAmount: string = '1000000';
|
|
203
|
+
const nativeTokenAmount = '100000000000000000';
|
|
204
|
+
|
|
205
|
+
testForNetwork(
|
|
206
|
+
network,
|
|
207
|
+
dexKey,
|
|
208
|
+
tokenASymbol,
|
|
209
|
+
tokenBSymbol,
|
|
210
|
+
tokenAAmount,
|
|
211
|
+
tokenBAmount,
|
|
212
|
+
nativeTokenAmount,
|
|
213
|
+
true,
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
// it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
|
|
217
|
+
// await testE2E(
|
|
218
|
+
// tokens[tokenASymbol],
|
|
219
|
+
// tokens[tokenBSymbol],
|
|
220
|
+
// holders[tokenASymbol],
|
|
221
|
+
// tokenAAmount,
|
|
222
|
+
// SwapSide.SELL,
|
|
223
|
+
// dexKey,
|
|
224
|
+
// ContractMethod.megaSwap,
|
|
225
|
+
// network,
|
|
226
|
+
// provider,
|
|
227
|
+
// undefined,
|
|
228
|
+
// undefined,
|
|
229
|
+
// undefined,
|
|
230
|
+
// undefined,
|
|
231
|
+
// sleepMs,
|
|
232
|
+
// );
|
|
233
|
+
// });
|
|
234
|
+
//
|
|
235
|
+
// it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
|
|
236
|
+
// await testE2E(
|
|
237
|
+
// tokens[tokenBSymbol],
|
|
238
|
+
// tokens[tokenASymbol],
|
|
239
|
+
// holders[tokenBSymbol],
|
|
240
|
+
// tokenBAmount,
|
|
241
|
+
// SwapSide.SELL,
|
|
242
|
+
// dexKey,
|
|
243
|
+
// ContractMethod.megaSwap,
|
|
244
|
+
// network,
|
|
245
|
+
// provider,
|
|
246
|
+
// undefined,
|
|
247
|
+
// undefined,
|
|
248
|
+
// undefined,
|
|
249
|
+
// undefined,
|
|
250
|
+
// sleepMs,
|
|
251
|
+
// );
|
|
252
|
+
// });
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
describe('DAI -> USDC', () => {
|
|
256
|
+
const tokenASymbol: string = 'DAI';
|
|
257
|
+
const tokenBSymbol: string = 'USDC';
|
|
258
|
+
|
|
259
|
+
const tokenAAmount: string = '100000000000000000000';
|
|
260
|
+
const tokenBAmount: string = '100000000';
|
|
261
|
+
const nativeTokenAmount = '1000000000000000000';
|
|
262
|
+
|
|
263
|
+
testForNetwork(
|
|
264
|
+
network,
|
|
265
|
+
dexKey,
|
|
266
|
+
tokenASymbol,
|
|
267
|
+
tokenBSymbol,
|
|
268
|
+
tokenAAmount,
|
|
269
|
+
tokenBAmount,
|
|
270
|
+
nativeTokenAmount,
|
|
271
|
+
);
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
describe('Multiswap', () => {
|
|
275
|
+
it('USDC -> ETH -> DAI', async () => {
|
|
276
|
+
const dexKeys = ['Hashflow'];
|
|
277
|
+
const provider = new StaticJsonRpcProvider(
|
|
278
|
+
generateConfig(network).privateHttpProvider,
|
|
279
|
+
network,
|
|
280
|
+
);
|
|
281
|
+
const slippage = undefined;
|
|
282
|
+
|
|
283
|
+
const tokenASymbol: string = 'USDC';
|
|
284
|
+
const tokenBSymbol: string = 'DAI';
|
|
285
|
+
|
|
286
|
+
const tokenAAmount: string = '22943400';
|
|
287
|
+
|
|
288
|
+
const tokens = Tokens[network];
|
|
289
|
+
const holders = Holders[network];
|
|
290
|
+
const contractMethod = ContractMethod.swapExactAmountIn;
|
|
291
|
+
const side = SwapSide.SELL;
|
|
292
|
+
|
|
293
|
+
await testE2E(
|
|
294
|
+
tokens[tokenASymbol],
|
|
295
|
+
tokens[tokenBSymbol],
|
|
296
|
+
holders[tokenASymbol],
|
|
297
|
+
tokenAAmount,
|
|
298
|
+
side,
|
|
299
|
+
dexKeys,
|
|
300
|
+
contractMethod,
|
|
301
|
+
network,
|
|
302
|
+
provider,
|
|
303
|
+
undefined,
|
|
304
|
+
undefined,
|
|
305
|
+
undefined,
|
|
306
|
+
slippage,
|
|
307
|
+
2000,
|
|
308
|
+
false,
|
|
309
|
+
[
|
|
310
|
+
'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // USDC
|
|
311
|
+
'0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', // ETH
|
|
312
|
+
'0x6B175474E89094C44Da98b954EedeAC495271d0F', // DAI
|
|
313
|
+
],
|
|
314
|
+
);
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
it('DAI -> ETH -> USDC', async () => {
|
|
318
|
+
const dexKeys = ['Hashflow'];
|
|
319
|
+
const provider = new StaticJsonRpcProvider(
|
|
320
|
+
generateConfig(network).privateHttpProvider,
|
|
321
|
+
network,
|
|
322
|
+
);
|
|
323
|
+
const slippage = undefined;
|
|
324
|
+
|
|
325
|
+
const tokenASymbol: string = 'DAI';
|
|
326
|
+
const tokenBSymbol: string = 'ETH';
|
|
327
|
+
|
|
328
|
+
const tokenAAmount: string = '22675013677618734169';
|
|
329
|
+
|
|
330
|
+
const tokens = Tokens[network];
|
|
331
|
+
const holders = Holders[network];
|
|
332
|
+
const contractMethod = ContractMethod.swapExactAmountIn;
|
|
333
|
+
const side = SwapSide.SELL;
|
|
334
|
+
|
|
335
|
+
await testE2E(
|
|
336
|
+
tokens[tokenASymbol],
|
|
337
|
+
tokens[tokenBSymbol],
|
|
338
|
+
holders[tokenASymbol],
|
|
339
|
+
tokenAAmount,
|
|
340
|
+
side,
|
|
341
|
+
dexKeys,
|
|
342
|
+
contractMethod,
|
|
343
|
+
network,
|
|
344
|
+
provider,
|
|
345
|
+
undefined,
|
|
346
|
+
undefined,
|
|
347
|
+
undefined,
|
|
348
|
+
slippage,
|
|
349
|
+
2000,
|
|
350
|
+
false,
|
|
351
|
+
[
|
|
352
|
+
'0x6B175474E89094C44Da98b954EedeAC495271d0F', // DAI
|
|
353
|
+
'0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', // ETH
|
|
354
|
+
'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // USDC
|
|
355
|
+
],
|
|
356
|
+
);
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
it('DAI -> USDC -> WETH', async () => {
|
|
360
|
+
const dexKeys = ['Hashflow'];
|
|
361
|
+
const provider = new StaticJsonRpcProvider(
|
|
362
|
+
generateConfig(network).privateHttpProvider,
|
|
363
|
+
network,
|
|
364
|
+
);
|
|
365
|
+
const slippage = undefined;
|
|
366
|
+
|
|
367
|
+
const tokenASymbol: string = 'DAI';
|
|
368
|
+
const tokenBSymbol: string = 'ETH';
|
|
369
|
+
|
|
370
|
+
const tokenAAmount: string = '22675013677618734169';
|
|
371
|
+
|
|
372
|
+
const tokens = Tokens[network];
|
|
373
|
+
const holders = Holders[network];
|
|
374
|
+
const contractMethod = ContractMethod.swapExactAmountIn;
|
|
375
|
+
const side = SwapSide.SELL;
|
|
376
|
+
|
|
377
|
+
await testE2E(
|
|
378
|
+
tokens[tokenASymbol],
|
|
379
|
+
tokens[tokenBSymbol],
|
|
380
|
+
holders[tokenASymbol],
|
|
381
|
+
tokenAAmount,
|
|
382
|
+
side,
|
|
383
|
+
dexKeys,
|
|
384
|
+
contractMethod,
|
|
385
|
+
network,
|
|
386
|
+
provider,
|
|
387
|
+
undefined,
|
|
388
|
+
undefined,
|
|
389
|
+
undefined,
|
|
390
|
+
slippage,
|
|
391
|
+
2000,
|
|
392
|
+
false,
|
|
393
|
+
[
|
|
394
|
+
'0x6B175474E89094C44Da98b954EedeAC495271d0F', // DAI
|
|
395
|
+
'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // USDC
|
|
396
|
+
'0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', // WETH
|
|
397
|
+
],
|
|
398
|
+
);
|
|
399
|
+
});
|
|
400
|
+
|
|
401
|
+
it('WETH -> USDC -> DAI', async () => {
|
|
402
|
+
const dexKeys = ['Hashflow'];
|
|
403
|
+
const provider = new StaticJsonRpcProvider(
|
|
404
|
+
generateConfig(network).privateHttpProvider,
|
|
405
|
+
network,
|
|
406
|
+
);
|
|
407
|
+
const slippage = undefined;
|
|
408
|
+
|
|
409
|
+
const tokenASymbol: string = 'WETH';
|
|
410
|
+
const tokenBSymbol: string = 'DAI';
|
|
411
|
+
|
|
412
|
+
const tokenAAmount: string = '8878957204610561';
|
|
413
|
+
|
|
414
|
+
const tokens = Tokens[network];
|
|
415
|
+
const holders = Holders[network];
|
|
416
|
+
const contractMethod = ContractMethod.swapExactAmountIn;
|
|
417
|
+
const side = SwapSide.SELL;
|
|
418
|
+
|
|
419
|
+
await testE2E(
|
|
420
|
+
tokens[tokenASymbol],
|
|
421
|
+
tokens[tokenBSymbol],
|
|
422
|
+
holders[tokenASymbol],
|
|
423
|
+
tokenAAmount,
|
|
424
|
+
side,
|
|
425
|
+
dexKeys,
|
|
426
|
+
contractMethod,
|
|
427
|
+
network,
|
|
428
|
+
provider,
|
|
429
|
+
undefined,
|
|
430
|
+
undefined,
|
|
431
|
+
undefined,
|
|
432
|
+
slippage,
|
|
433
|
+
2000,
|
|
434
|
+
false,
|
|
435
|
+
[
|
|
436
|
+
'0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', // WETH
|
|
437
|
+
'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // USDC
|
|
438
|
+
'0x6B175474E89094C44Da98b954EedeAC495271d0F', // DAI
|
|
439
|
+
],
|
|
440
|
+
);
|
|
441
|
+
});
|
|
442
|
+
});
|
|
194
443
|
});
|
|
195
|
-
|
|
444
|
+
|
|
445
|
+
describe('Polygon', () => {
|
|
196
446
|
const network = Network.POLYGON;
|
|
197
447
|
|
|
198
|
-
const tokenASymbol: string = '
|
|
199
|
-
const tokenBSymbol: string = '
|
|
448
|
+
const tokenASymbol: string = 'USDCe';
|
|
449
|
+
const tokenBSymbol: string = 'USDT';
|
|
200
450
|
|
|
201
|
-
const tokenAAmount: string = '
|
|
202
|
-
const tokenBAmount: string = '
|
|
451
|
+
const tokenAAmount: string = '10000000';
|
|
452
|
+
const tokenBAmount: string = '10000000';
|
|
203
453
|
const nativeTokenAmount = '100000000000000000000';
|
|
204
454
|
|
|
205
455
|
testForNetwork(
|
|
@@ -210,16 +460,18 @@ describe('Hashflow E2E', () => {
|
|
|
210
460
|
tokenAAmount,
|
|
211
461
|
tokenBAmount,
|
|
212
462
|
nativeTokenAmount,
|
|
463
|
+
// true,
|
|
213
464
|
);
|
|
214
465
|
});
|
|
466
|
+
|
|
215
467
|
describe('BSC', () => {
|
|
216
468
|
const network = Network.BSC;
|
|
217
469
|
|
|
218
470
|
const tokenASymbol: string = 'USDC';
|
|
219
471
|
const tokenBSymbol: string = 'USDT';
|
|
220
472
|
|
|
221
|
-
const tokenAAmount: string = '
|
|
222
|
-
const tokenBAmount: string = '
|
|
473
|
+
const tokenAAmount: string = '1000000000000000000';
|
|
474
|
+
const tokenBAmount: string = '1000000000000000000';
|
|
223
475
|
const nativeTokenAmount = '1000000000000000000';
|
|
224
476
|
|
|
225
477
|
testForNetwork(
|
|
@@ -232,14 +484,15 @@ describe('Hashflow E2E', () => {
|
|
|
232
484
|
nativeTokenAmount,
|
|
233
485
|
);
|
|
234
486
|
});
|
|
487
|
+
|
|
235
488
|
describe('Arbitrum', () => {
|
|
236
489
|
const network = Network.ARBITRUM;
|
|
237
490
|
|
|
238
491
|
const tokenASymbol: string = 'USDC';
|
|
239
|
-
const tokenBSymbol: string = '
|
|
492
|
+
const tokenBSymbol: string = 'USDT';
|
|
240
493
|
|
|
241
|
-
const tokenAAmount: string = '
|
|
242
|
-
const tokenBAmount: string = '
|
|
494
|
+
const tokenAAmount: string = '10000000';
|
|
495
|
+
const tokenBAmount: string = '10000000';
|
|
243
496
|
const nativeTokenAmount = '1000000000000000000';
|
|
244
497
|
|
|
245
498
|
testForNetwork(
|
|
@@ -250,9 +503,9 @@ describe('Hashflow E2E', () => {
|
|
|
250
503
|
tokenAAmount,
|
|
251
504
|
tokenBAmount,
|
|
252
505
|
nativeTokenAmount,
|
|
253
|
-
true,
|
|
254
506
|
);
|
|
255
507
|
});
|
|
508
|
+
|
|
256
509
|
describe('Optimism', () => {
|
|
257
510
|
const network = Network.OPTIMISM;
|
|
258
511
|
|