@fileverse-dev/formulajs 4.4.11-mod-15-patch-1 → 4.4.11-mod-16
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/browser/formula.js +224 -163
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +75 -34
- package/lib/esm/crypto-constants.mjs +7 -28
- package/lib/esm/index.mjs +75 -34
- package/package.json +1 -1
- package/types/cjs/index.d.cts +1 -1
- package/types/esm/index.d.mts +1 -1
package/lib/browser/formula.js
CHANGED
|
@@ -1,38 +1,4 @@
|
|
|
1
|
-
/* @fileverse-dev/formulajs v4.4.11-mod-
|
|
2
|
-
function _slicedToArray(r, e) {
|
|
3
|
-
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
function _nonIterableRest() {
|
|
7
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
function _iterableToArrayLimit(r, l) {
|
|
11
|
-
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
12
|
-
if (null != t) {
|
|
13
|
-
var e, n, i, u, a = [], f = !0, o = !1;
|
|
14
|
-
try {
|
|
15
|
-
if (i = (t = t.call(r)).next, 0 === l) {
|
|
16
|
-
if (Object(t) !== t) return;
|
|
17
|
-
f = !1;
|
|
18
|
-
} else for (;!(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) ;
|
|
19
|
-
} catch (r) {
|
|
20
|
-
o = !0, n = r;
|
|
21
|
-
} finally {
|
|
22
|
-
try {
|
|
23
|
-
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
24
|
-
} finally {
|
|
25
|
-
if (o) throw n;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return a;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function _arrayWithHoles(r) {
|
|
33
|
-
if (Array.isArray(r)) return r;
|
|
34
|
-
}
|
|
35
|
-
|
|
1
|
+
/* @fileverse-dev/formulajs v4.4.11-mod-16 */
|
|
36
2
|
function _regeneratorRuntime() {
|
|
37
3
|
"use strict";
|
|
38
4
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() {
|
|
@@ -323,6 +289,40 @@ function _asyncToGenerator(n) {
|
|
|
323
289
|
};
|
|
324
290
|
}
|
|
325
291
|
|
|
292
|
+
function _slicedToArray(r, e) {
|
|
293
|
+
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function _nonIterableRest() {
|
|
297
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
function _iterableToArrayLimit(r, l) {
|
|
301
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
302
|
+
if (null != t) {
|
|
303
|
+
var e, n, i, u, a = [], f = !0, o = !1;
|
|
304
|
+
try {
|
|
305
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
306
|
+
if (Object(t) !== t) return;
|
|
307
|
+
f = !1;
|
|
308
|
+
} else for (;!(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) ;
|
|
309
|
+
} catch (r) {
|
|
310
|
+
o = !0, n = r;
|
|
311
|
+
} finally {
|
|
312
|
+
try {
|
|
313
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
314
|
+
} finally {
|
|
315
|
+
if (o) throw n;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return a;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
function _arrayWithHoles(r) {
|
|
323
|
+
if (Array.isArray(r)) return r;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
326
|
function _toConsumableArray(r) {
|
|
327
327
|
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
|
|
328
328
|
}
|
|
@@ -6581,12 +6581,39 @@ function _typeof(o) {
|
|
|
6581
6581
|
var n = array.length;
|
|
6582
6582
|
return 1 - NORM.S.DIST((AVERAGE(array) - x) / (sigma / Math.sqrt(n)), true);
|
|
6583
6583
|
};
|
|
6584
|
-
function
|
|
6585
|
-
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
}
|
|
6589
|
-
|
|
6584
|
+
function PNL() {
|
|
6585
|
+
var _argsToArray = argsToArray(arguments), _argsToArray2 = _slicedToArray(_argsToArray, 2), A = _argsToArray2[0], B = _argsToArray2[1];
|
|
6586
|
+
if (typeof A === "number" && typeof B === "number") {
|
|
6587
|
+
return A - B;
|
|
6588
|
+
}
|
|
6589
|
+
if (Array.isArray(A) && Array.isArray(B) && typeof A[0] === "number") {
|
|
6590
|
+
if (A.length !== B.length) throw new Error("1D arrays must match in length");
|
|
6591
|
+
return A.reduce((function(sum, val, i) {
|
|
6592
|
+
return sum + (val - B[i]);
|
|
6593
|
+
}), 0);
|
|
6594
|
+
}
|
|
6595
|
+
if (Array.isArray(A[0]) && typeof A[0][0] === "number") {
|
|
6596
|
+
var total = 0;
|
|
6597
|
+
for (var i = 0; i < A.length; i++) {
|
|
6598
|
+
if (A[i].length !== B[i].length) throw new Error("Row ".concat(i, " length mismatch"));
|
|
6599
|
+
for (var j = 0; j < A[i].length; j++) {
|
|
6600
|
+
total += A[i][j] - B[i][j];
|
|
6601
|
+
}
|
|
6602
|
+
}
|
|
6603
|
+
return total;
|
|
6604
|
+
}
|
|
6605
|
+
if (Array.isArray(A[0][0])) {
|
|
6606
|
+
var _total = 0;
|
|
6607
|
+
for (var _i5 = 0; _i5 < A.length; _i5++) {
|
|
6608
|
+
for (var _j = 0; _j < A[_i5].length; _j++) {
|
|
6609
|
+
for (var k = 0; k < A[_i5][_j].length; k++) {
|
|
6610
|
+
_total += A[_i5][_j][k] - B[_i5][_j][k];
|
|
6611
|
+
}
|
|
6612
|
+
}
|
|
6613
|
+
}
|
|
6614
|
+
return _total;
|
|
6615
|
+
}
|
|
6616
|
+
throw new Error("Unsupported or mismatched structure");
|
|
6590
6617
|
}
|
|
6591
6618
|
function ABS(number) {
|
|
6592
6619
|
number = parseNumber(number);
|
|
@@ -7448,6 +7475,9 @@ function _typeof(o) {
|
|
|
7448
7475
|
}
|
|
7449
7476
|
function SUM() {
|
|
7450
7477
|
var result = 0;
|
|
7478
|
+
console.log("LLLLO", argsToArray(arguments), {
|
|
7479
|
+
arguments: arguments
|
|
7480
|
+
});
|
|
7451
7481
|
arrayEach(argsToArray(arguments), (function(value) {
|
|
7452
7482
|
if (result instanceof Error) {
|
|
7453
7483
|
return false;
|
|
@@ -8053,17 +8083,17 @@ function _typeof(o) {
|
|
|
8053
8083
|
} else if (!(holidays instanceof Array)) {
|
|
8054
8084
|
holidays = [ holidays ];
|
|
8055
8085
|
}
|
|
8056
|
-
for (var
|
|
8057
|
-
var h = parseDate(holidays[
|
|
8086
|
+
for (var _i6 = 0; _i6 < holidays.length; _i6++) {
|
|
8087
|
+
var h = parseDate(holidays[_i6]);
|
|
8058
8088
|
if (h instanceof Error) {
|
|
8059
8089
|
return h;
|
|
8060
8090
|
}
|
|
8061
|
-
holidays[
|
|
8091
|
+
holidays[_i6] = h;
|
|
8062
8092
|
}
|
|
8063
8093
|
var days = Math.round((end_date - start_date) / (1e3 * 60 * 60 * 24)) + 1;
|
|
8064
8094
|
var total = days;
|
|
8065
8095
|
var day = start_date;
|
|
8066
|
-
for (var
|
|
8096
|
+
for (var _i7 = 0; _i7 < days; _i7++) {
|
|
8067
8097
|
var d = (new Date).getTimezoneOffset() > 0 ? day.getUTCDay() : day.getDay();
|
|
8068
8098
|
var dec = isMask ? maskDays.includes(d) : d === weekend[0] || d === weekend[1];
|
|
8069
8099
|
for (var j = 0; j < holidays.length; j++) {
|
|
@@ -9460,9 +9490,9 @@ function _typeof(o) {
|
|
|
9460
9490
|
matches[i] = true;
|
|
9461
9491
|
}
|
|
9462
9492
|
var maxCriteriaLength = criterias[0].length;
|
|
9463
|
-
for (var
|
|
9464
|
-
if (criterias[
|
|
9465
|
-
maxCriteriaLength = criterias[
|
|
9493
|
+
for (var _i8 = 1; _i8 < criterias.length; ++_i8) {
|
|
9494
|
+
if (criterias[_i8].length > maxCriteriaLength) {
|
|
9495
|
+
maxCriteriaLength = criterias[_i8].length;
|
|
9466
9496
|
}
|
|
9467
9497
|
}
|
|
9468
9498
|
for (var k = 1; k < database.length; ++k) {
|
|
@@ -10111,9 +10141,9 @@ function _typeof(o) {
|
|
|
10111
10141
|
var result = cashFlows[0];
|
|
10112
10142
|
var r = 1 + rate;
|
|
10113
10143
|
var factor = 1;
|
|
10114
|
-
for (var
|
|
10144
|
+
for (var _i9 = 1; _i9 < cashFlows.length; _i9++) {
|
|
10115
10145
|
factor *= r;
|
|
10116
|
-
result += cashFlows[
|
|
10146
|
+
result += cashFlows[_i9] / factor;
|
|
10117
10147
|
}
|
|
10118
10148
|
return result;
|
|
10119
10149
|
};
|
|
@@ -10179,7 +10209,7 @@ function _typeof(o) {
|
|
|
10179
10209
|
if (a <= -.99999999) return rate;
|
|
10180
10210
|
}
|
|
10181
10211
|
var c;
|
|
10182
|
-
for (var
|
|
10212
|
+
for (var _i0 = 0; _i0 < maxIterations; _i0++) {
|
|
10183
10213
|
c = (a + b) / 2;
|
|
10184
10214
|
var npvC = cachedNpv(c);
|
|
10185
10215
|
if (Math.abs(npvC) < epsMax || Math.abs(b - a) < epsMax) {
|
|
@@ -10715,65 +10745,107 @@ function _typeof(o) {
|
|
|
10715
10745
|
Gnosisscan: "GNOSISSSCAN",
|
|
10716
10746
|
BASESCAN: "Basescan"
|
|
10717
10747
|
};
|
|
10718
|
-
|
|
10748
|
+
var CHAIN_ID_MAP = {
|
|
10749
|
+
ethereum: 1,
|
|
10750
|
+
gnosis: 100,
|
|
10751
|
+
base: 8453
|
|
10752
|
+
};
|
|
10753
|
+
var fromTimeStampToBlock = function() {
|
|
10754
|
+
var _ref = _asyncToGenerator(_regeneratorRuntime().mark((function _callee(timestamp, chain, apiKey) {
|
|
10755
|
+
var chainId, url, res, json;
|
|
10756
|
+
return _regeneratorRuntime().wrap((function _callee$(_context) {
|
|
10757
|
+
while (1) switch (_context.prev = _context.next) {
|
|
10758
|
+
case 0:
|
|
10759
|
+
if (!(!timestamp || !chain || !apiKey)) {
|
|
10760
|
+
_context.next = 2;
|
|
10761
|
+
break;
|
|
10762
|
+
}
|
|
10763
|
+
return _context.abrupt("return");
|
|
10764
|
+
|
|
10765
|
+
case 2:
|
|
10766
|
+
chainId = CHAIN_ID_MAP[chain];
|
|
10767
|
+
url = "https://api.etherscan.io/v2/api?module=block&action=getblocknobytime×tamp=".concat(timestamp, "&closest=before&apikey=").concat(apiKey, "&chainId=").concat(chainId);
|
|
10768
|
+
_context.next = 6;
|
|
10769
|
+
return fetch(url);
|
|
10770
|
+
|
|
10771
|
+
case 6:
|
|
10772
|
+
res = _context.sent;
|
|
10773
|
+
_context.next = 9;
|
|
10774
|
+
return res.json();
|
|
10775
|
+
|
|
10776
|
+
case 9:
|
|
10777
|
+
json = _context.sent;
|
|
10778
|
+
return _context.abrupt("return", parseInt(json.result));
|
|
10779
|
+
|
|
10780
|
+
case 11:
|
|
10781
|
+
case "end":
|
|
10782
|
+
return _context.stop();
|
|
10783
|
+
}
|
|
10784
|
+
}), _callee);
|
|
10785
|
+
})));
|
|
10786
|
+
return function fromTimeStampToBlock(_x, _x2, _x3) {
|
|
10787
|
+
return _ref.apply(this, arguments);
|
|
10788
|
+
};
|
|
10789
|
+
}();
|
|
10790
|
+
function ETHERSCAN(_x4, _x5, _x6) {
|
|
10719
10791
|
return _ETHERSCAN.apply(this, arguments);
|
|
10720
10792
|
}
|
|
10721
10793
|
function _ETHERSCAN() {
|
|
10722
|
-
_ETHERSCAN = _asyncToGenerator(_regeneratorRuntime().mark((function
|
|
10794
|
+
_ETHERSCAN = _asyncToGenerator(_regeneratorRuntime().mark((function _callee2(address, page, offset) {
|
|
10723
10795
|
var API_KEY, url, response, json;
|
|
10724
|
-
return _regeneratorRuntime().wrap((function
|
|
10725
|
-
while (1) switch (
|
|
10796
|
+
return _regeneratorRuntime().wrap((function _callee2$(_context2) {
|
|
10797
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
10726
10798
|
case 0:
|
|
10727
10799
|
API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
|
|
10728
10800
|
url = "https://api.etherscan.io/api?module=account&action=txlist&address=".concat(address, "&startblock=0&endblock=99999999&page=").concat(page, "&offset=").concat(offset, "&sort=asc&apikey=").concat(API_KEY);
|
|
10729
|
-
|
|
10730
|
-
|
|
10801
|
+
_context2.prev = 2;
|
|
10802
|
+
_context2.next = 5;
|
|
10731
10803
|
return fetch(url);
|
|
10732
10804
|
|
|
10733
10805
|
case 5:
|
|
10734
|
-
response =
|
|
10806
|
+
response = _context2.sent;
|
|
10735
10807
|
if (response.ok) {
|
|
10736
|
-
|
|
10808
|
+
_context2.next = 8;
|
|
10737
10809
|
break;
|
|
10738
10810
|
}
|
|
10739
10811
|
throw new Error("HTTP error! Status: ".concat(response.status));
|
|
10740
10812
|
|
|
10741
10813
|
case 8:
|
|
10742
|
-
|
|
10814
|
+
_context2.next = 10;
|
|
10743
10815
|
return response.json();
|
|
10744
10816
|
|
|
10745
10817
|
case 10:
|
|
10746
|
-
json =
|
|
10818
|
+
json = _context2.sent;
|
|
10747
10819
|
if (!json.result.includes("Invalid API Key")) {
|
|
10748
|
-
|
|
10820
|
+
_context2.next = 13;
|
|
10749
10821
|
break;
|
|
10750
10822
|
}
|
|
10751
|
-
return
|
|
10823
|
+
return _context2.abrupt("return", "".concat(SERVICE_API_KEY.Etherscan, "_MISSING"));
|
|
10752
10824
|
|
|
10753
10825
|
case 13:
|
|
10754
|
-
return
|
|
10826
|
+
return _context2.abrupt("return", json.result);
|
|
10755
10827
|
|
|
10756
10828
|
case 16:
|
|
10757
|
-
|
|
10758
|
-
|
|
10759
|
-
return
|
|
10829
|
+
_context2.prev = 16;
|
|
10830
|
+
_context2.t0 = _context2["catch"](2);
|
|
10831
|
+
return _context2.abrupt("return", "ERROR IN FETCHING");
|
|
10760
10832
|
|
|
10761
10833
|
case 19:
|
|
10762
10834
|
case "end":
|
|
10763
|
-
return
|
|
10835
|
+
return _context2.stop();
|
|
10764
10836
|
}
|
|
10765
|
-
}),
|
|
10837
|
+
}), _callee2, null, [ [ 2, 16 ] ]);
|
|
10766
10838
|
})));
|
|
10767
10839
|
return _ETHERSCAN.apply(this, arguments);
|
|
10768
10840
|
}
|
|
10769
|
-
function GETPRICE(
|
|
10841
|
+
function GETPRICE(_x7, _x8) {
|
|
10770
10842
|
return _GETPRICE.apply(this, arguments);
|
|
10771
10843
|
}
|
|
10772
10844
|
function _GETPRICE() {
|
|
10773
|
-
_GETPRICE = _asyncToGenerator(_regeneratorRuntime().mark((function
|
|
10774
|
-
var API_KEY, url, options, response, json, jsonResponse, output,
|
|
10775
|
-
return _regeneratorRuntime().wrap((function
|
|
10776
|
-
while (1) switch (
|
|
10845
|
+
_GETPRICE = _asyncToGenerator(_regeneratorRuntime().mark((function _callee3(token, vs_currencies) {
|
|
10846
|
+
var API_KEY, url, options, response, json, jsonResponse, output, _i1, _Object$entries, _Object$entries$_i, coin, prices, _i10, _Object$entries2, _Object$entries2$_i, currency, _value5, key;
|
|
10847
|
+
return _regeneratorRuntime().wrap((function _callee3$(_context3) {
|
|
10848
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
10777
10849
|
case 0:
|
|
10778
10850
|
API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Coingecko);
|
|
10779
10851
|
url = "https://api.coingecko.com/api/v3/simple/price?vs_currencies=".concat(vs_currencies, "&ids=").concat(token);
|
|
@@ -10784,65 +10856,65 @@ function _typeof(o) {
|
|
|
10784
10856
|
"x-cg-demo-api-key": "".concat(API_KEY)
|
|
10785
10857
|
}
|
|
10786
10858
|
};
|
|
10787
|
-
|
|
10788
|
-
|
|
10859
|
+
_context3.prev = 3;
|
|
10860
|
+
_context3.next = 6;
|
|
10789
10861
|
return fetch(url, options);
|
|
10790
10862
|
|
|
10791
10863
|
case 6:
|
|
10792
|
-
response =
|
|
10864
|
+
response = _context3.sent;
|
|
10793
10865
|
if (response.ok) {
|
|
10794
|
-
|
|
10866
|
+
_context3.next = 13;
|
|
10795
10867
|
break;
|
|
10796
10868
|
}
|
|
10797
|
-
|
|
10869
|
+
_context3.next = 10;
|
|
10798
10870
|
return response.json();
|
|
10799
10871
|
|
|
10800
10872
|
case 10:
|
|
10801
|
-
json =
|
|
10873
|
+
json = _context3.sent;
|
|
10802
10874
|
if (!json.status.error_message.includes("API Key Missing")) {
|
|
10803
|
-
|
|
10875
|
+
_context3.next = 13;
|
|
10804
10876
|
break;
|
|
10805
10877
|
}
|
|
10806
|
-
return
|
|
10878
|
+
return _context3.abrupt("return", "".concat(SERVICE_API_KEY.Coingecko, "_MISSING"));
|
|
10807
10879
|
|
|
10808
10880
|
case 13:
|
|
10809
|
-
|
|
10881
|
+
_context3.next = 15;
|
|
10810
10882
|
return response.json();
|
|
10811
10883
|
|
|
10812
10884
|
case 15:
|
|
10813
|
-
jsonResponse =
|
|
10885
|
+
jsonResponse = _context3.sent;
|
|
10814
10886
|
output = {};
|
|
10815
|
-
for (
|
|
10816
|
-
_Object$entries$_i = _slicedToArray(_Object$entries[
|
|
10887
|
+
for (_i1 = 0, _Object$entries = Object.entries(jsonResponse); _i1 < _Object$entries.length; _i1++) {
|
|
10888
|
+
_Object$entries$_i = _slicedToArray(_Object$entries[_i1], 2), coin = _Object$entries$_i[0],
|
|
10817
10889
|
prices = _Object$entries$_i[1];
|
|
10818
|
-
for (
|
|
10819
|
-
_Object$entries2$_i = _slicedToArray(_Object$entries2[
|
|
10890
|
+
for (_i10 = 0, _Object$entries2 = Object.entries(prices); _i10 < _Object$entries2.length; _i10++) {
|
|
10891
|
+
_Object$entries2$_i = _slicedToArray(_Object$entries2[_i10], 2), currency = _Object$entries2$_i[0],
|
|
10820
10892
|
_value5 = _Object$entries2$_i[1];
|
|
10821
10893
|
key = "".concat(coin.charAt(0).toUpperCase() + coin.slice(1), "_").concat(currency.toUpperCase());
|
|
10822
10894
|
output[key] = _value5;
|
|
10823
10895
|
}
|
|
10824
10896
|
}
|
|
10825
|
-
return
|
|
10897
|
+
return _context3.abrupt("return", [ output ]);
|
|
10826
10898
|
|
|
10827
10899
|
case 21:
|
|
10828
|
-
|
|
10829
|
-
|
|
10830
|
-
return
|
|
10900
|
+
_context3.prev = 21;
|
|
10901
|
+
_context3.t0 = _context3["catch"](3);
|
|
10902
|
+
return _context3.abrupt("return", "ERROR IN FETCHING");
|
|
10831
10903
|
|
|
10832
10904
|
case 24:
|
|
10833
10905
|
case "end":
|
|
10834
|
-
return
|
|
10906
|
+
return _context3.stop();
|
|
10835
10907
|
}
|
|
10836
|
-
}),
|
|
10908
|
+
}), _callee3, null, [ [ 3, 21 ] ]);
|
|
10837
10909
|
})));
|
|
10838
10910
|
return _GETPRICE.apply(this, arguments);
|
|
10839
10911
|
}
|
|
10840
|
-
function OX(
|
|
10912
|
+
function OX(_x9, _x0, _x1, _x10, _x11) {
|
|
10841
10913
|
return _OX.apply(this, arguments);
|
|
10842
10914
|
}
|
|
10843
10915
|
function _OX() {
|
|
10844
10916
|
_OX = _asyncToGenerator(_regeneratorRuntime().mark((function _callee4(address, categories, chain, startTime, endTime) {
|
|
10845
|
-
var API_KEYS,
|
|
10917
|
+
var API_KEYS, apiKey, chainId, action, timeQuery, startBlock, endBlock, url, _json$result, _json$result$includes, response, json;
|
|
10846
10918
|
return _regeneratorRuntime().wrap((function _callee4$(_context4) {
|
|
10847
10919
|
while (1) switch (_context4.prev = _context4.next) {
|
|
10848
10920
|
case 0:
|
|
@@ -10851,105 +10923,94 @@ function _typeof(o) {
|
|
|
10851
10923
|
gnosis: window.localStorage.getItem(SERVICE_API_KEY.Gnosisscan),
|
|
10852
10924
|
base: window.localStorage.getItem(SERVICE_API_KEY.Basescan)
|
|
10853
10925
|
};
|
|
10854
|
-
CHAIN_API_BASE = {
|
|
10855
|
-
ethereum: "https://api.etherscan.io/api",
|
|
10856
|
-
gnosis: "https://api.gnosisscan.io/api",
|
|
10857
|
-
base: "https://api.basescan.org/api"
|
|
10858
|
-
};
|
|
10859
10926
|
apiKey = API_KEYS[chain];
|
|
10860
|
-
|
|
10861
|
-
|
|
10862
|
-
|
|
10863
|
-
|
|
10864
|
-
|
|
10865
|
-
|
|
10866
|
-
case 0:
|
|
10867
|
-
_context3.prev = 0;
|
|
10868
|
-
_url = "".concat(baseUrl, "?module=block&action=getblocknobytime×tamp=").concat(timestamp, "&closest=before&apikey=").concat(apiKey);
|
|
10869
|
-
_context3.next = 4;
|
|
10870
|
-
return fetch(_url);
|
|
10927
|
+
chainId = CHAIN_ID_MAP[chain];
|
|
10928
|
+
if (!(!apiKey || !chainId)) {
|
|
10929
|
+
_context4.next = 5;
|
|
10930
|
+
break;
|
|
10931
|
+
}
|
|
10932
|
+
return _context4.abrupt("return", "".concat(chain.toUpperCase(), "_MISSING"));
|
|
10871
10933
|
|
|
10872
|
-
|
|
10873
|
-
|
|
10874
|
-
|
|
10875
|
-
|
|
10934
|
+
case 5:
|
|
10935
|
+
action = "";
|
|
10936
|
+
if (categories === "txns") action = "account.txlist"; else {
|
|
10937
|
+
action = "account.balance";
|
|
10938
|
+
}
|
|
10939
|
+
timeQuery = "";
|
|
10940
|
+
if (!(!isNaN(startTime) && !isNaN(endTime))) {
|
|
10941
|
+
_context4.next = 18;
|
|
10942
|
+
break;
|
|
10943
|
+
}
|
|
10944
|
+
_context4.next = 11;
|
|
10945
|
+
return fromTimeStampToBlock(startTime, chain, apiKey);
|
|
10876
10946
|
|
|
10877
|
-
|
|
10878
|
-
|
|
10879
|
-
|
|
10947
|
+
case 11:
|
|
10948
|
+
startBlock = _context4.sent;
|
|
10949
|
+
_context4.next = 14;
|
|
10950
|
+
return fromTimeStampToBlock(endTime, chain, apiKey);
|
|
10880
10951
|
|
|
10881
|
-
|
|
10882
|
-
|
|
10883
|
-
|
|
10884
|
-
|
|
10952
|
+
case 14:
|
|
10953
|
+
endBlock = _context4.sent;
|
|
10954
|
+
timeQuery = "&startblock=".concat(startBlock, "&endblock=").concat(endBlock);
|
|
10955
|
+
_context4.next = 23;
|
|
10956
|
+
break;
|
|
10885
10957
|
|
|
10886
|
-
|
|
10887
|
-
|
|
10888
|
-
|
|
10889
|
-
|
|
10890
|
-
|
|
10891
|
-
|
|
10892
|
-
|
|
10893
|
-
|
|
10894
|
-
};
|
|
10895
|
-
}();
|
|
10896
|
-
_context4.next = 7;
|
|
10897
|
-
return timeToBlock(startTime);
|
|
10958
|
+
case 18:
|
|
10959
|
+
if (!(categories === "balance")) {
|
|
10960
|
+
_context4.next = 22;
|
|
10961
|
+
break;
|
|
10962
|
+
}
|
|
10963
|
+
timeQuery = "&tag=latest";
|
|
10964
|
+
_context4.next = 23;
|
|
10965
|
+
break;
|
|
10898
10966
|
|
|
10899
|
-
case
|
|
10900
|
-
|
|
10901
|
-
_context4.next = 10;
|
|
10902
|
-
return timeToBlock(endTime);
|
|
10967
|
+
case 22:
|
|
10968
|
+
throw new Error("Start and End Time is required for querying transaction list ");
|
|
10903
10969
|
|
|
10904
|
-
case
|
|
10905
|
-
|
|
10906
|
-
|
|
10907
|
-
|
|
10908
|
-
url = "".concat(baseUrl, "?module=account&action=").concat(action, "&address=").concat(address, "&startblock=").concat(startBlock, "&endblock=").concat(endBlock, "&sort=asc&apikey=").concat(apiKey);
|
|
10909
|
-
_context4.prev = 14;
|
|
10910
|
-
_context4.next = 17;
|
|
10970
|
+
case 23:
|
|
10971
|
+
url = "https://api.etherscan.io/v2/api?module=".concat(action.split(".")[0], "&action=").concat(action.split(".")[1], "&address=").concat(address, "&sort=asc&chainid=").concat(chainId, "&apikey=").concat(apiKey).concat(timeQuery);
|
|
10972
|
+
_context4.prev = 24;
|
|
10973
|
+
_context4.next = 27;
|
|
10911
10974
|
return fetch(url);
|
|
10912
10975
|
|
|
10913
|
-
case
|
|
10976
|
+
case 27:
|
|
10914
10977
|
response = _context4.sent;
|
|
10915
10978
|
if (response.ok) {
|
|
10916
|
-
_context4.next =
|
|
10979
|
+
_context4.next = 30;
|
|
10917
10980
|
break;
|
|
10918
10981
|
}
|
|
10919
10982
|
throw new Error("HTTP error! Status: ".concat(response.status));
|
|
10920
10983
|
|
|
10921
|
-
case
|
|
10922
|
-
_context4.next =
|
|
10984
|
+
case 30:
|
|
10985
|
+
_context4.next = 32;
|
|
10923
10986
|
return response.json();
|
|
10924
10987
|
|
|
10925
|
-
case
|
|
10988
|
+
case 32:
|
|
10926
10989
|
json = _context4.sent;
|
|
10927
10990
|
if (!((_json$result = json.result) !== null && _json$result !== void 0 && (_json$result$includes = _json$result.includes) !== null && _json$result$includes !== void 0 && _json$result$includes.call(_json$result, "Invalid API Key"))) {
|
|
10928
|
-
_context4.next =
|
|
10991
|
+
_context4.next = 35;
|
|
10929
10992
|
break;
|
|
10930
10993
|
}
|
|
10931
10994
|
return _context4.abrupt("return", "".concat(SERVICE_API_KEY[chain.charAt(0).toUpperCase() + chain.slice(1)], "_MISSING"));
|
|
10932
10995
|
|
|
10933
|
-
case
|
|
10934
|
-
console.log({
|
|
10935
|
-
ANSWER: json.result
|
|
10936
|
-
});
|
|
10996
|
+
case 35:
|
|
10937
10997
|
return _context4.abrupt("return", json.result);
|
|
10938
10998
|
|
|
10939
|
-
case
|
|
10940
|
-
_context4.prev =
|
|
10941
|
-
_context4.t0 = _context4["catch"](
|
|
10999
|
+
case 38:
|
|
11000
|
+
_context4.prev = 38;
|
|
11001
|
+
_context4.t0 = _context4["catch"](24);
|
|
11002
|
+
console.log(_context4.t0);
|
|
10942
11003
|
return _context4.abrupt("return", "ERROR IN FETCHING");
|
|
10943
11004
|
|
|
10944
|
-
case
|
|
11005
|
+
case 42:
|
|
10945
11006
|
case "end":
|
|
10946
11007
|
return _context4.stop();
|
|
10947
11008
|
}
|
|
10948
|
-
}), _callee4, null, [ [
|
|
11009
|
+
}), _callee4, null, [ [ 24, 38 ] ]);
|
|
10949
11010
|
})));
|
|
10950
11011
|
return _OX.apply(this, arguments);
|
|
10951
11012
|
}
|
|
10952
|
-
function FLVURL(
|
|
11013
|
+
function FLVURL(_x12, _x13) {
|
|
10953
11014
|
return _FLVURL.apply(this, arguments);
|
|
10954
11015
|
}
|
|
10955
11016
|
function _FLVURL() {
|
|
@@ -11261,6 +11322,7 @@ function _typeof(o) {
|
|
|
11261
11322
|
exports.PHI = PHI;
|
|
11262
11323
|
exports.PI = PI;
|
|
11263
11324
|
exports.PMT = PMT;
|
|
11325
|
+
exports.PNL = PNL;
|
|
11264
11326
|
exports.POISSON = POISSON;
|
|
11265
11327
|
exports.POISSONDIST = POISSONDIST;
|
|
11266
11328
|
exports.POWER = POWER;
|
|
@@ -11270,7 +11332,6 @@ function _typeof(o) {
|
|
|
11270
11332
|
exports.PRODUCT = PRODUCT;
|
|
11271
11333
|
exports.PROPER = PROPER;
|
|
11272
11334
|
exports.PV = PV;
|
|
11273
|
-
exports.PnL = PnL;
|
|
11274
11335
|
exports.QUARTILE = QUARTILE;
|
|
11275
11336
|
exports.QUARTILEEXC = QUARTILEEXC;
|
|
11276
11337
|
exports.QUARTILEINC = QUARTILEINC;
|