@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.
- package/build/abi/smardex/smardex-factory.json +185 -0
- package/build/abi/smardex/smardex-pool.json +578 -0
- package/build/abi/smardex/smardex-router.json +648 -0
- package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -0
- package/build/abi/trader-joe-v2_1/PairABI.json +1493 -0
- package/build/abi/trader-joe-v2_1/RouterABI.json +1489 -0
- package/build/abi/wombat/pool-v2.json +1289 -0
- package/build/abi/wombat/pool-v3.json +2013 -0
- package/build/dex/index.js +2 -2
- package/build/dex/index.js.map +1 -1
- package/build/dex/smardex/subgraph-queries.d.ts +1 -0
- package/build/dex/smardex/subgraph-queries.js +17 -0
- package/build/dex/smardex/subgraph-queries.js.map +1 -0
- package/build/dex/smardex/usd-reserves.d.ts +23 -0
- package/build/dex/smardex/usd-reserves.js +86 -0
- package/build/dex/smardex/usd-reserves.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/config.d.ts +4 -0
- package/build/dex/trader-joe-v2-1-2/config.js +43 -0
- package/build/dex/trader-joe-v2-1-2/config.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/constants.d.ts +17 -0
- package/build/dex/trader-joe-v2-1-2/constants.js +19 -0
- package/build/dex/trader-joe-v2-1-2/constants.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +60 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +199 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +49 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +269 -0
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +1 -0
- package/build/dex/trader-joe-v2-1-2/types.d.ts +81 -0
- package/build/dex/trader-joe-v2-1-2/types.js +9 -0
- package/build/dex/trader-joe-v2-1-2/types.js.map +1 -0
- package/build/dex/trader-joe-v2_1/config.d.ts +4 -0
- package/build/dex/trader-joe-v2_1/config.js +43 -0
- package/build/dex/trader-joe-v2_1/config.js.map +1 -0
- package/build/dex/trader-joe-v2_1/constants.d.ts +16 -0
- package/build/dex/trader-joe-v2_1/constants.js +18 -0
- package/build/dex/trader-joe-v2_1/constants.js.map +1 -0
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +384 -0
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +1 -0
- package/build/dex/trader-joe-v2_1/types.d.ts +39 -0
- package/build/dex/trader-joe-v2_1/types.js +3 -0
- package/build/dex/trader-joe-v2_1/types.js.map +1 -0
- package/build/dex/wombat/utils.d.ts +1 -0
- package/build/dex/wombat/utils.js +14 -1
- package/build/dex/wombat/utils.js.map +1 -1
- package/build/dex/wombat/wombat-bmw.d.ts +2 -2
- package/build/dex/wombat/wombat-bmw.js +8 -25
- package/build/dex/wombat/wombat-bmw.js.map +1 -1
- package/build/dex/wombat/wombat-pool-poller.d.ts +22 -0
- package/build/dex/wombat/wombat-pool-poller.js +164 -0
- package/build/dex/wombat/wombat-pool-poller.js.map +1 -0
- package/build/dex/wombat/wombat-pool.d.ts +51 -17
- package/build/dex/wombat/wombat-pool.js +398 -112
- package/build/dex/wombat/wombat-pool.js.map +1 -1
- package/build/dex/wombat/wombat.d.ts +1 -1
- package/build/dex/wombat/wombat.js +12 -18
- package/build/dex/wombat/wombat.js.map +1 -1
- package/package.json +1 -1
- package/src/abi/wombat/pool-v3.json +2013 -0
- package/src/dex/camelot/camelot-pool-discovery.test.ts +149 -0
- package/src/dex/index.ts +2 -2
- package/src/dex/wombat/utils.ts +20 -0
- package/src/dex/wombat/wombat-bmw.ts +8 -31
- package/src/dex/wombat/wombat-e2e.test.ts +13 -1
- package/src/dex/wombat/wombat-events.test.ts +147 -0
- package/src/dex/wombat/wombat-integration.test.ts +70 -111
- package/src/dex/wombat/wombat-pool.ts +623 -171
- package/src/dex/wombat/wombat.ts +13 -23
- package/tests/constants-e2e.ts +11 -1
- package/build/abi/algebra/AlgebraPool.abi.json +0 -727
- package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
- package/build/dex/algebra/algebra-pool.d.ts +0 -46
- package/build/dex/algebra/algebra-pool.js +0 -336
- package/build/dex/algebra/algebra-pool.js.map +0 -1
- package/build/dex/quickswap/camelot-v3.d.ts +0 -6
- package/build/dex/quickswap/camelot-v3.js +0 -19
- package/build/dex/quickswap/camelot-v3.js.map +0 -1
- package/build/dex/quickswap/zyberswap-v3.d.ts +0 -6
- package/build/dex/quickswap/zyberswap-v3.js +0 -19
- package/build/dex/quickswap/zyberswap-v3.js.map +0 -1
- package/build/dex/uniswap-v2/rebase-tokens.json +0 -7
- /package/src/abi/wombat/{pool.json → pool-v2.json} +0 -0
package/src/dex/wombat/wombat.ts
CHANGED
|
@@ -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
|
|
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].
|
|
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
|
|
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
|
-
|
|
244
|
-
if (!
|
|
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,
|
|
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
|
|
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
|
{
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -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: '
|
|
1255
|
+
USDbC: '0xcc46564eb2063b60cd457da49d09dca9544dfeae',
|
|
1246
1256
|
DAI: '0x20f03e26968b179025f65c1f4afadfd3959c8d03',
|
|
1247
1257
|
BAL: '0x854b004700885a61107b458f11ecc169a019b764',
|
|
1248
1258
|
GOLD: '0x1374c25b3710758c326ee0c70ec48b595d5ccf8c',
|