@across-protocol/sdk 4.3.51 → 4.3.52

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.
@@ -43,6 +43,7 @@ export declare class Coingecko {
43
43
  private readonly customPlatformIdMap?;
44
44
  private static instance;
45
45
  private prices;
46
+ private pricesBySymbol;
46
47
  private _maxPriceAge;
47
48
  private retryDelay;
48
49
  private numRetries;
@@ -62,14 +63,20 @@ export declare class Coingecko {
62
63
  getContractDetails(contract_address: string, platform_id?: string): Promise<unknown>;
63
64
  getCurrentPriceByContract(contractAddress: string, currency?: string, chainId?: number): Promise<[string, number]>;
64
65
  getCurrentPriceById(contractAddress: string, currency?: string, chainId?: number): Promise<[string, number]>;
66
+ getCurrentPriceBySymbol(symbol: string, currency?: string): Promise<[string, number]>;
65
67
  getContractPrices(addresses: Array<string>, currency?: string, platform_id?: string): Promise<CoinGeckoPrice[]>;
66
68
  getPlatforms(): Promise<CoinGeckoAssetPlatform[]>;
67
69
  call<T>(path: string): Promise<T>;
68
70
  protected getPriceCache(currency: string, platform_id: string): {
69
71
  [addr: string]: CoinGeckoPrice;
70
72
  };
73
+ protected getPriceCacheBySymbol(symbol: string): {
74
+ [currency: string]: Omit<CoinGeckoPrice, "address">;
75
+ };
71
76
  protected getCachedAddressPrice(contractAddress: string, currency: string, platform_id: string): CoinGeckoPrice | undefined;
77
+ protected getCachedSymbolPrice(symbol: string, currency: string): Omit<CoinGeckoPrice, "address"> | undefined;
72
78
  protected updatePriceCache(cgPrice: CGTokenPrice, contractAddress: string, currency: string, platform_id: string): void;
79
+ protected updatePriceCacheBySymbol(cgPrice: CGTokenPrice, symbol: string, currency: string): void;
73
80
  private _callBasic;
74
81
  private _callPro;
75
82
  }
@@ -24,6 +24,7 @@ var Coingecko = (function () {
24
24
  this.platformIdMap = new Map();
25
25
  this.tokenIdMap = {};
26
26
  this.prices = {};
27
+ this.pricesBySymbol = {};
27
28
  }
28
29
  Coingecko.get = function (logger, apiKey, customPlatformIdMap) {
29
30
  if (!this.instance)
@@ -262,6 +263,39 @@ var Coingecko = (function () {
262
263
  });
263
264
  });
264
265
  };
266
+ Coingecko.prototype.getCurrentPriceBySymbol = function (symbol, currency) {
267
+ if (currency === void 0) { currency = "usd"; }
268
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
269
+ var tokenPrice, result, cgPrice, errMsg;
270
+ return tslib_1.__generator(this, function (_a) {
271
+ switch (_a.label) {
272
+ case 0:
273
+ tokenPrice = this.getCachedSymbolPrice(symbol, currency);
274
+ if (!(tokenPrice === undefined)) return [3, 2];
275
+ return [4, this.call("simple/price?symbols=".concat(symbol, "&vs_currencies=").concat(currency, "&include_last_updated_at=true"))];
276
+ case 1:
277
+ result = _a.sent();
278
+ cgPrice = result === null || result === void 0 ? void 0 : result[symbol.toLowerCase()];
279
+ if (cgPrice === undefined || !(cgPrice === null || cgPrice === void 0 ? void 0 : cgPrice[currency])) {
280
+ errMsg = "Failed to retrieve ".concat(symbol, "/").concat(currency, " price via Coingecko API");
281
+ this.logger.debug({
282
+ at: "Coingecko#getCurrentPriceBySymbol",
283
+ message: errMsg,
284
+ });
285
+ throw new Error(errMsg);
286
+ }
287
+ else {
288
+ this.updatePriceCacheBySymbol(cgPrice, symbol, currency);
289
+ }
290
+ _a.label = 2;
291
+ case 2:
292
+ tokenPrice = this.getCachedSymbolPrice(symbol, currency);
293
+ (0, assert_1.default)(tokenPrice !== undefined);
294
+ return [2, [tokenPrice.timestamp.toString(), tokenPrice.price]];
295
+ }
296
+ });
297
+ });
298
+ };
265
299
  Coingecko.prototype.getContractPrices = function (addresses, currency, platform_id) {
266
300
  if (currency === void 0) { currency = "usd"; }
267
301
  if (platform_id === void 0) { platform_id = "ethereum"; }
@@ -359,6 +393,11 @@ var Coingecko = (function () {
359
393
  this.prices[platform_id][currency] = {};
360
394
  return this.prices[platform_id][currency];
361
395
  };
396
+ Coingecko.prototype.getPriceCacheBySymbol = function (symbol) {
397
+ if (this.pricesBySymbol[symbol] === undefined)
398
+ this.pricesBySymbol[symbol] = {};
399
+ return this.pricesBySymbol[symbol];
400
+ };
362
401
  Coingecko.prototype.getCachedAddressPrice = function (contractAddress, currency, platform_id) {
363
402
  var priceCache = this.getPriceCache(currency, platform_id);
364
403
  var now = msToS(Date.now());
@@ -383,6 +422,15 @@ var Coingecko = (function () {
383
422
  return tokenPrice;
384
423
  }
385
424
  };
425
+ Coingecko.prototype.getCachedSymbolPrice = function (symbol, currency) {
426
+ var priceCache = this.getPriceCacheBySymbol(symbol);
427
+ var now = msToS(Date.now());
428
+ var tokenPrice = priceCache[currency];
429
+ if (tokenPrice === undefined || tokenPrice.timestamp + this.maxPriceAge <= now) {
430
+ return undefined;
431
+ }
432
+ return tokenPrice;
433
+ };
386
434
  Coingecko.prototype.updatePriceCache = function (cgPrice, contractAddress, currency, platform_id) {
387
435
  var priceCache = this.getPriceCache(currency, platform_id);
388
436
  if (priceCache[contractAddress] === undefined) {
@@ -407,6 +455,29 @@ var Coingecko = (function () {
407
455
  });
408
456
  }
409
457
  };
458
+ Coingecko.prototype.updatePriceCacheBySymbol = function (cgPrice, symbol, currency) {
459
+ var priceCache = this.getPriceCacheBySymbol(symbol);
460
+ if (priceCache[currency] === undefined) {
461
+ priceCache[currency] = { price: 0, timestamp: 0 };
462
+ }
463
+ if (cgPrice.last_updated_at > priceCache[currency].timestamp) {
464
+ priceCache[currency] = {
465
+ price: cgPrice[currency],
466
+ timestamp: cgPrice.last_updated_at,
467
+ };
468
+ this.logger.debug({
469
+ at: "Coingecko#updatePriceCacheBySymbol",
470
+ message: "Updated ".concat(symbol, "/").concat(currency, " token price cache."),
471
+ });
472
+ }
473
+ else {
474
+ this.logger.debug({
475
+ at: "Coingecko#updatePriceCacheBySymbol",
476
+ message: "No new price available for symbol ".concat(symbol, "."),
477
+ token: cgPrice,
478
+ });
479
+ }
480
+ };
410
481
  Coingecko.prototype._callBasic = function (path, timeout) {
411
482
  return tslib_1.__awaiter(this, void 0, void 0, function () {
412
483
  var url, result, err_3, msg;
@@ -1 +1 @@
1
- {"version":3,"file":"Coingecko.js","sourceRoot":"","sources":["../../../src/coingecko/Coingecko.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Coingecko.js","sourceRoot":"","sources":["../../../src/coingecko/Coingecko.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ export declare class Coingecko {
43
43
  private readonly customPlatformIdMap?;
44
44
  private static instance;
45
45
  private prices;
46
+ private pricesBySymbol;
46
47
  private _maxPriceAge;
47
48
  private retryDelay;
48
49
  private numRetries;
@@ -70,14 +71,20 @@ export declare class Coingecko {
70
71
  getContractDetails(contract_address: string, platform_id?: string): Promise<unknown>;
71
72
  getCurrentPriceByContract(contractAddress: string, currency?: string, chainId?: number): Promise<[string, number]>;
72
73
  getCurrentPriceById(contractAddress: string, currency?: string, chainId?: number): Promise<[string, number]>;
74
+ getCurrentPriceBySymbol(symbol: string, currency?: string): Promise<[string, number]>;
73
75
  getContractPrices(addresses: Array<string>, currency?: string, platform_id?: string): Promise<CoinGeckoPrice[]>;
74
76
  getPlatforms(): Promise<CoinGeckoAssetPlatform[]>;
75
77
  call<T>(path: string): Promise<T>;
76
78
  protected getPriceCache(currency: string, platform_id: string): {
77
79
  [addr: string]: CoinGeckoPrice;
78
80
  };
81
+ protected getPriceCacheBySymbol(symbol: string): {
82
+ [currency: string]: Omit<CoinGeckoPrice, "address">;
83
+ };
79
84
  protected getCachedAddressPrice(contractAddress: string, currency: string, platform_id: string): CoinGeckoPrice | undefined;
85
+ protected getCachedSymbolPrice(symbol: string, currency: string): Omit<CoinGeckoPrice, "address"> | undefined;
80
86
  protected updatePriceCache(cgPrice: CGTokenPrice, contractAddress: string, currency: string, platform_id: string): void;
87
+ protected updatePriceCacheBySymbol(cgPrice: CGTokenPrice, symbol: string, currency: string): void;
81
88
  private _callBasic;
82
89
  private _callPro;
83
90
  }
@@ -22,6 +22,7 @@ var Coingecko = /** @class */ (function () {
22
22
  this.platformIdMap = new Map(); // chainId => platform_id (137 => "polygon-pos")
23
23
  this.tokenIdMap = {}; // coinGeckoId => { platform_id : "tokenAddress":}
24
24
  this.prices = {};
25
+ this.pricesBySymbol = {};
25
26
  }
26
27
  Coingecko.get = function (logger, apiKey, customPlatformIdMap) {
27
28
  if (!this.instance)
@@ -273,6 +274,39 @@ var Coingecko = /** @class */ (function () {
273
274
  });
274
275
  });
275
276
  };
277
+ Coingecko.prototype.getCurrentPriceBySymbol = function (symbol, currency) {
278
+ if (currency === void 0) { currency = "usd"; }
279
+ return __awaiter(this, void 0, void 0, function () {
280
+ var tokenPrice, result, cgPrice, errMsg;
281
+ return __generator(this, function (_a) {
282
+ switch (_a.label) {
283
+ case 0:
284
+ tokenPrice = this.getCachedSymbolPrice(symbol, currency);
285
+ if (!(tokenPrice === undefined)) return [3 /*break*/, 2];
286
+ return [4 /*yield*/, this.call("simple/price?symbols=".concat(symbol, "&vs_currencies=").concat(currency, "&include_last_updated_at=true"))];
287
+ case 1:
288
+ result = _a.sent();
289
+ cgPrice = result === null || result === void 0 ? void 0 : result[symbol.toLowerCase()];
290
+ if (cgPrice === undefined || !(cgPrice === null || cgPrice === void 0 ? void 0 : cgPrice[currency])) {
291
+ errMsg = "Failed to retrieve ".concat(symbol, "/").concat(currency, " price via Coingecko API");
292
+ this.logger.debug({
293
+ at: "Coingecko#getCurrentPriceBySymbol",
294
+ message: errMsg,
295
+ });
296
+ throw new Error(errMsg);
297
+ }
298
+ else {
299
+ this.updatePriceCacheBySymbol(cgPrice, symbol, currency);
300
+ }
301
+ _a.label = 2;
302
+ case 2:
303
+ tokenPrice = this.getCachedSymbolPrice(symbol, currency);
304
+ assert(tokenPrice !== undefined);
305
+ return [2 /*return*/, [tokenPrice.timestamp.toString(), tokenPrice.price]];
306
+ }
307
+ });
308
+ });
309
+ };
276
310
  // Return an array of spot prices for an array of collateral addresses in one async call. Note we might in future
277
311
  // This was adapted from packages/merkle-distributor/kpi-options-helpers/calculate-uma-tvl.ts
278
312
  Coingecko.prototype.getContractPrices = function (addresses, currency, platform_id) {
@@ -377,6 +411,11 @@ var Coingecko = /** @class */ (function () {
377
411
  this.prices[platform_id][currency] = {};
378
412
  return this.prices[platform_id][currency];
379
413
  };
414
+ Coingecko.prototype.getPriceCacheBySymbol = function (symbol) {
415
+ if (this.pricesBySymbol[symbol] === undefined)
416
+ this.pricesBySymbol[symbol] = {};
417
+ return this.pricesBySymbol[symbol];
418
+ };
380
419
  Coingecko.prototype.getCachedAddressPrice = function (contractAddress, currency, platform_id) {
381
420
  var priceCache = this.getPriceCache(currency, platform_id);
382
421
  var now = msToS(Date.now());
@@ -401,6 +440,15 @@ var Coingecko = /** @class */ (function () {
401
440
  return tokenPrice;
402
441
  }
403
442
  };
443
+ Coingecko.prototype.getCachedSymbolPrice = function (symbol, currency) {
444
+ var priceCache = this.getPriceCacheBySymbol(symbol);
445
+ var now = msToS(Date.now());
446
+ var tokenPrice = priceCache[currency];
447
+ if (tokenPrice === undefined || tokenPrice.timestamp + this.maxPriceAge <= now) {
448
+ return undefined;
449
+ }
450
+ return tokenPrice;
451
+ };
404
452
  Coingecko.prototype.updatePriceCache = function (cgPrice, contractAddress, currency, platform_id) {
405
453
  var priceCache = this.getPriceCache(currency, platform_id);
406
454
  if (priceCache[contractAddress] === undefined) {
@@ -425,6 +473,29 @@ var Coingecko = /** @class */ (function () {
425
473
  });
426
474
  }
427
475
  };
476
+ Coingecko.prototype.updatePriceCacheBySymbol = function (cgPrice, symbol, currency) {
477
+ var priceCache = this.getPriceCacheBySymbol(symbol);
478
+ if (priceCache[currency] === undefined) {
479
+ priceCache[currency] = { price: 0, timestamp: 0 };
480
+ }
481
+ if (cgPrice.last_updated_at > priceCache[currency].timestamp) {
482
+ priceCache[currency] = {
483
+ price: cgPrice[currency],
484
+ timestamp: cgPrice.last_updated_at,
485
+ };
486
+ this.logger.debug({
487
+ at: "Coingecko#updatePriceCacheBySymbol",
488
+ message: "Updated ".concat(symbol, "/").concat(currency, " token price cache."),
489
+ });
490
+ }
491
+ else {
492
+ this.logger.debug({
493
+ at: "Coingecko#updatePriceCacheBySymbol",
494
+ message: "No new price available for symbol ".concat(symbol, "."),
495
+ token: cgPrice,
496
+ });
497
+ }
498
+ };
428
499
  Coingecko.prototype._callBasic = function (path, timeout) {
429
500
  return __awaiter(this, void 0, void 0, function () {
430
501
  var url, result, err_3, msg;
@@ -1 +1 @@
1
- {"version":3,"file":"Coingecko.js","sourceRoot":"","sources":["../../../src/coingecko/Coingecko.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Coingecko.js","sourceRoot":"","sources":["../../../src/coingecko/Coingecko.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ export declare class Coingecko {
43
43
  private readonly customPlatformIdMap?;
44
44
  private static instance;
45
45
  private prices;
46
+ private pricesBySymbol;
46
47
  private _maxPriceAge;
47
48
  private retryDelay;
48
49
  private numRetries;
@@ -70,14 +71,20 @@ export declare class Coingecko {
70
71
  getContractDetails(contract_address: string, platform_id?: string): Promise<unknown>;
71
72
  getCurrentPriceByContract(contractAddress: string, currency?: string, chainId?: number): Promise<[string, number]>;
72
73
  getCurrentPriceById(contractAddress: string, currency?: string, chainId?: number): Promise<[string, number]>;
74
+ getCurrentPriceBySymbol(symbol: string, currency?: string): Promise<[string, number]>;
73
75
  getContractPrices(addresses: Array<string>, currency?: string, platform_id?: string): Promise<CoinGeckoPrice[]>;
74
76
  getPlatforms(): Promise<CoinGeckoAssetPlatform[]>;
75
77
  call<T>(path: string): Promise<T>;
76
78
  protected getPriceCache(currency: string, platform_id: string): {
77
79
  [addr: string]: CoinGeckoPrice;
78
80
  };
81
+ protected getPriceCacheBySymbol(symbol: string): {
82
+ [currency: string]: Omit<CoinGeckoPrice, "address">;
83
+ };
79
84
  protected getCachedAddressPrice(contractAddress: string, currency: string, platform_id: string): CoinGeckoPrice | undefined;
85
+ protected getCachedSymbolPrice(symbol: string, currency: string): Omit<CoinGeckoPrice, "address"> | undefined;
80
86
  protected updatePriceCache(cgPrice: CGTokenPrice, contractAddress: string, currency: string, platform_id: string): void;
87
+ protected updatePriceCacheBySymbol(cgPrice: CGTokenPrice, symbol: string, currency: string): void;
81
88
  private _callBasic;
82
89
  private _callPro;
83
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Coingecko.d.ts","sourceRoot":"","sources":["../../../src/coingecko/Coingecko.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Coingecko.d.ts","sourceRoot":"","sources":["../../../src/coingecko/Coingecko.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.3.51",
4
+ "version": "4.3.52",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -29,6 +29,12 @@ type PriceCache = {
29
29
  };
30
30
  };
31
31
 
32
+ type PriceCacheBySymbol = {
33
+ [symbol: string]: {
34
+ [currency: string]: Omit<CoinGeckoPrice, "address">;
35
+ };
36
+ };
37
+
32
38
  type CGTokenPrice = {
33
39
  [currency: string]: number;
34
40
  last_updated_at: number;
@@ -61,6 +67,7 @@ export type HistoricPriceChartData = {
61
67
  export class Coingecko {
62
68
  private static instance: Coingecko | undefined;
63
69
  private prices: PriceCache;
70
+ private pricesBySymbol: PriceCacheBySymbol;
64
71
  private _maxPriceAge = 300; // seconds
65
72
 
66
73
  // Retry configuration.
@@ -103,6 +110,7 @@ export class Coingecko {
103
110
  private readonly customPlatformIdMap?: Record<number, string>
104
111
  ) {
105
112
  this.prices = {};
113
+ this.pricesBySymbol = {};
106
114
  }
107
115
 
108
116
  protected async getPlatformId(chainId: number): Promise<string> {
@@ -281,6 +289,29 @@ export class Coingecko {
281
289
  return [tokenPrice.timestamp.toString(), tokenPrice.price];
282
290
  }
283
291
 
292
+ async getCurrentPriceBySymbol(symbol: string, currency = "usd"): Promise<[string, number]> {
293
+ let tokenPrice = this.getCachedSymbolPrice(symbol, currency);
294
+ if (tokenPrice === undefined) {
295
+ const result = await this.call<Record<string, CGTokenPrice>>(
296
+ `simple/price?symbols=${symbol}&vs_currencies=${currency}&include_last_updated_at=true`
297
+ );
298
+ const cgPrice = result?.[symbol.toLowerCase()];
299
+ if (cgPrice === undefined || !cgPrice?.[currency]) {
300
+ const errMsg = `Failed to retrieve ${symbol}/${currency} price via Coingecko API`;
301
+ this.logger.debug({
302
+ at: "Coingecko#getCurrentPriceBySymbol",
303
+ message: errMsg,
304
+ });
305
+ throw new Error(errMsg);
306
+ } else {
307
+ this.updatePriceCacheBySymbol(cgPrice, symbol, currency);
308
+ }
309
+ }
310
+ tokenPrice = this.getCachedSymbolPrice(symbol, currency);
311
+ assert(tokenPrice !== undefined);
312
+ return [tokenPrice.timestamp.toString(), tokenPrice.price];
313
+ }
314
+
284
315
  // Return an array of spot prices for an array of collateral addresses in one async call. Note we might in future
285
316
  // This was adapted from packages/merkle-distributor/kpi-options-helpers/calculate-uma-tvl.ts
286
317
  async getContractPrices(
@@ -381,6 +412,11 @@ export class Coingecko {
381
412
  return this.prices[platform_id][currency];
382
413
  }
383
414
 
415
+ protected getPriceCacheBySymbol(symbol: string): { [currency: string]: Omit<CoinGeckoPrice, "address"> } {
416
+ if (this.pricesBySymbol[symbol] === undefined) this.pricesBySymbol[symbol] = {};
417
+ return this.pricesBySymbol[symbol];
418
+ }
419
+
384
420
  protected getCachedAddressPrice(
385
421
  contractAddress: string,
386
422
  currency: string,
@@ -409,6 +445,16 @@ export class Coingecko {
409
445
  }
410
446
  }
411
447
 
448
+ protected getCachedSymbolPrice(symbol: string, currency: string): Omit<CoinGeckoPrice, "address"> | undefined {
449
+ const priceCache = this.getPriceCacheBySymbol(symbol);
450
+ const now: number = msToS(Date.now());
451
+ const tokenPrice: Omit<CoinGeckoPrice, "address"> | undefined = priceCache[currency];
452
+ if (tokenPrice === undefined || tokenPrice.timestamp + this.maxPriceAge <= now) {
453
+ return undefined;
454
+ }
455
+ return tokenPrice;
456
+ }
457
+
412
458
  protected updatePriceCache(cgPrice: CGTokenPrice, contractAddress: string, currency: string, platform_id: string) {
413
459
  const priceCache = this.getPriceCache(currency, platform_id);
414
460
  if (priceCache[contractAddress] === undefined) {
@@ -433,6 +479,29 @@ export class Coingecko {
433
479
  }
434
480
  }
435
481
 
482
+ protected updatePriceCacheBySymbol(cgPrice: CGTokenPrice, symbol: string, currency: string) {
483
+ const priceCache = this.getPriceCacheBySymbol(symbol);
484
+ if (priceCache[currency] === undefined) {
485
+ priceCache[currency] = { price: 0, timestamp: 0 };
486
+ }
487
+ if (cgPrice.last_updated_at > priceCache[currency].timestamp) {
488
+ priceCache[currency] = {
489
+ price: cgPrice[currency],
490
+ timestamp: cgPrice.last_updated_at,
491
+ };
492
+ this.logger.debug({
493
+ at: "Coingecko#updatePriceCacheBySymbol",
494
+ message: `Updated ${symbol}/${currency} token price cache.`,
495
+ });
496
+ } else {
497
+ this.logger.debug({
498
+ at: "Coingecko#updatePriceCacheBySymbol",
499
+ message: `No new price available for symbol ${symbol}.`,
500
+ token: cgPrice,
501
+ });
502
+ }
503
+ }
504
+
436
505
  private async _callBasic(path: string, timeout?: number) {
437
506
  const url = `${this.host}/${path}`;
438
507