@paraswap/dex-lib 2.16.7 → 2.16.8-balancer-v2-buy

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 (82) 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/inspectionProfiles/Project_Default.xml +6 -0
  5. package/.idea/misc.xml +6 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/paraswap-dex-lib.iml +9 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/build/config.js +4 -4
  10. package/build/dex/balancer-v2/balancer-v2.d.ts +14 -19
  11. package/build/dex/balancer-v2/balancer-v2.js +27 -22
  12. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  13. package/build/dex/balancer-v2/config.d.ts +2 -7
  14. package/build/dex/balancer-v2/config.js +20 -30
  15. package/build/dex/balancer-v2/config.js.map +1 -1
  16. package/build/dex/balancer-v2/pools/balancer-v2-pool.d.ts +25 -0
  17. package/build/dex/balancer-v2/pools/balancer-v2-pool.js +107 -0
  18. package/build/dex/balancer-v2/pools/balancer-v2-pool.js.map +1 -0
  19. package/build/dex/balancer-v2/pools/linear/LinearMath.d.ts +20 -0
  20. package/build/dex/balancer-v2/pools/linear/LinearMath.js +179 -0
  21. package/build/dex/balancer-v2/pools/linear/LinearMath.js.map +1 -0
  22. package/build/dex/balancer-v2/pools/linear/LinearPool.d.ts +50 -0
  23. package/build/dex/balancer-v2/pools/linear/LinearPool.js +458 -0
  24. package/build/dex/balancer-v2/pools/linear/LinearPool.js.map +1 -0
  25. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.d.ts +10 -0
  26. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.js +314 -0
  27. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.js.map +1 -0
  28. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.d.ts +50 -0
  29. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js +367 -0
  30. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js.map +1 -0
  31. package/build/dex/balancer-v2/pools/stable/StableMath.d.ts +7 -0
  32. package/build/dex/balancer-v2/pools/stable/StableMath.js +111 -0
  33. package/build/dex/balancer-v2/pools/stable/StableMath.js.map +1 -0
  34. package/build/dex/balancer-v2/pools/stable/StablePool.d.ts +30 -0
  35. package/build/dex/balancer-v2/pools/stable/StablePool.js +129 -0
  36. package/build/dex/balancer-v2/pools/stable/StablePool.js.map +1 -0
  37. package/build/dex/balancer-v2/pools/weighted/WeightedMath.d.ts +6 -0
  38. package/build/dex/balancer-v2/pools/weighted/WeightedMath.js +61 -0
  39. package/build/dex/balancer-v2/pools/weighted/WeightedMath.js.map +1 -0
  40. package/build/dex/balancer-v2/pools/weighted/WeightedPool.d.ts +30 -0
  41. package/build/dex/balancer-v2/pools/weighted/WeightedPool.js +112 -0
  42. package/build/dex/balancer-v2/pools/weighted/WeightedPool.js.map +1 -0
  43. package/build/dex/balancer-v2/types.d.ts +1 -0
  44. package/build/dex/balancer-v2/types.js.map +1 -1
  45. package/build/dex/balancer-v2/utils.d.ts +3 -2
  46. package/build/dex/balancer-v2/utils.js +6 -4
  47. package/build/dex/balancer-v2/utils.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/config.ts +4 -4
  50. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +538 -225
  51. package/src/dex/balancer-v2/balancer-v2-integration.test.ts +305 -122
  52. package/src/dex/balancer-v2/balancer-v2.ts +60 -56
  53. package/src/dex/balancer-v2/config.ts +23 -35
  54. package/src/dex/balancer-v2/pools/balancer-v2-pool.ts +274 -0
  55. package/src/dex/balancer-v2/{LinearMath.ts → pools/linear/LinearMath.ts} +11 -10
  56. package/src/dex/balancer-v2/{LinearPool.ts → pools/linear/LinearPool.ts} +210 -6
  57. package/src/dex/balancer-v2/{StableMath.ts → pools/phantom-stable/PhantomStableMath.ts} +101 -21
  58. package/src/dex/balancer-v2/{PhantomStablePool.ts → pools/phantom-stable/PhantomStablePool.ts} +167 -12
  59. package/src/dex/balancer-v2/pools/stable/StableMath.ts +204 -0
  60. package/src/dex/balancer-v2/pools/stable/StablePool.ts +221 -0
  61. package/src/dex/balancer-v2/pools/weighted/WeightedMath.ts +84 -0
  62. package/src/dex/balancer-v2/pools/weighted/WeightedPool.ts +189 -0
  63. package/src/dex/balancer-v2/types.ts +1 -0
  64. package/src/dex/balancer-v2/utils.ts +7 -1
  65. package/tests/constants-e2e.ts +33 -8
  66. package/build/abi/DirectSwap.json +0 -970
  67. package/build/dex/test-dex/config.d.ts +0 -4
  68. package/build/dex/test-dex/config.js +0 -15
  69. package/build/dex/test-dex/config.js.map +0 -1
  70. package/build/dex/test-dex/test-dex-pool.d.ts +0 -39
  71. package/build/dex/test-dex/test-dex-pool.js +0 -63
  72. package/build/dex/test-dex/test-dex-pool.js.map +0 -1
  73. package/build/dex/test-dex/test-dex.d.ts +0 -37
  74. package/build/dex/test-dex/test-dex.js +0 -126
  75. package/build/dex/test-dex/test-dex.js.map +0 -1
  76. package/build/dex/test-dex/types.d.ts +0 -6
  77. package/build/dex/test-dex/types.js +0 -3
  78. package/build/dex/test-dex/types.js.map +0 -1
  79. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
  80. package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
  81. package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
  82. package/src/dex/balancer-v2/balancer-v2-pool.ts +0 -744
@@ -2,6 +2,7 @@ import { getAddress } from '@ethersproject/address';
2
2
  import { Interface, Result } from '@ethersproject/abi';
3
3
  import { getBigIntPow } from '../../utils';
4
4
  import { BI_POWS } from '../../bigint-constants';
5
+ import { SwapSide } from '../../constants';
5
6
 
6
7
  import {
7
8
  BalancerPoolTypes,
@@ -44,6 +45,7 @@ export function poolGetPathForTokenInOut(
44
45
  tokenOutAddress: string,
45
46
  pool: SubgraphPoolBase,
46
47
  poolsMap: SubgraphPoolAddressDictionary,
48
+ side: SwapSide,
47
49
  ): BalancerPathHop[] {
48
50
  const tokenIn = findRequiredMainTokenInPool(tokenInAddress, pool);
49
51
  const tokenOut = findRequiredMainTokenInPool(tokenOutAddress, pool);
@@ -62,11 +64,13 @@ export function poolGetPathForTokenInOut(
62
64
  tokenOut: hop.token,
63
65
  }));
64
66
 
65
- return [
67
+ const result = [
66
68
  ...tokenInHops,
67
69
  { pool, tokenIn: tokenIn.poolToken, tokenOut: tokenOut.poolToken },
68
70
  ...tokenOutHops,
69
71
  ];
72
+
73
+ return side === SwapSide.SELL ? result : result.reverse();
70
74
  }
71
75
 
72
76
  export function getAllPoolsUsedInPaths(
@@ -74,6 +78,7 @@ export function getAllPoolsUsedInPaths(
74
78
  to: string,
75
79
  allowedPools: SubgraphPoolBase[],
76
80
  poolAddressMap: SubgraphPoolAddressDictionary,
81
+ side: SwapSide,
77
82
  ) {
78
83
  //get all pools from the nested paths
79
84
  return uniqBy(
@@ -84,6 +89,7 @@ export function getAllPoolsUsedInPaths(
84
89
  to.toLowerCase(),
85
90
  pool,
86
91
  poolAddressMap,
92
+ side,
87
93
  ).map(hop => hop.pool),
88
94
  )
89
95
  .flat(),
@@ -67,6 +67,10 @@ export const Tokens: {
67
67
  addBalance: balanceOfFn,
68
68
  addAllowance: allowanceFn,
69
69
  },
70
+ PSP: {
71
+ address: '0xcafe001067cdef266afb7eb5a286dcfd277f3de5',
72
+ decimals: 18,
73
+ },
70
74
  SETH: {
71
75
  address: '0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb',
72
76
  decimals: 18,
@@ -98,7 +102,7 @@ export const Tokens: {
98
102
  decimals: 18,
99
103
  },
100
104
  aUSDT: {
101
- address: '0x3Ed3B47Dd13EC9a98b44e6204A523E766B225811',
105
+ address: '0x3Ed3B47Dd13ECAURA9a98b44e6204A523E766B225811',
102
106
  decimals: 6,
103
107
  },
104
108
  waUSDT: {
@@ -113,6 +117,14 @@ export const Tokens: {
113
117
  address: '0xba100000625a3754423978a60c9317c58a424e3D',
114
118
  decimals: 18,
115
119
  },
120
+ OHM: {
121
+ address: '0x64aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d5',
122
+ decimals: 9,
123
+ },
124
+ AURA: {
125
+ address: '0xc0c293ce456ff0ed870add98a0828dd4d2903dbf',
126
+ decimals: 18,
127
+ },
116
128
  WISE: {
117
129
  address: '0x66a0f676479cee1d7373f3dc2e2952778bff5bd6',
118
130
  decimals: 18,
@@ -703,6 +715,14 @@ export const Tokens: {
703
715
  address: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8',
704
716
  decimals: 6,
705
717
  },
718
+ OHM: {
719
+ address: '0xf0cb2dc0db5e6c66b9a70ac27b06b878da017028',
720
+ decimals: 9,
721
+ },
722
+ RDNT: {
723
+ address: '0x3082cc23568ea640225c2467653db90e9250aaa0',
724
+ decimals: 18,
725
+ },
706
726
  USDT: {
707
727
  address: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9',
708
728
  decimals: 6,
@@ -812,13 +832,13 @@ export const Holders: {
812
832
  } = {
813
833
  [Network.MAINNET]: {
814
834
  ETH: '0x176F3DAb24a159341c0509bB36B833E7fdd0a132',
815
- USDC: '0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2',
816
- WBTC: '0x6daB3bCbFb336b29d06B9C793AEF7eaA57888922',
835
+ USDC: '0x79E2Ba942B0e8fDB6ff3d406e930289d10B49ADe',
836
+ WBTC: '0x1Cb17a66DC606a52785f69F08F4256526aBd4943',
817
837
  BADGER: '0x34e2741a3f8483dbe5231f61c005110ff4b9f50a',
818
838
  STETH: '0x9bdb521a97e95177bf252c253e256a60c3e14447',
819
839
  wstETH: '0x6cE0F913F035ec6195bC3cE885aec4C66E485BC4',
820
- WETH: '0x56178a0d5f301baf6cf3e1cd53d9863437345bf9',
821
- USDT: '0x5754284f345afc66a98fbb0a0afe71e0f007b949',
840
+ WETH: '0x2fEb1512183545f48f6b9C5b4EbfCaF49CfCa6F3',
841
+ USDT: '0x8A446971dbB112f3be15bc38C14D44B94D9E94b9',
822
842
  XAUT: '0xc4e161e8d8a4bc4ac762ab33a28bbac5474203d7',
823
843
  CVX: '0x0aCA67Fa70B142A3b9bF2eD89A81B40ff85dACdC',
824
844
  MIM: '0xa046a8660e66d178ee07ec97c585eeb6aa18c26c',
@@ -827,7 +847,9 @@ export const Holders: {
827
847
  oldFRAX: '0x183d0dc5867c01bfb1dbbc41d6a9d3de6e044626',
828
848
  newFRAX: '0x183d0dc5867c01bfb1dbbc41d6a9d3de6e044626',
829
849
  FEI: '0x19c549357034d10db8d75ed812b45be1dd8a7218',
830
- BAL: '0x7514f531ef3721b8d2ff8d3a841d7c05011eecca',
850
+ BAL: '0x740a4AEEfb44484853AA96aB12545FC0290805F3',
851
+ OHM: '0x3D7FEAB5cfab1c7De8ab2b7D5B260E76fD88BC78',
852
+ AURA: '0xBB19053E031D9B2B364351B21a8ed3568b21399b',
831
853
  WISE: '0x25c315e0758beeab30ee048a4e2080e7084b64b3',
832
854
  DDIM: '0x229cbd1955fee93ab6e7876c1b17f6d0b859e953',
833
855
  DODO: '0x3e19d726ed435afd3a42967551426b3a47c0f5b7',
@@ -864,7 +886,8 @@ export const Holders: {
864
886
  SHIBA: '0x73af3bcf944a6559933396c1577b257e2054d935',
865
887
  aEthUSDC: '0x3178490d60B5cceaA5a79FD4D9050C7405Bab80c',
866
888
  aEthWETH: '0x645C4c0c95C1Aa6EF25d12f4a25038cA9b0C6Cc7',
867
- dUSDC: '0x3C6A135F7A3A7Ce203EF629B43D9dc66f0f98BFa',
889
+ dUSDC: '0x2FC2F705110A7F46Ce85F701d7217EF1018f01A3',
890
+ PSP: '0xE5E5440a1CE69C5cf67BFFA74d185e57c31b43E5',
868
891
  },
869
892
  [Network.ROPSTEN]: {
870
893
  ETH: '0x43262A12d8610AA70C15DbaeAC321d51613c9071',
@@ -972,7 +995,8 @@ export const Holders: {
972
995
  ETH: '0xF977814e90dA44bFA03b6295A0616a897441aceC',
973
996
  DAI: '0x07d7f291e731a41d3f0ea4f1ae5b6d920ffb3fe0',
974
997
  WETH: '0xc31e54c7a869b9fcbecc14363cf510d1c41fa443',
975
- USDC: '0xb19fe973edd97e971534f6c46d96f2b109d3f1de',
998
+ USDC: '0x62383739d68dd0f844103db8dfb05a7eded5bbe6',
999
+ OHM: '0xebce5f29ff5ca9aa330ebdf7ec6b5f474bff271e',
976
1000
  USDT: '0x62383739d68dd0f844103db8dfb05a7eded5bbe6',
977
1001
  POPS: '0x4b78b52e7de4d8b7d367297cb8a87c1875a9d591',
978
1002
  FRAX: '0x59bf0545fca0e5ad48e13da269facd2e8c886ba4',
@@ -987,6 +1011,7 @@ export const Holders: {
987
1011
  aArbUSDC: '0x048BF2F5908e95976CeAD0E47D805b3803E286e2',
988
1012
  ZYB: '0x3ec0eddcd1e25025077327886a78133589082fb2',
989
1013
  WBTC: '0xd9d611c6943585bc0e18e51034af8fa28778f7da',
1014
+ RDNT: '0x62383739d68dd0f844103db8dfb05a7eded5bbe6'
990
1015
  },
991
1016
  [Network.OPTIMISM]: {
992
1017
  ETH: '0x9ef21bE1C270AA1c3c3d750F458442397fBFFCB6',