@paraswap/dex-lib 4.0.22 → 4.0.23

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 (172) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/prettier.xml +7 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/build/abi/integral/factory.json +333 -0
  10. package/build/abi/integral/oracle.json +501 -0
  11. package/build/abi/{inception/inception-ineth-pool.json → integral/pool.json} +522 -543
  12. package/build/abi/{wombat/pool.json → integral/relayer.json} +720 -473
  13. package/build/dex/aave-v1/aave-v1.d.ts +1 -2
  14. package/build/dex/aave-v1/aave-v1.js +0 -23
  15. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  16. package/build/dex/balancer-v2/config.js +1 -1
  17. package/build/dex/balancer-v2/config.js.map +1 -1
  18. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +49 -0
  19. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +104 -0
  20. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +1 -0
  21. package/build/dex/generic-rfq/e2e-test-config.js +3 -3
  22. package/build/dex/generic-rfq/e2e-test-config.js.map +1 -1
  23. package/build/dex/integral/config.d.ts +4 -0
  24. package/build/dex/integral/config.js +20 -0
  25. package/build/dex/integral/config.js.map +1 -0
  26. package/build/dex/integral/context.d.ts +40 -0
  27. package/build/dex/integral/context.js +158 -0
  28. package/build/dex/integral/context.js.map +1 -0
  29. package/build/dex/integral/integral-factory.d.ts +24 -0
  30. package/build/dex/integral/integral-factory.js +95 -0
  31. package/build/dex/integral/integral-factory.js.map +1 -0
  32. package/build/dex/integral/integral-pool.d.ts +50 -0
  33. package/build/dex/integral/integral-pool.js +149 -0
  34. package/build/dex/integral/integral-pool.js.map +1 -0
  35. package/build/dex/integral/integral-pricing.d.ts +18 -0
  36. package/build/dex/integral/integral-pricing.js +114 -0
  37. package/build/dex/integral/integral-pricing.js.map +1 -0
  38. package/build/dex/integral/integral-relayer.d.ts +42 -0
  39. package/build/dex/integral/integral-relayer.js +192 -0
  40. package/build/dex/integral/integral-relayer.js.map +1 -0
  41. package/build/dex/integral/integral-token.d.ts +27 -0
  42. package/build/dex/integral/integral-token.js +59 -0
  43. package/build/dex/integral/integral-token.js.map +1 -0
  44. package/build/dex/integral/integral.d.ts +41 -0
  45. package/build/dex/integral/integral.js +376 -0
  46. package/build/dex/integral/integral.js.map +1 -0
  47. package/build/dex/integral/types.d.ts +85 -0
  48. package/build/dex/integral/types.js +9 -0
  49. package/build/dex/integral/types.js.map +1 -0
  50. package/build/dex/integral/utils-e2e.d.ts +9 -0
  51. package/build/dex/integral/utils-e2e.js +131 -0
  52. package/build/dex/integral/utils-e2e.js.map +1 -0
  53. package/build/dex/integral/utils.d.ts +17 -0
  54. package/build/dex/integral/utils.js +94 -0
  55. package/build/dex/integral/utils.js.map +1 -0
  56. package/build/dex/jarvis.d.ts +1 -2
  57. package/build/dex/jarvis.js +0 -58
  58. package/build/dex/jarvis.js.map +1 -1
  59. package/build/dex/maverick-v1/config.js +1 -1
  60. package/build/dex/maverick-v1/config.js.map +1 -1
  61. package/build/dex/platypus/platypus.d.ts +1 -2
  62. package/build/dex/platypus/platypus.js +0 -45
  63. package/build/dex/platypus/platypus.js.map +1 -1
  64. package/build/dex/stable-pool.js +8 -1
  65. package/build/dex/stable-pool.js.map +1 -1
  66. package/build/dex/swaap-v1/swaap-v1.d.ts +1 -2
  67. package/build/dex/swaap-v1/swaap-v1.js +0 -14
  68. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  69. package/build/dex/trader-joe-v2.1/optimizer.d.ts +2 -0
  70. package/build/dex/trader-joe-v2.1/optimizer.js +47 -0
  71. package/build/dex/trader-joe-v2.1/optimizer.js.map +1 -0
  72. package/build/dex/uniswap-v3/config.js +1 -1
  73. package/build/dex/uniswap-v3/config.js.map +1 -1
  74. package/build/dex/zerox/index.d.ts +26 -4
  75. package/build/dex/zerox/index.js +42 -50
  76. package/build/dex/zerox/index.js.map +1 -1
  77. package/build/dex/zerox/types.d.ts +0 -29
  78. package/build/dex/zerox/types.js +1 -8
  79. package/build/dex/zerox/types.js.map +1 -1
  80. package/package.json +1 -1
  81. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +165 -102
  82. package/src/dex/balancer-v2/balancer-v2-integration.test.ts +238 -80
  83. package/src/dex/balancer-v2/config.ts +1 -2
  84. package/src/dex/generic-rfq/e2e-test-config.ts +3 -3
  85. package/src/dex/generic-rfq/generic-rfq-e2e.test.ts +2 -2
  86. package/src/dex/maverick-v1/config.ts +1 -2
  87. package/src/dex/uniswap-v3/config.ts +1 -2
  88. package/tests/constants-e2e.ts +1 -1
  89. package/tests/smart-tokens.ts +1 -3
  90. package/tests/tenderly-simulation.ts +149 -84
  91. package/tests/utils-e2e.ts +5 -2
  92. package/.vscode/launch.json +0 -53
  93. package/.vscode/settings.json +0 -2
  94. package/.vscode/tasks.json +0 -15
  95. package/build/abi/inception/inception-ratio-feed.json +0 -329
  96. package/build/abi/inception/inception-vault.json +0 -991
  97. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
  98. package/build/abi/usual-m-smart-m/usualM.abi.json +0 -483
  99. package/build/dex/aave-v2/tokens-avalanche.json +0 -44
  100. package/build/dex/aave-v2/tokens-mainnet.json +0 -188
  101. package/build/dex/aave-v2/tokens-polygon.json +0 -44
  102. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +0 -729
  103. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +0 -732
  104. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +0 -1
  105. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +0 -1406
  106. package/build/dex/balancer-v3/abi/balancerRouter.js +0 -1175
  107. package/build/dex/balancer-v3/abi/balancerRouter.js.map +0 -1
  108. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +0 -2081
  109. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +0 -1851
  110. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +0 -1
  111. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +0 -34
  112. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +0 -406
  113. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +0 -1
  114. package/build/dex/inception/config.d.ts +0 -4
  115. package/build/dex/inception/config.js +0 -109
  116. package/build/dex/inception/config.js.map +0 -1
  117. package/build/dex/inception/inception-event-pool.d.ts +0 -16
  118. package/build/dex/inception/inception-event-pool.js +0 -49
  119. package/build/dex/inception/inception-event-pool.js.map +0 -1
  120. package/build/dex/inception/inception.d.ts +0 -43
  121. package/build/dex/inception/inception.js +0 -180
  122. package/build/dex/inception/inception.js.map +0 -1
  123. package/build/dex/inception/tokens.d.ts +0 -9
  124. package/build/dex/inception/tokens.js +0 -28
  125. package/build/dex/inception/tokens.js.map +0 -1
  126. package/build/dex/inception/types.d.ts +0 -22
  127. package/build/dex/inception/types.js +0 -3
  128. package/build/dex/inception/types.js.map +0 -1
  129. package/build/dex/inception/utils.d.ts +0 -7
  130. package/build/dex/inception/utils.js +0 -58
  131. package/build/dex/inception/utils.js.map +0 -1
  132. package/build/dex/maker-psm/scripts/gem.abi.json +0 -136
  133. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  134. package/build/dex/maker-psm/scripts/validate-state.js +0 -185
  135. package/build/dex/maker-psm/scripts/validate-state.js.map +0 -1
  136. package/build/dex/maker-psm/scripts/vat.abi.json +0 -243
  137. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +0 -1
  138. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +0 -53
  139. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +0 -1
  140. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +0 -17
  141. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +0 -64
  142. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +0 -1
  143. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +0 -17
  144. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +0 -79
  145. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +0 -1
  146. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +0 -4
  147. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +0 -43
  148. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +0 -1
  149. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +0 -1
  150. package/build/dex/uniswap-v3/uniswap-v3-worker.js +0 -10
  151. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +0 -1
  152. package/build/dex/usual/usual-m-smart-m.d.ts +0 -17
  153. package/build/dex/usual/usual-m-smart-m.js +0 -50
  154. package/build/dex/usual/usual-m-smart-m.js.map +0 -1
  155. package/build/dex/usual-m-smart-m/config.d.ts +0 -3
  156. package/build/dex/usual-m-smart-m/config.js +0 -13
  157. package/build/dex/usual-m-smart-m/config.js.map +0 -1
  158. package/build/dex/usual-m-smart-m/types.d.ts +0 -7
  159. package/build/dex/usual-m-smart-m/types.js +0 -3
  160. package/build/dex/usual-m-smart-m/types.js.map +0 -1
  161. package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +0 -35
  162. package/build/dex/usual-m-smart-m/usual-m-smart-m.js +0 -161
  163. package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +0 -1
  164. package/build/dex/usual-m-usd0/config.d.ts +0 -3
  165. package/build/dex/usual-m-usd0/config.js +0 -14
  166. package/build/dex/usual-m-usd0/config.js.map +0 -1
  167. package/build/dex/usual-m-usd0/types.d.ts +0 -8
  168. package/build/dex/usual-m-usd0/types.js +0 -3
  169. package/build/dex/usual-m-usd0/types.js.map +0 -1
  170. package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +0 -35
  171. package/build/dex/usual-m-usd0/usual-m-usd0.js +0 -159
  172. package/build/dex/usual-m-usd0/usual-m-usd0.js.map +0 -1
@@ -30,11 +30,9 @@ async function getOnChainPricingForWeightedPool(
30
30
  return 0n;
31
31
  }
32
32
 
33
- const params = balancerV2.getBalancerParam(
33
+ const params = balancerV2.getBalancerV2BatchSwapParam(
34
34
  srcTokenAddress,
35
35
  destTokenAddress,
36
- '0',
37
- '0',
38
36
  {
39
37
  swaps: [
40
38
  {
@@ -44,6 +42,8 @@ async function getOnChainPricingForWeightedPool(
44
42
  ],
45
43
  },
46
44
  side,
45
+ balancerV2.dexHelper.config.data.augustusV6Address!,
46
+ balancerV2.dexHelper.config.data.augustusV6Address!,
47
47
  );
48
48
 
49
49
  const calldata = [
@@ -611,85 +611,243 @@ describe('BalancerV2', function () {
611
611
  });
612
612
 
613
613
  describe('GyroE', () => {
614
- // sDAI<>GYD - more likely to have continued liqudity
615
- const gyroEAddr = '0x1cce5169bde03f3d5ad0206f6bd057953539dae6';
616
-
617
- it('getPoolIdentifiers and getPricesVolume', async function () {
618
- const network = Network.MAINNET;
619
- const dexHelper = new DummyDexHelper(network);
620
- // const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
621
- const blocknumber = 19425305;
622
- const balancerV2 = new BalancerV2(network, dexKey, dexHelper);
623
- const tokens = Tokens[network];
624
-
625
- await balancerV2.initializePricing(blocknumber);
626
-
627
- const pools = await balancerV2.getPoolIdentifiers(
628
- tokens.GYD,
629
- tokens.sDAI,
630
- SwapSide.SELL,
631
- blocknumber,
632
- );
633
- console.log('GYD <> sDAI Pool Identifiers (Mainnet): ', pools);
634
-
635
- const isPool = pools.find(poolIdentifier =>
636
- poolIdentifier.includes(gyroEAddr),
637
- );
638
-
639
- expect(isPool).toBeDefined();
640
-
641
- const poolPrices = await balancerV2.getPricesVolume(
642
- tokens.GYD,
643
- tokens.sDAI,
644
- amounts,
645
- SwapSide.SELL,
646
- blocknumber,
647
- pools,
648
- );
649
- console.log('GYD <> sDAI Pool Prices (Mainnet): ', poolPrices);
650
-
651
- expect(poolPrices).not.toBeNull();
652
- checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
653
- const isPoolPrice = poolPrices!.find(price =>
654
- price.data.poolId.includes(gyroEAddr),
655
- );
656
- expect(isPoolPrice).toBeDefined();
657
-
658
- const onChainPrices = await getOnChainPricingForWeightedPool(
659
- balancerV2,
660
- blocknumber,
661
- isPoolPrice!,
662
- amounts,
663
- tokens.GYD.address,
664
- tokens.sDAI.address,
665
- SwapSide.SELL,
666
- );
667
-
668
- console.log('GYD <> sDAI on-chain prices: ', onChainPrices);
669
-
670
- expect(onChainPrices).toEqual(isPoolPrice!.prices);
671
-
672
- await balancerV2.releaseResources();
614
+ describe('sDAI > GYD', () => {
615
+ // sDAI<>GYD - more likely to have continued liqudity
616
+ const gyroEAddr = '0x1cce5169bde03f3d5ad0206f6bd057953539dae6';
617
+
618
+ it('getPoolIdentifiers and getPricesVolume', async function () {
619
+ const network = Network.MAINNET;
620
+ const dexHelper = new DummyDexHelper(network);
621
+ // const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
622
+ const blocknumber = 19425305;
623
+ const balancerV2 = new BalancerV2(network, dexKey, dexHelper);
624
+ const tokens = Tokens[network];
625
+
626
+ await balancerV2.initializePricing(blocknumber);
627
+
628
+ const pools = await balancerV2.getPoolIdentifiers(
629
+ tokens.GYD,
630
+ tokens.sDAI,
631
+ SwapSide.SELL,
632
+ blocknumber,
633
+ );
634
+ console.log('GYD <> sDAI Pool Identifiers (Mainnet): ', pools);
635
+
636
+ const isPool = pools.find(poolIdentifier =>
637
+ poolIdentifier.includes(gyroEAddr),
638
+ );
639
+
640
+ expect(isPool).toBeDefined();
641
+
642
+ const poolPrices = await balancerV2.getPricesVolume(
643
+ tokens.GYD,
644
+ tokens.sDAI,
645
+ amounts,
646
+ SwapSide.SELL,
647
+ blocknumber,
648
+ pools,
649
+ );
650
+ console.log('GYD <> sDAI Pool Prices (Mainnet): ', poolPrices);
651
+
652
+ expect(poolPrices).not.toBeNull();
653
+ checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
654
+ const isPoolPrice = poolPrices!.find(price =>
655
+ price.data.poolId.includes(gyroEAddr),
656
+ );
657
+ expect(isPoolPrice).toBeDefined();
658
+
659
+ const onChainPrices = await getOnChainPricingForWeightedPool(
660
+ balancerV2,
661
+ blocknumber,
662
+ isPoolPrice!,
663
+ amounts,
664
+ tokens.GYD.address,
665
+ tokens.sDAI.address,
666
+ SwapSide.SELL,
667
+ );
668
+
669
+ console.log('GYD <> sDAI on-chain prices: ', onChainPrices);
670
+
671
+ expect(onChainPrices).toEqual(isPoolPrice!.prices);
672
+
673
+ await balancerV2.releaseResources();
674
+ });
675
+
676
+ it('getTopPoolsForToken', async function () {
677
+ const network = Network.MAINNET;
678
+ const dexHelper = new DummyDexHelper(network);
679
+ const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
680
+ const balancerV2 = new BalancerV2(network, dexKey, dexHelper);
681
+ await balancerV2.initializePricing(blocknumber);
682
+ const tokens = Tokens[network];
683
+
684
+ const poolLiquidity = await balancerV2.getTopPoolsForToken(
685
+ tokens.sDAI.address.toLowerCase(),
686
+ 10,
687
+ );
688
+ console.log('sDAI Top Pools (Mainnet):', poolLiquidity);
689
+
690
+ checkPoolsLiquidity(poolLiquidity, tokens.sDAI.address, dexKey);
691
+ const isTopPool = poolLiquidity.find(
692
+ pool => pool.address === gyroEAddr,
693
+ );
694
+ expect(isTopPool).toBeDefined();
695
+ await balancerV2.releaseResources();
696
+ });
673
697
  });
674
698
 
675
- it('getTopPoolsForToken', async function () {
676
- const network = Network.MAINNET;
677
- const dexHelper = new DummyDexHelper(network);
678
- const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
679
- const balancerV2 = new BalancerV2(network, dexKey, dexHelper);
680
- await balancerV2.initializePricing(blocknumber);
681
- const tokens = Tokens[network];
682
-
683
- const poolLiquidity = await balancerV2.getTopPoolsForToken(
684
- tokens.sDAI.address.toLowerCase(),
685
- 10,
686
- );
687
- console.log('sDAI Top Pools (Mainnet):', poolLiquidity);
688
-
689
- checkPoolsLiquidity(poolLiquidity, tokens.sDAI.address, dexKey);
690
- const isTopPool = poolLiquidity.find(pool => pool.address === gyroEAddr);
691
- expect(isTopPool).toBeDefined();
692
- await balancerV2.releaseResources();
699
+ describe('WETH / USDC', () => {
700
+ const gyroEAddr = '0x4c42b5057a8663e2b1ac21685d1502c937a03817';
701
+
702
+ it('SELL WETH -> USDC getPoolIdentifiers and getPricesVolume', async function () {
703
+ const network = Network.BASE;
704
+
705
+ const dexHelper = new DummyDexHelper(network);
706
+ const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
707
+ // const blocknumber = 19425305;
708
+ const balancerV2 = new BalancerV2(network, dexKey, dexHelper);
709
+ const tokens = Tokens[network];
710
+
711
+ const amounts = [
712
+ 0n,
713
+ BI_POWS[18],
714
+ 2n * BI_POWS[18],
715
+ 3n * BI_POWS[18],
716
+ 4n * BI_POWS[18],
717
+ 5n * BI_POWS[18],
718
+ 6n * BI_POWS[18],
719
+ 7n * BI_POWS[18],
720
+ 8n * BI_POWS[18],
721
+ 9n * BI_POWS[18],
722
+ 10n * BI_POWS[18],
723
+ ];
724
+
725
+ await balancerV2.initializePricing(blocknumber);
726
+
727
+ const pools = await balancerV2.getPoolIdentifiers(
728
+ tokens.WETH,
729
+ tokens.USDC,
730
+ SwapSide.SELL,
731
+ blocknumber,
732
+ );
733
+ console.log('WETH <> USDC Pool Identifiers (Mainnet): ', pools);
734
+
735
+ const isPool = pools.find(poolIdentifier =>
736
+ poolIdentifier.includes(gyroEAddr),
737
+ );
738
+
739
+ expect(isPool).toBeDefined();
740
+
741
+ const poolPrices = await balancerV2.getPricesVolume(
742
+ tokens.WETH,
743
+ tokens.USDC,
744
+ amounts,
745
+ SwapSide.SELL,
746
+ blocknumber,
747
+ pools,
748
+ );
749
+ console.log('WETH <> USDC Pool Prices (Base): ', poolPrices);
750
+
751
+ expect(poolPrices).not.toBeNull();
752
+
753
+ // checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
754
+ const isPoolPrice = poolPrices!.find(price =>
755
+ price.data.poolId.includes(gyroEAddr),
756
+ );
757
+ expect(isPoolPrice).toBeDefined();
758
+
759
+ const onChainPrices = await getOnChainPricingForWeightedPool(
760
+ balancerV2,
761
+ blocknumber,
762
+ isPoolPrice!,
763
+ amounts,
764
+ tokens.WETH.address,
765
+ tokens.USDC.address,
766
+ SwapSide.SELL,
767
+ );
768
+
769
+ console.log('WETH <> USDC on-chain prices: ', onChainPrices);
770
+
771
+ expect(onChainPrices).toEqual(isPoolPrice!.prices);
772
+
773
+ await balancerV2.releaseResources();
774
+ });
775
+
776
+ it('SELL USDC -> WETH getPoolIdentifiers and getPricesVolume', async function () {
777
+ const network = Network.BASE;
778
+ const dexHelper = new DummyDexHelper(network);
779
+ // const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
780
+ const blocknumber = 24931862;
781
+ const balancerV2 = new BalancerV2(network, dexKey, dexHelper);
782
+ const tokens = Tokens[network];
783
+
784
+ const amounts = [
785
+ 0n,
786
+ 1000000n,
787
+ // BI_POWS[6],
788
+ // 2n * BI_POWS[6],
789
+ // 3n * BI_POWS[6],
790
+ // 4n * BI_POWS[6],
791
+ // 5n * BI_POWS[6],
792
+ // 6n * BI_POWS[6],
793
+ // 7n * BI_POWS[6],
794
+ // 8n * BI_POWS[6],
795
+ // 9n * BI_POWS[6],
796
+ // 10n * BI_POWS[6],
797
+ ];
798
+
799
+ await balancerV2.initializePricing(blocknumber);
800
+
801
+ const pools = await balancerV2.getPoolIdentifiers(
802
+ tokens.USDC,
803
+ tokens.WETH,
804
+ SwapSide.SELL,
805
+ blocknumber,
806
+ );
807
+ console.log('USDC -> WETH Pool Identifiers (Base): ', pools);
808
+
809
+ const isPool = pools.find(poolIdentifier =>
810
+ poolIdentifier.includes(gyroEAddr),
811
+ );
812
+
813
+ expect(isPool).toBeDefined();
814
+
815
+ const poolPrices = await balancerV2.getPricesVolume(
816
+ tokens.USDC,
817
+ tokens.WETH,
818
+ amounts,
819
+ SwapSide.SELL,
820
+ blocknumber,
821
+ pools,
822
+ );
823
+ console.log('USDC -> WETH Pool Prices (Base): ', poolPrices);
824
+
825
+ expect(poolPrices).not.toBeNull();
826
+
827
+ // checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
828
+ const isPoolPrice = poolPrices!.find(price =>
829
+ price.data.poolId.includes(gyroEAddr),
830
+ );
831
+ expect(isPoolPrice).toBeDefined();
832
+
833
+ console.log('isPoolPrice: ', isPoolPrice);
834
+
835
+ const onChainPrices = await getOnChainPricingForWeightedPool(
836
+ balancerV2,
837
+ blocknumber,
838
+ isPoolPrice!,
839
+ amounts,
840
+ tokens.USDC.address,
841
+ tokens.WETH.address,
842
+ SwapSide.SELL,
843
+ );
844
+
845
+ console.log('USDC -> WETH on-chain prices: ', onChainPrices);
846
+
847
+ expect(onChainPrices).toEqual(isPoolPrice!.prices);
848
+
849
+ await balancerV2.releaseResources();
850
+ });
693
851
  });
694
852
  });
695
853
  });
@@ -21,8 +21,7 @@ export const BalancerConfig: DexConfigMap<DexParams> = {
21
21
  vaultAddress: '0xBA12222222228d8Ba445958a75a0704d566BF2C8',
22
22
  },
23
23
  [Network.BASE]: {
24
- subgraphURL:
25
- 'https://api.studio.thegraph.com/query/24660/balancer-base-v2/version/latest',
24
+ subgraphURL: 'E7XyutxXVLrp8njmjF16Hh38PCJuHm12RRyMt5ma4ctX',
26
25
  vaultAddress: '0xBA12222222228d8Ba445958a75a0704d566BF2C8',
27
26
  },
28
27
  [Network.GNOSIS]: {
@@ -8,16 +8,16 @@ export const testConfig: {
8
8
  amount: string;
9
9
  }>;
10
10
  } = {
11
- [Network.ARBITRUM]: [
11
+ [Network.MAINNET]: [
12
12
  {
13
- srcToken: 'WETH',
13
+ srcToken: 'USDT',
14
14
  destToken: 'USDC',
15
15
  amount: '10000',
16
16
  swapSide: SwapSide.BUY,
17
17
  },
18
18
  {
19
19
  srcToken: 'USDC',
20
- destToken: 'WETH',
20
+ destToken: 'USDT',
21
21
  amount: '10000',
22
22
  swapSide: SwapSide.SELL,
23
23
  },
@@ -115,8 +115,8 @@ describe(`GenericRFQ ${dexKey} E2E`, () => {
115
115
  `Please add "addBalance" and "addAllowance" functions for ${testCase.destToken} on ${Network[network]} (in constants-e2e.ts).`,
116
116
  );
117
117
  }
118
- srcToken = smartTokens[testCase.srcToken];
119
- destToken = smartTokens[testCase.destToken];
118
+ srcToken = new SmartToken(tokens[testCase.srcToken]);
119
+ destToken = new SmartToken(tokens[testCase.destToken]);
120
120
 
121
121
  srcToken.addBalance(testAccount.address, MAX_UINT);
122
122
  srcToken.addAllowance(
@@ -14,8 +14,7 @@ export const MaverickV1Config: DexConfigMap<DexParams> = {
14
14
  poolInspectorAddress: '0xaA5BF61a664109e959D69C38734d4EA7dF74e456',
15
15
  },
16
16
  [Network.BASE]: {
17
- subgraphURL:
18
- 'https://api.studio.thegraph.com/query/42519/maverick-base/version/latest',
17
+ subgraphURL: 'CSxkHjxpG1TxTBQMn55uG1DWpdD4Lsix4RNX4RTLvK4T',
19
18
  routerAddress: '0x32AED3Bce901DA12ca8489788F3A99fCe1056e14',
20
19
  poolInspectorAddress: '0x65A3AD03Be97619284bA7AA1E3Ca05638B9d6364',
21
20
  },
@@ -117,8 +117,7 @@ export const UniswapV3Config: DexConfigMap<DexParams> = {
117
117
  chunksCount: 10,
118
118
  initRetryFrequency: 10,
119
119
  initHash: `0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54`,
120
- subgraphURL:
121
- 'https://api.studio.thegraph.com/query/48211/uniswap-v3-base/version/latest',
120
+ subgraphURL: 'GqzP4Xaehti8KSfQmv3ZctFSjnSUYZ4En5NRsiTbvZpz',
122
121
  },
123
122
  },
124
123
  SushiSwapV3: {
@@ -128,7 +128,7 @@ export const Tokens: {
128
128
  address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
129
129
  decimals: 6,
130
130
  symbol: 'USDC',
131
- addBalance: balancesFn,
131
+ addBalance: balanceAndBlacklistStatesFn,
132
132
  addAllowance: allowedFn,
133
133
  },
134
134
  INST: {
@@ -5,9 +5,7 @@ export type StateOverride = {
5
5
  };
6
6
 
7
7
  export type StateSimulateApiOverride = {
8
- storage: {
9
- value: Record<string, string>;
10
- };
8
+ storage: Record<string, string>;
11
9
  };
12
10
 
13
11
  export type StateOverrides = {