@defillama/sdk 2.3.53 → 2.3.54

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.
@@ -0,0 +1,3 @@
1
+ import { Deferrable } from "@ethersproject/properties";
2
+ import { BaseProvider, BlockTag, TransactionRequest } from "@ethersproject/providers";
3
+ export declare function call(provider: BaseProvider, data: Deferrable<TransactionRequest>, block: BlockTag, chain?: string): Promise<string>;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.call = void 0;
40
+ var events_1 = require("events");
41
+ var DEBUG_MODE_ENABLED = !!process.env.LLAMA_DEBUG_MODE;
42
+ var maxParallelCalls = !!process.env.LLAMA_SDK_MAX_PARALLEL ? +process.env.LLAMA_SDK_MAX_PARALLEL : 100;
43
+ var COUNTERS = {};
44
+ var emitter = new events_1.EventEmitter();
45
+ emitter.setMaxListeners(500000);
46
+ function call(provider, data, block, chain) {
47
+ return __awaiter(this, void 0, void 0, function () {
48
+ function onComplete() {
49
+ counter.activeWorkers--;
50
+ if (counter.queue.length) {
51
+ var nextRequestId = counter.pickFromTop ? counter.queue.shift() : counter.queue.pop();
52
+ counter.pickFromTop = !counter.pickFromTop;
53
+ emitter.emit(nextRequestId);
54
+ }
55
+ }
56
+ var counter, currentId, eventId, showEveryX, response, e_1;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ if (!chain)
61
+ chain = 'noChain';
62
+ counter = getChainCounter(chain);
63
+ currentId = counter.requestCount++;
64
+ eventId = chain + "-" + currentId;
65
+ if (!(counter.activeWorkers > maxParallelCalls)) return [3 /*break*/, 2];
66
+ counter.queue.push(eventId);
67
+ return [4 /*yield*/, events_1.once(emitter, eventId)];
68
+ case 1:
69
+ _a.sent();
70
+ _a.label = 2;
71
+ case 2:
72
+ counter.activeWorkers++;
73
+ if (DEBUG_MODE_ENABLED) {
74
+ showEveryX = counter.queue.length > 100 ? 50 : 10 // show log fewer times if lot more are queued up
75
+ ;
76
+ if (currentId % showEveryX === 0)
77
+ console.log("chain: " + chain + " request #: " + currentId + " queue: " + counter.queue.length + " active requests: " + counter.activeWorkers);
78
+ }
79
+ _a.label = 3;
80
+ case 3:
81
+ _a.trys.push([3, 5, , 6]);
82
+ return [4 /*yield*/, provider.call(data, block)];
83
+ case 4:
84
+ response = _a.sent();
85
+ onComplete();
86
+ return [3 /*break*/, 6];
87
+ case 5:
88
+ e_1 = _a.sent();
89
+ onComplete();
90
+ throw e_1;
91
+ case 6: return [2 /*return*/, response];
92
+ }
93
+ });
94
+ });
95
+ }
96
+ exports.call = call;
97
+ function getChainCounter(chain) {
98
+ if (!COUNTERS[chain])
99
+ COUNTERS[chain] = {
100
+ activeWorkers: 0,
101
+ queue: [],
102
+ requestCount: 0,
103
+ pickFromTop: true,
104
+ };
105
+ return COUNTERS[chain];
106
+ }
package/build/cli.js CHANGED
File without changes
@@ -47,6 +47,7 @@ export declare const chainToCoingeckoId: {
47
47
  telos: string;
48
48
  moonbeam: string;
49
49
  velas: string;
50
+ milkomeda: string;
50
51
  };
51
52
  export default function (rawBalances: Balances, timestamp: number | "now", verbose?: boolean, knownTokenPrices?: TokenPrices, getCoingeckoLock?: GetCoingeckoLog, coingeckoMaxRetries?: number): Promise<{
52
53
  usdTvl: number;
@@ -109,6 +109,7 @@ exports.chainToCoingeckoId = {
109
109
  telos: "telos",
110
110
  moonbeam: "moonbeam",
111
111
  velas: "velas",
112
+ milkomeda: "milkomeda-cardano",
112
113
  };
113
114
  var chains = Object.keys(exports.chainToCoingeckoId);
114
115
  function getHistoricalChainPrices(ids, timestamp, knownTokenPrices, getCoingeckoLock, coingeckoMaxRetries) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defillama/sdk",
3
- "version": "2.3.53",
3
+ "version": "2.3.54",
4
4
  "description": "SDK for calculating TVL",
5
5
  "main": "build/index.js",
6
6
  "scripts": {