@curvefi/api 2.51.1 → 2.51.2
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/lib/constants/abis/factory-stable-ng/meta-stableswap-ng.json +1368 -0
- package/lib/constants/abis/factory-stable-ng/plain-stableswap-ng.json +0 -95
- package/lib/factory/common.d.ts +2 -1
- package/lib/factory/common.js +10 -0
- package/lib/factory/constants.d.ts +0 -14
- package/lib/factory/constants.js +25 -83
- package/lib/factory/factory-api.js +8 -15
- package/lib/factory/factory.d.ts +2 -1
- package/lib/factory/factory.js +46 -9
- package/lib/interfaces.d.ts +6 -0
- package/package.json +1 -1
|
@@ -371,39 +371,6 @@
|
|
|
371
371
|
}
|
|
372
372
|
]
|
|
373
373
|
},
|
|
374
|
-
{
|
|
375
|
-
"stateMutability": "nonpayable",
|
|
376
|
-
"type": "function",
|
|
377
|
-
"name": "exchange",
|
|
378
|
-
"inputs": [
|
|
379
|
-
{
|
|
380
|
-
"name": "i",
|
|
381
|
-
"type": "int128"
|
|
382
|
-
},
|
|
383
|
-
{
|
|
384
|
-
"name": "j",
|
|
385
|
-
"type": "int128"
|
|
386
|
-
},
|
|
387
|
-
{
|
|
388
|
-
"name": "_dx",
|
|
389
|
-
"type": "uint256"
|
|
390
|
-
},
|
|
391
|
-
{
|
|
392
|
-
"name": "_min_dy",
|
|
393
|
-
"type": "uint256"
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
"name": "_receiver",
|
|
397
|
-
"type": "address"
|
|
398
|
-
}
|
|
399
|
-
],
|
|
400
|
-
"outputs": [
|
|
401
|
-
{
|
|
402
|
-
"name": "",
|
|
403
|
-
"type": "uint256"
|
|
404
|
-
}
|
|
405
|
-
]
|
|
406
|
-
},
|
|
407
374
|
{
|
|
408
375
|
"stateMutability": "nonpayable",
|
|
409
376
|
"type": "function",
|
|
@@ -433,39 +400,6 @@
|
|
|
433
400
|
}
|
|
434
401
|
]
|
|
435
402
|
},
|
|
436
|
-
{
|
|
437
|
-
"stateMutability": "nonpayable",
|
|
438
|
-
"type": "function",
|
|
439
|
-
"name": "exchange_received",
|
|
440
|
-
"inputs": [
|
|
441
|
-
{
|
|
442
|
-
"name": "i",
|
|
443
|
-
"type": "int128"
|
|
444
|
-
},
|
|
445
|
-
{
|
|
446
|
-
"name": "j",
|
|
447
|
-
"type": "int128"
|
|
448
|
-
},
|
|
449
|
-
{
|
|
450
|
-
"name": "_dx",
|
|
451
|
-
"type": "uint256"
|
|
452
|
-
},
|
|
453
|
-
{
|
|
454
|
-
"name": "_min_dy",
|
|
455
|
-
"type": "uint256"
|
|
456
|
-
},
|
|
457
|
-
{
|
|
458
|
-
"name": "_receiver",
|
|
459
|
-
"type": "address"
|
|
460
|
-
}
|
|
461
|
-
],
|
|
462
|
-
"outputs": [
|
|
463
|
-
{
|
|
464
|
-
"name": "",
|
|
465
|
-
"type": "uint256"
|
|
466
|
-
}
|
|
467
|
-
]
|
|
468
|
-
},
|
|
469
403
|
{
|
|
470
404
|
"stateMutability": "nonpayable",
|
|
471
405
|
"type": "function",
|
|
@@ -554,35 +488,6 @@
|
|
|
554
488
|
}
|
|
555
489
|
]
|
|
556
490
|
},
|
|
557
|
-
{
|
|
558
|
-
"stateMutability": "nonpayable",
|
|
559
|
-
"type": "function",
|
|
560
|
-
"name": "remove_liquidity",
|
|
561
|
-
"inputs": [
|
|
562
|
-
{
|
|
563
|
-
"name": "_burn_amount",
|
|
564
|
-
"type": "uint256"
|
|
565
|
-
},
|
|
566
|
-
{
|
|
567
|
-
"name": "_min_amounts",
|
|
568
|
-
"type": "uint256[]"
|
|
569
|
-
},
|
|
570
|
-
{
|
|
571
|
-
"name": "_receiver",
|
|
572
|
-
"type": "address"
|
|
573
|
-
},
|
|
574
|
-
{
|
|
575
|
-
"name": "_claim_admin_fees",
|
|
576
|
-
"type": "bool"
|
|
577
|
-
}
|
|
578
|
-
],
|
|
579
|
-
"outputs": [
|
|
580
|
-
{
|
|
581
|
-
"name": "",
|
|
582
|
-
"type": "uint256[]"
|
|
583
|
-
}
|
|
584
|
-
]
|
|
585
|
-
},
|
|
586
491
|
{
|
|
587
492
|
"stateMutability": "nonpayable",
|
|
588
493
|
"type": "function",
|
package/lib/factory/common.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { ICurve } from "../interfaces";
|
|
1
|
+
import { ICurve, IPoolDataShort } from "../interfaces";
|
|
2
2
|
export declare function setFactoryZapContracts(this: ICurve, isCrypto: boolean): void;
|
|
3
|
+
export declare function getPoolIdByAddress(poolList: IPoolDataShort[], address: string): string;
|
package/lib/factory/common.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FACTORY_CONSTANTS } from "./constants.js";
|
|
2
2
|
import { CRYPTO_FACTORY_CONSTANTS } from "./constants-crypto.js";
|
|
3
|
+
import { getPoolIdBySwapAddress } from "../utils.js";
|
|
3
4
|
export function setFactoryZapContracts(isCrypto) {
|
|
4
5
|
var basePoolIdZapDict = (isCrypto ? CRYPTO_FACTORY_CONSTANTS : FACTORY_CONSTANTS)[this.chainId].basePoolIdZapDict;
|
|
5
6
|
for (var basePoolId in basePoolIdZapDict) {
|
|
@@ -11,3 +12,12 @@ export function setFactoryZapContracts(isCrypto) {
|
|
|
11
12
|
this.setContract(basePool.address, basePool.ABI);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
15
|
+
export function getPoolIdByAddress(poolList, address) {
|
|
16
|
+
var pool = poolList.find(function (item) { return item.address.toLowerCase() === address.toLowerCase(); });
|
|
17
|
+
if (pool) {
|
|
18
|
+
return pool.id;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return getPoolIdBySwapAddress(address.toLowerCase());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -12,19 +12,6 @@ export declare const implementationABIDictCelo: IDict<any>;
|
|
|
12
12
|
export declare const implementationABIDictZkSync: IDict<any>;
|
|
13
13
|
export declare const implementationABIDictBase: IDict<any>;
|
|
14
14
|
export declare const implementationABIDictBsc: IDict<any>;
|
|
15
|
-
export declare const implementationBasePoolIdDictEthereum: IDict<string>;
|
|
16
|
-
export declare const implementationBasePoolIdDictPolygon: IDict<string>;
|
|
17
|
-
export declare const implementationBasePoolIdDictFantom: IDict<string>;
|
|
18
|
-
export declare const implementationBasePoolIdDictAvalanche: IDict<string>;
|
|
19
|
-
export declare const implementationBasePoolIdDictArbitrum: IDict<string>;
|
|
20
|
-
export declare const implementationBasePoolIdDictOptimism: IDict<string>;
|
|
21
|
-
export declare const implementationBasePoolIdDictXDai: IDict<string>;
|
|
22
|
-
export declare const implementationBasePoolIdDictMoonbeam: IDict<string>;
|
|
23
|
-
export declare const implementationBasePoolIdDictKava: IDict<string>;
|
|
24
|
-
export declare const implementationBasePoolIdDictCelo: IDict<string>;
|
|
25
|
-
export declare const implementationBasePoolIdDictZkSync: IDict<string>;
|
|
26
|
-
export declare const implementationBasePoolIdDictBase: IDict<string>;
|
|
27
|
-
export declare const implementationBasePoolIdDictBsc: IDict<string>;
|
|
28
15
|
export declare const basePoolIdZapDictEthereum: IDict<{
|
|
29
16
|
address: string;
|
|
30
17
|
ABI: any;
|
|
@@ -80,7 +67,6 @@ export declare const basePoolIdZapDictBsc: IDict<{
|
|
|
80
67
|
export declare const FACTORY_CONSTANTS: {
|
|
81
68
|
[index: number]: {
|
|
82
69
|
implementationABIDict: IDict<any>;
|
|
83
|
-
implementationBasePoolIdDict: IDict<string>;
|
|
84
70
|
basePoolIdZapDict: IDict<{
|
|
85
71
|
address: string;
|
|
86
72
|
ABI: any;
|
package/lib/factory/constants.js
CHANGED
|
@@ -27,7 +27,8 @@ import Plain6BasicABI from "../constants/abis/factory-v2/Plain6Basic.json" asser
|
|
|
27
27
|
import Plain6BalancesABI from "../constants/abis/factory-v2/Plain6Balances.json" assert { type: 'json' };
|
|
28
28
|
import Plain6ETHABI from "../constants/abis/factory-v2/Plain6ETH.json" assert { type: 'json' };
|
|
29
29
|
import Plain6OptimizedABI from "../constants/abis/factory-v2/Plain6Optimized.json" assert { type: 'json' };
|
|
30
|
-
import
|
|
30
|
+
import PlainStableSwapNGABI from "../constants/abis/factory-stable-ng/plain-stableswap-ng.json" assert { type: 'json' };
|
|
31
|
+
import MetaStableSwapNGABI from "../constants/abis/factory-stable-ng/meta-stableswap-ng.json" assert { type: 'json' };
|
|
31
32
|
// --- ZAPS --
|
|
32
33
|
import factoryDepositABI from "../constants/abis/factoryPools/deposit.json" assert { type: 'json' };
|
|
33
34
|
import fraxusdcMetaZapABI from "../constants/abis/fraxusdc/meta_zap.json" assert { type: 'json' };
|
|
@@ -72,7 +73,11 @@ export var implementationABIDictEthereum = lowerCaseKeys({
|
|
|
72
73
|
"0xd35B58386705CE75CE6d09842E38E9BE9CDe5bF6": Plain4BalancesABI,
|
|
73
74
|
"0x88855cdF2b0A8413D470B86952E726684de915be": Plain4ETHABI,
|
|
74
75
|
"0xaD4753D045D3Aed5C1a6606dFb6a7D7AD67C1Ad7": Plain4OptimizedABI,
|
|
75
|
-
"0x3E3B5F27bbf5CC967E074b70E9f4046e31663181":
|
|
76
|
+
//"0x3E3B5F27bbf5CC967E074b70E9f4046e31663181": PlainStableSwapNGABI,
|
|
77
|
+
//"0x64afa95e0c3d8410240a4262df9fd82b12b64edd": MetaStableSwapNGABI,
|
|
78
|
+
//"0x1f7C86AffE5bCF7a1D74a8c8E2ef9E03BF31c1BD": MetaStableSwapNGABI,
|
|
79
|
+
"0x933f4769DCC27fC7345D9d5975AE48EC4D0F829C": PlainStableSwapNGABI,
|
|
80
|
+
"0xDD7EBB1C49780519dD9755B8B1A23a6f42CE099E": MetaStableSwapNGABI,
|
|
76
81
|
});
|
|
77
82
|
export var implementationABIDictPolygon = lowerCaseKeys({
|
|
78
83
|
"0x4fb93D7d320E8A263F22f62C2059dFC2A8bCbC4c": MetaUSDABI,
|
|
@@ -91,7 +96,8 @@ export var implementationABIDictPolygon = lowerCaseKeys({
|
|
|
91
96
|
"0xC7c46488566b9ef9B981b87E328939CaA5ca152f": Plain4BalancesABI,
|
|
92
97
|
"0xf31bcdf0B9a5eCD7AB463eB905551fBc32e51856": Plain4ETHABI,
|
|
93
98
|
"0xAc273d5b4FC06625d8b1abA3BE8De15bDFb8E39f": Plain4OptimizedABI,
|
|
94
|
-
"0x506F594ceb4E33F5161139bAe3Ee911014df9f7f":
|
|
99
|
+
//"0x506F594ceb4E33F5161139bAe3Ee911014df9f7f": PlainStableSwapNGABI,
|
|
100
|
+
//"0x87FE17697D0f14A222e8bEf386a0860eCffDD617": MetaStableSwapNGABI,
|
|
95
101
|
});
|
|
96
102
|
export var implementationABIDictFantom = lowerCaseKeys({
|
|
97
103
|
"0xfCE359115dFe1533a2458650123F86C454BC0213": MetaUSDABI,
|
|
@@ -117,7 +123,8 @@ export var implementationABIDictFantom = lowerCaseKeys({
|
|
|
117
123
|
"0x2C996b11a73276787Eb637D4459d1A7fea16B310": Plain6BalancesABI,
|
|
118
124
|
"0xa4Fc50E45aF5bF22b519468c7c342C704e1F3d44": Plain6ETHABI,
|
|
119
125
|
"0x65e38C41CcE6D9Bc202209Cc546B2f63985D4139": Plain6OptimizedABI,
|
|
120
|
-
"0xd2002373543Ce3527023C75e7518C274A51ce712":
|
|
126
|
+
//"0xd2002373543Ce3527023C75e7518C274A51ce712": PlainStableSwapNGABI,
|
|
127
|
+
//"0x686bdb3D24Bc6F3ED89ed3d3B659765c54aC78B4": MetaStableSwapNGABI,
|
|
121
128
|
});
|
|
122
129
|
export var implementationABIDictAvalanche = lowerCaseKeys({
|
|
123
130
|
"0xA237034249290De2B07988Ac64b96f22c0E76fE0": MetaUSDABI,
|
|
@@ -158,7 +165,8 @@ export var implementationABIDictArbitrum = lowerCaseKeys({
|
|
|
158
165
|
"0x2ac56cEBc2D27c9bB51a11773355E44371Eb88D3": Plain4BalancesABI,
|
|
159
166
|
"0x89287c32c2CAC1C76227F6d300B2DBbab6b75C08": Plain4ETHABI,
|
|
160
167
|
"0x06e3C4da96fd076b97b7ca3Ae23527314b6140dF": Plain4OptimizedABI,
|
|
161
|
-
"0x76303e4fDcA0AbF28aB3ee42Ce086E6503431F1D":
|
|
168
|
+
//"0x76303e4fDcA0AbF28aB3ee42Ce086E6503431F1D": PlainStableSwapNGABI,
|
|
169
|
+
//"0xd125E7a0cEddF89c6473412d85835450897be6Dc": MetaStableSwapNGABI,
|
|
162
170
|
});
|
|
163
171
|
export var implementationABIDictOptimism = lowerCaseKeys({
|
|
164
172
|
"0x78CF256256C8089d68Cde634Cf7cDEFb39286470": MetaUSDABI,
|
|
@@ -179,7 +187,8 @@ export var implementationABIDictOptimism = lowerCaseKeys({
|
|
|
179
187
|
"0xF6bDc2619FFDA72c537Cd9605e0A274Dc48cB1C9": Plain4BalancesABI,
|
|
180
188
|
"0x1AEf73d49Dedc4b1778d0706583995958Dc862e6": Plain4ETHABI,
|
|
181
189
|
"0x8474DdbE98F5aA3179B3B3F5942D724aFcdec9f6": Plain4OptimizedABI,
|
|
182
|
-
"0x87FE17697D0f14A222e8bEf386a0860eCffDD617":
|
|
190
|
+
//"0x87FE17697D0f14A222e8bEf386a0860eCffDD617": PlainStableSwapNGABI,
|
|
191
|
+
//"0x1764ee18e8B3ccA4787249Ceb249356192594585": MetaStableSwapNGABI,
|
|
183
192
|
});
|
|
184
193
|
export var implementationABIDictXDai = lowerCaseKeys({
|
|
185
194
|
"0x4A5bF7Ab9A8202692051c19B102d3eDD62aaBAE6": MetaUSDABI,
|
|
@@ -196,7 +205,8 @@ export var implementationABIDictXDai = lowerCaseKeys({
|
|
|
196
205
|
"0xcB4eB43E31C830e22baF764c64F11F32C280496c": Plain4BalancesABI,
|
|
197
206
|
"0xc1C49622b63B961ce1D352ecb7D8261Ab5556695": Plain4ETHABI,
|
|
198
207
|
"0x0E2615ce69Cd3Dc3Ff6f66a975bEa0655F3bA7b9": Plain4OptimizedABI,
|
|
199
|
-
"0xd2002373543Ce3527023C75e7518C274A51ce712":
|
|
208
|
+
//"0xd2002373543Ce3527023C75e7518C274A51ce712": PlainStableSwapNGABI,
|
|
209
|
+
//"0xd3B17f862956464ae4403cCF829CE69199856e1e": MetaStableSwapNGABI,
|
|
200
210
|
});
|
|
201
211
|
export var implementationABIDictMoonbeam = lowerCaseKeys({
|
|
202
212
|
"0x6842E0412AC1c00464dc48961330156a07268d14": Plain2BasicABI,
|
|
@@ -225,7 +235,8 @@ export var implementationABIDictKava = lowerCaseKeys({
|
|
|
225
235
|
"0xd59c875dccb6cdcb3a75b91b58a363b5e4b0ca9a": Plain4BalancesABI,
|
|
226
236
|
"0x6378dd741b24bd884f3590d7bc7555fdb2f5b003": Plain4ETHABI,
|
|
227
237
|
"0x509495dfeec3a53acb2f60669985d868131ad9a5": Plain4OptimizedABI,
|
|
228
|
-
"0x1764ee18e8B3ccA4787249Ceb249356192594585":
|
|
238
|
+
//"0x1764ee18e8B3ccA4787249Ceb249356192594585": PlainStableSwapNGABI,
|
|
239
|
+
//"0x87FE17697D0f14A222e8bEf386a0860eCffDD617": MetaStableSwapNGABI,
|
|
229
240
|
});
|
|
230
241
|
export var implementationABIDictCelo = lowerCaseKeys({
|
|
231
242
|
"0xfEE7166C32Bdf6356Ef60636f43400AA55551A96": Plain2BasicABI,
|
|
@@ -240,7 +251,8 @@ export var implementationABIDictCelo = lowerCaseKeys({
|
|
|
240
251
|
"0x3730D8B82BF3fF6Cc6dFDBe2Fd7B2A655e74eAae": Plain4BalancesABI,
|
|
241
252
|
"0x0F5390AB4C5456a769056C96E4D7C71770b52319": Plain4ETHABI,
|
|
242
253
|
"0xA73b02a97B45604cd9f0BBAA153eCfe01f409350": Plain4OptimizedABI,
|
|
243
|
-
"0x506F594ceb4E33F5161139bAe3Ee911014df9f7f":
|
|
254
|
+
//"0x506F594ceb4E33F5161139bAe3Ee911014df9f7f": PlainStableSwapNGABI,
|
|
255
|
+
//"0x87FE17697D0f14A222e8bEf386a0860eCffDD617": MetaStableSwapNGABI,
|
|
244
256
|
});
|
|
245
257
|
export var implementationABIDictZkSync = lowerCaseKeys({
|
|
246
258
|
"0x7c2a205C52361410233540008f7095dEF5915843": Plain2BasicABI,
|
|
@@ -269,7 +281,8 @@ export var implementationABIDictBase = lowerCaseKeys({
|
|
|
269
281
|
"0x2FdDeDF2D842f23da2B81b9144e75cEcb691Bf19": Plain4BalancesABI,
|
|
270
282
|
"0x50E09Ee7080b32aef3e92346891dD2DD389B5fAf": Plain4ETHABI,
|
|
271
283
|
"0x44d9B3f4EE15AC81FEb918501fca0ddc9d83C976": Plain4OptimizedABI,
|
|
272
|
-
"0x1764ee18e8B3ccA4787249Ceb249356192594585":
|
|
284
|
+
//"0x1764ee18e8B3ccA4787249Ceb249356192594585": PlainStableSwapNGABI,
|
|
285
|
+
//"0x5eee3091f747e60a045a2e715a4c71e600e31f6e": MetaStableSwapNGABI,
|
|
273
286
|
});
|
|
274
287
|
export var implementationABIDictBsc = lowerCaseKeys({
|
|
275
288
|
"0xB90B9B1F91a01Ea22A182CD84C1E22222e39B415": Plain2BasicABI,
|
|
@@ -284,67 +297,9 @@ export var implementationABIDictBsc = lowerCaseKeys({
|
|
|
284
297
|
"0x0Cc51c9786f3777a6d50961CEBb2BB6E69ec5e07": Plain4BalancesABI,
|
|
285
298
|
"0x0a31527a8dE2Ee97BBD8cCE14Db8E8826a0b6C4f": Plain4ETHABI,
|
|
286
299
|
"0x1086F023146f9026A9Bb22983CE866813C59518A": Plain4OptimizedABI,
|
|
287
|
-
"0x604388Bb1159AFd21eB5191cE22b4DeCdEE2Ae22":
|
|
300
|
+
//"0x604388Bb1159AFd21eB5191cE22b4DeCdEE2Ae22": PlainStableSwapNGABI,
|
|
301
|
+
//"0x06452f9c013fc37169B57Eab8F50A7A48c9198A3": MetaStableSwapNGABI,
|
|
288
302
|
});
|
|
289
|
-
export var implementationBasePoolIdDictEthereum = lowerCaseKeys({
|
|
290
|
-
"0x5F890841f657d90E081bAbdB532A05996Af79Fe6": "3pool",
|
|
291
|
-
"0x213be373FDff327658139C7df330817DAD2d5bBE": "3pool",
|
|
292
|
-
"0x55Aa9BF126bCABF0bDC17Fa9E39Ec9239e1ce7A9": "3pool",
|
|
293
|
-
"0x33bB0e62d5e8C688E645Dd46DFb48Cd613250067": "fraxusdc",
|
|
294
|
-
"0x2EB24483Ef551dA247ab87Cf18e1Cc980073032D": "fraxusdc",
|
|
295
|
-
"0xF9B62b61d108232Ef0C9DD143bb3c22c7D4A715a": "fraxusdp",
|
|
296
|
-
"0xB172AC2Fe440B5dA74Dc460e5E9d96bc2BF6261F": "fraxusdp",
|
|
297
|
-
"0xC6A8466d128Fbfd34AdA64a9FFFce325D57C9a52": "sbtc",
|
|
298
|
-
"0xc4C78b08fA0c3d0a312605634461A88184Ecd630": "sbtc",
|
|
299
|
-
"0xECAaecd9d2193900b424774133B1f51ae0F29d9E": "ren",
|
|
300
|
-
"0x40fD58D44cFE63E8517c9Bb3ac98676838Ea56A8": "ren",
|
|
301
|
-
"0x008CFa89df5B0c780cA3462fc2602D7F8c7Ac315": "sbtc2",
|
|
302
|
-
"0xAbc533EbCDdeD41215C46ee078C5818B5b0A252F": "sbtc2",
|
|
303
|
-
});
|
|
304
|
-
export var implementationBasePoolIdDictPolygon = lowerCaseKeys({
|
|
305
|
-
"0x4fb93D7d320E8A263F22f62C2059dFC2A8bCbC4c": "aave",
|
|
306
|
-
"0x39fE1824f98CD828050D7c51dA443E84121c7cf1": "aave",
|
|
307
|
-
"0xC05EB760A135d3D0c839f1141423002681157a17": "ren",
|
|
308
|
-
"0xD8336532f6ED7b94282fAF724fe41d6145E07Cfc": "ren",
|
|
309
|
-
});
|
|
310
|
-
export var implementationBasePoolIdDictFantom = lowerCaseKeys({
|
|
311
|
-
"0xfCE359115dFe1533a2458650123F86C454BC0213": "2pool",
|
|
312
|
-
"0x09C62ad0694e3f1ad8cF8876aaBe56138C586f5F": "2pool",
|
|
313
|
-
"0xC9438d8928486bD9621D326002F4672bF684187A": "ren",
|
|
314
|
-
"0x2b70A5B878665FfDB4A06Ba40a264d6c70f68F4B": "ren",
|
|
315
|
-
"0x210C806F6AE850279f7E298dE749EC4B427d00DD": "geist",
|
|
316
|
-
"0xf82162bB68aD5a168345bb7EFb2faA0EDCCA5177": "geist",
|
|
317
|
-
});
|
|
318
|
-
export var implementationBasePoolIdDictAvalanche = lowerCaseKeys({
|
|
319
|
-
"0xA237034249290De2B07988Ac64b96f22c0E76fE0": "aave",
|
|
320
|
-
"0xc50C05Ca1f8C2346664bd0d4a1eb6aC1Da38414f": "aave",
|
|
321
|
-
"0xa27f39E9C21b3376F43266E13Ad5A5d6E9BdB320": "ren",
|
|
322
|
-
"0x505C34ED8dBE96d2D5C7D83158aA844887770970": "ren",
|
|
323
|
-
});
|
|
324
|
-
export var implementationBasePoolIdDictArbitrum = lowerCaseKeys({
|
|
325
|
-
"0x09672362833d8f703D5395ef3252D4Bfa51c15ca": "2pool",
|
|
326
|
-
"0xBE175115BF33E12348ff77CcfEE4726866A0Fbd5": "2pool",
|
|
327
|
-
"0x094d12e5b541784701FD8d65F11fc0598FBC6332": "ren",
|
|
328
|
-
"0xF1f85a74AD6c64315F85af52d3d46bF715236ADc": "ren",
|
|
329
|
-
"0x8DEb66a4A40E370355bEe35f12E55Fe9c755d686": "factory-v2-41",
|
|
330
|
-
"0x3edE9b145F82e9e46C03f8A8F67B77aEE847b632": "factory-v2-41", // fraxbp
|
|
331
|
-
});
|
|
332
|
-
export var implementationBasePoolIdDictOptimism = lowerCaseKeys({
|
|
333
|
-
"0x78CF256256C8089d68Cde634Cf7cDEFb39286470": "3pool",
|
|
334
|
-
"0xADf698e4d8Df08b3E2c79682891636eF00F6e205": "3pool",
|
|
335
|
-
"0xe8269B33E47761f552E1a3070119560d5fa8bBD6": "factory-v2-16",
|
|
336
|
-
"0x114C4042B11a2b16F58Fe1BFe847589a122F678a": "factory-v2-16", // fraxusdc
|
|
337
|
-
});
|
|
338
|
-
export var implementationBasePoolIdDictXDai = lowerCaseKeys({
|
|
339
|
-
"0x4A5bF7Ab9A8202692051c19B102d3eDD62aaBAE6": "3pool",
|
|
340
|
-
"0x0B4dc7A945695D11FD83e40B2DfC2B896A02395F": "3pool",
|
|
341
|
-
});
|
|
342
|
-
export var implementationBasePoolIdDictMoonbeam = lowerCaseKeys({});
|
|
343
|
-
export var implementationBasePoolIdDictKava = lowerCaseKeys({});
|
|
344
|
-
export var implementationBasePoolIdDictCelo = lowerCaseKeys({});
|
|
345
|
-
export var implementationBasePoolIdDictZkSync = lowerCaseKeys({});
|
|
346
|
-
export var implementationBasePoolIdDictBase = lowerCaseKeys({});
|
|
347
|
-
export var implementationBasePoolIdDictBsc = lowerCaseKeys({});
|
|
348
303
|
export var basePoolIdZapDictEthereum = {
|
|
349
304
|
'3pool': {
|
|
350
305
|
address: "0xA79828DF1850E8a3A3064576f380D90aECDD3359".toLowerCase(),
|
|
@@ -444,67 +399,54 @@ export var basePoolIdZapDictBsc = {};
|
|
|
444
399
|
export var FACTORY_CONSTANTS = {
|
|
445
400
|
1: {
|
|
446
401
|
implementationABIDict: implementationABIDictEthereum,
|
|
447
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictEthereum,
|
|
448
402
|
basePoolIdZapDict: basePoolIdZapDictEthereum,
|
|
449
403
|
},
|
|
450
404
|
10: {
|
|
451
405
|
implementationABIDict: implementationABIDictOptimism,
|
|
452
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictOptimism,
|
|
453
406
|
basePoolIdZapDict: basePoolIdZapDictOptimism,
|
|
454
407
|
},
|
|
455
408
|
56: {
|
|
456
409
|
implementationABIDict: implementationABIDictBsc,
|
|
457
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictBsc,
|
|
458
410
|
basePoolIdZapDict: basePoolIdZapDictBsc,
|
|
459
411
|
},
|
|
460
412
|
100: {
|
|
461
413
|
implementationABIDict: implementationABIDictXDai,
|
|
462
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictXDai,
|
|
463
414
|
basePoolIdZapDict: basePoolIdZapDictXDai,
|
|
464
415
|
},
|
|
465
416
|
137: {
|
|
466
417
|
implementationABIDict: implementationABIDictPolygon,
|
|
467
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictPolygon,
|
|
468
418
|
basePoolIdZapDict: basePoolIdZapDictPolygon,
|
|
469
419
|
},
|
|
470
420
|
250: {
|
|
471
421
|
implementationABIDict: implementationABIDictFantom,
|
|
472
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictFantom,
|
|
473
422
|
basePoolIdZapDict: basePoolIdZapDictFantom,
|
|
474
423
|
},
|
|
475
424
|
324: {
|
|
476
425
|
implementationABIDict: implementationABIDictZkSync,
|
|
477
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictZkSync,
|
|
478
426
|
basePoolIdZapDict: basePoolIdZapDictZkSync,
|
|
479
427
|
},
|
|
480
428
|
1284: {
|
|
481
429
|
implementationABIDict: implementationABIDictMoonbeam,
|
|
482
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictMoonbeam,
|
|
483
430
|
basePoolIdZapDict: basePoolIdZapDictMoonbeam,
|
|
484
431
|
},
|
|
485
432
|
2222: {
|
|
486
433
|
implementationABIDict: implementationABIDictKava,
|
|
487
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictKava,
|
|
488
434
|
basePoolIdZapDict: basePoolIdZapDictKava,
|
|
489
435
|
},
|
|
490
436
|
8453: {
|
|
491
437
|
implementationABIDict: implementationABIDictBase,
|
|
492
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictBase,
|
|
493
438
|
basePoolIdZapDict: basePoolIdZapDictBase,
|
|
494
439
|
},
|
|
495
440
|
42220: {
|
|
496
441
|
implementationABIDict: implementationABIDictCelo,
|
|
497
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictCelo,
|
|
498
442
|
basePoolIdZapDict: basePoolIdZapDictCelo,
|
|
499
443
|
},
|
|
500
444
|
43114: {
|
|
501
445
|
implementationABIDict: implementationABIDictAvalanche,
|
|
502
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictAvalanche,
|
|
503
446
|
basePoolIdZapDict: basePoolIdZapDictAvalanche,
|
|
504
447
|
},
|
|
505
448
|
42161: {
|
|
506
449
|
implementationABIDict: implementationABIDictArbitrum,
|
|
507
|
-
implementationBasePoolIdDict: implementationBasePoolIdDictArbitrum,
|
|
508
450
|
basePoolIdZapDict: basePoolIdZapDictArbitrum,
|
|
509
451
|
},
|
|
510
452
|
};
|
|
@@ -62,7 +62,7 @@ import cryptoFactorySwapABI from "../constants/abis/factory-crypto/factory-crypt
|
|
|
62
62
|
import tricryptoFactorySwapABI from "../constants/abis/factory-tricrypto/factory-tricrypto-pool.json" assert { type: 'json' };
|
|
63
63
|
import { FACTORY_CONSTANTS } from "./constants.js";
|
|
64
64
|
import { CRYPTO_FACTORY_CONSTANTS } from "./constants-crypto.js";
|
|
65
|
-
import { setFactoryZapContracts } from "./common.js";
|
|
65
|
+
import { getPoolIdByAddress, setFactoryZapContracts } from "./common.js";
|
|
66
66
|
import { _getPoolsFromApi } from "../external-api.js";
|
|
67
67
|
import { assetTypeNameHandler, getPoolName } from "../utils.js";
|
|
68
68
|
export var lowerCasePoolDataAddresses = function (poolsData) {
|
|
@@ -158,6 +158,7 @@ export function getFactoryPoolsDataFromApi(factoryType) {
|
|
|
158
158
|
setFactoryZapContracts.call(this, isCrypto);
|
|
159
159
|
FACTORY_POOLS_DATA = {};
|
|
160
160
|
rawPoolList.forEach(function (pool) {
|
|
161
|
+
var _a, _b, _c;
|
|
161
162
|
var nativeToken = _this.constants.NATIVE_TOKEN;
|
|
162
163
|
var coinAddresses = pool.coins.map(function (c) { return c.address; });
|
|
163
164
|
if (_this.chainId === 137) {
|
|
@@ -228,22 +229,14 @@ export function getFactoryPoolsDataFromApi(factoryType) {
|
|
|
228
229
|
};
|
|
229
230
|
}
|
|
230
231
|
}
|
|
231
|
-
else if (pool.
|
|
232
|
+
else if (pool.isMetaPool) {
|
|
232
233
|
var implementationABIDict = FACTORY_CONSTANTS[_this.chainId].implementationABIDict;
|
|
233
|
-
var
|
|
234
|
-
var
|
|
235
|
-
var
|
|
236
|
-
|
|
237
|
-
var
|
|
238
|
-
// @ts-ignore
|
|
239
|
-
var basePoolIdCoinAddressesDict = Object.fromEntries(basePoolIds.map(function (poolId) { var _a; return [poolId, (_a = allPoolsData_1[poolId]) === null || _a === void 0 ? void 0 : _a.underlying_coin_addresses]; }));
|
|
240
|
-
// @ts-ignore
|
|
241
|
-
var basePoolIdDecimalsDict = Object.fromEntries(basePoolIds.map(function (poolId) { var _a; return [poolId, (_a = allPoolsData_1[poolId]) === null || _a === void 0 ? void 0 : _a.underlying_decimals]; }));
|
|
234
|
+
var allPoolsData = __assign(__assign({}, _this.constants.POOLS_DATA), FACTORY_POOLS_DATA);
|
|
235
|
+
var basePoolId = getPoolIdByAddress(rawPoolList, pool.basePoolAddress);
|
|
236
|
+
var basePoolCoinNames = (_a = allPoolsData[basePoolId]) === null || _a === void 0 ? void 0 : _a.underlying_coins;
|
|
237
|
+
var basePoolCoinAddresses = (_b = allPoolsData[basePoolId]) === null || _b === void 0 ? void 0 : _b.underlying_coin_addresses;
|
|
238
|
+
var basePoolDecimals = (_c = allPoolsData[basePoolId]) === null || _c === void 0 ? void 0 : _c.underlying_decimals;
|
|
242
239
|
var basePoolIdZapDict = FACTORY_CONSTANTS[_this.chainId].basePoolIdZapDict;
|
|
243
|
-
var basePoolId = implementationBasePoolIdDict[pool.implementationAddress];
|
|
244
|
-
var basePoolCoinNames = basePoolIdCoinsDict[basePoolId];
|
|
245
|
-
var basePoolCoinAddresses = basePoolIdCoinAddressesDict[basePoolId];
|
|
246
|
-
var basePoolDecimals = basePoolIdDecimalsDict[basePoolId];
|
|
247
240
|
var basePoolZap = basePoolIdZapDict[basePoolId];
|
|
248
241
|
FACTORY_POOLS_DATA[pool.id] = {
|
|
249
242
|
name: getPoolName(pool.name),
|
package/lib/factory/factory.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { IDict, IPoolData, ICurve } from "../interfaces";
|
|
1
|
+
import { IDict, IPoolData, ICurve, IPoolDataShort } from "../interfaces";
|
|
2
2
|
export declare const BLACK_LIST: {
|
|
3
3
|
[index: number]: any;
|
|
4
4
|
};
|
|
5
|
+
export declare function getBasePoolIds(this: ICurve, factoryAddress: string, rawSwapAddresses: string[], tmpPools: IPoolDataShort[]): Promise<Array<string>>;
|
|
5
6
|
export declare function getFactoryPoolData(this: ICurve, fromIdx?: number, swapAddress?: string, factoryAddress?: string): Promise<IDict<IPoolData>>;
|
package/lib/factory/factory.js
CHANGED
|
@@ -59,7 +59,7 @@ import { curve } from "../curve.js";
|
|
|
59
59
|
import ERC20ABI from "../constants/abis/ERC20.json" assert { type: 'json' };
|
|
60
60
|
import factoryGaugeABI from "../constants/abis/gauge_factory.json" assert { type: 'json' };
|
|
61
61
|
import gaugeChildABI from "../constants/abis/gauge_child.json" assert { type: 'json' };
|
|
62
|
-
import { setFactoryZapContracts } from "./common.js";
|
|
62
|
+
import { getPoolIdByAddress, setFactoryZapContracts } from "./common.js";
|
|
63
63
|
import { FACTORY_CONSTANTS } from "./constants.js";
|
|
64
64
|
import { getPoolName } from "../utils.js";
|
|
65
65
|
export var BLACK_LIST = {
|
|
@@ -77,6 +77,35 @@ export var BLACK_LIST = {
|
|
|
77
77
|
],
|
|
78
78
|
};
|
|
79
79
|
var deepFlatten = function (arr) { return [].concat.apply([], arr.map(function (v) { return (Array.isArray(v) ? deepFlatten(v) : v); })); };
|
|
80
|
+
export function getBasePoolIds(factoryAddress, rawSwapAddresses, tmpPools) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
82
|
+
var factoryMulticallContract, calls, _i, rawSwapAddresses_1, addr, result, basePoolIds;
|
|
83
|
+
return __generator(this, function (_a) {
|
|
84
|
+
switch (_a.label) {
|
|
85
|
+
case 0:
|
|
86
|
+
factoryMulticallContract = this.contracts[factoryAddress].multicallContract;
|
|
87
|
+
calls = [];
|
|
88
|
+
for (_i = 0, rawSwapAddresses_1 = rawSwapAddresses; _i < rawSwapAddresses_1.length; _i++) {
|
|
89
|
+
addr = rawSwapAddresses_1[_i];
|
|
90
|
+
calls.push(factoryMulticallContract.get_base_pool(addr));
|
|
91
|
+
}
|
|
92
|
+
return [4 /*yield*/, this.multicallProvider.all(calls)];
|
|
93
|
+
case 1:
|
|
94
|
+
result = _a.sent();
|
|
95
|
+
basePoolIds = [];
|
|
96
|
+
result.forEach(function (item) {
|
|
97
|
+
if (item !== '0x0000000000000000000000000000000000000000') {
|
|
98
|
+
basePoolIds.push(getPoolIdByAddress(tmpPools, item));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
basePoolIds.push('');
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
return [2 /*return*/, basePoolIds];
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
80
109
|
function getRecentlyCreatedPoolId(swapAddress) {
|
|
81
110
|
return __awaiter(this, void 0, void 0, function () {
|
|
82
111
|
var factoryContract, poolCount, _a, _b, _c, i, address;
|
|
@@ -159,7 +188,7 @@ function _handleCoinAddresses(coinAddresses) {
|
|
|
159
188
|
}
|
|
160
189
|
function getPoolsData(factorySwapAddresses, factoryAddress) {
|
|
161
190
|
return __awaiter(this, void 0, void 0, function () {
|
|
162
|
-
var factoryMulticallContract, isFactoryGaugeNull, isStableNgFactory, factoryGaugeContract, calls, _i, factorySwapAddresses_1, addr, tempSwapContract, res, implememntationAddresses, gaugeAddresses, referenceAssets, symbols, names, isMeta, coinAddresses;
|
|
191
|
+
var factoryMulticallContract, isFactoryGaugeNull, isStableNgFactory, factoryGaugeContract, calls, _i, factorySwapAddresses_1, addr, tempSwapContract, res, index, index, implememntationAddresses, gaugeAddresses, referenceAssets, symbols, names, isMeta, coinAddresses;
|
|
163
192
|
return __generator(this, function (_a) {
|
|
164
193
|
switch (_a.label) {
|
|
165
194
|
case 0:
|
|
@@ -190,18 +219,18 @@ function getPoolsData(factorySwapAddresses, factoryAddress) {
|
|
|
190
219
|
case 1:
|
|
191
220
|
res = _a.sent();
|
|
192
221
|
if (isFactoryGaugeNull) {
|
|
193
|
-
|
|
222
|
+
for (index = 0; index < res.length; index++) {
|
|
194
223
|
if (index % 7 == 1) {
|
|
195
224
|
res.splice(index, 0, '0x0000000000000000000000000000000000000000');
|
|
196
225
|
}
|
|
197
|
-
}
|
|
226
|
+
}
|
|
198
227
|
}
|
|
199
228
|
if (isStableNgFactory) {
|
|
200
|
-
|
|
229
|
+
for (index = 0; index < res.length; index++) {
|
|
201
230
|
if (index % 7 == 2) {
|
|
202
231
|
res.splice(index, 0, -1);
|
|
203
232
|
}
|
|
204
|
-
}
|
|
233
|
+
}
|
|
205
234
|
}
|
|
206
235
|
implememntationAddresses = res.filter(function (a, i) { return i % 7 == 0; }).map(function (a) { return a.toLowerCase(); });
|
|
207
236
|
gaugeAddresses = res.filter(function (a, i) { return i % 7 == 1; }).map(function (a) { return a.toLowerCase(); });
|
|
@@ -301,7 +330,7 @@ export function getFactoryPoolData(fromIdx, swapAddress, factoryAddress) {
|
|
|
301
330
|
if (fromIdx === void 0) { fromIdx = 0; }
|
|
302
331
|
if (factoryAddress === void 0) { factoryAddress = curve.constants.ALIASES.factory; }
|
|
303
332
|
return __awaiter(this, void 0, void 0, function () {
|
|
304
|
-
var _a, rawPoolIds, rawSwapAddresses, _b, _c, rawImplementations, rawGauges, rawReferenceAssets, rawPoolSymbols, rawPoolNames, rawIsMeta, rawCoinAddresses, poolIds, swapAddresses, implementations, gaugeAddresses, referenceAssets, poolSymbols, poolNames, isMeta, coinAddresses, implementationABIDict, i, swapABIs, _e, coinAddressNameDict, coinAddressDecimalsDict,
|
|
333
|
+
var _a, rawPoolIds, rawSwapAddresses, _b, _c, rawImplementations, rawGauges, rawReferenceAssets, rawPoolSymbols, rawPoolNames, rawIsMeta, rawCoinAddresses, poolIds, swapAddresses, implementations, gaugeAddresses, referenceAssets, poolSymbols, poolNames, isMeta, coinAddresses, implementationABIDict, i, swapABIs, _e, coinAddressNameDict, coinAddressDecimalsDict, tmpPools, basePoolIds, FACTORY_POOLS_DATA, _loop_2, this_1, i;
|
|
305
334
|
return __generator(this, function (_f) {
|
|
306
335
|
switch (_f.label) {
|
|
307
336
|
case 0:
|
|
@@ -352,8 +381,16 @@ export function getFactoryPoolData(fromIdx, swapAddress, factoryAddress) {
|
|
|
352
381
|
return [4 /*yield*/, getCoinsData.call(this, coinAddresses, getExistingCoinAddressNameDict.call(this), this.constants.DECIMALS)];
|
|
353
382
|
case 6:
|
|
354
383
|
_e = _f.sent(), coinAddressNameDict = _e[0], coinAddressDecimalsDict = _e[1];
|
|
355
|
-
|
|
356
|
-
|
|
384
|
+
tmpPools = [];
|
|
385
|
+
poolIds.forEach(function (item, index) {
|
|
386
|
+
tmpPools.push({
|
|
387
|
+
id: item,
|
|
388
|
+
address: swapAddresses[index],
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
return [4 /*yield*/, getBasePoolIds.call(this, factoryAddress, swapAddresses, tmpPools)];
|
|
392
|
+
case 7:
|
|
393
|
+
basePoolIds = _f.sent();
|
|
357
394
|
FACTORY_POOLS_DATA = {};
|
|
358
395
|
_loop_2 = function (i) {
|
|
359
396
|
if (!isMeta[i]) {
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -118,6 +118,8 @@ export interface IPoolDataFromApi {
|
|
|
118
118
|
symbol: string;
|
|
119
119
|
assetTypeName: string;
|
|
120
120
|
address: string;
|
|
121
|
+
isMetaPool: boolean;
|
|
122
|
+
basePoolAddress?: string;
|
|
121
123
|
lpTokenAddress?: string;
|
|
122
124
|
gaugeAddress?: string;
|
|
123
125
|
implementation: string;
|
|
@@ -129,6 +131,10 @@ export interface IPoolDataFromApi {
|
|
|
129
131
|
amplificationCoefficient: string;
|
|
130
132
|
gaugeCrvApy: [number | null, number | null];
|
|
131
133
|
}
|
|
134
|
+
export interface IPoolDataShort {
|
|
135
|
+
id: string;
|
|
136
|
+
address: string;
|
|
137
|
+
}
|
|
132
138
|
export interface ISubgraphPoolData {
|
|
133
139
|
address: string;
|
|
134
140
|
volumeUSD: number;
|