@paraswap/dex-lib 2.30.1 → 2.30.2

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 (149) hide show
  1. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
  2. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
  3. package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
  4. package/build/abi/woo-fi/WooPP.abi.json +548 -0
  5. package/build/abi/woo-fi/Wooracle.abi.json +260 -0
  6. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  7. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  8. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  9. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  10. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  11. package/build/dex/balancer-v2/LinearMath.d.ts +19 -0
  12. package/build/dex/balancer-v2/LinearMath.js +179 -0
  13. package/build/dex/balancer-v2/LinearMath.js.map +1 -0
  14. package/build/dex/balancer-v2/LinearPool.d.ts +47 -0
  15. package/build/dex/balancer-v2/LinearPool.js +324 -0
  16. package/build/dex/balancer-v2/LinearPool.js.map +1 -0
  17. package/build/dex/balancer-v2/PhantomStablePool.d.ts +47 -0
  18. package/build/dex/balancer-v2/PhantomStablePool.js +294 -0
  19. package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
  20. package/build/dex/balancer-v2/StableMath.d.ts +9 -0
  21. package/build/dex/balancer-v2/StableMath.js +272 -0
  22. package/build/dex/balancer-v2/StableMath.js.map +1 -0
  23. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +75 -0
  24. package/build/dex/balancer-v2/balancer-v2-pool.js +417 -0
  25. package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
  26. package/build/dex/curve-v1-factory/config.js +17 -9
  27. package/build/dex/curve-v1-factory/config.js.map +1 -1
  28. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -1
  29. package/build/dex/curve-v1-factory/curve-v1-factory.js +192 -177
  30. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  31. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +4 -1
  32. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  33. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js +1 -0
  34. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
  35. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js +1 -0
  36. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
  37. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js +1 -0
  38. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
  39. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js +1 -0
  40. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
  41. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js +1 -0
  42. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
  43. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +73 -1
  44. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  45. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js +1 -0
  46. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js.map +1 -1
  47. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js +10 -0
  48. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
  49. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js +1 -0
  50. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
  51. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js +1 -0
  52. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
  53. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js +1 -0
  54. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
  55. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js +1 -0
  56. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
  57. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js +1 -0
  58. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
  59. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js +1 -0
  60. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
  61. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js +1 -0
  62. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
  63. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +1 -1
  64. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +2 -2
  65. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  66. package/build/dex/curve-v1-factory/types.d.ts +4 -1
  67. package/build/dex/curve-v1-factory/types.js +1 -0
  68. package/build/dex/curve-v1-factory/types.js.map +1 -1
  69. package/build/dex/quickswap-v3.d.ts +21 -0
  70. package/build/dex/quickswap-v3.js +40 -0
  71. package/build/dex/quickswap-v3.js.map +1 -0
  72. package/build/dex/solidly/forks-override/ramses.js +20 -8
  73. package/build/dex/solidly/forks-override/ramses.js.map +1 -1
  74. package/build/dex/solidly/solidly.js +1 -1
  75. package/build/dex/test-dex/config.d.ts +4 -0
  76. package/build/dex/test-dex/config.js +15 -0
  77. package/build/dex/test-dex/config.js.map +1 -0
  78. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  79. package/build/dex/test-dex/test-dex-pool.js +63 -0
  80. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  81. package/build/dex/test-dex/test-dex.d.ts +37 -0
  82. package/build/dex/test-dex/test-dex.js +126 -0
  83. package/build/dex/test-dex/test-dex.js.map +1 -0
  84. package/build/dex/test-dex/types.d.ts +6 -0
  85. package/build/dex/test-dex/types.js +3 -0
  86. package/build/dex/test-dex/types.js.map +1 -0
  87. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
  88. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
  89. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
  90. package/build/dex/uniswap-v3/types.js.map +1 -1
  91. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  92. package/build/dex/uniswap-v3/uniswap-v3.js +1 -1
  93. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  94. package/build/dex/woo-fi/config.d.ts +4 -0
  95. package/build/dex/woo-fi/config.js +141 -0
  96. package/build/dex/woo-fi/config.js.map +1 -0
  97. package/build/dex/woo-fi/constants.d.ts +5 -0
  98. package/build/dex/woo-fi/constants.js +20 -0
  99. package/build/dex/woo-fi/constants.js.map +1 -0
  100. package/build/dex/woo-fi/types.d.ts +48 -0
  101. package/build/dex/woo-fi/types.js +3 -0
  102. package/build/dex/woo-fi/types.js.map +1 -0
  103. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
  104. package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
  105. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
  106. package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
  107. package/build/dex/woo-fi/woo-fi-math.js +300 -0
  108. package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
  109. package/build/dex/woo-fi/woo-fi.d.ts +65 -0
  110. package/build/dex/woo-fi/woo-fi.js +480 -0
  111. package/build/dex/woo-fi/woo-fi.js.map +1 -0
  112. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  113. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  114. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  115. package/package.json +1 -1
  116. package/src/dex/curve-v1-factory/config.ts +17 -9
  117. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +19 -0
  118. package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +108 -45
  119. package/src/dex/curve-v1-factory/curve-v1-factory.ts +415 -367
  120. package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +4 -1
  121. package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +1 -0
  122. package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +1 -0
  123. package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +1 -0
  124. package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +1 -0
  125. package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +1 -0
  126. package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +91 -1
  127. package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +1 -0
  128. package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +11 -0
  129. package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +2 -0
  130. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +1 -0
  131. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +1 -0
  132. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +1 -0
  133. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +1 -0
  134. package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +1 -0
  135. package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +1 -0
  136. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +2 -1
  137. package/src/dex/curve-v1-factory/types.ts +3 -1
  138. package/src/dex/solidly/forks-override/ramses.ts +105 -76
  139. package/src/dex/solidly/solidly.ts +1 -1
  140. package/src/dex/uniswap-v3/types.ts +4 -2
  141. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +50 -46
  142. package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +2 -15
  143. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +5 -2
  144. package/src/dex/uniswap-v3/uniswap-v3.ts +1 -1
  145. package/tests/constants-e2e.ts +10 -0
  146. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  147. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  148. package/build/dex/algebra/algebra-pool.js +0 -336
  149. package/build/dex/algebra/algebra-pool.js.map +0 -1
@@ -12,7 +12,6 @@ import { StaticJsonRpcProvider } from '@ethersproject/providers';
12
12
  import { generateConfig } from '../../config';
13
13
 
14
14
  describe('UniswapV3 E2E', () => {
15
-
16
15
  describe('UniswapV3', () => {
17
16
  const dexKey = 'UniswapV3';
18
17
 
@@ -324,52 +323,57 @@ describe('UniswapV3 E2E', () => {
324
323
  [SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
325
324
  ]);
326
325
 
327
- const pairs: { name: string; sellAmount: string; buyAmount: string }[][] = [
328
- [
329
- {
330
- name: 'AVAX',
331
- sellAmount: '1000000000000000000',
332
- buyAmount: '500000',
333
- },
334
- {
335
- name: 'USDT',
336
- sellAmount: '1000000',
337
- buyAmount: '10000000000000000000',
338
- },
339
- ],
340
- [
341
- {
342
- name: 'AVAX',
343
- sellAmount: '1000000000000000000',
344
- buyAmount: '500000',
345
- },
346
- {
347
- name: 'USDC',
348
- sellAmount: '1000000',
349
- buyAmount: '1000000000000000000',
350
- },
351
- ],
326
+ const pairs: { name: string; sellAmount: string; buyAmount: string }[][] =
352
327
  [
353
- {
354
- name: 'WAVAX',
355
- sellAmount: '1000000000000000000',
356
- buyAmount: '500000',
357
- },
358
- { name: 'USDC', sellAmount: '1000000', buyAmount: '20000000000000000' },
359
- ],
360
- [
361
- {
362
- name: 'WAVAX',
363
- sellAmount: '1000000000000000000',
364
- buyAmount: '10000000',
365
- },
366
- { name: 'USDT', sellAmount: '1000000', buyAmount: '2000000000000' },
367
- ],
368
- [
369
- { name: 'USDC', sellAmount: '1000000', buyAmount: '100000000' },
370
- { name: 'USDT', sellAmount: '100000000', buyAmount: '100000000' },
371
- ],
372
- ];
328
+ [
329
+ {
330
+ name: 'AVAX',
331
+ sellAmount: '1000000000000000000',
332
+ buyAmount: '500000',
333
+ },
334
+ {
335
+ name: 'USDT',
336
+ sellAmount: '1000000',
337
+ buyAmount: '10000000000000000000',
338
+ },
339
+ ],
340
+ [
341
+ {
342
+ name: 'AVAX',
343
+ sellAmount: '1000000000000000000',
344
+ buyAmount: '500000',
345
+ },
346
+ {
347
+ name: 'USDC',
348
+ sellAmount: '1000000',
349
+ buyAmount: '1000000000000000000',
350
+ },
351
+ ],
352
+ [
353
+ {
354
+ name: 'WAVAX',
355
+ sellAmount: '1000000000000000000',
356
+ buyAmount: '500000',
357
+ },
358
+ {
359
+ name: 'USDC',
360
+ sellAmount: '1000000',
361
+ buyAmount: '20000000000000000',
362
+ },
363
+ ],
364
+ [
365
+ {
366
+ name: 'WAVAX',
367
+ sellAmount: '1000000000000000000',
368
+ buyAmount: '10000000',
369
+ },
370
+ { name: 'USDT', sellAmount: '1000000', buyAmount: '2000000000000' },
371
+ ],
372
+ [
373
+ { name: 'USDC', sellAmount: '1000000', buyAmount: '100000000' },
374
+ { name: 'USDT', sellAmount: '100000000', buyAmount: '100000000' },
375
+ ],
376
+ ];
373
377
 
374
378
  sideToContractMethods.forEach((contractMethods, side) =>
375
379
  describe(`${side}`, () => {
@@ -28,7 +28,6 @@ const amounts = [
28
28
 
29
29
  const amountsBuy = [0n, 1n * BI_POWS[18], 2n * BI_POWS[18], 3n * BI_POWS[18]];
30
30
 
31
-
32
31
  const quoterIface = new Interface(UniswapV3QuoterV2ABI);
33
32
 
34
33
  function getReaderCalldata(
@@ -43,13 +42,7 @@ function getReaderCalldata(
43
42
  return amounts.map(amount => ({
44
43
  target: exchangeAddress,
45
44
  callData: readerIface.encodeFunctionData(funcName, [
46
- [
47
- tokenIn,
48
- tokenOut,
49
- amount.toString(),
50
- fee.toString(),
51
- 0,
52
- ]
45
+ [tokenIn, tokenOut, amount.toString(), fee.toString(), 0],
53
46
  ]),
54
47
  }));
55
48
  }
@@ -499,15 +492,10 @@ describe('RamsesV2', () => {
499
492
  beforeEach(async () => {
500
493
  blockNumber = await dexHelper.web3Provider.eth.getBlockNumber();
501
494
  uniswapV3 = new UniswapV3(network, dexKey, dexHelper);
502
- uniswapV3Mainnet = new UniswapV3(
503
- Network.ARBITRUM,
504
- dexKey,
505
- dexHelper,
506
- );
495
+ uniswapV3Mainnet = new UniswapV3(Network.ARBITRUM, dexKey, dexHelper);
507
496
  });
508
497
 
509
498
  it('getPoolIdentifiers and getPricesVolume SELL', async function () {
510
-
511
499
  const amounts = [
512
500
  0n,
513
501
  6000000n,
@@ -566,7 +554,6 @@ describe('RamsesV2', () => {
566
554
  });
567
555
 
568
556
  it('getPoolIdentifiers and getPricesVolume BUY', async function () {
569
-
570
557
  const amounts = [
571
558
  0n,
572
559
  6000000n,
@@ -11,7 +11,8 @@ import {
11
11
  import { IDexHelper } from '../../dex-helper/idex-helper';
12
12
  import {
13
13
  PoolState,
14
- DecodedStateMultiCallResultWithRelativeBitmaps, DecodeStateMultiCallFunc,
14
+ DecodedStateMultiCallResultWithRelativeBitmaps,
15
+ DecodeStateMultiCallFunc,
15
16
  } from './types';
16
17
  import UniswapV3PoolABI from '../../abi/uniswap-v3/UniswapV3Pool.abi.json';
17
18
  import { bigIntify, catchParseLogError, isSampled } from '../../utils';
@@ -60,7 +61,9 @@ export class UniswapV3EventPool extends StatefulEventSubscriber<PoolState> {
60
61
  readonly dexHelper: IDexHelper,
61
62
  parentName: string,
62
63
  readonly stateMultiContract: Contract,
63
- readonly decodeStateMultiCallResultWithRelativeBitmaps: DecodeStateMultiCallFunc | undefined,
64
+ readonly decodeStateMultiCallResultWithRelativeBitmaps:
65
+ | DecodeStateMultiCallFunc
66
+ | undefined,
64
67
  readonly erc20Interface: Interface,
65
68
  protected readonly factoryAddress: Address,
66
69
  public readonly feeCode: bigint,
@@ -279,7 +279,7 @@ export class UniswapV3
279
279
  e,
280
280
  );
281
281
  } else {
282
- // on unkown error mark as failed and increase retryCount for retry init strategy
282
+ // on unknown error mark as failed and increase retryCount for retry init strategy
283
283
  // note: state would be null by default which allows to fallback
284
284
  this.logger.warn(
285
285
  `${this.dexKey}: Can not generate pool state for srcAddress=${srcAddress}, destAddress=${destAddress}, fee=${fee} pool fallback to rpc and retry every ${this.config.initRetryFrequency} times, initRetryAttemptCount=${pool.initRetryAttemptCount}`,
@@ -299,6 +299,14 @@ export const Tokens: {
299
299
  address: '0xc411db5f5eb3f7d552f9b8454b2d74097ccde6e3',
300
300
  decimals: 6,
301
301
  },
302
+ GHO: {
303
+ address: '0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f',
304
+ decimals: 18,
305
+ },
306
+ crvUSD: {
307
+ address: '0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E',
308
+ decimals: 18,
309
+ },
302
310
  },
303
311
  [Network.ROPSTEN]: {
304
312
  DAI: {
@@ -908,6 +916,8 @@ export const Holders: {
908
916
  aEthWETH: '0x645C4c0c95C1Aa6EF25d12f4a25038cA9b0C6Cc7',
909
917
  dUSDC: '0x2FC2F705110A7F46Ce85F701d7217EF1018f01A3',
910
918
  PSP: '0xE5E5440a1CE69C5cf67BFFA74d185e57c31b43E5',
919
+ crvUSD: '0xA920De414eA4Ab66b97dA1bFE9e6EcA7d4219635',
920
+ GHO: '0x844Dc85EdD8492A56228D293cfEbb823EF3E10EC',
911
921
  },
912
922
  [Network.ROPSTEN]: {
913
923
  ETH: '0x43262A12d8610AA70C15DbaeAC321d51613c9071',