@paraswap/dex-lib 4.0.29-balv3-base-arb.0 → 4.1.0
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/dex/aave-v3-stata-v2/config.js +13 -0
- package/build/dex/aave-v3-stata-v2/config.js.map +1 -1
- package/build/dex/algebra/config.js +1 -1
- package/build/dex/algebra/config.js.map +1 -1
- package/package.json +2 -2
- package/src/dex/aave-v3-stata-v2/aave-v3-stata-v2-e2e.test.ts +11 -32
- package/src/dex/aave-v3-stata-v2/config.ts +16 -0
- package/src/dex/algebra/config.ts +1 -1
- package/src/dex/balancer-v3/balancer-v3-integration.test.ts +101 -5
- package/tests/constants-e2e.ts +25 -8
- package/tests/tenderly-simulation.ts +0 -3
|
@@ -16,6 +16,19 @@ exports.AaveV3StataConfig = {
|
|
|
16
16
|
factoryAddresses: [aave_address_book_1.AaveV3Gnosis.STATA_FACTORY],
|
|
17
17
|
pool: aave_address_book_1.AaveV3Gnosis.POOL,
|
|
18
18
|
},
|
|
19
|
+
// Waiting for BalancerV3 to get released on Optimism
|
|
20
|
+
// [Network.OPTIMISM]: {
|
|
21
|
+
// factoryAddresses: [AaveV3Optimism.STATA_FACTORY],
|
|
22
|
+
// pool: AaveV3Optimism.POOL,
|
|
23
|
+
// },
|
|
24
|
+
[constants_1.Network.ARBITRUM]: {
|
|
25
|
+
factoryAddresses: [aave_address_book_1.AaveV3Arbitrum.STATA_FACTORY],
|
|
26
|
+
pool: aave_address_book_1.AaveV3Arbitrum.POOL,
|
|
27
|
+
},
|
|
28
|
+
[constants_1.Network.BASE]: {
|
|
29
|
+
factoryAddresses: [aave_address_book_1.AaveV3Base.STATA_FACTORY],
|
|
30
|
+
pool: aave_address_book_1.AaveV3Base.POOL,
|
|
31
|
+
},
|
|
19
32
|
},
|
|
20
33
|
};
|
|
21
34
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata-v2/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata-v2/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAC1C,mEAOqC;AAExB,QAAA,iBAAiB,GAA4B;IACxD,aAAa,EAAE;QACb,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,gBAAgB,EAAE;gBAChB,kCAAc,CAAC,aAAa;gBAC5B,sCAAkB,CAAC,aAAa;aACjC;YACD,IAAI,EAAE,kCAAc,CAAC,IAAI;SAC1B;QACD,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,gBAAgB,EAAE,CAAC,gCAAY,CAAC,aAAa,CAAC;YAC9C,IAAI,EAAE,gCAAY,CAAC,IAAI;SACxB;QACD,qDAAqD;QACrD,wBAAwB;QACxB,sDAAsD;QACtD,+BAA+B;QAC/B,KAAK;QACL,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,gBAAgB,EAAE,CAAC,kCAAc,CAAC,aAAa,CAAC;YAChD,IAAI,EAAE,kCAAc,CAAC,IAAI;SAC1B;QACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,gBAAgB,EAAE,CAAC,8BAAU,CAAC,aAAa,CAAC;YAC5C,IAAI,EAAE,8BAAU,CAAC,IAAI;SACtB;KACF;CACF,CAAC"}
|
|
@@ -89,7 +89,7 @@ exports.AlgebraConfig = {
|
|
|
89
89
|
initRetryFrequency: 10,
|
|
90
90
|
// AlgebraStateMulticall
|
|
91
91
|
algebraStateMulticall: '0x49C46f7f88110ccA234ef27Cd664510f7bbF5998',
|
|
92
|
-
subgraphURL: '
|
|
92
|
+
subgraphURL: 'YwkNWffc8UTH77wDqGWgMShMq1uXdiQsD5wrD5MzKwJ',
|
|
93
93
|
uniswapMulticall: '0x4dfa9a980efE4802E969AC33968E3d6E59B8a19e',
|
|
94
94
|
deployer: '0xC1b576AC6Ec749d5Ace1787bF9Ec6340908ddB47',
|
|
95
95
|
version: 'v1.9-bidirectional-fee',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/algebra/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,aAAa,GAA4B;IACpD,WAAW,EAAE;QACX,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EAAE,8CAA8C;YAC3D,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;SAChB;QACD,CAAC,mBAAO,CAAC,KAAK,CAAC,EAAE;YACf,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,CAAC;YACd,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EAAE,8CAA8C;YAC3D,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;YACf,wBAAwB,EAAE,IAAI;SAC/B;KACF;IACD,WAAW,EAAE;QACX,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EAAE,8CAA8C;YAC3D,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;SAChB;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EAAE,8CAA8C;YAC3D,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,sGAAsG;YACtG,iCAAiC;YACjC,OAAO,EAAE,MAAM;SAChB;KACF;IACD,SAAS,EAAE;QACT,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EAAE,8CAA8C;YAC3D,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;YACf,4GAA4G;YAC5G,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,wBAAwB;YACxB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/algebra/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paraswap/dex-lib",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"repository": "https://github.com/paraswap/paraswap-dex-lib",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@0x/utils": "^4.5.2",
|
|
55
55
|
"@balancer-labs/balancer-maths": "^0.0.19",
|
|
56
56
|
"@balancer-labs/sor": "4.1.3",
|
|
57
|
-
"@bgd-labs/aave-address-book": "4.
|
|
57
|
+
"@bgd-labs/aave-address-book": "4.9.0",
|
|
58
58
|
"@ethersproject/abi": "^5.7.0",
|
|
59
59
|
"@hashflow/sdk": "^2.2.7",
|
|
60
60
|
"@hashflow/taker-js": "^0.3.7",
|
|
@@ -234,29 +234,18 @@ describe('AaveV3Stata E2E', () => {
|
|
|
234
234
|
// });
|
|
235
235
|
// });
|
|
236
236
|
|
|
237
|
-
describe
|
|
237
|
+
describe('Arbitrum', () => {
|
|
238
238
|
const network = Network.ARBITRUM;
|
|
239
239
|
|
|
240
240
|
const pairs: { name: string; amount: string; skipBuy?: boolean }[][] = [
|
|
241
241
|
[
|
|
242
242
|
{
|
|
243
|
-
name: '
|
|
244
|
-
amount: '
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
name: 'stataUSDT',
|
|
248
|
-
amount: '100000',
|
|
249
|
-
},
|
|
250
|
-
],
|
|
251
|
-
[
|
|
252
|
-
{
|
|
253
|
-
name: 'aaveUSDT',
|
|
254
|
-
amount: '100000',
|
|
255
|
-
skipBuy: true,
|
|
243
|
+
name: 'WETH',
|
|
244
|
+
amount: '100000000000000',
|
|
256
245
|
},
|
|
257
246
|
{
|
|
258
|
-
name: '
|
|
259
|
-
amount: '
|
|
247
|
+
name: 'waArbWETH',
|
|
248
|
+
amount: '1744566786133980',
|
|
260
249
|
},
|
|
261
250
|
],
|
|
262
251
|
];
|
|
@@ -274,6 +263,7 @@ describe('AaveV3Stata E2E', () => {
|
|
|
274
263
|
});
|
|
275
264
|
});
|
|
276
265
|
|
|
266
|
+
// no tokens yet deployed
|
|
277
267
|
describe.skip('Optimism', () => {
|
|
278
268
|
const network = Network.OPTIMISM;
|
|
279
269
|
|
|
@@ -314,29 +304,18 @@ describe('AaveV3Stata E2E', () => {
|
|
|
314
304
|
});
|
|
315
305
|
});
|
|
316
306
|
|
|
317
|
-
describe
|
|
307
|
+
describe('Base', () => {
|
|
318
308
|
const network = Network.BASE;
|
|
319
309
|
|
|
320
310
|
const pairs: { name: string; amount: string; skipBuy?: boolean }[][] = [
|
|
321
311
|
[
|
|
322
312
|
{
|
|
323
|
-
name: '
|
|
324
|
-
amount: '
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
name: 'stataUSDC',
|
|
328
|
-
amount: '100000',
|
|
329
|
-
},
|
|
330
|
-
],
|
|
331
|
-
[
|
|
332
|
-
{
|
|
333
|
-
name: 'aaveUSDC',
|
|
334
|
-
amount: '100000',
|
|
335
|
-
skipBuy: true,
|
|
313
|
+
name: 'WETH',
|
|
314
|
+
amount: '100000000000',
|
|
336
315
|
},
|
|
337
316
|
{
|
|
338
|
-
name: '
|
|
339
|
-
amount: '
|
|
317
|
+
name: 'waBasWETH',
|
|
318
|
+
amount: '3792954988415750',
|
|
340
319
|
},
|
|
341
320
|
],
|
|
342
321
|
];
|
|
@@ -2,9 +2,12 @@ import { DexParams } from './types';
|
|
|
2
2
|
import { DexConfigMap } from '../../types';
|
|
3
3
|
import { Network } from '../../constants';
|
|
4
4
|
import {
|
|
5
|
+
AaveV3Arbitrum,
|
|
6
|
+
AaveV3Base,
|
|
5
7
|
AaveV3Ethereum,
|
|
6
8
|
AaveV3EthereumLido,
|
|
7
9
|
AaveV3Gnosis,
|
|
10
|
+
AaveV3Optimism,
|
|
8
11
|
} from '@bgd-labs/aave-address-book';
|
|
9
12
|
|
|
10
13
|
export const AaveV3StataConfig: DexConfigMap<DexParams> = {
|
|
@@ -20,5 +23,18 @@ export const AaveV3StataConfig: DexConfigMap<DexParams> = {
|
|
|
20
23
|
factoryAddresses: [AaveV3Gnosis.STATA_FACTORY],
|
|
21
24
|
pool: AaveV3Gnosis.POOL,
|
|
22
25
|
},
|
|
26
|
+
// Waiting for BalancerV3 to get released on Optimism
|
|
27
|
+
// [Network.OPTIMISM]: {
|
|
28
|
+
// factoryAddresses: [AaveV3Optimism.STATA_FACTORY],
|
|
29
|
+
// pool: AaveV3Optimism.POOL,
|
|
30
|
+
// },
|
|
31
|
+
[Network.ARBITRUM]: {
|
|
32
|
+
factoryAddresses: [AaveV3Arbitrum.STATA_FACTORY],
|
|
33
|
+
pool: AaveV3Arbitrum.POOL,
|
|
34
|
+
},
|
|
35
|
+
[Network.BASE]: {
|
|
36
|
+
factoryAddresses: [AaveV3Base.STATA_FACTORY],
|
|
37
|
+
pool: AaveV3Base.POOL,
|
|
38
|
+
},
|
|
23
39
|
},
|
|
24
40
|
};
|
|
@@ -95,7 +95,7 @@ export const AlgebraConfig: DexConfigMap<DexParams> = {
|
|
|
95
95
|
initRetryFrequency: 10,
|
|
96
96
|
// AlgebraStateMulticall
|
|
97
97
|
algebraStateMulticall: '0x49C46f7f88110ccA234ef27Cd664510f7bbF5998',
|
|
98
|
-
subgraphURL: '
|
|
98
|
+
subgraphURL: 'YwkNWffc8UTH77wDqGWgMShMq1uXdiQsD5wrD5MzKwJ',
|
|
99
99
|
uniswapMulticall: '0x4dfa9a980efE4802E969AC33968E3d6E59B8a19e',
|
|
100
100
|
deployer: '0xC1b576AC6Ec749d5Ace1787bF9Ec6340908ddB47',
|
|
101
101
|
version: 'v1.9-bidirectional-fee',
|
|
@@ -834,9 +834,9 @@ describe('BalancerV3', function () {
|
|
|
834
834
|
|
|
835
835
|
describe('Buffer, Nested Rate', () => {
|
|
836
836
|
/*
|
|
837
|
-
The Gnosis pool, 0x272d6be442e30d7c87390edeb9b96f1e84cecd8d uses a rate provider that is nested.
|
|
838
|
-
So unwrap rate does not equal rate between aave wsteth and eth.
|
|
839
|
-
This particular case the rate provider accounts for growth of wsteth in terms of weth and the additional aave yield.
|
|
837
|
+
The Gnosis pool, 0x272d6be442e30d7c87390edeb9b96f1e84cecd8d uses a rate provider that is nested.
|
|
838
|
+
So unwrap rate does not equal rate between aave wsteth and eth.
|
|
839
|
+
This particular case the rate provider accounts for growth of wsteth in terms of weth and the additional aave yield.
|
|
840
840
|
This highlighted that rateProvider can not be used for buffer wrap/unwrap which instead should use erc4626 rate.
|
|
841
841
|
*/
|
|
842
842
|
const dexHelper = new DummyDexHelper(network);
|
|
@@ -898,10 +898,10 @@ describe('BalancerV3', function () {
|
|
|
898
898
|
describe('Token/Underlying With Different Decimals', () => {
|
|
899
899
|
/*
|
|
900
900
|
Mainnet Pool, 0x5dd88b3aa3143173eb26552923922bdf33f50949 has an ERC4626 token with 18 decimals that uses a 6 decimal underlying.
|
|
901
|
-
Note for maths: Instead of manually adding support for each ERC4626 implementation (e.g. stata with Ray maths) we always use an
|
|
901
|
+
Note for maths: Instead of manually adding support for each ERC4626 implementation (e.g. stata with Ray maths) we always use an
|
|
902
902
|
18 decimal scaled rate and do 18 decimal maths to convert. We may end up loosing 100% accuracy but thats deemed acceptable.
|
|
903
903
|
*/
|
|
904
|
-
describe
|
|
904
|
+
describe('Buffer wrap 6decimal>18decimal', () => {
|
|
905
905
|
const dexHelper = new DummyDexHelper(network);
|
|
906
906
|
|
|
907
907
|
const tokens = Tokens[network];
|
|
@@ -1060,6 +1060,102 @@ describe('BalancerV3', function () {
|
|
|
1060
1060
|
});
|
|
1061
1061
|
});
|
|
1062
1062
|
});
|
|
1063
|
+
|
|
1064
|
+
describe('Base', () => {
|
|
1065
|
+
const network = Network.BASE;
|
|
1066
|
+
|
|
1067
|
+
describe('Stable Pool', () => {
|
|
1068
|
+
const dexHelper = new DummyDexHelper(network);
|
|
1069
|
+
|
|
1070
|
+
const tokens = Tokens[network];
|
|
1071
|
+
const srcTokenSymbol = 'wstETH';
|
|
1072
|
+
const destTokenSymbol = 'WETH';
|
|
1073
|
+
|
|
1074
|
+
const amountsForSell = [
|
|
1075
|
+
0n,
|
|
1076
|
+
1n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1077
|
+
2n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1078
|
+
3n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1079
|
+
4n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1080
|
+
5n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1081
|
+
6n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1082
|
+
7n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1083
|
+
8n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1084
|
+
9n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1085
|
+
10n * BI_POWS[tokens[srcTokenSymbol].decimals],
|
|
1086
|
+
];
|
|
1087
|
+
|
|
1088
|
+
const amountsForBuy = [
|
|
1089
|
+
0n,
|
|
1090
|
+
1n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1091
|
+
2n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1092
|
+
3n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1093
|
+
4n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1094
|
+
5n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1095
|
+
6n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1096
|
+
7n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1097
|
+
8n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1098
|
+
9n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1099
|
+
10n * BI_POWS[tokens[destTokenSymbol].decimals],
|
|
1100
|
+
];
|
|
1101
|
+
|
|
1102
|
+
beforeAll(async () => {
|
|
1103
|
+
blockNumber = await dexHelper.web3Provider.eth.getBlockNumber();
|
|
1104
|
+
balancerV3 = new BalancerV3(network, dexKey, dexHelper);
|
|
1105
|
+
if (balancerV3.initializePricing) {
|
|
1106
|
+
await balancerV3.initializePricing(blockNumber);
|
|
1107
|
+
}
|
|
1108
|
+
});
|
|
1109
|
+
|
|
1110
|
+
it('getPoolIdentifiers and getPricesVolume SELL', async function () {
|
|
1111
|
+
await testPricingOnNetwork(
|
|
1112
|
+
balancerV3,
|
|
1113
|
+
network,
|
|
1114
|
+
dexKey,
|
|
1115
|
+
blockNumber,
|
|
1116
|
+
srcTokenSymbol,
|
|
1117
|
+
destTokenSymbol,
|
|
1118
|
+
SwapSide.SELL,
|
|
1119
|
+
amountsForSell,
|
|
1120
|
+
);
|
|
1121
|
+
});
|
|
1122
|
+
|
|
1123
|
+
it('getPoolIdentifiers and getPricesVolume BUY', async function () {
|
|
1124
|
+
await testPricingOnNetwork(
|
|
1125
|
+
balancerV3,
|
|
1126
|
+
network,
|
|
1127
|
+
dexKey,
|
|
1128
|
+
blockNumber,
|
|
1129
|
+
srcTokenSymbol,
|
|
1130
|
+
destTokenSymbol,
|
|
1131
|
+
SwapSide.BUY,
|
|
1132
|
+
amountsForBuy,
|
|
1133
|
+
);
|
|
1134
|
+
});
|
|
1135
|
+
|
|
1136
|
+
it('getTopPoolsForToken', async function () {
|
|
1137
|
+
// We have to check without calling initializePricing, because
|
|
1138
|
+
// pool-tracker is not calling that function
|
|
1139
|
+
const newBalancerV3 = new BalancerV3(network, dexKey, dexHelper);
|
|
1140
|
+
if (newBalancerV3.updatePoolState) {
|
|
1141
|
+
await newBalancerV3.updatePoolState();
|
|
1142
|
+
}
|
|
1143
|
+
const poolLiquidity = await newBalancerV3.getTopPoolsForToken(
|
|
1144
|
+
tokens[srcTokenSymbol].address,
|
|
1145
|
+
10,
|
|
1146
|
+
);
|
|
1147
|
+
console.log(`${srcTokenSymbol} Top Pools:`, poolLiquidity);
|
|
1148
|
+
|
|
1149
|
+
if (!newBalancerV3.hasConstantPriceLargeAmounts) {
|
|
1150
|
+
checkPoolsLiquidity(
|
|
1151
|
+
poolLiquidity,
|
|
1152
|
+
Tokens[network][srcTokenSymbol].address,
|
|
1153
|
+
dexKey,
|
|
1154
|
+
);
|
|
1155
|
+
}
|
|
1156
|
+
});
|
|
1157
|
+
});
|
|
1158
|
+
});
|
|
1063
1159
|
});
|
|
1064
1160
|
|
|
1065
1161
|
// Add back once multicall queries are working
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -1204,6 +1204,10 @@ export const Tokens: {
|
|
|
1204
1204
|
addBalance: _balancesFn,
|
|
1205
1205
|
addAllowance: _allowancesFn,
|
|
1206
1206
|
},
|
|
1207
|
+
waArbWETH: {
|
|
1208
|
+
address: '0x4ce13a79f45c1be00bdabd38b764ac28c082704e',
|
|
1209
|
+
decimals: 18,
|
|
1210
|
+
},
|
|
1207
1211
|
ETH: { address: ETHER_ADDRESS, decimals: 18 },
|
|
1208
1212
|
USDCe: {
|
|
1209
1213
|
address: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8',
|
|
@@ -1238,6 +1242,10 @@ export const Tokens: {
|
|
|
1238
1242
|
addBalance: _balancesFn,
|
|
1239
1243
|
addAllowance: _allowancesFn,
|
|
1240
1244
|
},
|
|
1245
|
+
waArbUSDT: {
|
|
1246
|
+
address: '0xa6D12574eFB239FC1D2099732bd8b5dC6306897F',
|
|
1247
|
+
decimals: 6,
|
|
1248
|
+
},
|
|
1241
1249
|
FRAX: {
|
|
1242
1250
|
address: '0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F',
|
|
1243
1251
|
decimals: 18,
|
|
@@ -1356,10 +1364,6 @@ export const Tokens: {
|
|
|
1356
1364
|
address: '0x7dff72693f6a4149b17e7c6314655f6a9f7c8b33',
|
|
1357
1365
|
decimals: 18,
|
|
1358
1366
|
},
|
|
1359
|
-
waArbWETH: {
|
|
1360
|
-
address: '0x4ce13a79f45c1be00bdabd38b764ac28c082704e',
|
|
1361
|
-
decimals: 18,
|
|
1362
|
-
},
|
|
1363
1367
|
waArbwstETH: {
|
|
1364
1368
|
address: '0xe98fc055c99decd8da0c111b090885d5d15c774e',
|
|
1365
1369
|
decimals: 18,
|
|
@@ -1681,18 +1685,26 @@ export const Tokens: {
|
|
|
1681
1685
|
address: '0x4ea71a20e655794051d1ee8b6e4a3269b13ccacc',
|
|
1682
1686
|
decimals: 6,
|
|
1683
1687
|
},
|
|
1688
|
+
waBasUSDC: {
|
|
1689
|
+
address: '0xC768c589647798a6EE01A91FdE98EF2ed046DBD6',
|
|
1690
|
+
decimals: 6,
|
|
1691
|
+
},
|
|
1684
1692
|
aaveUSDC: {
|
|
1685
1693
|
address: '0x4e65fe4dba92790696d040ac24aa414708f5c0ab',
|
|
1686
1694
|
decimals: 6,
|
|
1687
1695
|
},
|
|
1688
|
-
|
|
1689
|
-
address: '
|
|
1690
|
-
decimals:
|
|
1696
|
+
aBasUSDC: {
|
|
1697
|
+
address: '0x4e65fe4dba92790696d040ac24aa414708f5c0ab',
|
|
1698
|
+
decimals: 6,
|
|
1691
1699
|
},
|
|
1692
1700
|
waBasWETH: {
|
|
1693
1701
|
address: '0xe298b938631f750dd409fb18227c4a23dcdaab9b',
|
|
1694
1702
|
decimals: 18,
|
|
1695
1703
|
},
|
|
1704
|
+
waBaswstETH: {
|
|
1705
|
+
address: '0x0830820d1a9aa1554364752d6d8f55c836871b74',
|
|
1706
|
+
decimals: 18,
|
|
1707
|
+
},
|
|
1696
1708
|
sUSDS: {
|
|
1697
1709
|
address: '0x5875eee11cf8398102fdad704c9e96607675467a',
|
|
1698
1710
|
decimals: 18,
|
|
@@ -2024,6 +2036,7 @@ export const Holders: {
|
|
|
2024
2036
|
MIM: '0xf46bb6dda9709c49efb918201d97f6474eac5aea',
|
|
2025
2037
|
VST: '0x59bf0545fca0e5ad48e13da269facd2e8c886ba4',
|
|
2026
2038
|
aArbUSDC: '0x048BF2F5908e95976CeAD0E47D805b3803E286e2',
|
|
2039
|
+
waArbUSDT: '0xa6D12574eFB239FC1D2099732bd8b5dC6306897F',
|
|
2027
2040
|
ZYB: '0x3ec0eddcd1e25025077327886a78133589082fb2',
|
|
2028
2041
|
WBTC: '0xd9d611c6943585bc0e18e51034af8fa28778f7da',
|
|
2029
2042
|
RDNT: '0x62383739d68dd0f844103db8dfb05a7eded5bbe6',
|
|
@@ -2042,6 +2055,7 @@ export const Holders: {
|
|
|
2042
2055
|
GHO: '0xda39E48523770197EF3CbB70C1bf1cCCF9B4b1E7',
|
|
2043
2056
|
USDM: '0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812',
|
|
2044
2057
|
wUSDM: '0x12c9cE6b155c8aaC74004732A621B64bC669bb79',
|
|
2058
|
+
waArbWETH: '0x854B004700885A61107B458f11eCC169A019b764',
|
|
2045
2059
|
},
|
|
2046
2060
|
[Network.OPTIMISM]: {
|
|
2047
2061
|
ETH: '0xF6D4E5a7c5215F91f59a95065190CCa24bf64554',
|
|
@@ -2104,7 +2118,7 @@ export const Holders: {
|
|
|
2104
2118
|
waGnoGNO: '0x9Ec6472Fc33D9a5D17613484aDF0295A001fDF32',
|
|
2105
2119
|
},
|
|
2106
2120
|
[Network.BASE]: {
|
|
2107
|
-
WETH: '
|
|
2121
|
+
WETH: '0x24D61e5411C143135068557AfD06546d81A751b8',
|
|
2108
2122
|
PRIME: '0xe3879b7359695f802d6FD56Bb76fD82C362Dafd6',
|
|
2109
2123
|
ETH: '0xd34ea7278e6bd48defe656bbe263aef11101469c',
|
|
2110
2124
|
MAV: '0xf977814e90da44bfa03b6295a0616a897441acec',
|
|
@@ -2124,10 +2138,13 @@ export const Holders: {
|
|
|
2124
2138
|
DOG: '0xbe3ab8a87730684ef1e476064c2e43c3e982f8e8',
|
|
2125
2139
|
stataUSDC: '0x88Cac91ADDE2208039A227B373C2A692C0700547',
|
|
2126
2140
|
aaveUSDC: '0x5DE3c5BE52D7aDbdC3aEFe2eA061A2ECE0C7d766',
|
|
2141
|
+
waBasUSDC: '0xC768c589647798a6EE01A91FdE98EF2ed046DBD6',
|
|
2127
2142
|
USDM: '0x426c4966fC76Bf782A663203c023578B744e4C5E',
|
|
2128
2143
|
crvUSD: '0xBbAbDB1385deA5285113581A7024d6DC04131101',
|
|
2129
2144
|
cbETH: '0x50e011dD1e2b4906F1534623cD134B30422bb11E',
|
|
2130
2145
|
wUSDM: '0xe30965Acd0Ee1CE2e0Cd0AcBFB3596bD6fC78A51',
|
|
2146
|
+
aBasUSDC: '0xC006544B93e86E8999623C1D12d2E352c61C8123',
|
|
2147
|
+
waBasWETH: '0xbA1333333333a1BA1108E8412f11850A5C319bA9',
|
|
2131
2148
|
wstETH: '0x96892b8FBd24e0aC40BD98A304095a6c485A6A68',
|
|
2132
2149
|
waBaswstETH: '0x854B004700885A61107B458f11eCC169A019b764',
|
|
2133
2150
|
sUSDS: '0xC9716E991396AA933Fa7A481003a5953bcBabC17',
|
|
@@ -158,14 +158,11 @@ export class TenderlySimulation implements TransactionSimulator {
|
|
|
158
158
|
);
|
|
159
159
|
|
|
160
160
|
this.vnetId = res.data.id;
|
|
161
|
-
console.log('res.data.rpcs: ', res.data.rpcs);
|
|
162
161
|
const rpc = findAdminRPC(res.data.rpcs);
|
|
163
162
|
if (!rpc) {
|
|
164
163
|
throw new Error(`RPC url was not found for testnet: ${this.vnetId}`);
|
|
165
164
|
}
|
|
166
165
|
|
|
167
|
-
console.log('THIS vnetid: ', this.vnetId);
|
|
168
|
-
console.log('RPC: ', rpc);
|
|
169
166
|
this.rpcURL = rpc.url;
|
|
170
167
|
} catch (e) {
|
|
171
168
|
console.error(`TenderlySimulation_setup:`, e);
|