@curvefi/api 2.51.0 → 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/curve.js CHANGED
@@ -598,7 +598,6 @@ var Curve = /** @class */ (function () {
598
598
  _c.STABLE_NG_FACTORY_POOLS_DATA = _d.apply(void 0, [_f.sent()]);
599
599
  _f.label = 4;
600
600
  case 4:
601
- console.log(this.constants.STABLE_NG_FACTORY_POOLS_DATA);
602
601
  _e = this.constants;
603
602
  return [4 /*yield*/, this._filterHiddenPools(this.constants.STABLE_NG_FACTORY_POOLS_DATA)];
604
603
  case 5:
@@ -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;
@@ -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;
@@ -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 PlainStableswapNGABI from "../constants/abis/factory-stable-ng/plain-stableswap-ng.json" assert { type: 'json' };
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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": PlainStableswapNGABI,
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,9 +62,9 @@ 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
- import { getPoolName } from "../utils.js";
67
+ import { assetTypeNameHandler, getPoolName } from "../utils.js";
68
68
  export var lowerCasePoolDataAddresses = function (poolsData) {
69
69
  var _a;
70
70
  for (var _i = 0, poolsData_1 = poolsData; _i < poolsData_1.length; _i++) {
@@ -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,28 +229,20 @@ export function getFactoryPoolsDataFromApi(factoryType) {
228
229
  };
229
230
  }
230
231
  }
231
- else if (pool.implementation.includes("meta")) {
232
+ else if (pool.isMetaPool) {
232
233
  var implementationABIDict = FACTORY_CONSTANTS[_this.chainId].implementationABIDict;
233
- var implementationBasePoolIdDict = FACTORY_CONSTANTS[_this.chainId].implementationBasePoolIdDict;
234
- var basePoolIds = Object.values(implementationBasePoolIdDict).filter(function (poolId, i, arr) { return arr.indexOf(poolId) === i; });
235
- var allPoolsData_1 = __assign(__assign({}, _this.constants.POOLS_DATA), FACTORY_POOLS_DATA);
236
- // @ts-ignore
237
- var basePoolIdCoinsDict = Object.fromEntries(basePoolIds.map(function (poolId) { var _a; return [poolId, (_a = allPoolsData_1[poolId]) === null || _a === void 0 ? void 0 : _a.underlying_coins]; }));
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),
250
243
  full_name: pool.name,
251
244
  symbol: pool.symbol,
252
- reference_asset: pool.assetTypeName.toUpperCase(),
245
+ reference_asset: assetTypeNameHandler(pool.assetTypeName),
253
246
  swap_address: pool.address,
254
247
  token_address: pool.address,
255
248
  gauge_address: pool.gaugeAddress ? pool.gaugeAddress : curve.constants.ZERO_ADDRESS,
@@ -276,7 +269,7 @@ export function getFactoryPoolsDataFromApi(factoryType) {
276
269
  name: getPoolName(pool.name),
277
270
  full_name: pool.name,
278
271
  symbol: pool.symbol,
279
- reference_asset: pool.assetTypeName.toUpperCase(),
272
+ reference_asset: assetTypeNameHandler(pool.assetTypeName),
280
273
  swap_address: pool.address,
281
274
  token_address: pool.address,
282
275
  gauge_address: pool.gaugeAddress ? pool.gaugeAddress : curve.constants.ZERO_ADDRESS,
@@ -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>>;
@@ -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
- res.forEach(function (item, index) {
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
- res.forEach(function (item, index) {
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, implementationBasePoolIdDict, basePoolIds, FACTORY_POOLS_DATA, _loop_2, this_1, i;
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
- implementationBasePoolIdDict = FACTORY_CONSTANTS[this.chainId].implementationBasePoolIdDict;
356
- basePoolIds = implementations.map(function (addr) { return implementationBasePoolIdDict[addr]; });
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]) {
@@ -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;
@@ -157,7 +157,7 @@ var PoolTemplate = /** @class */ (function () {
157
157
  this.statsTotalLiquidity = function (useApi) {
158
158
  if (useApi === void 0) { useApi = true; }
159
159
  return __awaiter(_this, void 0, void 0, function () {
160
- var stablecoinContract, collateralContract, ammContract, _c, _balance_x, _fee_x, _balance_y, _fee_y, collateralRate, stablecoinTvlBN, collateralTvlBN, network, poolType, factoryType, poolsData, totalLiquidity_1, balances, promises, _i, _d, addr, prices, totalLiquidity;
160
+ var stablecoinContract, collateralContract, ammContract, _c, _balance_x, _fee_x, _balance_y, _fee_y, collateralRate, stablecoinTvlBN, collateralTvlBN, network, poolType, poolsData, totalLiquidity_1, balances, promises, _i, _d, addr, prices, totalLiquidity;
161
161
  var _this = this;
162
162
  return __generator(this, function (_e) {
163
163
  switch (_e.label) {
@@ -185,10 +185,8 @@ var PoolTemplate = /** @class */ (function () {
185
185
  network = curve.constants.NETWORK_NAME;
186
186
  poolType = this.isCrypto ? "crypto" : "main";
187
187
  if (this.id.startsWith("factory")) {
188
- poolType = "factory";
189
- factoryType = this.id.split("-")[1];
190
- if (factoryType !== "v2")
191
- poolType += "-" + factoryType;
188
+ poolType = this.id.replace(/-\d+$/, '');
189
+ poolType = poolType.replace(/-v2$/, '');
192
190
  }
193
191
  return [4 /*yield*/, _getPoolsFromApi(network, poolType)];
194
192
  case 4:
package/lib/utils.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Contract } from 'ethers';
2
2
  import BigNumber from 'bignumber.js';
3
- import { IChainId, IDict, INetworkName, IRewardFromApi } from './interfaces';
3
+ import { IChainId, IDict, INetworkName, IRewardFromApi, REFERENCE_ASSET } from './interfaces';
4
4
  export declare const ETH_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
5
5
  export declare const MAX_ALLOWANCE: bigint;
6
6
  export declare const _cutZeros: (strn: string) => string;
@@ -57,3 +57,4 @@ export declare const hasDepositAndStake: () => boolean;
57
57
  export declare const hasRouter: () => boolean;
58
58
  export declare const getCountArgsOfMethodByContract: (contract: Contract, methodName: string) => number;
59
59
  export declare const getPoolName: (name: string) => string;
60
+ export declare const assetTypeNameHandler: (assetTypeName: string) => REFERENCE_ASSET;
package/lib/utils.js CHANGED
@@ -907,3 +907,11 @@ export var getPoolName = function (name) {
907
907
  return separatedName[0].trim();
908
908
  }
909
909
  };
910
+ export var assetTypeNameHandler = function (assetTypeName) {
911
+ if (assetTypeName.toUpperCase() === 'UNKNOWN') {
912
+ return 'OTHER';
913
+ }
914
+ else {
915
+ return assetTypeName.toUpperCase();
916
+ }
917
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.51.0",
3
+ "version": "2.51.2",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",