@paraswap/dex-lib 2.13.1 → 2.14.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.
Files changed (117) hide show
  1. package/build/config.js +5 -23
  2. package/build/config.js.map +1 -1
  3. package/build/dex/curve-v1/config.js +0 -2
  4. package/build/dex/curve-v1/config.js.map +1 -1
  5. package/build/dex/curve-v1/curve-v1.js +0 -2
  6. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  7. package/build/dex/curve-v1/types.d.ts +0 -1
  8. package/build/dex/curve-v1/types.js.map +1 -1
  9. package/build/dex/generic-rfq/rate-fetcher.js +0 -2
  10. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  11. package/build/dex/generic-rfq/validators.d.ts +1 -1
  12. package/build/dex/generic-rfq/validators.js +26 -36
  13. package/build/dex/generic-rfq/validators.js.map +1 -1
  14. package/build/dex/index.js +2 -2
  15. package/build/dex/index.js.map +1 -1
  16. package/build/dex/simple-exchange.d.ts +0 -1
  17. package/build/dex/simple-exchange.js +0 -2
  18. package/build/dex/simple-exchange.js.map +1 -1
  19. package/build/lib/decoders.d.ts +1 -2
  20. package/build/lib/decoders.js +1 -8
  21. package/build/lib/decoders.js.map +1 -1
  22. package/build/lib/fetcher/fetcher.js +0 -3
  23. package/build/lib/fetcher/fetcher.js.map +1 -1
  24. package/build/lib/multi-wrapper.d.ts +1 -2
  25. package/build/lib/multi-wrapper.js.map +1 -1
  26. package/build/lib/tokens/balancer-fetcher.js +5 -4
  27. package/build/lib/tokens/balancer-fetcher.js.map +1 -1
  28. package/build/lib/tokens/utils.d.ts +2 -2
  29. package/build/lib/tokens/utils.js +1 -1
  30. package/build/lib/tokens/utils.js.map +1 -1
  31. package/build/types.d.ts +0 -3
  32. package/dex-template/__DexName__-e2e.test.ts.template +0 -1
  33. package/dex-template/__DexName__-events.test.ts.template +0 -1
  34. package/dex-template/__DexName__-integration.test.ts.template +0 -1
  35. package/dex-template/__DexName__-pool.ts.template +5 -8
  36. package/package.json +1 -1
  37. package/scripts/generate-bytecode.ts +0 -2
  38. package/src/abi/woo-fi/WooFeeManager.abi.json +318 -0
  39. package/src/abi/{woo-fi-v2/WooPPV2.abi.json → woo-fi/WooPP.abi.json} +169 -201
  40. package/src/abi/{woo-fi-v2/WooOracleV2.abi.json → woo-fi/Wooracle.abi.json} +50 -148
  41. package/src/config.ts +5 -27
  42. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +1 -0
  43. package/src/dex/curve-v1/config.ts +0 -2
  44. package/src/dex/curve-v1/curve-v1-e2e.test.ts +37 -18
  45. package/src/dex/curve-v1/curve-v1.ts +0 -2
  46. package/src/dex/curve-v1/types.ts +0 -1
  47. package/src/dex/generic-rfq/generic-rfq-e2e.test.ts +258 -63
  48. package/src/dex/generic-rfq/rate-fetcher.ts +0 -2
  49. package/src/dex/generic-rfq/validators.test.ts +32 -6
  50. package/src/dex/generic-rfq/validators.ts +32 -57
  51. package/src/dex/index.ts +2 -2
  52. package/src/dex/simple-exchange.ts +0 -3
  53. package/src/dex/woo-fi/config.ts +141 -0
  54. package/src/dex/woo-fi/constants.ts +21 -0
  55. package/src/dex/woo-fi/types.ts +55 -0
  56. package/src/dex/woo-fi/woo-fi-decimal-math.ts +45 -0
  57. package/src/dex/woo-fi/woo-fi-e2e.test.ts +183 -0
  58. package/src/dex/woo-fi/woo-fi-integration.test.ts +416 -0
  59. package/src/dex/woo-fi/woo-fi-math.ts +527 -0
  60. package/src/dex/woo-fi/woo-fi.ts +693 -0
  61. package/src/lib/decoders.ts +1 -12
  62. package/src/lib/fetcher/fetcher.ts +0 -6
  63. package/src/lib/multi-wrapper.ts +1 -2
  64. package/src/lib/tokens/balancer-fetcher.ts +6 -5
  65. package/src/lib/tokens/utils.ts +3 -5
  66. package/src/types.ts +0 -4
  67. package/tests/constants-e2e.ts +9 -11
  68. package/tests/tenderly-simulation.ts +1 -1
  69. package/tests/utils-e2e.ts +48 -61
  70. package/tests/utils.ts +0 -2
  71. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  72. package/.idea/misc.xml +0 -6
  73. package/.idea/modules.xml +0 -8
  74. package/.idea/vcs.xml +0 -6
  75. package/.vscode/launch.json +0 -21
  76. package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
  77. package/build/dex/aave-v3/tokens/avalanche.json +0 -50
  78. package/build/dex/aave-v3/tokens/fantom.json +0 -62
  79. package/build/dex/aave-v3/tokens/mainnet.json +0 -44
  80. package/build/dex/aave-v3/tokens/optimism.json +0 -50
  81. package/build/dex/aave-v3/tokens/polygon.json +0 -98
  82. package/build/dex/balancer-v2/VirtualBoostedPool.d.ts +0 -79
  83. package/build/dex/balancer-v2/VirtualBoostedPool.js +0 -382
  84. package/build/dex/balancer-v2/VirtualBoostedPool.js.map +0 -1
  85. package/build/dex/generic-rfq/e2e-test-config.d.ts +0 -9
  86. package/build/dex/generic-rfq/e2e-test-config.js +0 -33
  87. package/build/dex/generic-rfq/e2e-test-config.js.map +0 -1
  88. package/build/dex/test-aave-v3/config.d.ts +0 -4
  89. package/build/dex/test-aave-v3/config.js +0 -15
  90. package/build/dex/test-aave-v3/config.js.map +0 -1
  91. package/build/dex/test-aave-v3/test-aave-v3-pool.d.ts +0 -39
  92. package/build/dex/test-aave-v3/test-aave-v3-pool.js +0 -63
  93. package/build/dex/test-aave-v3/test-aave-v3-pool.js.map +0 -1
  94. package/build/dex/test-aave-v3/test-aave-v3.d.ts +0 -37
  95. package/build/dex/test-aave-v3/test-aave-v3.js +0 -126
  96. package/build/dex/test-aave-v3/test-aave-v3.js.map +0 -1
  97. package/build/dex/test-aave-v3/types.d.ts +0 -6
  98. package/build/dex/test-aave-v3/types.js +0 -3
  99. package/build/dex/test-aave-v3/types.js.map +0 -1
  100. package/src/abi/woo-fi-v2/IntegrationHelper.abi.json +0 -116
  101. package/src/dex/generic-rfq/e2e-test-config.ts +0 -37
  102. package/src/dex/generic-rfq/generic-rfq-local-e2e.test.ts +0 -121
  103. package/src/dex/woo-fi-v2/config.ts +0 -87
  104. package/src/dex/woo-fi-v2/constants.ts +0 -22
  105. package/src/dex/woo-fi-v2/decoders.ts +0 -45
  106. package/src/dex/woo-fi-v2/types.ts +0 -63
  107. package/src/dex/woo-fi-v2/utils.ts +0 -19
  108. package/src/dex/woo-fi-v2/woo-fi-v2-e2e.test.ts +0 -216
  109. package/src/dex/woo-fi-v2/woo-fi-v2-integration.test.ts +0 -495
  110. package/src/dex/woo-fi-v2/woo-fi-v2-math.ts +0 -195
  111. package/src/dex/woo-fi-v2/woo-fi-v2-pool.ts +0 -112
  112. package/src/dex/woo-fi-v2/woo-fi-v2.ts +0 -487
  113. package/src/lib/log-messages-suppressor.ts +0 -173
  114. package/src/lib/stateful-rpc-poller/state-polling-manager.ts +0 -320
  115. package/src/lib/stateful-rpc-poller/stateful-rpc-poller.ts +0 -604
  116. package/src/lib/stateful-rpc-poller/types.ts +0 -66
  117. package/src/lib/stateful-rpc-poller/utils.ts +0 -23
@@ -76,12 +76,6 @@ export default class Fetcher<T> {
76
76
  .map((_, i) => i)
77
77
  .filter(i => results[i] instanceof Error);
78
78
 
79
- results.map(result => {
80
- this.logger.debug(
81
- 'Results Data:',
82
- JSON.stringify((result as any).data, null, 4).substring(0, 500),
83
- );
84
- });
85
79
  failures.forEach(i => {
86
80
  this.logger.warn(
87
81
  `failed polling ${this.requests[i].info.requestOptions.url} ${results[i]}`,
@@ -1,4 +1,3 @@
1
- import { BytesLike } from 'ethers';
2
1
  import _ from 'lodash';
3
2
  import { Logger } from 'log4js';
4
3
  import { Contract } from 'web3-eth-contract';
@@ -11,7 +10,7 @@ export type MultiResult<T> = {
11
10
  export type MultiCallParams<T> = {
12
11
  target: string;
13
12
  callData: string;
14
- decodeFunction: (str: MultiResult<BytesLike> | BytesLike) => T;
13
+ decodeFunction: (str: MultiResult<string> | string) => T;
15
14
  cb?: (data: T) => void;
16
15
  };
17
16
 
@@ -59,6 +59,7 @@ export const getBalanceCallParams = (
59
59
  }));
60
60
  default:
61
61
  throw new Error(`missing case for assetType ${req.assetType}`);
62
+ return [];
62
63
  }
63
64
  };
64
65
 
@@ -263,21 +264,21 @@ export const getBalances = async (
263
264
  blockNumber,
264
265
  );
265
266
 
266
- const chunks = [];
267
+ const chuncks = [];
267
268
  let j = 0;
268
269
  for (let i = 0; i < results.length; ) {
269
270
  const batchSize = decodingInfo[j].length;
270
- const chunk = results.slice(i, i + batchSize);
271
- chunks.push(chunk);
271
+ const chunck = results.slice(i, i + batchSize);
272
+ chuncks.push(chunck);
272
273
  j++;
273
274
  i += batchSize;
274
275
  }
275
276
 
276
- return chunks.map((chunk, index) =>
277
+ return chuncks.map((chunck, index) =>
277
278
  decodeBalanceAndAllowanceMultiResult(
278
279
  reqs[index],
279
280
  decodingInfo[index].spenders,
280
- chunk,
281
+ chunck,
281
282
  ),
282
283
  );
283
284
  };
@@ -53,7 +53,7 @@ export const uint256ArrayDecode = (
53
53
  };
54
54
 
55
55
  export const booleanDecode = (
56
- result: MultiResult<BytesLike> | BytesLike,
56
+ result: MultiResult<string> | string,
57
57
  ): boolean => {
58
58
  const [isSuccess, toDecode] = extractSuccessAndValue(result);
59
59
 
@@ -63,12 +63,10 @@ export const booleanDecode = (
63
63
  return defaultAbiCoder.decode(['bool'], toDecode)[0];
64
64
  };
65
65
 
66
- export const addressDecode = (
67
- result: MultiResult<BytesLike> | BytesLike,
68
- ): string => {
66
+ export const addressDecode = (result: MultiResult<string> | string): string => {
69
67
  const [isSuccess, toDecode] = extractSuccessAndValue(result);
70
68
 
71
- if (!isSuccess) {
69
+ if (isSuccess) {
72
70
  return '';
73
71
  }
74
72
  return defaultAbiCoder.decode(['address'], toDecode)[0].toLowerCase();
package/src/types.ts CHANGED
@@ -270,8 +270,6 @@ export type Config = {
270
270
  adapterAddresses: { [name: string]: Address };
271
271
  uniswapV2ExchangeRouterAddress: Address;
272
272
  rfqConfigs: Record<string, RFQConfig>;
273
- rpcPollingMaxAllowedStateDelayInBlocks: number;
274
- rpcPollingBlocksBackToTriggerUpdate: number;
275
273
  hashFlowAuthToken?: string;
276
274
  hashFlowDisabledMMs: string[];
277
275
  uniswapV3EventLoggingSampleRate?: number;
@@ -296,5 +294,3 @@ export type TransferFeeParams = {
296
294
  srcDexFee: number;
297
295
  destDexFee: number;
298
296
  };
299
-
300
- export type LogLevels = 'info' | 'warn' | 'error' | 'trace' | 'debug';
@@ -33,6 +33,10 @@ export const Tokens: {
33
33
  addBalance: balancesFn,
34
34
  addAllowance: allowedFn,
35
35
  },
36
+ CUSDC: {
37
+ address: '0x39AA39c021dfbaE8faC545936693aC917d5E7563',
38
+ decimals: 8,
39
+ },
36
40
  WBTC: {
37
41
  address: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',
38
42
  decimals: 8,
@@ -46,8 +50,6 @@ export const Tokens: {
46
50
  USDT: {
47
51
  address: '0xdac17f958d2ee523a2206206994597c13d831ec7',
48
52
  decimals: 6,
49
- addBalance: balancesFn,
50
- addAllowance: allowedFn,
51
53
  },
52
54
  STETH: {
53
55
  address: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',
@@ -468,10 +470,6 @@ export const Tokens: {
468
470
  address: '0x841fad6eae12c286d1fd18d1d525dffa75c7effe',
469
471
  decimals: 18,
470
472
  },
471
- ETH: {
472
- address: '0x74b23882a30290451A17c44f4F05243b6b58C76d',
473
- decimals: 18,
474
- },
475
473
  },
476
474
  [Network.BSC]: {
477
475
  POPS: {
@@ -807,7 +805,7 @@ export const Holders: {
807
805
  CVX: '0x0aCA67Fa70B142A3b9bF2eD89A81B40ff85dACdC',
808
806
  MIM: '0xa046a8660e66d178ee07ec97c585eeb6aa18c26c',
809
807
  AnkETH: '0xF7260D4ADc48fEefd5a19a9Eb23f9747CeE15C92',
810
- DAI: '0x4943b0c9959dcf58871a799dfb71bece0d97c9f4',
808
+ DAI: '0x60FaAe176336dAb62e284Fe19B885B095d29fB7F',
811
809
  oldFRAX: '0x183d0dc5867c01bfb1dbbc41d6a9d3de6e044626',
812
810
  newFRAX: '0x183d0dc5867c01bfb1dbbc41d6a9d3de6e044626',
813
811
  FEI: '0x19c549357034d10db8d75ed812b45be1dd8a7218',
@@ -829,6 +827,7 @@ export const Holders: {
829
827
  ADAIv1: '0x3021026e4ff227571a5a563ad19ea657c7027e59',
830
828
  CETH: '0x712d0f306956a6a4b4f9319ad9b9de48c5345996',
831
829
  CDAI: '0xab4ce310054a11328685ece1043211b68ba5d082',
830
+ CUSDC: '0xC2F61a6eEEC48d686901D325CDE9233b81c793F3',
832
831
  EURS: '0xC1056Adeb61a01964Ea265cA95EffB7016f9Ed78',
833
832
  EURT: '0x6914FC70fAC4caB20a8922E900C4BA57fEECf8E1',
834
833
  CRV: '0x7a16fF8270133F063aAb6C9977183D9e72835428',
@@ -888,7 +887,7 @@ export const Holders: {
888
887
  DAI: '0x370f4b2dcf75c94d8d4450b493661a9c6170d0b5',
889
888
  FTM: '0x431e81E5dfB5A24541b5Ff8762bDEF3f32F96354',
890
889
  WFTM: '0x431e81E5dfB5A24541b5Ff8762bDEF3f32F96354',
891
- USDC: '0xe48793b1533b351ae184e1c3119d0955dde7b330',
890
+ USDC: '0xd1e4a32679216f4a4dd38e45dab9bc4b8a45e592',
892
891
  FUSDT: '0x9ade1c17d25246c405604344f89E8F23F8c1c632',
893
892
  POPS: '0x4b78b52e7de4d8b7d367297cb8a87c1875a9d591',
894
893
  aFanUSDT: '0x8EBc96fF91A30059E447bFC7C0a7394f8A5793E6',
@@ -901,7 +900,6 @@ export const Holders: {
901
900
  wBOMB: '0x28aa4f9ffe21365473b64c161b566c3cdead0108',
902
901
  TOR: '0x70de4b5ed310fd93da3c0bae824fb99cb4d44dd8',
903
902
  BOO: '0xf778f4d7a14a8cb73d5261f9c61970ef4e7d7842',
904
- ETH: '0xf48883940b4056801de30f12b934dcea90133ee6',
905
903
  },
906
904
  [Network.BSC]: {
907
905
  DAI: '0xf68a4b64162906eff0ff6ae34e2bb1cd42fef62d',
@@ -921,10 +919,10 @@ export const Holders: {
921
919
  [Network.AVALANCHE]: {
922
920
  AVAX: '0xD6216fC19DB775Df9774a6E33526131dA7D19a2c',
923
921
  avWAVAX: '0xc5ed2333f8a2C351fCA35E5EBAdb2A82F5d254C3',
924
- WAVAX: '0xbbff2a8ec8d702e61faaccf7cf705968bb6a5bab',
922
+ WAVAX: '0xAc1F5F1eDBcAE771be00d0eC044deC5BEdbFd816',
925
923
  sAVAX: '0xC73DF1e68FC203F6E4b6270240D6f82A850e8D38',
926
924
  USDCe: '0x3a2434c698f8d79af1f5a9e43013157ca8b11a66',
927
- USDC: '0xbf14db80d9275fb721383a77c00ae180fc40ae98',
925
+ USDC: '0x4aefa39caeadd662ae31ab0ce7c8c2c9c0a013e8',
928
926
  USDTe: '0x84d34f4f83a87596cd3fb6887cff8f17bf5a7b83',
929
927
  USDT: '0x715f3c533Cf264215Ba8BE00838a053284351086',
930
928
  WETHe: '0xD291B51f7a1a1F4917D085F2a7731A447E4aF82D',
@@ -12,7 +12,7 @@ const TENDERLY_FORK_LAST_TX_ID = process.env.TENDERLY_FORK_LAST_TX_ID;
12
12
  export class TenderlySimulation {
13
13
  lastTx: string = '';
14
14
  forkId: string = '';
15
- maxGasLimit = 80000000;
15
+ maxGasLimit = 8000000;
16
16
 
17
17
  constructor(private network: Number = 1) {}
18
18
 
@@ -45,7 +45,6 @@ const DEPLOYER_ADDRESS: { [nid: number]: string } = {
45
45
  [Network.FANTOM]: '0x05182E579FDfCf69E4390c3411D8FeA1fb6467cf',
46
46
  [Network.AVALANCHE]: '0xD6216fC19DB775Df9774a6E33526131dA7D19a2c',
47
47
  [Network.OPTIMISM]: '0xf01121e808F782d7F34E857c27dA31AD1f151b39',
48
- [Network.ARBITRUM]: '0xb38e8c17e38363af6ebdcb3dae12e0243582891d',
49
48
  };
50
49
 
51
50
  const MULTISIG: { [nid: number]: string } = {
@@ -55,7 +54,6 @@ const MULTISIG: { [nid: number]: string } = {
55
54
  [Network.FANTOM]: '0xECaB2dac955b94e49Ec09D6d68672d3B397BbdAd',
56
55
  [Network.AVALANCHE]: '0x1e2ECA5e812D08D2A7F8664D69035163ff5BfEC2',
57
56
  [Network.OPTIMISM]: '0xf01121e808F782d7F34E857c27dA31AD1f151b39',
58
- [Network.ARBITRUM]: '0x90DfD8a6454CFE19be39EaB42ac93CD850c7f339',
59
57
  };
60
58
 
61
59
  class APIParaswapSDK implements IParaSwapSDK {
@@ -299,7 +297,6 @@ export type TestParamE2E = {
299
297
  destTokenBalanceOverrides?: Record<Address, string>;
300
298
  destTokenAllowanceOverrides?: Record<Address, string>;
301
299
  sleepMs?: number;
302
- skipTenderly?: boolean;
303
300
  };
304
301
 
305
302
  const makeFakeTransferToSenderAddress = (
@@ -333,19 +330,14 @@ export async function newTestE2E({
333
330
  limitOrderProvider,
334
331
  transferFees,
335
332
  sleepMs,
336
- skipTenderly,
337
333
  }: TestParamE2E) {
338
- const useTenderly = !skipTenderly;
339
334
  const amount = BigInt(_amount);
340
335
  const twiceAmount = BigInt(_amount) * 2n;
341
- let ts: TenderlySimulation | undefined = undefined;
342
- if (useTenderly) {
343
- ts = new TenderlySimulation(network);
344
- await ts.setup();
345
- }
336
+ const ts = new TenderlySimulation(network);
337
+ await ts.setup();
346
338
 
347
- if (useTenderly && adapterBytecode) {
348
- const deployTx = await (ts as TenderlySimulation).simulate(
339
+ if (adapterBytecode) {
340
+ const deployTx = await ts.simulate(
349
341
  deployAdapterParams(adapterBytecode, network),
350
342
  );
351
343
 
@@ -360,13 +352,13 @@ export async function newTestE2E({
360
352
  'gas',
361
353
  );
362
354
 
363
- const whitelistTx = await (ts as TenderlySimulation).simulate(
355
+ const whitelistTx = await ts.simulate(
364
356
  whiteListAdapterParams(adapterAddress, network),
365
357
  );
366
358
  expect(whitelistTx.success).toEqual(true);
367
359
  }
368
360
 
369
- if (useTenderly && thirdPartyAddress) {
361
+ if (thirdPartyAddress) {
370
362
  const stateOverrides: StateOverrides = {
371
363
  networkID: `${network}`,
372
364
  stateOverrides: {},
@@ -383,15 +375,43 @@ export async function newTestE2E({
383
375
  : (BigInt(MAX_UINT) / 4n).toString(),
384
376
  );
385
377
 
386
- await (ts as TenderlySimulation).simulate(giftTx, stateOverrides);
378
+ await ts.simulate(giftTx, stateOverrides);
387
379
  }
388
380
 
381
+ const stateOverrides: StateOverrides = {
382
+ networkID: `${network}`,
383
+ stateOverrides: {},
384
+ };
385
+ srcToken.applyOverrides(stateOverrides);
386
+ destToken.applyOverrides(stateOverrides);
387
+
388
+ if (swapSide === SwapSide.SELL) {
389
+ srcToken
390
+ .addBalance(senderAddress, twiceAmount.toString())
391
+ .addAllowance(
392
+ senderAddress,
393
+ config.tokenTransferProxyAddress,
394
+ amount.toString(),
395
+ );
396
+ } else {
397
+ srcToken
398
+ .addBalance(senderAddress, MAX_UINT)
399
+ .addAllowance(
400
+ senderAddress,
401
+ config.tokenTransferProxyAddress,
402
+ (BigInt(MAX_UINT) / 8n).toString(),
403
+ );
404
+ }
405
+
406
+ srcToken.applyOverrides(stateOverrides);
407
+ destToken.applyOverrides(stateOverrides);
408
+
389
409
  const useAPI = testingEndpoint && !poolIdentifiers;
390
410
  // The API currently doesn't allow for specifying poolIdentifiers
391
411
  const paraswap: IParaSwapSDK = new LocalParaswapSDK(
392
412
  network,
393
413
  dexKey,
394
- '',
414
+ `https://rpc.tenderly.co/fork/${ts.forkId}`,
395
415
  limitOrderProvider,
396
416
  );
397
417
 
@@ -427,52 +447,19 @@ export async function newTestE2E({
427
447
  senderAddress,
428
448
  );
429
449
 
430
- if (useTenderly) {
431
- const stateOverrides: StateOverrides = {
432
- networkID: `${network}`,
433
- stateOverrides: {},
434
- };
435
- srcToken.applyOverrides(stateOverrides);
436
- destToken.applyOverrides(stateOverrides);
437
-
438
- if (swapSide === SwapSide.SELL) {
439
- srcToken
440
- .addBalance(senderAddress, twiceAmount.toString())
441
- .addAllowance(
442
- senderAddress,
443
- config.tokenTransferProxyAddress,
444
- amount.toString(),
445
- );
446
- } else {
447
- srcToken
448
- .addBalance(senderAddress, MAX_UINT)
449
- .addAllowance(
450
- senderAddress,
451
- config.tokenTransferProxyAddress,
452
- (BigInt(MAX_UINT) / 8n).toString(),
453
- );
454
- }
455
-
456
- srcToken.applyOverrides(stateOverrides);
457
- destToken.applyOverrides(stateOverrides);
458
-
459
- const swapTx = await (ts as TenderlySimulation).simulate(
460
- swapParams,
461
- stateOverrides,
450
+ const swapTx = await ts.simulate(swapParams, stateOverrides);
451
+ console.log(`${srcToken.address}_${destToken.address}_${dexKey!}`);
452
+ // Only log gas estimate if testing against API
453
+ if (useAPI)
454
+ console.log(
455
+ `Gas Estimate API: ${priceRoute.gasCost}, Simulated: ${
456
+ swapTx!.gasUsed
457
+ }, Difference: ${
458
+ parseInt(priceRoute.gasCost) - parseInt(swapTx!.gasUsed)
459
+ }`,
462
460
  );
463
- console.log(`${srcToken.address}_${destToken.address}_${dexKey!}`);
464
- // Only log gas estimate if testing against API
465
- if (useAPI)
466
- console.log(
467
- `Gas Estimate API: ${priceRoute.gasCost}, Simulated: ${
468
- swapTx!.gasUsed
469
- }, Difference: ${
470
- parseInt(priceRoute.gasCost) - parseInt(swapTx!.gasUsed)
471
- }`,
472
- );
473
- console.log(`Tenderly URL: ${swapTx!.tenderlyUrl}`);
474
- expect(swapTx!.success).toEqual(true);
475
- }
461
+ console.log(`Tenderly URL: ${swapTx!.tenderlyUrl}`);
462
+ expect(swapTx!.success).toEqual(true);
476
463
  } finally {
477
464
  if (paraswap.releaseResources) {
478
465
  await paraswap.releaseResources();
package/tests/utils.ts CHANGED
@@ -57,8 +57,6 @@ export function checkPoolsLiquidity(
57
57
  tokenAddress: Address,
58
58
  dexKey: string,
59
59
  ) {
60
- expect(poolsLiquidity.length).toBeGreaterThan(0);
61
-
62
60
  poolsLiquidity.forEach(p => {
63
61
  expect(p.exchange).toEqual(dexKey);
64
62
  expect(p.liquidityUSD).toBeGreaterThanOrEqual(0);
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
- </state>
5
- </component>
package/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager">
4
- <output url="file://$PROJECT_DIR$/out" />
5
- </component>
6
- </project>
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$/paraswap-dex-lib.iml" filepath="$PROJECT_DIR$/paraswap-dex-lib.iml" />
6
- </modules>
7
- </component>
8
- </project>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,21 +0,0 @@
1
- {
2
- // Use IntelliSense to learn about possible attributes.
3
- // Hover to view descriptions of existing attributes.
4
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
- "version": "0.2.0",
6
- "configurations": [
7
- {
8
- "type": "node",
9
- "request": "launch",
10
- "name": "Launch Program",
11
- "skipFiles": [
12
- "<node_internals>/**"
13
- ],
14
- "program": "${workspaceFolder}/build/index.js",
15
- "preLaunchTask": "tsc: build - tsconfig.json",
16
- "outFiles": [
17
- "${workspaceFolder}/build/**/*.js"
18
- ]
19
- }
20
- ]
21
- }
@@ -1,50 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aArbDAI",
4
- "aAddress": "0x82E64f49Ed5EC1bC6e43DAD4FC8Af9bb3A2312EE",
5
- "address": "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aArbLINK",
10
- "aAddress": "0x191c10Aa4AF7C30e871E70C95dB0E4eb77237530",
11
- "address": "0xf97f4df75117a78c1a5a0dbb814af92458539fb4",
12
- "decimals": 18
13
- },
14
- {
15
- "aSymbol": "aArbUSDC",
16
- "aAddress": "0x625E7708f30cA75bfd92586e17077590C60eb4cD",
17
- "address": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
18
- "decimals": 6
19
- },
20
- {
21
- "aSymbol": "aArbWBTC",
22
- "aAddress": "0x078f358208685046a11C85e8ad32895DED33A249",
23
- "address": "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",
24
- "decimals": 8
25
- },
26
- {
27
- "aSymbol": "aArbWETH",
28
- "aAddress": "0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8",
29
- "address": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
30
- "decimals": 18
31
- },
32
- {
33
- "aSymbol": "aArbUSDT",
34
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
35
- "address": "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",
36
- "decimals": 6
37
- },
38
- {
39
- "aSymbol": "aArbAAVE",
40
- "aAddress": "0xf329e36C7bF6E5E86ce2150875a84Ce77f477375",
41
- "address": "0xba5ddd1f9d7f570dc94a51479a000e3bce967196",
42
- "decimals": 18
43
- },
44
- {
45
- "aSymbol": "aArbEURS",
46
- "aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
47
- "address": "0xd22a58f79e9481d1a88e00c343885a588b34b68b",
48
- "decimals": 2
49
- }
50
- ]
@@ -1,50 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aWETH",
4
- "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
5
- "address": "0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aDAI",
10
- "aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
11
- "address": "0xd586e7f844cea2f87f50152665bcbc2c279d8d70",
12
- "decimals": 18
13
- },
14
- {
15
- "aSymbol": "aLINK",
16
- "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
17
- "address": "0x5947bb275c521040051d82396192181b413227a3",
18
- "decimals": 18
19
- },
20
- {
21
- "aSymbol": "aUSDT",
22
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
23
- "address": "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",
24
- "decimals": 6
25
- },
26
- {
27
- "aSymbol": "aUSDC",
28
- "aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
29
- "address": "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
30
- "decimals": 6
31
- },
32
- {
33
- "aSymbol": "aAAVE",
34
- "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
35
- "address": "0x63a72806098bd3d9520cc43356dd78afe5d386d9",
36
- "decimals": 18
37
- },
38
- {
39
- "aSymbol": "aWBTC",
40
- "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
41
- "address": "0x50b7545627a5162f82a992c33b87adc75187b218",
42
- "decimals": 8
43
- },
44
- {
45
- "aSymbol": "aWAVAX",
46
- "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
47
- "address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
48
- "decimals": 18
49
- }
50
- ]
@@ -1,62 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aUSDT",
4
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
5
- "address": "0x049d68029688eabf473097a2fc38ef61633a3c7a",
6
- "decimals": 6
7
- },
8
- {
9
- "aSymbol": "aWBTC",
10
- "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
11
- "address": "0x321162cd933e2be498cd2267a90534a804051b11",
12
- "decimals": 8
13
- },
14
- {
15
- "aSymbol": "aWETH",
16
- "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
17
- "address": "0x74b23882a30290451a17c44f4f05243b6b58c76d",
18
- "decimals": 18
19
- },
20
- {
21
- "aSymbol": "aAAVE",
22
- "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
23
- "address": "0x6a07a792ab2965c72a5b8088d3a069a7ac3a993b",
24
- "decimals": 18
25
- },
26
- {
27
- "aSymbol": "aWFTM",
28
- "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
29
- "address": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",
30
- "decimals": 18
31
- },
32
- {
33
- "aSymbol": "aDAI",
34
- "aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
35
- "address": "0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e",
36
- "decimals": 18
37
- },
38
- {
39
- "aSymbol": "aLINK",
40
- "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
41
- "address": "0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8",
42
- "decimals": 18
43
- },
44
- {
45
- "aSymbol": "aUSDC",
46
- "aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
47
- "address": "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
48
- "decimals": 6
49
- },
50
- {
51
- "aSymbol": "aCRV",
52
- "aAddress": "0x513c7e3a9c69ca3e22550ef58ac1c0088e918fff",
53
- "address": "0x1e4f97b9f9f913c46f1632781732927b9019c68b",
54
- "decimals": 18
55
- },
56
- {
57
- "aSymbol": "aSUSHI",
58
- "aAddress": "0xc45a479877e1e9dfe9fcd4056c699575a1045daa",
59
- "address": "0xae75a438b2e0cb8bb01ec1e1e376de11d44477cc",
60
- "decimals": 18
61
- }
62
- ]
@@ -1,44 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aDAI",
4
- "aAddress": "0x018008bfb33d285247A21d44E50697654f754e63",
5
- "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aUSDC",
10
- "aAddress": "0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c",
11
- "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
12
- "decimals": 6
13
- },
14
- {
15
- "aSymbol": "aAAVE",
16
- "aAddress": "0xA700b4eB416Be35b2911fd5Dee80678ff64fF6C9",
17
- "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
18
- "decimals": 18
19
- },
20
- {
21
- "aSymbol": "aLINK",
22
- "aAddress": "0x5E8C8A7243651DB1384C0dDfDbE39761E8e7E51a",
23
- "address": "0x514910771af9ca656af840dff83e8264ecf986ca",
24
- "decimals": 18
25
- },
26
- {
27
- "aSymbol": "aWBTC",
28
- "aAddress": "0x5Ee5bf7ae06D1Be5997A1A72006FE6C607eC6DE8",
29
- "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
30
- "decimals": 8
31
- },
32
- {
33
- "aSymbol": "aWETH",
34
- "aAddress": "0x4d5F47FA6A74757f35C14fD3a6Ef8E3C9BC514E8",
35
- "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
36
- "decimals": 18
37
- },
38
- {
39
- "aSymbol": "awstETH",
40
- "aAddress": "0x0B925eD163218f6662a35e0f0371Ac234f9E9371",
41
- "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0",
42
- "decimals": 18
43
- }
44
- ]