@paraswap/dex-lib 2.42.30 → 2.42.31

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 (83) hide show
  1. package/build/abi/smardex/smardex-factory.json +185 -0
  2. package/build/abi/smardex/smardex-pool.json +578 -0
  3. package/build/abi/smardex/smardex-router.json +648 -0
  4. package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -0
  5. package/build/abi/trader-joe-v2_1/PairABI.json +1493 -0
  6. package/build/abi/trader-joe-v2_1/RouterABI.json +1489 -0
  7. package/build/abi/wombat/pool-v2.json +1289 -0
  8. package/build/abi/wombat/pool-v3.json +2013 -0
  9. package/build/dex/index.js +2 -2
  10. package/build/dex/index.js.map +1 -1
  11. package/build/dex/smardex/subgraph-queries.d.ts +1 -0
  12. package/build/dex/smardex/subgraph-queries.js +17 -0
  13. package/build/dex/smardex/subgraph-queries.js.map +1 -0
  14. package/build/dex/smardex/usd-reserves.d.ts +23 -0
  15. package/build/dex/smardex/usd-reserves.js +86 -0
  16. package/build/dex/smardex/usd-reserves.js.map +1 -0
  17. package/build/dex/trader-joe-v2-1-2/config.d.ts +4 -0
  18. package/build/dex/trader-joe-v2-1-2/config.js +43 -0
  19. package/build/dex/trader-joe-v2-1-2/config.js.map +1 -0
  20. package/build/dex/trader-joe-v2-1-2/constants.d.ts +17 -0
  21. package/build/dex/trader-joe-v2-1-2/constants.js +19 -0
  22. package/build/dex/trader-joe-v2-1-2/constants.js.map +1 -0
  23. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +60 -0
  24. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +199 -0
  25. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +1 -0
  26. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +49 -0
  27. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +269 -0
  28. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +1 -0
  29. package/build/dex/trader-joe-v2-1-2/types.d.ts +81 -0
  30. package/build/dex/trader-joe-v2-1-2/types.js +9 -0
  31. package/build/dex/trader-joe-v2-1-2/types.js.map +1 -0
  32. package/build/dex/trader-joe-v2_1/config.d.ts +4 -0
  33. package/build/dex/trader-joe-v2_1/config.js +43 -0
  34. package/build/dex/trader-joe-v2_1/config.js.map +1 -0
  35. package/build/dex/trader-joe-v2_1/constants.d.ts +16 -0
  36. package/build/dex/trader-joe-v2_1/constants.js +18 -0
  37. package/build/dex/trader-joe-v2_1/constants.js.map +1 -0
  38. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  39. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +384 -0
  40. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +1 -0
  41. package/build/dex/trader-joe-v2_1/types.d.ts +39 -0
  42. package/build/dex/trader-joe-v2_1/types.js +3 -0
  43. package/build/dex/trader-joe-v2_1/types.js.map +1 -0
  44. package/build/dex/wombat/utils.d.ts +1 -0
  45. package/build/dex/wombat/utils.js +14 -1
  46. package/build/dex/wombat/utils.js.map +1 -1
  47. package/build/dex/wombat/wombat-bmw.d.ts +2 -2
  48. package/build/dex/wombat/wombat-bmw.js +8 -25
  49. package/build/dex/wombat/wombat-bmw.js.map +1 -1
  50. package/build/dex/wombat/wombat-pool-poller.d.ts +22 -0
  51. package/build/dex/wombat/wombat-pool-poller.js +164 -0
  52. package/build/dex/wombat/wombat-pool-poller.js.map +1 -0
  53. package/build/dex/wombat/wombat-pool.d.ts +51 -17
  54. package/build/dex/wombat/wombat-pool.js +398 -112
  55. package/build/dex/wombat/wombat-pool.js.map +1 -1
  56. package/build/dex/wombat/wombat.d.ts +1 -1
  57. package/build/dex/wombat/wombat.js +12 -18
  58. package/build/dex/wombat/wombat.js.map +1 -1
  59. package/package.json +1 -1
  60. package/src/abi/wombat/pool-v3.json +2013 -0
  61. package/src/dex/camelot/camelot-pool-discovery.test.ts +149 -0
  62. package/src/dex/index.ts +2 -2
  63. package/src/dex/wombat/utils.ts +20 -0
  64. package/src/dex/wombat/wombat-bmw.ts +8 -31
  65. package/src/dex/wombat/wombat-e2e.test.ts +13 -1
  66. package/src/dex/wombat/wombat-events.test.ts +147 -0
  67. package/src/dex/wombat/wombat-integration.test.ts +70 -111
  68. package/src/dex/wombat/wombat-pool.ts +623 -171
  69. package/src/dex/wombat/wombat.ts +13 -23
  70. package/tests/constants-e2e.ts +11 -1
  71. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  72. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  73. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  74. package/build/dex/algebra/algebra-pool.js +0 -336
  75. package/build/dex/algebra/algebra-pool.js.map +0 -1
  76. package/build/dex/quickswap/camelot-v3.d.ts +0 -6
  77. package/build/dex/quickswap/camelot-v3.js +0 -19
  78. package/build/dex/quickswap/camelot-v3.js.map +0 -1
  79. package/build/dex/quickswap/zyberswap-v3.d.ts +0 -6
  80. package/build/dex/quickswap/zyberswap-v3.js +0 -19
  81. package/build/dex/quickswap/zyberswap-v3.js.map +0 -1
  82. package/build/dex/uniswap-v2/rebase-tokens.json +0 -7
  83. /package/src/abi/wombat/{pool.json → pool-v2.json} +0 -0
@@ -14,7 +14,7 @@ import {
14
14
  } from '../../types';
15
15
  import { Network } from '../../constants';
16
16
  import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
17
- import { getBigIntPow, getDexKeysWithNetwork, isETHAddress } from '../../utils';
17
+ import { getBigIntPow, getDexKeysWithNetwork } from '../../utils';
18
18
  import { IDex } from '../idex';
19
19
  import { IDexHelper } from '../../dex-helper';
20
20
  import { DexParams, PoolState, WombatData } from './types';
@@ -23,7 +23,7 @@ import {
23
23
  SimpleExchange,
24
24
  } from '../simple-exchange';
25
25
  import { Adapters, WombatConfig } from './config';
26
- import PoolABI from '../../abi/wombat/pool.json';
26
+ import PoolABI from '../../abi/wombat/pool-v2.json';
27
27
  import AssetABI from '../../abi/wombat/asset.json';
28
28
  import ERC20ABI from '../../abi/erc20.json';
29
29
  import { WombatQuoter } from './wombat-quoter';
@@ -98,23 +98,17 @@ export class Wombat extends SimpleExchange implements IDex<WombatData> {
98
98
  }
99
99
  }
100
100
 
101
- onAssetAdded = async (
102
- pool: Address,
103
- asset2TokenMap: Map<Address, Address>,
104
- blockNumber: number,
105
- ): Promise<void> => {
101
+ onAssetAdded = async (pool: Address, blockNumber: number): Promise<void> => {
106
102
  if (!this.pools[pool]) {
107
103
  this.pools[pool] = new WombatPool(
108
104
  this.dexKey,
109
105
  this.getPoolIdentifier(pool),
106
+ this.network,
110
107
  this.dexHelper,
108
+ this.logger,
111
109
  pool,
112
- asset2TokenMap,
113
110
  );
114
- await this.pools[pool].getState('latest', true);
115
- this.pollingManager.initializeAllPendingPools();
116
- } else {
117
- this.pools[pool].addAssets(asset2TokenMap);
111
+ await this.pools[pool].initialize(blockNumber);
118
112
  }
119
113
  };
120
114
 
@@ -135,7 +129,6 @@ export class Wombat extends SimpleExchange implements IDex<WombatData> {
135
129
  blockNumber: number,
136
130
  ): Promise<string[]> {
137
131
  if (side === SwapSide.BUY) return [];
138
- await this.updatePoolState();
139
132
  return (
140
133
  await this.findPools(
141
134
  this.dexHelper.config.wrapETH(srcToken).address.toLowerCase(),
@@ -195,7 +188,7 @@ export class Wombat extends SimpleExchange implements IDex<WombatData> {
195
188
  destTokenAddress,
196
189
  [getBigIntPow(srcToken.decimals), ...amounts],
197
190
  side,
198
- state.value,
191
+ state,
199
192
  );
200
193
  promises.push({
201
194
  prices,
@@ -240,15 +233,14 @@ export class Wombat extends SimpleExchange implements IDex<WombatData> {
240
233
  ): Promise<Address[]> {
241
234
  const pools: Address[] = [];
242
235
  for (const [poolAddress, pool] of Object.entries(this.pools)) {
243
- let stateOj = await pool.getState(blockNumber);
244
- if (!stateOj) {
236
+ const state = await pool.getState(blockNumber);
237
+ if (!state) {
245
238
  this.logger.warn(
246
239
  `State of pool ${poolAddress} is null in findPools, skipping...`,
247
240
  );
248
241
  continue;
249
242
  }
250
243
 
251
- const state = stateOj.value;
252
244
  if (
253
245
  state &&
254
246
  !state.params.paused &&
@@ -340,10 +332,10 @@ export class Wombat extends SimpleExchange implements IDex<WombatData> {
340
332
  const usdPromises = [];
341
333
  const poolStates: { [poolAddress: string]: DeepReadonly<PoolState> } = {};
342
334
  const poolStateObjs = await Promise.all(
343
- Object.values(this.pools).map(pool => pool.getState()),
335
+ Object.values(this.pools).map(pool => pool.getState(blockNumber)),
344
336
  );
345
337
 
346
- for (const [poolAddress, pool] of Object.entries(this.pools)) {
338
+ for (const [poolAddress, _] of Object.entries(this.pools)) {
347
339
  const index = Object.keys(this.pools).indexOf(poolAddress);
348
340
  let state = poolStateObjs[index];
349
341
  if (!state) {
@@ -352,10 +344,8 @@ export class Wombat extends SimpleExchange implements IDex<WombatData> {
352
344
  );
353
345
  continue;
354
346
  }
355
- poolStates[poolAddress] = state.value;
356
- for (const [tokenAddress, assetState] of Object.entries(
357
- state.value.asset,
358
- )) {
347
+ poolStates[poolAddress] = state;
348
+ for (const [tokenAddress, assetState] of Object.entries(state.asset)) {
359
349
  usdPromises.push(
360
350
  this.dexHelper.getTokenUSDPrice(
361
351
  {
@@ -73,6 +73,10 @@ export const Tokens: {
73
73
  address: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',
74
74
  decimals: 18,
75
75
  },
76
+ frxETH: {
77
+ address: '0x5E8422345238F34275888049021821E8E08CAa1f',
78
+ decimals: 18,
79
+ },
76
80
  WETH: {
77
81
  address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
78
82
  decimals: 18,
@@ -936,6 +940,10 @@ export const Tokens: {
936
940
  address: '0x68f180fcCe6836688e9084f035309E29Bf0A2095',
937
941
  decimals: 8,
938
942
  },
943
+ frxETH: {
944
+ address: '0x6806411765Af15Bddd26f8f544A34cC40cb9838B',
945
+ decimals: 18,
946
+ },
939
947
  },
940
948
  [Network.ZKEVM]: {
941
949
  ETH: {
@@ -1068,6 +1076,7 @@ export const Holders: {
1068
1076
  MATIC: '0x7073783eee7e9b3e6e4ddac4d7f49dc46044dd9a',
1069
1077
  POL: '0x57B6Ad484ccdd902C4419424bA648ba6Ed45dc68',
1070
1078
  SDEX: '0xB0470cF15B22a6A32c49a7C20E3821B944A76058',
1079
+ frxETH: '0x9df2322bdAEC46627100C999E6dDdD27837fec6e',
1071
1080
  },
1072
1081
  [Network.ROPSTEN]: {
1073
1082
  ETH: '0x43262A12d8610AA70C15DbaeAC321d51613c9071',
@@ -1228,6 +1237,7 @@ export const Holders: {
1228
1237
  wstETH: '0xf7626459234e9249808a06aa08dc6b67c8e0a2fc',
1229
1238
  rETH: '0x4c2e69e58b14de9afedfb94319519ce34e087283',
1230
1239
  WBTC: '0xb9c8f0d3254007ee4b98970b94544e473cd610ec',
1240
+ frxETH: '0x4d4edf8291d169f975b99914b6ab3326abb45938',
1231
1241
  },
1232
1242
  [Network.ZKEVM]: {
1233
1243
  ETH: '0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9',
@@ -1242,7 +1252,7 @@ export const Holders: {
1242
1252
  ETH: '0xdd9176ea3e7559d6b68b537ef555d3e89403f742',
1243
1253
  MAV: '0x7499785aa5d1bdf0a0ac862c1ef3698d3cba6568',
1244
1254
  USDC: '0xaac391f166f33cdaefaa4afa6616a3bea66b694d',
1245
- USDbC: '0xc68a33de9ceac7bdaed242ae1dc40d673ed4f643',
1255
+ USDbC: '0xcc46564eb2063b60cd457da49d09dca9544dfeae',
1246
1256
  DAI: '0x20f03e26968b179025f65c1f4afadfd3959c8d03',
1247
1257
  BAL: '0x854b004700885a61107b458f11ecc169a019b764',
1248
1258
  GOLD: '0x1374c25b3710758c326ee0c70ec48b595d5ccf8c',