@paraswap/dex-lib 3.8.6-rehype-pools.0 → 3.8.6

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 (205) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/AaveV1_lending_pool.json +27 -0
  5. package/build/abi/maverick-v2/MaverickV2Router.json +778 -0
  6. package/build/abi/platypus/asset.json +490 -0
  7. package/build/abi/platypus/avax-pool.json +820 -0
  8. package/build/abi/platypus/oracle.json +119 -0
  9. package/build/abi/platypus/pool.json +677 -0
  10. package/build/abi/smardex/all/smardex-router.json +648 -0
  11. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  12. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  13. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  14. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  15. package/build/abi/swaap-v1/pool.json +1346 -0
  16. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  17. package/build/abi/wombat/pool.json +1289 -0
  18. package/build/dex/aave-v1/aave-v1.d.ts +34 -0
  19. package/build/dex/aave-v1/aave-v1.js +181 -0
  20. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  21. package/build/dex/aave-v1/config.d.ts +11 -0
  22. package/build/dex/aave-v1/config.js +20 -0
  23. package/build/dex/aave-v1/config.js.map +1 -0
  24. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  25. package/build/dex/aave-v1/tokens.d.ts +3 -0
  26. package/build/dex/aave-v1/tokens.js +50 -0
  27. package/build/dex/aave-v1/tokens.js.map +1 -0
  28. package/build/dex/aave-v1/types.d.ts +12 -0
  29. package/build/dex/aave-v1/types.js +3 -0
  30. package/build/dex/aave-v1/types.js.map +1 -0
  31. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  32. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  33. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  34. package/build/dex/bProtocol.d.ts +18 -0
  35. package/build/dex/bProtocol.js +39 -0
  36. package/build/dex/bProtocol.js.map +1 -0
  37. package/build/dex/balancer-v2/balancer-v2.js +3 -2
  38. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  39. package/build/dex/bancor.d.ts +26 -0
  40. package/build/dex/bancor.js +58 -0
  41. package/build/dex/bancor.js.map +1 -0
  42. package/build/dex/compound.d.ts +18 -0
  43. package/build/dex/compound.js +46 -0
  44. package/build/dex/compound.js.map +1 -0
  45. package/build/dex/curve-v2.d.ts +58 -0
  46. package/build/dex/curve-v2.js +180 -0
  47. package/build/dex/curve-v2.js.map +1 -0
  48. package/build/dex/dodo-v1.d.ts +33 -0
  49. package/build/dex/dodo-v1.js +63 -0
  50. package/build/dex/dodo-v1.js.map +1 -0
  51. package/build/dex/generic-rfq/generic-rfq.js +11 -2
  52. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  53. package/build/dex/generic-rfq/rate-fetcher.d.ts +1 -0
  54. package/build/dex/generic-rfq/rate-fetcher.js +13 -0
  55. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  56. package/build/dex/lido.d.ts +19 -0
  57. package/build/dex/lido.js +42 -0
  58. package/build/dex/lido.js.map +1 -0
  59. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  60. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  61. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  62. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  63. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  64. package/build/dex/onebit.d.ts +25 -0
  65. package/build/dex/onebit.js +42 -0
  66. package/build/dex/onebit.js.map +1 -0
  67. package/build/dex/platypus/asset.d.ts +14 -0
  68. package/build/dex/platypus/asset.js +97 -0
  69. package/build/dex/platypus/asset.js.map +1 -0
  70. package/build/dex/platypus/config.d.ts +11 -0
  71. package/build/dex/platypus/config.js +69 -0
  72. package/build/dex/platypus/config.js.map +1 -0
  73. package/build/dex/platypus/platypus.d.ts +63 -0
  74. package/build/dex/platypus/platypus.js +487 -0
  75. package/build/dex/platypus/platypus.js.map +1 -0
  76. package/build/dex/platypus/pool-avax.d.ts +8 -0
  77. package/build/dex/platypus/pool-avax.js +54 -0
  78. package/build/dex/platypus/pool-avax.js.map +1 -0
  79. package/build/dex/platypus/pool-base.d.ts +19 -0
  80. package/build/dex/platypus/pool-base.js +86 -0
  81. package/build/dex/platypus/pool-base.js.map +1 -0
  82. package/build/dex/platypus/pool-pure.d.ts +8 -0
  83. package/build/dex/platypus/pool-pure.js +37 -0
  84. package/build/dex/platypus/pool-pure.js.map +1 -0
  85. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  86. package/build/dex/platypus/pool-subscriber.js +167 -0
  87. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  88. package/build/dex/platypus/pool.d.ts +8 -0
  89. package/build/dex/platypus/pool.js +58 -0
  90. package/build/dex/platypus/pool.js.map +1 -0
  91. package/build/dex/platypus/types.d.ts +92 -0
  92. package/build/dex/platypus/types.js +10 -0
  93. package/build/dex/platypus/types.js.map +1 -0
  94. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  95. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  96. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  97. package/build/dex/smardex/config.d.ts +4 -0
  98. package/build/dex/smardex/config.js +64 -0
  99. package/build/dex/smardex/config.js.map +1 -0
  100. package/build/dex/smardex/constants.d.ts +18 -0
  101. package/build/dex/smardex/constants.js +33 -0
  102. package/build/dex/smardex/constants.js.map +1 -0
  103. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  104. package/build/dex/smardex/sdk/constants.js +13 -0
  105. package/build/dex/smardex/sdk/constants.js.map +1 -0
  106. package/build/dex/smardex/sdk/core.d.ts +113 -0
  107. package/build/dex/smardex/sdk/core.js +499 -0
  108. package/build/dex/smardex/sdk/core.js.map +1 -0
  109. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  110. package/build/dex/smardex/sdk/errors.js +22 -0
  111. package/build/dex/smardex/sdk/errors.js.map +1 -0
  112. package/build/dex/smardex/sdk/types.d.ts +62 -0
  113. package/build/dex/smardex/sdk/types.js +3 -0
  114. package/build/dex/smardex/sdk/types.js.map +1 -0
  115. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  116. package/build/dex/smardex/sdk/utils.js +133 -0
  117. package/build/dex/smardex/sdk/utils.js.map +1 -0
  118. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  119. package/build/dex/smardex/smardex-event-pool.js +119 -0
  120. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  121. package/build/dex/smardex/smardex.d.ts +65 -0
  122. package/build/dex/smardex/smardex.js +519 -0
  123. package/build/dex/smardex/smardex.js.map +1 -0
  124. package/build/dex/smardex/types.d.ts +55 -0
  125. package/build/dex/smardex/types.js +3 -0
  126. package/build/dex/smardex/types.js.map +1 -0
  127. package/build/dex/smoothy.d.ts +26 -0
  128. package/build/dex/smoothy.js +48 -0
  129. package/build/dex/smoothy.js.map +1 -0
  130. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  131. package/build/dex/solidly/forks-override/cone.js +53 -0
  132. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  133. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  134. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  135. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  136. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  137. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  138. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  139. package/build/dex/stable-pool.d.ts +28 -0
  140. package/build/dex/stable-pool.js +55 -0
  141. package/build/dex/stable-pool.js.map +1 -0
  142. package/build/dex/swaap-v1/config.d.ts +17 -0
  143. package/build/dex/swaap-v1/config.js +56 -0
  144. package/build/dex/swaap-v1/config.js.map +1 -0
  145. package/build/dex/swaap-v1/constants.d.ts +6 -0
  146. package/build/dex/swaap-v1/constants.js +17 -0
  147. package/build/dex/swaap-v1/constants.js.map +1 -0
  148. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  149. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  150. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  151. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  152. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  153. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  154. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  155. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  156. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  157. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  158. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  159. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  160. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  161. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  162. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  163. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  164. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  165. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  166. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  167. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  168. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  169. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  170. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  171. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  172. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  173. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  174. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  175. package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
  176. package/build/dex/swaap-v1/swaap-v1.js +383 -0
  177. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  178. package/build/dex/swaap-v1/types.d.ts +106 -0
  179. package/build/dex/swaap-v1/types.js +9 -0
  180. package/build/dex/swaap-v1/types.js.map +1 -0
  181. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  182. package/build/dex/trader-joe-v2.1.js +79 -0
  183. package/build/dex/trader-joe-v2.1.js.map +1 -0
  184. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  185. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  186. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  187. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  188. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  189. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  190. package/config.ts +1946 -0
  191. package/package.json +1 -1
  192. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +14 -580
  193. package/src/dex/balancer-v2/balancer-v2.ts +3 -2
  194. package/src/dex/dexs.txt +58 -0
  195. package/src/dex/generic-rfq/generic-rfq.ts +13 -2
  196. package/src/dex/generic-rfq/rate-fetcher.ts +28 -0
  197. package/tests/constants-e2e.ts +90 -74
  198. package/.idea/aws.xml +0 -17
  199. package/.idea/codeStyles/Project.xml +0 -19
  200. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  201. package/.idea/misc.xml +0 -6
  202. package/.idea/modules.xml +0 -8
  203. package/.idea/paraswap-dex-lib.iml +0 -9
  204. package/.idea/prettier.xml +0 -7
  205. package/.idea/vcs.xml +0 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.8.6-rehype-pools.0",
3
+ "version": "3.8.6",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -1404,588 +1404,22 @@ describe('BalancerV2 E2E', () => {
1404
1404
  const dexKey = 'BalancerV2';
1405
1405
  const network = Network.BASE;
1406
1406
 
1407
- describe('USDC -> GOLD', () => {
1408
- const tokenASymbol: string = 'USDC';
1409
- const tokenBSymbol: string = 'GOLD';
1410
-
1411
- const tokenAAmount: string = '11110010';
1412
- const tokenBAmount: string = '210000000000000000000';
1413
- const nativeTokenAmount = '1000000000000000000';
1414
-
1415
- testForNetwork(
1416
- network,
1417
- dexKey,
1418
- tokenASymbol,
1419
- tokenBSymbol,
1420
- tokenAAmount,
1421
- tokenBAmount,
1422
- nativeTokenAmount,
1423
- );
1424
- });
1425
- });
1426
-
1427
- describe('BalancerV2 Rehype Pools', () => {
1428
- const dexKey = 'BalancerV2';
1429
-
1430
- describe('Mainnet', () => {
1431
- const network = Network.MAINNET;
1432
-
1433
- describe('GYD -> stataEthUSDT', () => {
1434
- const tokenASymbol: string = 'GYD';
1435
- const tokenBSymbol: string = 'stataEthUSDT';
1436
-
1437
- const tokenAAmount: string = '81442000000000000';
1438
- const tokenBAmount: string = '47438';
1439
-
1440
- const provider = new StaticJsonRpcProvider(
1441
- generateConfig(network).privateHttpProvider,
1442
- network,
1443
- );
1444
- const tokens = Tokens[network];
1445
- const holders = Holders[network];
1446
-
1447
- const sideToContractMethods = new Map([
1448
- [
1449
- SwapSide.SELL,
1450
- [
1451
- ContractMethod.swapExactAmountIn,
1452
- ContractMethod.swapExactAmountInOnBalancerV2,
1453
- ],
1454
- ],
1455
- [
1456
- SwapSide.BUY,
1457
- [
1458
- ContractMethod.swapExactAmountOut,
1459
- ContractMethod.swapExactAmountOutOnBalancerV2,
1460
- ],
1461
- ],
1462
- ]);
1463
-
1464
- describe(`${network}`, () => {
1465
- sideToContractMethods.forEach((contractMethods, side) =>
1466
- describe(`${side}`, () => {
1467
- contractMethods.forEach((contractMethod: ContractMethod) => {
1468
- describe(`${contractMethod}`, () => {
1469
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
1470
- await testE2E(
1471
- tokens[tokenASymbol],
1472
- tokens[tokenBSymbol],
1473
- holders[tokenASymbol],
1474
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
1475
- side,
1476
- dexKey,
1477
- contractMethod,
1478
- network,
1479
- provider,
1480
- undefined,
1481
- undefined,
1482
- undefined,
1483
- 200,
1484
- );
1485
- });
1486
- it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
1487
- await testE2E(
1488
- tokens[tokenBSymbol],
1489
- tokens[tokenASymbol],
1490
- holders[tokenBSymbol],
1491
- side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
1492
- side,
1493
- dexKey,
1494
- contractMethod,
1495
- network,
1496
- provider,
1497
- undefined,
1498
- undefined,
1499
- undefined,
1500
- 200,
1501
- );
1502
- });
1503
- });
1504
- });
1505
- }),
1506
- );
1507
- });
1508
- });
1509
- });
1510
-
1511
- describe('Polygon', () => {
1512
- const network = Network.POLYGON;
1513
-
1514
- describe('stataPolUSDT -> stataPolUSDCn', () => {
1515
- const tokenASymbol: string = 'stataPolUSDT';
1516
- const tokenBSymbol: string = 'stataPolUSDCn';
1517
-
1518
- const tokenAAmount: string = '110000';
1519
- const tokenBAmount: string = '110000';
1520
-
1521
- const provider = new StaticJsonRpcProvider(
1522
- generateConfig(network).privateHttpProvider,
1523
- network,
1524
- );
1525
- const tokens = Tokens[network];
1526
- const holders = Holders[network];
1527
-
1528
- const sideToContractMethods = new Map([
1529
- [
1530
- SwapSide.SELL,
1531
- [
1532
- ContractMethod.swapExactAmountIn,
1533
- ContractMethod.swapExactAmountInOnBalancerV2,
1534
- ],
1535
- ],
1536
- [
1537
- SwapSide.BUY,
1538
- [
1539
- ContractMethod.swapExactAmountOut,
1540
- ContractMethod.swapExactAmountOutOnBalancerV2,
1541
- ],
1542
- ],
1543
- ]);
1544
-
1545
- describe(`${network}`, () => {
1546
- sideToContractMethods.forEach((contractMethods, side) =>
1547
- describe(`${side}`, () => {
1548
- contractMethods.forEach((contractMethod: ContractMethod) => {
1549
- describe(`${contractMethod}`, () => {
1550
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
1551
- await testE2E(
1552
- tokens[tokenASymbol],
1553
- tokens[tokenBSymbol],
1554
- holders[tokenASymbol],
1555
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
1556
- side,
1557
- dexKey,
1558
- contractMethod,
1559
- network,
1560
- provider,
1561
- undefined,
1562
- undefined,
1563
- undefined,
1564
- 200,
1565
- );
1566
- });
1567
- it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
1568
- await testE2E(
1569
- tokens[tokenBSymbol],
1570
- tokens[tokenASymbol],
1571
- holders[tokenBSymbol],
1572
- side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
1573
- side,
1574
- dexKey,
1575
- contractMethod,
1576
- network,
1577
- provider,
1578
- undefined,
1579
- undefined,
1580
- undefined,
1581
- 200,
1582
- );
1583
- });
1584
- });
1585
- });
1586
- }),
1587
- );
1588
- });
1589
- });
1590
-
1591
- describe('paUSD -> stataPolUSDCn', () => {
1592
- const tokenASymbol: string = 'paUSD';
1593
- const tokenBSymbol: string = 'stataPolUSDCn';
1594
-
1595
- const tokenAAmount: string = '500000000000000000';
1596
- const tokenBAmount: string = '572802';
1597
-
1598
- const provider = new StaticJsonRpcProvider(
1599
- generateConfig(network).privateHttpProvider,
1600
- network,
1601
- );
1602
- const tokens = Tokens[network];
1603
- const holders = Holders[network];
1604
-
1605
- const sideToContractMethods = new Map([
1606
- [
1607
- SwapSide.SELL,
1608
- [
1609
- ContractMethod.swapExactAmountIn,
1610
- ContractMethod.swapExactAmountInOnBalancerV2,
1611
- ],
1612
- ],
1613
- [
1614
- SwapSide.BUY,
1615
- [
1616
- ContractMethod.swapExactAmountOut,
1617
- ContractMethod.swapExactAmountOutOnBalancerV2,
1618
- ],
1619
- ],
1620
- ]);
1621
-
1622
- describe(`${network}`, () => {
1623
- sideToContractMethods.forEach((contractMethods, side) =>
1624
- describe(`${side}`, () => {
1625
- contractMethods.forEach((contractMethod: ContractMethod) => {
1626
- describe(`${contractMethod}`, () => {
1627
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
1628
- await testE2E(
1629
- tokens[tokenASymbol],
1630
- tokens[tokenBSymbol],
1631
- holders[tokenASymbol],
1632
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
1633
- side,
1634
- dexKey,
1635
- contractMethod,
1636
- network,
1637
- provider,
1638
- undefined,
1639
- undefined,
1640
- undefined,
1641
- 200,
1642
- );
1643
- });
1644
- it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
1645
- await testE2E(
1646
- tokens[tokenBSymbol],
1647
- tokens[tokenASymbol],
1648
- holders[tokenBSymbol],
1649
- side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
1650
- side,
1651
- dexKey,
1652
- contractMethod,
1653
- network,
1654
- provider,
1655
- undefined,
1656
- undefined,
1657
- undefined,
1658
- 200,
1659
- );
1660
- });
1661
- });
1662
- });
1663
- }),
1664
- );
1665
- });
1666
- });
1667
- });
1668
-
1669
- describe('Base', () => {
1670
- const network = Network.BASE;
1671
-
1672
- describe('stataBasUSDC -> sDAI', () => {
1673
- const tokenASymbol: string = 'stataBasUSDC';
1674
- const tokenBSymbol: string = 'sDAI';
1675
-
1676
- const tokenAAmount: string = '11110010';
1677
- const tokenBAmount: string = '11000000000000000000';
1678
-
1679
- const provider = new StaticJsonRpcProvider(
1680
- generateConfig(network).privateHttpProvider,
1681
- network,
1682
- );
1683
- const tokens = Tokens[network];
1684
- const holders = Holders[network];
1685
-
1686
- const sideToContractMethods = new Map([
1687
- [
1688
- SwapSide.SELL,
1689
- [
1690
- ContractMethod.swapExactAmountIn,
1691
- ContractMethod.swapExactAmountInOnBalancerV2,
1692
- ],
1693
- ],
1694
- [
1695
- SwapSide.BUY,
1696
- [
1697
- ContractMethod.swapExactAmountOut,
1698
- ContractMethod.swapExactAmountOutOnBalancerV2,
1699
- ],
1700
- ],
1701
- ]);
1702
-
1703
- describe(`${network}`, () => {
1704
- sideToContractMethods.forEach((contractMethods, side) =>
1705
- describe(`${side}`, () => {
1706
- contractMethods.forEach((contractMethod: ContractMethod) => {
1707
- describe(`${contractMethod}`, () => {
1708
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
1709
- await testE2E(
1710
- tokens[tokenASymbol],
1711
- tokens[tokenBSymbol],
1712
- holders[tokenASymbol],
1713
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
1714
- side,
1715
- dexKey,
1716
- contractMethod,
1717
- network,
1718
- provider,
1719
- undefined,
1720
- undefined,
1721
- undefined,
1722
- 200,
1723
- );
1724
- });
1725
- it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
1726
- await testE2E(
1727
- tokens[tokenBSymbol],
1728
- tokens[tokenASymbol],
1729
- holders[tokenBSymbol],
1730
- side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
1731
- side,
1732
- dexKey,
1733
- contractMethod,
1734
- network,
1735
- provider,
1736
- undefined,
1737
- undefined,
1738
- undefined,
1739
- 200,
1740
- );
1741
- });
1742
- });
1743
- });
1744
- }),
1745
- );
1746
- });
1747
- });
1748
- });
1749
-
1750
- describe('Arbitrum', () => {
1751
- const network = Network.ARBITRUM;
1752
-
1753
- describe('stataArbUSDT -> GYD', () => {
1754
- const tokenASymbol: string = 'stataArbUSDT';
1755
- const tokenBSymbol: string = 'GYD';
1756
-
1757
- const tokenAAmount: string = '100000';
1758
- const tokenBAmount: string = '8685800000000000';
1759
-
1760
- const provider = new StaticJsonRpcProvider(
1761
- generateConfig(network).privateHttpProvider,
1762
- network,
1763
- );
1764
- const tokens = Tokens[network];
1765
- const holders = Holders[network];
1766
-
1767
- const sideToContractMethods = new Map([
1768
- [
1769
- SwapSide.SELL,
1770
- [
1771
- ContractMethod.swapExactAmountIn,
1772
- ContractMethod.swapExactAmountInOnBalancerV2,
1773
- ],
1774
- ],
1775
- [
1776
- SwapSide.BUY,
1777
- [
1778
- ContractMethod.swapExactAmountOut,
1779
- ContractMethod.swapExactAmountOutOnBalancerV2,
1780
- ],
1781
- ],
1782
- ]);
1783
-
1784
- describe(`${network}`, () => {
1785
- sideToContractMethods.forEach((contractMethods, side) =>
1786
- describe(`${side}`, () => {
1787
- contractMethods.forEach((contractMethod: ContractMethod) => {
1788
- describe(`${contractMethod}`, () => {
1789
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
1790
- await testE2E(
1791
- tokens[tokenASymbol],
1792
- tokens[tokenBSymbol],
1793
- holders[tokenASymbol],
1794
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
1795
- side,
1796
- dexKey,
1797
- contractMethod,
1798
- network,
1799
- provider,
1800
- undefined,
1801
- undefined,
1802
- undefined,
1803
- 200,
1804
- );
1805
- });
1806
- it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
1807
- await testE2E(
1808
- tokens[tokenBSymbol],
1809
- tokens[tokenASymbol],
1810
- holders[tokenBSymbol],
1811
- side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
1812
- side,
1813
- dexKey,
1814
- contractMethod,
1815
- network,
1816
- provider,
1817
- undefined,
1818
- undefined,
1819
- undefined,
1820
- 200,
1821
- );
1822
- });
1823
- });
1824
- });
1825
- }),
1826
- );
1827
- });
1828
- });
1829
- });
1830
-
1831
- describe('BeetsFi Optimism', () => {
1832
- const dexKey = 'BeetsFi';
1833
- const network = Network.OPTIMISM;
1834
-
1835
- describe('stataOptUSDT -> stataOptUSDCn', () => {
1836
- const tokenASymbol: string = 'stataOptUSDT';
1837
- const tokenBSymbol: string = 'stataOptUSDCn';
1838
-
1839
- const tokenAAmount: string = '110000';
1840
- const tokenBAmount: string = '110000';
1841
-
1842
- const provider = new StaticJsonRpcProvider(
1843
- generateConfig(network).privateHttpProvider,
1844
- network,
1845
- );
1846
- const tokens = Tokens[network];
1847
- const holders = Holders[network];
1848
-
1849
- const sideToContractMethods = new Map([
1850
- [
1851
- SwapSide.SELL,
1852
- [
1853
- ContractMethod.swapExactAmountIn,
1854
- ContractMethod.swapExactAmountInOnBalancerV2,
1855
- ],
1856
- ],
1857
- [
1858
- SwapSide.BUY,
1859
- [
1860
- ContractMethod.swapExactAmountOut,
1861
- ContractMethod.swapExactAmountOutOnBalancerV2,
1862
- ],
1863
- ],
1864
- ]);
1865
-
1866
- describe(`${network}`, () => {
1867
- sideToContractMethods.forEach((contractMethods, side) =>
1868
- describe(`${side}`, () => {
1869
- contractMethods.forEach((contractMethod: ContractMethod) => {
1870
- describe(`${contractMethod}`, () => {
1871
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
1872
- await testE2E(
1873
- tokens[tokenASymbol],
1874
- tokens[tokenBSymbol],
1875
- holders[tokenASymbol],
1876
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
1877
- side,
1878
- dexKey,
1879
- contractMethod,
1880
- network,
1881
- provider,
1882
- undefined,
1883
- undefined,
1884
- undefined,
1885
- 200,
1886
- );
1887
- });
1888
- it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
1889
- await testE2E(
1890
- tokens[tokenBSymbol],
1891
- tokens[tokenASymbol],
1892
- holders[tokenBSymbol],
1893
- side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
1894
- side,
1895
- dexKey,
1896
- contractMethod,
1897
- network,
1898
- provider,
1899
- undefined,
1900
- undefined,
1901
- undefined,
1902
- 200,
1903
- );
1904
- });
1905
- });
1906
- });
1907
- }),
1908
- );
1909
- });
1910
- });
1911
-
1912
- describe('sDAI -> stataOptUSDCn', () => {
1913
- const tokenASymbol: string = 'sDAI';
1914
- const tokenBSymbol: string = 'stataOptUSDCn';
1915
-
1916
- const tokenAAmount: string = '280211000000000000';
1917
- const tokenBAmount: string = '314784';
1918
-
1919
- const provider = new StaticJsonRpcProvider(
1920
- generateConfig(network).privateHttpProvider,
1921
- network,
1922
- );
1923
- const tokens = Tokens[network];
1924
- const holders = Holders[network];
1407
+ const tokenASymbol: string = 'USDC';
1408
+ const tokenBSymbol: string = 'GOLD';
1925
1409
 
1926
- const sideToContractMethods = new Map([
1927
- [
1928
- SwapSide.SELL,
1929
- [
1930
- ContractMethod.swapExactAmountIn,
1931
- ContractMethod.swapExactAmountInOnBalancerV2,
1932
- ],
1933
- ],
1934
- [
1935
- SwapSide.BUY,
1936
- [
1937
- ContractMethod.swapExactAmountOut,
1938
- ContractMethod.swapExactAmountOutOnBalancerV2,
1939
- ],
1940
- ],
1941
- ]);
1410
+ const tokenAAmount: string = '11110010';
1411
+ const tokenBAmount: string = '210000000000000000000';
1412
+ const nativeTokenAmount = '1000000000000000000';
1942
1413
 
1943
- describe(`${network}`, () => {
1944
- sideToContractMethods.forEach((contractMethods, side) =>
1945
- describe(`${side}`, () => {
1946
- contractMethods.forEach((contractMethod: ContractMethod) => {
1947
- describe(`${contractMethod}`, () => {
1948
- it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
1949
- await testE2E(
1950
- tokens[tokenASymbol],
1951
- tokens[tokenBSymbol],
1952
- holders[tokenASymbol],
1953
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
1954
- side,
1955
- dexKey,
1956
- contractMethod,
1957
- network,
1958
- provider,
1959
- undefined,
1960
- undefined,
1961
- undefined,
1962
- 200,
1963
- );
1964
- });
1965
- it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
1966
- await testE2E(
1967
- tokens[tokenBSymbol],
1968
- tokens[tokenASymbol],
1969
- holders[tokenBSymbol],
1970
- side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
1971
- side,
1972
- dexKey,
1973
- contractMethod,
1974
- network,
1975
- provider,
1976
- undefined,
1977
- undefined,
1978
- undefined,
1979
- 200,
1980
- );
1981
- });
1982
- });
1983
- });
1984
- }),
1985
- );
1986
- });
1987
- });
1988
- });
1414
+ testForNetwork(
1415
+ network,
1416
+ dexKey,
1417
+ tokenASymbol,
1418
+ tokenBSymbol,
1419
+ tokenAAmount,
1420
+ tokenBAmount,
1421
+ nativeTokenAmount,
1422
+ );
1989
1423
  });
1990
1424
 
1991
1425
  describe('BalancerV2_MAINNET', () => {
@@ -178,7 +178,7 @@ const fetchAllPools = `query ($count: Int) {
178
178
  orderBy: totalLiquidity
179
179
  orderDirection: desc
180
180
  where: {
181
- or: [
181
+ and: [
182
182
  {
183
183
  or: [
184
184
  { isInRecoveryMode: false }
@@ -1661,7 +1661,8 @@ export class BalancerV2
1661
1661
  },
1662
1662
  {
1663
1663
  id_in: $poolIds,
1664
- swapEnabled: true
1664
+ swapEnabled: true,
1665
+ totalLiquidity_gt: ${MIN_USD_LIQUIDITY_TO_FETCH.toString()}
1665
1666
  }
1666
1667
  ]
1667
1668
  }) {
@@ -0,0 +1,58 @@
1
+ aave-v2
2
+ aave-v3
3
+ aave-v3-stata
4
+ algebra
5
+ angle-staked-stable
6
+ angle-transmuter
7
+ augustus-approvals.ts
8
+ augustus-rfq.ts
9
+ balancer-v1
10
+ balancer-v2
11
+ bancor
12
+ camelot
13
+ compound
14
+ curve-v1
15
+ curve-v1-factory
16
+ curve-v1-stable-ng
17
+ curve-v2
18
+ dexalot
19
+ dexs.txt
20
+ dodo-v1
21
+ dodo-v2.ts
22
+ etherfi.ts
23
+ generic-rfq
24
+ gmx
25
+ hashflow
26
+ idex.ts
27
+ idle-dao
28
+ index.ts
29
+ jarvis-v6
30
+ kyberdmm
31
+ lido
32
+ limit-order-exchange.ts
33
+ maker-psm
34
+ maverick-v1
35
+ maverick-v2
36
+ nerve
37
+ pancakeswap-v3
38
+ paraswap-limit-orders
39
+ polygon-migrator
40
+ quick-perps
41
+ quickswap
42
+ simple-exchange.ts
43
+ smoothy
44
+ solidly
45
+ solidly-v3
46
+ spark
47
+ stable-pool
48
+ swaap-v2
49
+ swell
50
+ synthetix
51
+ trader-joe-v2.1
52
+ uniswap-v2
53
+ uniswap-v3
54
+ uniswap-v3.ts
55
+ weth
56
+ wombat
57
+ woo-fi-v2
58
+ wsteth
@@ -84,8 +84,19 @@ export class GenericRFQ extends ParaSwapLimitOrders {
84
84
  side: SwapSide,
85
85
  blockNumber: number,
86
86
  ): Promise<string[]> {
87
- const _destToken = this.dexHelper.config.wrapETH(destToken);
88
- return [this.getIdentifier(srcToken.address, _destToken.address)];
87
+ const _destToken = this.dexHelper.config
88
+ .wrapETH(destToken)
89
+ .address.toLowerCase();
90
+ const _srcToken = this.dexHelper.config
91
+ .wrapETH(srcToken)
92
+ .address.toLowerCase();
93
+
94
+ const currentPair = `${_srcToken}_${_destToken}`;
95
+ const availablePairs = await this.rateFetcher.getAvailablePairs();
96
+
97
+ return availablePairs
98
+ .filter(p => p === currentPair)
99
+ .map(_ => this.getIdentifier(_srcToken, _destToken));
89
100
  }
90
101
 
91
102
  calcOutsFromAmounts(