@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.
- package/build/abi/rpcCall.d.ts +3 -0
- package/build/abi/rpcCall.js +106 -0
- package/build/cli.js +0 -0
- package/build/computeTVL/index.d.ts +1 -0
- package/build/computeTVL/index.js +1 -0
- package/package.json +1 -1
|
@@ -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) {
|