@fileverse-dev/formulajs 4.4.11-mod-27 → 4.4.11-mod-30

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.
@@ -1,4 +1,4 @@
1
- /* @fileverse-dev/formulajs v4.4.11-mod-27 */
1
+ /* @fileverse-dev/formulajs v4.4.11-mod-30 */
2
2
  var _excluded = [ "confirmations", "dataDecoded" ];
3
3
 
4
4
  function _objectWithoutProperties(e, t) {
@@ -1132,7 +1132,6 @@ function _typeof(o) {
1132
1132
  return 64;
1133
1133
  }
1134
1134
  }
1135
- var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
1136
1135
  function getDefaultExportFromCjs(x) {
1137
1136
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
1138
1137
  }
@@ -10948,6 +10947,9 @@ function _typeof(o) {
10948
10947
  INVALID_ADDRESS: "_INVALID_ADDRESS",
10949
10948
  INVALID_PARAM: "_INVALID_PARAM"
10950
10949
  };
10950
+ var UTILITY = {
10951
+ ALCHEMY_API_KEY: "ALCHEMY_API_KEY"
10952
+ };
10951
10953
  var SERVICE_API_KEY = {
10952
10954
  Etherscan: "ETHERSCAN_API_KEY",
10953
10955
  Coingecko: "COINGECKO_API_KEY",
@@ -10994,41 +10996,122 @@ function _typeof(o) {
10994
10996
  return _ref.apply(this, arguments);
10995
10997
  };
10996
10998
  }();
10997
- function handleScanRequest(_x4) {
10999
+ function toTimestamp(dateStr) {
11000
+ var _dateStr$split$map = dateStr.split("/").map(Number), _dateStr$split$map2 = _slicedToArray(_dateStr$split$map, 3), day = _dateStr$split$map2[0], month = _dateStr$split$map2[1], year = _dateStr$split$map2[2];
11001
+ var date = new Date(year, month - 1, day);
11002
+ return Math.floor(date.getTime() / 1e3);
11003
+ }
11004
+ var isAddress = function isAddress(input) {
11005
+ return /^0x[a-fA-F0-9]{40}$/.test(input);
11006
+ };
11007
+ function fromEnsNameToAddress(_x4) {
11008
+ return _fromEnsNameToAddress.apply(this, arguments);
11009
+ }
11010
+ function _fromEnsNameToAddress() {
11011
+ _fromEnsNameToAddress = _asyncToGenerator(_regeneratorRuntime().mark((function _callee2(name) {
11012
+ var ALCHEMY_KEY, provider, resolved;
11013
+ return _regeneratorRuntime().wrap((function _callee2$(_context2) {
11014
+ while (1) switch (_context2.prev = _context2.next) {
11015
+ case 0:
11016
+ if (!(typeof ethers === "undefined")) {
11017
+ _context2.next = 3;
11018
+ break;
11019
+ }
11020
+ _context2.next = 3;
11021
+ return new Promise((function(resolve, reject) {
11022
+ var script = document.createElement("script");
11023
+ script.src = "https://cdn.jsdelivr.net/npm/ethers@6.10.0/dist/ethers.umd.min.js";
11024
+ script.onload = resolve;
11025
+ script.onerror = reject;
11026
+ document.head.appendChild(script);
11027
+ }));
11028
+
11029
+ case 3:
11030
+ ALCHEMY_KEY = window.localStorage.getItem(UTILITY.ALCHEMY_API_KEY);
11031
+ if (ALCHEMY_KEY) {
11032
+ _context2.next = 7;
11033
+ break;
11034
+ }
11035
+ console.error("alchemy api key missing");
11036
+ return _context2.abrupt("return", null);
11037
+
11038
+ case 7:
11039
+ provider = new ethers.AlchemyProvider("mainnet", ALCHEMY_KEY);
11040
+ _context2.prev = 8;
11041
+ _context2.next = 11;
11042
+ return provider.resolveName(name);
11043
+
11044
+ case 11:
11045
+ resolved = _context2.sent;
11046
+ return _context2.abrupt("return", resolved || null);
11047
+
11048
+ case 15:
11049
+ _context2.prev = 15;
11050
+ _context2.t0 = _context2["catch"](8);
11051
+ console.error("ENS resolution failed:", _context2.t0.message);
11052
+ return _context2.abrupt("return", null);
11053
+
11054
+ case 19:
11055
+ case "end":
11056
+ return _context2.stop();
11057
+ }
11058
+ }), _callee2, null, [ [ 8, 15 ] ]);
11059
+ })));
11060
+ return _fromEnsNameToAddress.apply(this, arguments);
11061
+ }
11062
+ function handleScanRequest(_x5) {
10998
11063
  return _handleScanRequest.apply(this, arguments);
10999
11064
  }
11000
11065
  function _handleScanRequest() {
11001
- _handleScanRequest = _asyncToGenerator(_regeneratorRuntime().mark((function _callee2(_ref2) {
11066
+ _handleScanRequest = _asyncToGenerator(_regeneratorRuntime().mark((function _callee3(_ref2) {
11002
11067
  var scanKey, baseUrl, type, chain, address, startDate, endDate, _ref2$page, page, _ref2$offset, offset, API_KEY, chainId, ACTION_MAP, action, url, _yield$Promise$all, _yield$Promise$all2, startBlock, endBlock, res, json;
11003
- return _regeneratorRuntime().wrap((function _callee2$(_context2) {
11004
- while (1) switch (_context2.prev = _context2.next) {
11068
+ return _regeneratorRuntime().wrap((function _callee3$(_context3) {
11069
+ while (1) switch (_context3.prev = _context3.next) {
11005
11070
  case 0:
11006
11071
  scanKey = _ref2.scanKey, baseUrl = _ref2.baseUrl, type = _ref2.type, chain = _ref2.chain,
11007
11072
  address = _ref2.address, startDate = _ref2.startDate, endDate = _ref2.endDate, _ref2$page = _ref2.page,
11008
11073
  page = _ref2$page === void 0 ? 1 : _ref2$page, _ref2$offset = _ref2.offset, offset = _ref2$offset === void 0 ? 10 : _ref2$offset;
11009
11074
  API_KEY = window.localStorage.getItem(scanKey);
11010
11075
  if (API_KEY) {
11011
- _context2.next = 4;
11076
+ _context3.next = 4;
11012
11077
  break;
11013
11078
  }
11014
- return _context2.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.MISSING_KEY));
11079
+ return _context3.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.MISSING_KEY));
11015
11080
 
11016
11081
  case 4:
11017
11082
  if (!(API_KEY === "xxxx")) {
11018
- _context2.next = 6;
11083
+ _context3.next = 6;
11019
11084
  break;
11020
11085
  }
11021
- return _context2.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.RATE_LIMIT));
11086
+ return _context3.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.RATE_LIMIT));
11022
11087
 
11023
11088
  case 6:
11024
11089
  chainId = CHAIN_ID_MAP[chain === null || chain === void 0 ? void 0 : chain.toLowerCase()];
11025
11090
  if (chainId) {
11026
- _context2.next = 9;
11091
+ _context3.next = 9;
11027
11092
  break;
11028
11093
  }
11029
- return _context2.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.INVALID_CHAIN));
11094
+ return _context3.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.INVALID_CHAIN));
11030
11095
 
11031
11096
  case 9:
11097
+ if (isAddress(address)) {
11098
+ _context3.next = 13;
11099
+ break;
11100
+ }
11101
+ _context3.next = 12;
11102
+ return fromEnsNameToAddress(address);
11103
+
11104
+ case 12:
11105
+ address = _context3.sent;
11106
+
11107
+ case 13:
11108
+ if (address) {
11109
+ _context3.next = 15;
11110
+ break;
11111
+ }
11112
+ return _context3.abrupt("return", "".concat(address).concat(ERROR_MESSAGES_FLAG.INVALID_PARAM));
11113
+
11114
+ case 15:
11032
11115
  ACTION_MAP = {
11033
11116
  "all-txns": "txlist",
11034
11117
  "token-txns": "tokentx",
@@ -11037,999 +11120,198 @@ function _typeof(o) {
11037
11120
  };
11038
11121
  action = ACTION_MAP[type];
11039
11122
  if (action) {
11040
- _context2.next = 13;
11123
+ _context3.next = 19;
11041
11124
  break;
11042
11125
  }
11043
- return _context2.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.INVALID_TYPE));
11126
+ return _context3.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.INVALID_TYPE));
11044
11127
 
11045
- case 13:
11128
+ case 19:
11046
11129
  if (scanKey === SERVICE_API_KEY.Basescan) chainId = "base";
11047
11130
  if (scanKey === SERVICE_API_KEY.Gnosisscan) chainId = "gnosis";
11048
11131
  url = "".concat(baseUrl, "?chainid=").concat(chainId, "&module=account&action=").concat(action, "&apikey=").concat(API_KEY);
11049
11132
  if (![ "all-txns", "token-txns", "nft-txns" ].includes(type)) {
11050
- _context2.next = 29;
11133
+ _context3.next = 35;
11051
11134
  break;
11052
11135
  }
11053
11136
  if (address) {
11054
- _context2.next = 19;
11137
+ _context3.next = 25;
11055
11138
  break;
11056
11139
  }
11057
- return _context2.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.INVALID_ADDRESS));
11140
+ return _context3.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.INVALID_ADDRESS));
11058
11141
 
11059
- case 19:
11142
+ case 25:
11060
11143
  url += "&address=".concat(address, "&startblock=0&endblock=99999999&sort=asc");
11061
11144
  if (!(!isNaN(startDate) && !isNaN(endDate))) {
11062
- _context2.next = 28;
11145
+ _context3.next = 34;
11063
11146
  break;
11064
11147
  }
11065
- _context2.next = 23;
11066
- return Promise.all([ fromTimeStampToBlock(startDate, chain, API_KEY), fromTimeStampToBlock(endDate, chain, API_KEY) ]);
11148
+ _context3.next = 29;
11149
+ return Promise.all([ fromTimeStampToBlock(toTimestamp(startDate), chain, API_KEY), fromTimeStampToBlock(toTimestamp(endDate), chain, API_KEY) ]);
11067
11150
 
11068
- case 23:
11069
- _yield$Promise$all = _context2.sent;
11151
+ case 29:
11152
+ _yield$Promise$all = _context3.sent;
11070
11153
  _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
11071
11154
  startBlock = _yield$Promise$all2[0];
11072
11155
  endBlock = _yield$Promise$all2[1];
11073
11156
  url += "&startblock=".concat(startBlock, "&endblock=").concat(endBlock);
11074
11157
 
11075
- case 28:
11158
+ case 34:
11076
11159
  url += "&page=".concat(page, "&offset=").concat(offset);
11077
11160
 
11078
- case 29:
11079
- _context2.prev = 29;
11080
- _context2.next = 32;
11161
+ case 35:
11162
+ _context3.prev = 35;
11163
+ _context3.next = 38;
11081
11164
  return fetch(url);
11082
11165
 
11083
- case 32:
11084
- res = _context2.sent;
11166
+ case 38:
11167
+ res = _context3.sent;
11085
11168
  if (res.ok) {
11086
- _context2.next = 35;
11169
+ _context3.next = 41;
11087
11170
  break;
11088
11171
  }
11089
11172
  throw new Error("HTTP error: ".concat(res.status));
11090
11173
 
11091
- case 35:
11092
- _context2.next = 37;
11174
+ case 41:
11175
+ _context3.next = 43;
11093
11176
  return res.json();
11094
11177
 
11095
- case 37:
11096
- json = _context2.sent;
11178
+ case 43:
11179
+ json = _context3.sent;
11097
11180
  if (!(typeof json.result === "string")) {
11098
- _context2.next = 43;
11181
+ _context3.next = 49;
11099
11182
  break;
11100
11183
  }
11101
11184
  if (!json.result.includes("Invalid API Key")) {
11102
- _context2.next = 41;
11185
+ _context3.next = 47;
11103
11186
  break;
11104
11187
  }
11105
- return _context2.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.INVALID_API_KEY));
11188
+ return _context3.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.INVALID_API_KEY));
11106
11189
 
11107
- case 41:
11190
+ case 47:
11108
11191
  if (!json.result.includes("Max rate limit reached")) {
11109
- _context2.next = 43;
11110
- break;
11111
- }
11112
- return _context2.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.RATE_LIMIT));
11113
-
11114
- case 43:
11115
- return _context2.abrupt("return", json.result);
11116
-
11117
- case 46:
11118
- _context2.prev = 46;
11119
- _context2.t0 = _context2["catch"](29);
11120
- console.error("[".concat(scanKey, "]"), _context2.t0);
11121
- return _context2.abrupt("return", ERROR_MESSAGES_FLAG.DEFAULT);
11122
-
11123
- case 50:
11124
- case "end":
11125
- return _context2.stop();
11126
- }
11127
- }), _callee2, null, [ [ 29, 46 ] ]);
11128
- })));
11129
- return _handleScanRequest.apply(this, arguments);
11130
- }
11131
- function toTimestamp(dateStr) {
11132
- var _dateStr$split$map = dateStr.split("/").map(Number), _dateStr$split$map2 = _slicedToArray(_dateStr$split$map, 3), day = _dateStr$split$map2[0], month = _dateStr$split$map2[1], year = _dateStr$split$map2[2];
11133
- var date = new Date(year, month - 1, day);
11134
- return Math.floor(date.getTime() / 1e3);
11135
- }
11136
- var sha3 = {
11137
- exports: {}
11138
- };
11139
- /**
11140
- * [js-sha3]{@link https://github.com/emn178/js-sha3}
11141
- *
11142
- * @version 0.9.3
11143
- * @author Chen, Yi-Cyuan [emn178@gmail.com]
11144
- * @copyright Chen, Yi-Cyuan 2015-2023
11145
- * @license MIT
11146
- */ var hasRequiredSha3;
11147
- function requireSha3() {
11148
- if (hasRequiredSha3) return sha3.exports;
11149
- hasRequiredSha3 = 1;
11150
- (function(module) {
11151
- (function() {
11152
- var INPUT_ERROR = "input is invalid type";
11153
- var FINALIZE_ERROR = "finalize already called";
11154
- var WINDOW = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object";
11155
- var root = WINDOW ? window : {};
11156
- if (root.JS_SHA3_NO_WINDOW) {
11157
- WINDOW = false;
11158
- }
11159
- var WEB_WORKER = !WINDOW && (typeof self === "undefined" ? "undefined" : _typeof(self)) === "object";
11160
- var NODE_JS = !root.JS_SHA3_NO_NODE_JS && (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process.versions && process.versions.node;
11161
- if (NODE_JS) {
11162
- root = commonjsGlobal;
11163
- } else if (WEB_WORKER) {
11164
- root = self;
11165
- }
11166
- var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && "object" === "object" && module.exports;
11167
- var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== "undefined";
11168
- var HEX_CHARS = "0123456789abcdef".split("");
11169
- var SHAKE_PADDING = [ 31, 7936, 2031616, 520093696 ];
11170
- var CSHAKE_PADDING = [ 4, 1024, 262144, 67108864 ];
11171
- var KECCAK_PADDING = [ 1, 256, 65536, 16777216 ];
11172
- var PADDING = [ 6, 1536, 393216, 100663296 ];
11173
- var SHIFT = [ 0, 8, 16, 24 ];
11174
- var RC = [ 1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648 ];
11175
- var BITS = [ 224, 256, 384, 512 ];
11176
- var SHAKE_BITS = [ 128, 256 ];
11177
- var OUTPUT_TYPES = [ "hex", "buffer", "arrayBuffer", "array", "digest" ];
11178
- var CSHAKE_BYTEPAD = {
11179
- 128: 168,
11180
- 256: 136
11181
- };
11182
- var isArray = root.JS_SHA3_NO_NODE_JS || !Array.isArray ? function(obj) {
11183
- return Object.prototype.toString.call(obj) === "[object Array]";
11184
- } : Array.isArray;
11185
- var isView = ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView) ? function(obj) {
11186
- return _typeof(obj) === "object" && obj.buffer && obj.buffer.constructor === ArrayBuffer;
11187
- } : ArrayBuffer.isView;
11188
- var formatMessage = function formatMessage(message) {
11189
- var type = _typeof(message);
11190
- if (type === "string") {
11191
- return [ message, true ];
11192
- }
11193
- if (type !== "object" || message === null) {
11194
- throw new Error(INPUT_ERROR);
11195
- }
11196
- if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
11197
- return [ new Uint8Array(message), false ];
11198
- }
11199
- if (!isArray(message) && !isView(message)) {
11200
- throw new Error(INPUT_ERROR);
11201
- }
11202
- return [ message, false ];
11203
- };
11204
- var empty = function empty(message) {
11205
- return formatMessage(message)[0].length === 0;
11206
- };
11207
- var cloneArray = function cloneArray(array) {
11208
- var newArray = [];
11209
- for (var i = 0; i < array.length; ++i) {
11210
- newArray[i] = array[i];
11211
- }
11212
- return newArray;
11213
- };
11214
- var createOutputMethod = function createOutputMethod(bits, padding, outputType) {
11215
- return function(message) {
11216
- return new Keccak(bits, padding, bits).update(message)[outputType]();
11217
- };
11218
- };
11219
- var createShakeOutputMethod = function createShakeOutputMethod(bits, padding, outputType) {
11220
- return function(message, outputBits) {
11221
- return new Keccak(bits, padding, outputBits).update(message)[outputType]();
11222
- };
11223
- };
11224
- var createCshakeOutputMethod = function createCshakeOutputMethod(bits, padding, outputType) {
11225
- return function(message, outputBits, n, s) {
11226
- return methods["cshake" + bits].update(message, outputBits, n, s)[outputType]();
11227
- };
11228
- };
11229
- var createKmacOutputMethod = function createKmacOutputMethod(bits, padding, outputType) {
11230
- return function(key, message, outputBits, s) {
11231
- return methods["kmac" + bits].update(key, message, outputBits, s)[outputType]();
11232
- };
11233
- };
11234
- var createOutputMethods = function createOutputMethods(method, createMethod, bits, padding) {
11235
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
11236
- var type = OUTPUT_TYPES[i];
11237
- method[type] = createMethod(bits, padding, type);
11238
- }
11239
- return method;
11240
- };
11241
- var createMethod = function createMethod(bits, padding) {
11242
- var method = createOutputMethod(bits, padding, "hex");
11243
- method.create = function() {
11244
- return new Keccak(bits, padding, bits);
11245
- };
11246
- method.update = function(message) {
11247
- return method.create().update(message);
11248
- };
11249
- return createOutputMethods(method, createOutputMethod, bits, padding);
11250
- };
11251
- var createShakeMethod = function createShakeMethod(bits, padding) {
11252
- var method = createShakeOutputMethod(bits, padding, "hex");
11253
- method.create = function(outputBits) {
11254
- return new Keccak(bits, padding, outputBits);
11255
- };
11256
- method.update = function(message, outputBits) {
11257
- return method.create(outputBits).update(message);
11258
- };
11259
- return createOutputMethods(method, createShakeOutputMethod, bits, padding);
11260
- };
11261
- var createCshakeMethod = function createCshakeMethod(bits, padding) {
11262
- var w = CSHAKE_BYTEPAD[bits];
11263
- var method = createCshakeOutputMethod(bits, padding, "hex");
11264
- method.create = function(outputBits, n, s) {
11265
- if (empty(n) && empty(s)) {
11266
- return methods["shake" + bits].create(outputBits);
11267
- } else {
11268
- return new Keccak(bits, padding, outputBits).bytepad([ n, s ], w);
11269
- }
11270
- };
11271
- method.update = function(message, outputBits, n, s) {
11272
- return method.create(outputBits, n, s).update(message);
11273
- };
11274
- return createOutputMethods(method, createCshakeOutputMethod, bits, padding);
11275
- };
11276
- var createKmacMethod = function createKmacMethod(bits, padding) {
11277
- var w = CSHAKE_BYTEPAD[bits];
11278
- var method = createKmacOutputMethod(bits, padding, "hex");
11279
- method.create = function(key, outputBits, s) {
11280
- return new Kmac(bits, padding, outputBits).bytepad([ "KMAC", s ], w).bytepad([ key ], w);
11281
- };
11282
- method.update = function(key, message, outputBits, s) {
11283
- return method.create(key, outputBits, s).update(message);
11284
- };
11285
- return createOutputMethods(method, createKmacOutputMethod, bits, padding);
11286
- };
11287
- var algorithms = [ {
11288
- name: "keccak",
11289
- padding: KECCAK_PADDING,
11290
- bits: BITS,
11291
- createMethod: createMethod
11292
- }, {
11293
- name: "sha3",
11294
- padding: PADDING,
11295
- bits: BITS,
11296
- createMethod: createMethod
11297
- }, {
11298
- name: "shake",
11299
- padding: SHAKE_PADDING,
11300
- bits: SHAKE_BITS,
11301
- createMethod: createShakeMethod
11302
- }, {
11303
- name: "cshake",
11304
- padding: CSHAKE_PADDING,
11305
- bits: SHAKE_BITS,
11306
- createMethod: createCshakeMethod
11307
- }, {
11308
- name: "kmac",
11309
- padding: CSHAKE_PADDING,
11310
- bits: SHAKE_BITS,
11311
- createMethod: createKmacMethod
11312
- } ];
11313
- var methods = {}, methodNames = [];
11314
- for (var i = 0; i < algorithms.length; ++i) {
11315
- var algorithm = algorithms[i];
11316
- var bits = algorithm.bits;
11317
- for (var j = 0; j < bits.length; ++j) {
11318
- var methodName = algorithm.name + "_" + bits[j];
11319
- methodNames.push(methodName);
11320
- methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);
11321
- if (algorithm.name !== "sha3") {
11322
- var newMethodName = algorithm.name + bits[j];
11323
- methodNames.push(newMethodName);
11324
- methods[newMethodName] = methods[methodName];
11325
- }
11326
- }
11327
- }
11328
- function Keccak(bits, padding, outputBits) {
11329
- this.blocks = [];
11330
- this.s = [];
11331
- this.padding = padding;
11332
- this.outputBits = outputBits;
11333
- this.reset = true;
11334
- this.finalized = false;
11335
- this.block = 0;
11336
- this.start = 0;
11337
- this.blockCount = 1600 - (bits << 1) >> 5;
11338
- this.byteCount = this.blockCount << 2;
11339
- this.outputBlocks = outputBits >> 5;
11340
- this.extraBytes = (outputBits & 31) >> 3;
11341
- for (var i = 0; i < 50; ++i) {
11342
- this.s[i] = 0;
11343
- }
11344
- }
11345
- Keccak.prototype.update = function(message) {
11346
- if (this.finalized) {
11347
- throw new Error(FINALIZE_ERROR);
11348
- }
11349
- var result = formatMessage(message);
11350
- message = result[0];
11351
- var isString = result[1];
11352
- var blocks = this.blocks, byteCount = this.byteCount, length = message.length, blockCount = this.blockCount, index = 0, s = this.s, i, code;
11353
- while (index < length) {
11354
- if (this.reset) {
11355
- this.reset = false;
11356
- blocks[0] = this.block;
11357
- for (i = 1; i < blockCount + 1; ++i) {
11358
- blocks[i] = 0;
11359
- }
11360
- }
11361
- if (isString) {
11362
- for (i = this.start; index < length && i < byteCount; ++index) {
11363
- code = message.charCodeAt(index);
11364
- if (code < 128) {
11365
- blocks[i >> 2] |= code << SHIFT[i++ & 3];
11366
- } else if (code < 2048) {
11367
- blocks[i >> 2] |= (192 | code >> 6) << SHIFT[i++ & 3];
11368
- blocks[i >> 2] |= (128 | code & 63) << SHIFT[i++ & 3];
11369
- } else if (code < 55296 || code >= 57344) {
11370
- blocks[i >> 2] |= (224 | code >> 12) << SHIFT[i++ & 3];
11371
- blocks[i >> 2] |= (128 | code >> 6 & 63) << SHIFT[i++ & 3];
11372
- blocks[i >> 2] |= (128 | code & 63) << SHIFT[i++ & 3];
11373
- } else {
11374
- code = 65536 + ((code & 1023) << 10 | message.charCodeAt(++index) & 1023);
11375
- blocks[i >> 2] |= (240 | code >> 18) << SHIFT[i++ & 3];
11376
- blocks[i >> 2] |= (128 | code >> 12 & 63) << SHIFT[i++ & 3];
11377
- blocks[i >> 2] |= (128 | code >> 6 & 63) << SHIFT[i++ & 3];
11378
- blocks[i >> 2] |= (128 | code & 63) << SHIFT[i++ & 3];
11379
- }
11380
- }
11381
- } else {
11382
- for (i = this.start; index < length && i < byteCount; ++index) {
11383
- blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
11384
- }
11385
- }
11386
- this.lastByteIndex = i;
11387
- if (i >= byteCount) {
11388
- this.start = i - byteCount;
11389
- this.block = blocks[blockCount];
11390
- for (i = 0; i < blockCount; ++i) {
11391
- s[i] ^= blocks[i];
11392
- }
11393
- f(s);
11394
- this.reset = true;
11395
- } else {
11396
- this.start = i;
11397
- }
11398
- }
11399
- return this;
11400
- };
11401
- Keccak.prototype.encode = function(x, right) {
11402
- var o = x & 255, n = 1;
11403
- var bytes = [ o ];
11404
- x = x >> 8;
11405
- o = x & 255;
11406
- while (o > 0) {
11407
- bytes.unshift(o);
11408
- x = x >> 8;
11409
- o = x & 255;
11410
- ++n;
11411
- }
11412
- if (right) {
11413
- bytes.push(n);
11414
- } else {
11415
- bytes.unshift(n);
11416
- }
11417
- this.update(bytes);
11418
- return bytes.length;
11419
- };
11420
- Keccak.prototype.encodeString = function(str) {
11421
- var result = formatMessage(str);
11422
- str = result[0];
11423
- var isString = result[1];
11424
- var bytes = 0, length = str.length;
11425
- if (isString) {
11426
- for (var i = 0; i < str.length; ++i) {
11427
- var code = str.charCodeAt(i);
11428
- if (code < 128) {
11429
- bytes += 1;
11430
- } else if (code < 2048) {
11431
- bytes += 2;
11432
- } else if (code < 55296 || code >= 57344) {
11433
- bytes += 3;
11434
- } else {
11435
- code = 65536 + ((code & 1023) << 10 | str.charCodeAt(++i) & 1023);
11436
- bytes += 4;
11437
- }
11438
- }
11439
- } else {
11440
- bytes = length;
11441
- }
11442
- bytes += this.encode(bytes * 8);
11443
- this.update(str);
11444
- return bytes;
11445
- };
11446
- Keccak.prototype.bytepad = function(strs, w) {
11447
- var bytes = this.encode(w);
11448
- for (var i = 0; i < strs.length; ++i) {
11449
- bytes += this.encodeString(strs[i]);
11450
- }
11451
- var paddingBytes = (w - bytes % w) % w;
11452
- var zeros = [];
11453
- zeros.length = paddingBytes;
11454
- this.update(zeros);
11455
- return this;
11456
- };
11457
- Keccak.prototype.finalize = function() {
11458
- if (this.finalized) {
11459
- return;
11460
- }
11461
- this.finalized = true;
11462
- var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;
11463
- blocks[i >> 2] |= this.padding[i & 3];
11464
- if (this.lastByteIndex === this.byteCount) {
11465
- blocks[0] = blocks[blockCount];
11466
- for (i = 1; i < blockCount + 1; ++i) {
11467
- blocks[i] = 0;
11468
- }
11469
- }
11470
- blocks[blockCount - 1] |= 2147483648;
11471
- for (i = 0; i < blockCount; ++i) {
11472
- s[i] ^= blocks[i];
11473
- }
11474
- f(s);
11475
- };
11476
- Keccak.prototype.toString = Keccak.prototype.hex = function() {
11477
- this.finalize();
11478
- var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i = 0, j = 0;
11479
- var hex = "", block;
11480
- while (j < outputBlocks) {
11481
- for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
11482
- block = s[i];
11483
- hex += HEX_CHARS[block >> 4 & 15] + HEX_CHARS[block & 15] + HEX_CHARS[block >> 12 & 15] + HEX_CHARS[block >> 8 & 15] + HEX_CHARS[block >> 20 & 15] + HEX_CHARS[block >> 16 & 15] + HEX_CHARS[block >> 28 & 15] + HEX_CHARS[block >> 24 & 15];
11484
- }
11485
- if (j % blockCount === 0) {
11486
- s = cloneArray(s);
11487
- f(s);
11488
- i = 0;
11489
- }
11490
- }
11491
- if (extraBytes) {
11492
- block = s[i];
11493
- hex += HEX_CHARS[block >> 4 & 15] + HEX_CHARS[block & 15];
11494
- if (extraBytes > 1) {
11495
- hex += HEX_CHARS[block >> 12 & 15] + HEX_CHARS[block >> 8 & 15];
11496
- }
11497
- if (extraBytes > 2) {
11498
- hex += HEX_CHARS[block >> 20 & 15] + HEX_CHARS[block >> 16 & 15];
11499
- }
11500
- }
11501
- return hex;
11502
- };
11503
- Keccak.prototype.arrayBuffer = function() {
11504
- this.finalize();
11505
- var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i = 0, j = 0;
11506
- var bytes = this.outputBits >> 3;
11507
- var buffer;
11508
- if (extraBytes) {
11509
- buffer = new ArrayBuffer(outputBlocks + 1 << 2);
11510
- } else {
11511
- buffer = new ArrayBuffer(bytes);
11512
- }
11513
- var array = new Uint32Array(buffer);
11514
- while (j < outputBlocks) {
11515
- for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
11516
- array[j] = s[i];
11517
- }
11518
- if (j % blockCount === 0) {
11519
- s = cloneArray(s);
11520
- f(s);
11521
- }
11522
- }
11523
- if (extraBytes) {
11524
- array[j] = s[i];
11525
- buffer = buffer.slice(0, bytes);
11526
- }
11527
- return buffer;
11528
- };
11529
- Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;
11530
- Keccak.prototype.digest = Keccak.prototype.array = function() {
11531
- this.finalize();
11532
- var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i = 0, j = 0;
11533
- var array = [], offset, block;
11534
- while (j < outputBlocks) {
11535
- for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
11536
- offset = j << 2;
11537
- block = s[i];
11538
- array[offset] = block & 255;
11539
- array[offset + 1] = block >> 8 & 255;
11540
- array[offset + 2] = block >> 16 & 255;
11541
- array[offset + 3] = block >> 24 & 255;
11542
- }
11543
- if (j % blockCount === 0) {
11544
- s = cloneArray(s);
11545
- f(s);
11546
- }
11547
- }
11548
- if (extraBytes) {
11549
- offset = j << 2;
11550
- block = s[i];
11551
- array[offset] = block & 255;
11552
- if (extraBytes > 1) {
11553
- array[offset + 1] = block >> 8 & 255;
11554
- }
11555
- if (extraBytes > 2) {
11556
- array[offset + 2] = block >> 16 & 255;
11557
- }
11558
- }
11559
- return array;
11560
- };
11561
- function Kmac(bits, padding, outputBits) {
11562
- Keccak.call(this, bits, padding, outputBits);
11563
- }
11564
- Kmac.prototype = new Keccak;
11565
- Kmac.prototype.finalize = function() {
11566
- this.encode(this.outputBits, true);
11567
- return Keccak.prototype.finalize.call(this);
11568
- };
11569
- var f = function f(s) {
11570
- var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;
11571
- for (n = 0; n < 48; n += 2) {
11572
- c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];
11573
- c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];
11574
- c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];
11575
- c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];
11576
- c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];
11577
- c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];
11578
- c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];
11579
- c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];
11580
- c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];
11581
- c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];
11582
- h = c8 ^ (c2 << 1 | c3 >>> 31);
11583
- l = c9 ^ (c3 << 1 | c2 >>> 31);
11584
- s[0] ^= h;
11585
- s[1] ^= l;
11586
- s[10] ^= h;
11587
- s[11] ^= l;
11588
- s[20] ^= h;
11589
- s[21] ^= l;
11590
- s[30] ^= h;
11591
- s[31] ^= l;
11592
- s[40] ^= h;
11593
- s[41] ^= l;
11594
- h = c0 ^ (c4 << 1 | c5 >>> 31);
11595
- l = c1 ^ (c5 << 1 | c4 >>> 31);
11596
- s[2] ^= h;
11597
- s[3] ^= l;
11598
- s[12] ^= h;
11599
- s[13] ^= l;
11600
- s[22] ^= h;
11601
- s[23] ^= l;
11602
- s[32] ^= h;
11603
- s[33] ^= l;
11604
- s[42] ^= h;
11605
- s[43] ^= l;
11606
- h = c2 ^ (c6 << 1 | c7 >>> 31);
11607
- l = c3 ^ (c7 << 1 | c6 >>> 31);
11608
- s[4] ^= h;
11609
- s[5] ^= l;
11610
- s[14] ^= h;
11611
- s[15] ^= l;
11612
- s[24] ^= h;
11613
- s[25] ^= l;
11614
- s[34] ^= h;
11615
- s[35] ^= l;
11616
- s[44] ^= h;
11617
- s[45] ^= l;
11618
- h = c4 ^ (c8 << 1 | c9 >>> 31);
11619
- l = c5 ^ (c9 << 1 | c8 >>> 31);
11620
- s[6] ^= h;
11621
- s[7] ^= l;
11622
- s[16] ^= h;
11623
- s[17] ^= l;
11624
- s[26] ^= h;
11625
- s[27] ^= l;
11626
- s[36] ^= h;
11627
- s[37] ^= l;
11628
- s[46] ^= h;
11629
- s[47] ^= l;
11630
- h = c6 ^ (c0 << 1 | c1 >>> 31);
11631
- l = c7 ^ (c1 << 1 | c0 >>> 31);
11632
- s[8] ^= h;
11633
- s[9] ^= l;
11634
- s[18] ^= h;
11635
- s[19] ^= l;
11636
- s[28] ^= h;
11637
- s[29] ^= l;
11638
- s[38] ^= h;
11639
- s[39] ^= l;
11640
- s[48] ^= h;
11641
- s[49] ^= l;
11642
- b0 = s[0];
11643
- b1 = s[1];
11644
- b32 = s[11] << 4 | s[10] >>> 28;
11645
- b33 = s[10] << 4 | s[11] >>> 28;
11646
- b14 = s[20] << 3 | s[21] >>> 29;
11647
- b15 = s[21] << 3 | s[20] >>> 29;
11648
- b46 = s[31] << 9 | s[30] >>> 23;
11649
- b47 = s[30] << 9 | s[31] >>> 23;
11650
- b28 = s[40] << 18 | s[41] >>> 14;
11651
- b29 = s[41] << 18 | s[40] >>> 14;
11652
- b20 = s[2] << 1 | s[3] >>> 31;
11653
- b21 = s[3] << 1 | s[2] >>> 31;
11654
- b2 = s[13] << 12 | s[12] >>> 20;
11655
- b3 = s[12] << 12 | s[13] >>> 20;
11656
- b34 = s[22] << 10 | s[23] >>> 22;
11657
- b35 = s[23] << 10 | s[22] >>> 22;
11658
- b16 = s[33] << 13 | s[32] >>> 19;
11659
- b17 = s[32] << 13 | s[33] >>> 19;
11660
- b48 = s[42] << 2 | s[43] >>> 30;
11661
- b49 = s[43] << 2 | s[42] >>> 30;
11662
- b40 = s[5] << 30 | s[4] >>> 2;
11663
- b41 = s[4] << 30 | s[5] >>> 2;
11664
- b22 = s[14] << 6 | s[15] >>> 26;
11665
- b23 = s[15] << 6 | s[14] >>> 26;
11666
- b4 = s[25] << 11 | s[24] >>> 21;
11667
- b5 = s[24] << 11 | s[25] >>> 21;
11668
- b36 = s[34] << 15 | s[35] >>> 17;
11669
- b37 = s[35] << 15 | s[34] >>> 17;
11670
- b18 = s[45] << 29 | s[44] >>> 3;
11671
- b19 = s[44] << 29 | s[45] >>> 3;
11672
- b10 = s[6] << 28 | s[7] >>> 4;
11673
- b11 = s[7] << 28 | s[6] >>> 4;
11674
- b42 = s[17] << 23 | s[16] >>> 9;
11675
- b43 = s[16] << 23 | s[17] >>> 9;
11676
- b24 = s[26] << 25 | s[27] >>> 7;
11677
- b25 = s[27] << 25 | s[26] >>> 7;
11678
- b6 = s[36] << 21 | s[37] >>> 11;
11679
- b7 = s[37] << 21 | s[36] >>> 11;
11680
- b38 = s[47] << 24 | s[46] >>> 8;
11681
- b39 = s[46] << 24 | s[47] >>> 8;
11682
- b30 = s[8] << 27 | s[9] >>> 5;
11683
- b31 = s[9] << 27 | s[8] >>> 5;
11684
- b12 = s[18] << 20 | s[19] >>> 12;
11685
- b13 = s[19] << 20 | s[18] >>> 12;
11686
- b44 = s[29] << 7 | s[28] >>> 25;
11687
- b45 = s[28] << 7 | s[29] >>> 25;
11688
- b26 = s[38] << 8 | s[39] >>> 24;
11689
- b27 = s[39] << 8 | s[38] >>> 24;
11690
- b8 = s[48] << 14 | s[49] >>> 18;
11691
- b9 = s[49] << 14 | s[48] >>> 18;
11692
- s[0] = b0 ^ ~b2 & b4;
11693
- s[1] = b1 ^ ~b3 & b5;
11694
- s[10] = b10 ^ ~b12 & b14;
11695
- s[11] = b11 ^ ~b13 & b15;
11696
- s[20] = b20 ^ ~b22 & b24;
11697
- s[21] = b21 ^ ~b23 & b25;
11698
- s[30] = b30 ^ ~b32 & b34;
11699
- s[31] = b31 ^ ~b33 & b35;
11700
- s[40] = b40 ^ ~b42 & b44;
11701
- s[41] = b41 ^ ~b43 & b45;
11702
- s[2] = b2 ^ ~b4 & b6;
11703
- s[3] = b3 ^ ~b5 & b7;
11704
- s[12] = b12 ^ ~b14 & b16;
11705
- s[13] = b13 ^ ~b15 & b17;
11706
- s[22] = b22 ^ ~b24 & b26;
11707
- s[23] = b23 ^ ~b25 & b27;
11708
- s[32] = b32 ^ ~b34 & b36;
11709
- s[33] = b33 ^ ~b35 & b37;
11710
- s[42] = b42 ^ ~b44 & b46;
11711
- s[43] = b43 ^ ~b45 & b47;
11712
- s[4] = b4 ^ ~b6 & b8;
11713
- s[5] = b5 ^ ~b7 & b9;
11714
- s[14] = b14 ^ ~b16 & b18;
11715
- s[15] = b15 ^ ~b17 & b19;
11716
- s[24] = b24 ^ ~b26 & b28;
11717
- s[25] = b25 ^ ~b27 & b29;
11718
- s[34] = b34 ^ ~b36 & b38;
11719
- s[35] = b35 ^ ~b37 & b39;
11720
- s[44] = b44 ^ ~b46 & b48;
11721
- s[45] = b45 ^ ~b47 & b49;
11722
- s[6] = b6 ^ ~b8 & b0;
11723
- s[7] = b7 ^ ~b9 & b1;
11724
- s[16] = b16 ^ ~b18 & b10;
11725
- s[17] = b17 ^ ~b19 & b11;
11726
- s[26] = b26 ^ ~b28 & b20;
11727
- s[27] = b27 ^ ~b29 & b21;
11728
- s[36] = b36 ^ ~b38 & b30;
11729
- s[37] = b37 ^ ~b39 & b31;
11730
- s[46] = b46 ^ ~b48 & b40;
11731
- s[47] = b47 ^ ~b49 & b41;
11732
- s[8] = b8 ^ ~b0 & b2;
11733
- s[9] = b9 ^ ~b1 & b3;
11734
- s[18] = b18 ^ ~b10 & b12;
11735
- s[19] = b19 ^ ~b11 & b13;
11736
- s[28] = b28 ^ ~b20 & b22;
11737
- s[29] = b29 ^ ~b21 & b23;
11738
- s[38] = b38 ^ ~b30 & b32;
11739
- s[39] = b39 ^ ~b31 & b33;
11740
- s[48] = b48 ^ ~b40 & b42;
11741
- s[49] = b49 ^ ~b41 & b43;
11742
- s[0] ^= RC[n];
11743
- s[1] ^= RC[n + 1];
11744
- }
11745
- };
11746
- if (COMMON_JS) {
11747
- module.exports = methods;
11748
- } else {
11749
- for (i = 0; i < methodNames.length; ++i) {
11750
- root[methodNames[i]] = methods[methodNames[i]];
11751
- }
11752
- }
11753
- })();
11754
- })(sha3);
11755
- return sha3.exports;
11756
- }
11757
- var sha3Exports = requireSha3();
11758
- function toEnsName(_x5) {
11759
- return _toEnsName.apply(this, arguments);
11760
- }
11761
- function _toEnsName() {
11762
- _toEnsName = _asyncToGenerator(_regeneratorRuntime().mark((function _callee3(address) {
11763
- var reverseName, node, endpoint, resolverRes, _yield$resolverRes$js, resolverHex, resolverAddress, nameRes, _yield$nameRes$json, nameHex, hex, name, i, code;
11764
- return _regeneratorRuntime().wrap((function _callee3$(_context3) {
11765
- while (1) switch (_context3.prev = _context3.next) {
11766
- case 0:
11767
- reverseName = address.toLowerCase().replace(/^0x/, "") + ".addr.reverse";
11768
- node = namehash(reverseName);
11769
- endpoint = "https://cloudflare-eth.com";
11770
- _context3.next = 5;
11771
- return fetch(endpoint, {
11772
- method: "POST",
11773
- headers: {
11774
- "Content-Type": "application/json"
11775
- },
11776
- body: JSON.stringify({
11777
- jsonrpc: "2.0",
11778
- id: 1,
11779
- method: "eth_call",
11780
- params: [ {
11781
- to: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",
11782
- data: "0x0178b8bf" + node.slice(2).padStart(64, "0")
11783
- }, "latest" ]
11784
- })
11785
- });
11786
-
11787
- case 5:
11788
- resolverRes = _context3.sent;
11789
- _context3.next = 8;
11790
- return resolverRes.json();
11791
-
11792
- case 8:
11793
- _yield$resolverRes$js = _context3.sent;
11794
- resolverHex = _yield$resolverRes$js.result;
11795
- resolverAddress = "0x" + resolverHex.slice(-40);
11796
- if (/^0x[0-9a-f]{40}$/i.test(resolverAddress)) {
11797
- _context3.next = 13;
11798
- break;
11799
- }
11800
- return _context3.abrupt("return", null);
11801
-
11802
- case 13:
11803
- _context3.next = 15;
11804
- return fetch(endpoint, {
11805
- method: "POST",
11806
- headers: {
11807
- "Content-Type": "application/json"
11808
- },
11809
- body: JSON.stringify({
11810
- jsonrpc: "2.0",
11811
- id: 2,
11812
- method: "eth_call",
11813
- params: [ {
11814
- to: resolverAddress,
11815
- data: "0x691f3431" + node.slice(2)
11816
- }, "latest" ]
11817
- })
11818
- });
11819
-
11820
- case 15:
11821
- nameRes = _context3.sent;
11822
- _context3.next = 18;
11823
- return nameRes.json();
11824
-
11825
- case 18:
11826
- _yield$nameRes$json = _context3.sent;
11827
- nameHex = _yield$nameRes$json.result;
11828
- if (!(!nameHex || nameHex === "0x")) {
11829
- _context3.next = 22;
11192
+ _context3.next = 49;
11830
11193
  break;
11831
11194
  }
11832
- return _context3.abrupt("return", null);
11833
-
11834
- case 22:
11835
- hex = nameHex.slice(2);
11836
- name = "";
11837
- i = 0;
11195
+ return _context3.abrupt("return", "".concat(scanKey).concat(ERROR_MESSAGES_FLAG.RATE_LIMIT));
11838
11196
 
11839
- case 25:
11840
- if (!(i < hex.length)) {
11841
- _context3.next = 33;
11842
- break;
11843
- }
11844
- code = parseInt(hex.slice(i, i + 2), 16);
11845
- if (!(code === 0)) {
11846
- _context3.next = 29;
11847
- break;
11848
- }
11849
- return _context3.abrupt("break", 33);
11197
+ case 49:
11198
+ return _context3.abrupt("return", json.result);
11850
11199
 
11851
- case 29:
11852
- name += String.fromCharCode(code);
11853
-
11854
- case 30:
11855
- i += 2;
11856
- _context3.next = 25;
11857
- break;
11858
-
11859
- case 33:
11860
- return _context3.abrupt("return", name || null);
11200
+ case 52:
11201
+ _context3.prev = 52;
11202
+ _context3.t0 = _context3["catch"](35);
11203
+ console.error("[".concat(scanKey, "]"), _context3.t0);
11204
+ return _context3.abrupt("return", ERROR_MESSAGES_FLAG.DEFAULT);
11861
11205
 
11862
- case 34:
11206
+ case 56:
11863
11207
  case "end":
11864
11208
  return _context3.stop();
11865
11209
  }
11866
- }), _callee3);
11210
+ }), _callee3, null, [ [ 35, 52 ] ]);
11867
11211
  })));
11868
- return _toEnsName.apply(this, arguments);
11869
- }
11870
- function namehash(name) {
11871
- var node = "0000000000000000000000000000000000000000000000000000000000000000";
11872
- if (name) {
11873
- var labels = name.toLowerCase().split(".");
11874
- for (var i = labels.length - 1; i >= 0; i--) {
11875
- var labelSha = sha3Exports.sha3_256.array(labels[i]);
11876
- var combined = node + bytesToHex(labelSha);
11877
- node = sha3Exports.sha3_256.array(hexToBytes(combined));
11878
- node = bytesToHex(node);
11879
- }
11880
- }
11881
- return "0x" + node;
11882
- }
11883
- function hexToBytes(hex) {
11884
- hex = hex.replace(/^0x/, "");
11885
- var bytes = new Uint8Array(hex.length / 2);
11886
- for (var i = 0; i < bytes.length; i++) {
11887
- bytes[i] = parseInt(hex.substr(i * 2, 2), 16);
11888
- }
11889
- return bytes;
11890
- }
11891
- function bytesToHex(bytes) {
11892
- return Array.from(bytes).map((function(b) {
11893
- return b.toString(16).padStart(2, "0");
11894
- })).join("");
11212
+ return _handleScanRequest.apply(this, arguments);
11895
11213
  }
11896
11214
  function FIREFLY(_x6, _x7, _x8) {
11897
11215
  return _FIREFLY.apply(this, arguments);
11898
11216
  }
11899
11217
  function _FIREFLY() {
11900
11218
  _FIREFLY = _asyncToGenerator(_regeneratorRuntime().mark((function _callee4(platform, contentType, identifier) {
11901
- var API_KEY, baseUrl, headers, query, type, normalizedId, url, res, json, flattened;
11219
+ var _typeMap$platform;
11220
+ var start, end, API_KEY, baseUrl, headers, typeMap, platformType, query, url, res, json, _args4 = arguments;
11902
11221
  return _regeneratorRuntime().wrap((function _callee4$(_context4) {
11903
11222
  while (1) switch (_context4.prev = _context4.next) {
11904
11223
  case 0:
11224
+ start = _args4.length > 3 && _args4[3] !== undefined ? _args4[3] : 0;
11225
+ end = _args4.length > 4 && _args4[4] !== undefined ? _args4[4] : 10;
11905
11226
  API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
11906
11227
  if (API_KEY) {
11907
- _context4.next = 3;
11228
+ _context4.next = 5;
11908
11229
  break;
11909
11230
  }
11910
11231
  return _context4.abrupt("return", "".concat(SERVICE_API_KEY.Firefly).concat(ERROR_MESSAGES_FLAG.MISSING_KEY));
11911
11232
 
11912
- case 3:
11233
+ case 5:
11913
11234
  baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
11914
11235
  headers = {
11915
11236
  "x-api-key": API_KEY
11916
11237
  };
11917
- query = "";
11918
- type = "";
11919
- normalizedId = identifier.trim().replace(/.*\/([^\/]+)$/, "$1");
11920
- if (!(platform === "farcaster")) {
11921
- _context4.next = 22;
11922
- break;
11923
- }
11924
- if (!(contentType === "posts")) {
11925
- _context4.next = 14;
11926
- break;
11927
- }
11928
- type = "farcasterid";
11929
- query = normalizedId;
11930
- _context4.next = 20;
11931
- break;
11932
-
11933
- case 14:
11934
- if (!(contentType === "replies")) {
11935
- _context4.next = 19;
11936
- break;
11937
- }
11938
- type = "farcasterpostid";
11939
- query = normalizedId.startsWith("0x") ? normalizedId : Number(normalizedId).toString();
11940
- _context4.next = 20;
11941
- break;
11942
-
11943
- case 19:
11944
- return _context4.abrupt("return", "".concat(SERVICE_API_KEY.Firefly).concat(ERROR_MESSAGES_FLAG.INVALID_TYPE));
11945
-
11946
- case 20:
11947
- _context4.next = 37;
11948
- break;
11949
-
11950
- case 22:
11951
- if (!(platform === "lens")) {
11952
- _context4.next = 36;
11953
- break;
11954
- }
11955
- if (!(contentType === "posts")) {
11956
- _context4.next = 28;
11957
- break;
11958
- }
11959
- type = "lensid";
11960
- query = normalizedId;
11961
- _context4.next = 34;
11962
- break;
11963
-
11964
- case 28:
11965
- if (!(contentType === "replies")) {
11966
- _context4.next = 33;
11238
+ typeMap = {
11239
+ farcaster: {
11240
+ posts: "farcasterid",
11241
+ replies: "farcasterpostid",
11242
+ channels: "farcasterchannels"
11243
+ },
11244
+ lens: {
11245
+ posts: "lensid",
11246
+ replies: "lenspostid"
11247
+ }
11248
+ };
11249
+ platformType = (_typeMap$platform = typeMap[platform]) === null || _typeMap$platform === void 0 ? void 0 : _typeMap$platform[contentType];
11250
+ if (platformType) {
11251
+ _context4.next = 11;
11967
11252
  break;
11968
11253
  }
11969
- type = "lenspostid";
11970
- query = normalizedId;
11971
- _context4.next = 34;
11972
- break;
11973
-
11974
- case 33:
11975
11254
  return _context4.abrupt("return", "".concat(SERVICE_API_KEY.Firefly).concat(ERROR_MESSAGES_FLAG.INVALID_TYPE));
11976
11255
 
11977
- case 34:
11978
- _context4.next = 37;
11979
- break;
11980
-
11981
- case 36:
11982
- return _context4.abrupt("return", "".concat(SERVICE_API_KEY.Firefly).concat(ERROR_MESSAGES_FLAG.INVALID_PARAM));
11983
-
11984
- case 37:
11256
+ case 11:
11257
+ query = identifier.split(",").map((function(s) {
11258
+ return s.trim();
11259
+ })).filter(Boolean).join(",");
11985
11260
  url = new URL(baseUrl);
11986
11261
  url.searchParams.set("query", query);
11987
- url.searchParams.set("type", type);
11988
- url.searchParams.set("size", "10");
11989
- url.searchParams.set("cursor", "0");
11990
- _context4.prev = 42;
11991
- _context4.next = 45;
11262
+ url.searchParams.set("type", platformType);
11263
+ url.searchParams.set("start", String(start));
11264
+ url.searchParams.set("end", String(end));
11265
+ _context4.prev = 17;
11266
+ _context4.next = 20;
11992
11267
  return fetch(url.toString(), {
11993
11268
  headers: headers
11994
11269
  });
11995
11270
 
11996
- case 45:
11271
+ case 20:
11997
11272
  res = _context4.sent;
11998
11273
  if (res.ok) {
11999
- _context4.next = 48;
11274
+ _context4.next = 23;
12000
11275
  break;
12001
11276
  }
12002
11277
  throw new Error("HTTP ".concat(res.status));
12003
11278
 
12004
- case 48:
12005
- _context4.next = 50;
11279
+ case 23:
11280
+ _context4.next = 25;
12006
11281
  return res.json();
12007
11282
 
12008
- case 50:
11283
+ case 25:
12009
11284
  json = _context4.sent;
12010
- flattened = Array.isArray(json === null || json === void 0 ? void 0 : json.data) ? json.data.map((function(item) {
12011
- var _item$author, _item$author2, _item$metadata;
12012
- return {
12013
- id: (item === null || item === void 0 ? void 0 : item.id) || null,
12014
- author: (item === null || item === void 0 || (_item$author = item.author) === null || _item$author === void 0 ? void 0 : _item$author.username) || (item === null || item === void 0 || (_item$author2 = item.author) === null || _item$author2 === void 0 ? void 0 : _item$author2.handle) || "",
12015
- text: (item === null || item === void 0 ? void 0 : item.text) || (item === null || item === void 0 || (_item$metadata = item.metadata) === null || _item$metadata === void 0 || (_item$metadata = _item$metadata.content) === null || _item$metadata === void 0 ? void 0 : _item$metadata.content) || "",
12016
- createdAt: (item === null || item === void 0 ? void 0 : item.createdAt) || "",
12017
- platform: platform
12018
- };
12019
- })) : [];
12020
- return _context4.abrupt("return", flattened);
11285
+ if (Array.isArray(json === null || json === void 0 ? void 0 : json.data)) {
11286
+ _context4.next = 28;
11287
+ break;
11288
+ }
11289
+ return _context4.abrupt("return", []);
12021
11290
 
12022
- case 55:
12023
- _context4.prev = 55;
12024
- _context4.t0 = _context4["catch"](42);
11291
+ case 28:
11292
+ return _context4.abrupt("return", json.data.map((function(item) {
11293
+ var flat = {};
11294
+ for (var _i10 = 0, _Object$entries = Object.entries(item); _i10 < _Object$entries.length; _i10++) {
11295
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i10], 2), key = _Object$entries$_i[0], _value5 = _Object$entries$_i[1];
11296
+ if (_typeof(_value5) !== "object" || _value5 === null) {
11297
+ flat[key] = _value5;
11298
+ }
11299
+ }
11300
+ flat.platform = platform;
11301
+ return flat;
11302
+ })));
11303
+
11304
+ case 31:
11305
+ _context4.prev = 31;
11306
+ _context4.t0 = _context4["catch"](17);
12025
11307
  console.error("FIREFLY fetch error:", _context4.t0);
12026
11308
  return _context4.abrupt("return", ERROR_MESSAGES_FLAG.DEFAULT);
12027
11309
 
12028
- case 59:
11310
+ case 35:
12029
11311
  case "end":
12030
11312
  return _context4.stop();
12031
11313
  }
12032
- }), _callee4, null, [ [ 42, 55 ] ]);
11314
+ }), _callee4, null, [ [ 17, 31 ] ]);
12033
11315
  })));
12034
11316
  return _FIREFLY.apply(this, arguments);
12035
11317
  }
@@ -12057,79 +11339,103 @@ function _typeof(o) {
12057
11339
  startTimestamp = currentTimestamp - 30 * 24 * 60 * 60 * 1e3;
12058
11340
  startTimestamp = Math.floor(startTimestamp / 1e3);
12059
11341
  }
11342
+ if (isNaN(startTimestamp)) {
11343
+ startTimestamp = toTimestamp(startTimestamp);
11344
+ }
11345
+ if (isNaN(endTimestamp) && endTimestamp) {
11346
+ endTimestamp = toTimestamp(endTimestamp);
11347
+ }
11348
+ if (isAddress(address)) {
11349
+ _context5.next = 10;
11350
+ break;
11351
+ }
11352
+ _context5.next = 9;
11353
+ return fromEnsNameToAddress(address);
11354
+
11355
+ case 9:
11356
+ address = _context5.sent;
11357
+
11358
+ case 10:
11359
+ if (address) {
11360
+ _context5.next = 12;
11361
+ break;
11362
+ }
11363
+ return _context5.abrupt("return", "".concat(address).concat(ERROR_MESSAGES_FLAG.INVALID_PARAM));
11364
+
11365
+ case 12:
12060
11366
  hostname = BLOCKSCOUT_CHAINS_MAP[chain];
12061
11367
  _context5.t0 = type;
12062
- _context5.next = _context5.t0 === "stat" ? 8 : _context5.t0 === "txns" ? 10 : _context5.t0 === "tokens" ? 12 : 14;
11368
+ _context5.next = _context5.t0 === "stat" ? 16 : _context5.t0 === "txns" ? 18 : _context5.t0 === "tokens" ? 20 : 22;
12063
11369
  break;
12064
11370
 
12065
- case 8:
11371
+ case 16:
12066
11372
  requestUrl = "".concat(hostname, "/api/v2/addresses/").concat(address, "/counters");
12067
- return _context5.abrupt("break", 15);
11373
+ return _context5.abrupt("break", 23);
12068
11374
 
12069
- case 10:
11375
+ case 18:
12070
11376
  requestUrl = "".concat(hostname, "/api?module=account&action=txlist&address=").concat(address, "&start_timestamp=").concat(startTimestamp, "&end_timestamp=").concat(endTimestamp, "&page=").concat(page, "&offset=").concat(offset, "&sort=asc");
12071
- return _context5.abrupt("break", 15);
11377
+ return _context5.abrupt("break", 23);
12072
11378
 
12073
- case 12:
11379
+ case 20:
12074
11380
  requestUrl = "".concat(hostname, "/api?module=account&action=tokenlist&address=").concat(address);
12075
- return _context5.abrupt("break", 15);
11381
+ return _context5.abrupt("break", 23);
12076
11382
 
12077
- case 14:
11383
+ case 22:
12078
11384
  return _context5.abrupt("return", "INVALID_TYPE");
12079
11385
 
12080
- case 15:
12081
- _context5.prev = 15;
12082
- _context5.next = 18;
11386
+ case 23:
11387
+ _context5.prev = 23;
11388
+ _context5.next = 26;
12083
11389
  return fetch(requestUrl);
12084
11390
 
12085
- case 18:
11391
+ case 26:
12086
11392
  response = _context5.sent;
12087
11393
  if (response.ok) {
12088
- _context5.next = 21;
11394
+ _context5.next = 29;
12089
11395
  break;
12090
11396
  }
12091
11397
  throw new Error("HTTP error! Status: ".concat(response.status));
12092
11398
 
12093
- case 21:
12094
- _context5.next = 23;
11399
+ case 29:
11400
+ _context5.next = 31;
12095
11401
  return response.json();
12096
11402
 
12097
- case 23:
11403
+ case 31:
12098
11404
  json = _context5.sent;
12099
11405
  console.log(json);
12100
11406
  if (!(json !== null && json !== void 0 && (_json$result = json.result) !== null && _json$result !== void 0 && _json$result.includes("Invalid parameter(s)"))) {
12101
- _context5.next = 27;
11407
+ _context5.next = 35;
12102
11408
  break;
12103
11409
  }
12104
11410
  return _context5.abrupt("return", "INVALID_REQUEST_PARAMS");
12105
11411
 
12106
- case 27:
11412
+ case 35:
12107
11413
  if (!(json !== null && json !== void 0 && (_json$result2 = json.result) !== null && _json$result2 !== void 0 && _json$result2.includes("Not found"))) {
12108
- _context5.next = 29;
11414
+ _context5.next = 37;
12109
11415
  break;
12110
11416
  }
12111
11417
  return _context5.abrupt("return", "ADDRESS_NOT_FOUND");
12112
11418
 
12113
- case 29:
11419
+ case 37:
12114
11420
  if (!(type === "stat")) {
12115
- _context5.next = 31;
11421
+ _context5.next = 39;
12116
11422
  break;
12117
11423
  }
12118
11424
  return _context5.abrupt("return", [ json ]);
12119
11425
 
12120
- case 31:
11426
+ case 39:
12121
11427
  return _context5.abrupt("return", json.result);
12122
11428
 
12123
- case 34:
12124
- _context5.prev = 34;
12125
- _context5.t1 = _context5["catch"](15);
11429
+ case 42:
11430
+ _context5.prev = 42;
11431
+ _context5.t1 = _context5["catch"](23);
12126
11432
  return _context5.abrupt("return", "ERROR IN FETCHING");
12127
11433
 
12128
- case 37:
11434
+ case 45:
12129
11435
  case "end":
12130
11436
  return _context5.stop();
12131
11437
  }
12132
- }), _callee5, null, [ [ 15, 34 ] ]);
11438
+ }), _callee5, null, [ [ 23, 42 ] ]);
12133
11439
  })));
12134
11440
  return _BLOCKSCOUT.apply(this, arguments);
12135
11441
  }
@@ -12280,11 +11586,11 @@ function _typeof(o) {
12280
11586
  })));
12281
11587
  return _NEYNAR.apply(this, arguments);
12282
11588
  }
12283
- function GNOSIS(_x19) {
12284
- return _GNOSIS.apply(this, arguments);
11589
+ function GNOSISPAY(_x19) {
11590
+ return _GNOSISPAY.apply(this, arguments);
12285
11591
  }
12286
- function _GNOSIS() {
12287
- _GNOSIS = _asyncToGenerator(_regeneratorRuntime().mark((function _callee9(_ref3) {
11592
+ function _GNOSISPAY() {
11593
+ _GNOSISPAY = _asyncToGenerator(_regeneratorRuntime().mark((function _callee9(_ref3) {
12288
11594
  var cardId, startDate, endDate, _ref3$limit, limit, _ref3$offset, offset, apiKeyKey, API_KEY, url, res, json;
12289
11595
  return _regeneratorRuntime().wrap((function _callee9$(_context9) {
12290
11596
  while (1) switch (_context9.prev = _context9.next) {
@@ -12311,10 +11617,10 @@ function _typeof(o) {
12311
11617
  url = new URL("https://api.gnosispay.com/cards/".concat(cardId, "/transactions"));
12312
11618
  url.searchParams.set("limit", limit.toString());
12313
11619
  url.searchParams.set("offset", offset.toString());
12314
- if (!isNaN(startDate)) {
11620
+ if (!isNaN(toTimestamp(startDate))) {
12315
11621
  url.searchParams.set("startDate", new Date(startDate * 1e3).toISOString());
12316
11622
  }
12317
- if (!isNaN(endDate)) {
11623
+ if (!isNaN(toTimestamp(endDate))) {
12318
11624
  url.searchParams.set("endDate", new Date(endDate * 1e3).toISOString());
12319
11625
  }
12320
11626
  _context9.prev = 12;
@@ -12376,7 +11682,7 @@ function _typeof(o) {
12376
11682
  }
12377
11683
  }), _callee9, null, [ [ 12, 26 ] ]);
12378
11684
  })));
12379
- return _GNOSIS.apply(this, arguments);
11685
+ return _GNOSISPAY.apply(this, arguments);
12380
11686
  }
12381
11687
  function ETHERSCAN() {
12382
11688
  return _ETHERSCAN.apply(this, arguments);
@@ -12417,7 +11723,7 @@ function _typeof(o) {
12417
11723
  }
12418
11724
  function _COINGECKO() {
12419
11725
  _COINGECKO = _asyncToGenerator(_regeneratorRuntime().mark((function _callee1(category, param1, param2) {
12420
- var page, perPage, API_KEY, headers, url, token, vsCurrencies, ecosystemMap, key, categoryVal, trend, _category, _trend, exchange, response, json, _json$status, message, output, _i10, _Object$entries, _Object$entries$_i, _token, prices, _i11, _Object$entries2, _Object$entries2$_i, currency, _value5, _key5, flatArray, _args1 = arguments;
11726
+ var page, perPage, API_KEY, headers, url, lowerCategory, token, vsCurrencies, ecosystemMap, key, categoryVal, trend, _category, _trend, exchange, response, json, _json$status, message, output, _i11, _Object$entries2, _Object$entries2$_i, _token, prices, _i12, _Object$entries3, _Object$entries3$_i, currency, _value6, _key5, flatArray, _args1 = arguments;
12421
11727
  return _regeneratorRuntime().wrap((function _callee1$(_context1) {
12422
11728
  while (1) switch (_context1.prev = _context1.next) {
12423
11729
  case 0:
@@ -12436,24 +11742,25 @@ function _typeof(o) {
12436
11742
  "x-cg-demo-api-key": API_KEY
12437
11743
  };
12438
11744
  url = "";
12439
- _context1.t0 = (category || "").toLowerCase();
12440
- _context1.next = _context1.t0 === "price" ? 10 : _context1.t0 === "market" ? 16 : _context1.t0 === "stablecoins" ? 26 : _context1.t0 === "derivatives" ? 30 : 33;
11745
+ lowerCategory = (category || "").toLowerCase();
11746
+ _context1.t0 = lowerCategory;
11747
+ _context1.next = _context1.t0 === "price" ? 11 : _context1.t0 === "market" ? 17 : _context1.t0 === "stablecoins" ? 27 : _context1.t0 === "derivatives" ? 31 : 34;
12441
11748
  break;
12442
11749
 
12443
- case 10:
11750
+ case 11:
12444
11751
  token = param1;
12445
11752
  vsCurrencies = param2;
12446
11753
  if (!(!token || !vsCurrencies)) {
12447
- _context1.next = 14;
11754
+ _context1.next = 15;
12448
11755
  break;
12449
11756
  }
12450
- return _context1.abrupt("return", "".concat(SERVICE_API_KEY.Coingecko).concat(ERROR_MESSAGES_FLAG.INVALID_PARAMS));
11757
+ return _context1.abrupt("return", "".concat(SERVICE_API_KEY.Coingecko).concat(ERROR_MESSAGES_FLAG.INVALID_PARAM));
12451
11758
 
12452
- case 14:
11759
+ case 15:
12453
11760
  url = "https://api.coingecko.com/api/v3/simple/price?vs_currencies=".concat(vsCurrencies, "&ids=").concat(token);
12454
- return _context1.abrupt("break", 34);
11761
+ return _context1.abrupt("break", 35);
12455
11762
 
12456
- case 16:
11763
+ case 17:
12457
11764
  ecosystemMap = {
12458
11765
  eth: "ethereum-ecosystem",
12459
11766
  base: "base-ecosystem",
@@ -12461,116 +11768,118 @@ function _typeof(o) {
12461
11768
  gnosis: "gnosis-chain",
12462
11769
  hyperliquid: "hyperliquid",
12463
11770
  bitcoin: "bitcoin-ecosystem",
12464
- pump: "pump-ecosystem"
11771
+ pump: "pump-ecosystem",
11772
+ aiagents: "ai-agents",
11773
+ meme: "meme-token"
12465
11774
  };
12466
11775
  key = param1 === null || param1 === void 0 ? void 0 : param1.toLowerCase();
12467
- categoryVal = key ? ecosystemMap[key] : "";
12468
- if (!(param1 && !categoryVal)) {
12469
- _context1.next = 21;
11776
+ categoryVal = ecosystemMap[key] || "";
11777
+ trend = param2 ? "&price_change_percentage=".concat(param2) : "";
11778
+ url = "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&include_tokens=top&page=".concat(page, "&per_page=").concat(perPage);
11779
+ if (!(key && !categoryVal)) {
11780
+ _context1.next = 24;
12470
11781
  break;
12471
11782
  }
12472
11783
  return _context1.abrupt("return", "".concat(SERVICE_API_KEY.Coingecko).concat(ERROR_MESSAGES_FLAG.INVALID_PARAM));
12473
11784
 
12474
- case 21:
12475
- trend = param2 ? "&price_change_percentage=".concat(param2) : "";
12476
- url = "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&include_tokens=top&page=".concat(page, "&per_page=").concat(perPage);
11785
+ case 24:
12477
11786
  if (categoryVal) url += "&category=".concat(categoryVal);
12478
11787
  if (trend) url += trend;
12479
- return _context1.abrupt("break", 34);
11788
+ return _context1.abrupt("break", 35);
12480
11789
 
12481
- case 26:
12482
- _category = param1 === "all" || !param1 ? "stablecoins" : param1 === null || param1 === void 0 ? void 0 : param1.toLowerCase();
11790
+ case 27:
11791
+ _category = !param1 || param1.toLowerCase() === "all" ? "stablecoins" : param1.toLowerCase();
12483
11792
  _trend = param2 ? "&price_change_percentage=".concat(param2) : "";
12484
- url = "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&category=".concat(_category, "&page=").concat(page, "&per_page=").concat(perPage).concat(_trend);
12485
- return _context1.abrupt("break", 34);
11793
+ url = "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&category=".concat(_category, "&order=market_cap_desc&page=").concat(page, "&per_page=").concat(perPage).concat(_trend);
11794
+ return _context1.abrupt("break", 35);
12486
11795
 
12487
- case 30:
11796
+ case 31:
12488
11797
  exchange = param1;
12489
11798
  if (exchange) {
12490
11799
  url = "https://api.coingecko.com/api/v3/derivatives/exchanges/".concat(exchange, "?include_tickers=all");
12491
11800
  } else {
12492
11801
  url = "https://api.coingecko.com/api/v3/derivatives?page=".concat(page, "&per_page=").concat(perPage);
12493
11802
  }
12494
- return _context1.abrupt("break", 34);
11803
+ return _context1.abrupt("break", 35);
12495
11804
 
12496
- case 33:
11805
+ case 34:
12497
11806
  return _context1.abrupt("return", "".concat(SERVICE_API_KEY.Coingecko).concat(ERROR_MESSAGES_FLAG.INVALID_PARAMS));
12498
11807
 
12499
- case 34:
12500
- _context1.prev = 34;
12501
- _context1.next = 37;
11808
+ case 35:
11809
+ _context1.prev = 35;
11810
+ _context1.next = 38;
12502
11811
  return fetch(url, {
12503
11812
  method: "GET",
12504
11813
  headers: headers
12505
11814
  });
12506
11815
 
12507
- case 37:
11816
+ case 38:
12508
11817
  response = _context1.sent;
12509
- _context1.next = 40;
11818
+ _context1.next = 41;
12510
11819
  return response.json();
12511
11820
 
12512
- case 40:
11821
+ case 41:
12513
11822
  json = _context1.sent;
12514
11823
  if (response.ok) {
12515
- _context1.next = 47;
11824
+ _context1.next = 48;
12516
11825
  break;
12517
11826
  }
12518
11827
  message = (json === null || json === void 0 || (_json$status = json.status) === null || _json$status === void 0 ? void 0 : _json$status.error_message) || "";
12519
11828
  if (!message.includes("API Key Missing")) {
12520
- _context1.next = 45;
11829
+ _context1.next = 46;
12521
11830
  break;
12522
11831
  }
12523
11832
  return _context1.abrupt("return", "".concat(SERVICE_API_KEY.Coingecko).concat(ERROR_MESSAGES_FLAG.INVALID_API_KEY));
12524
11833
 
12525
- case 45:
11834
+ case 46:
12526
11835
  if (!(response.status === 429)) {
12527
- _context1.next = 47;
11836
+ _context1.next = 48;
12528
11837
  break;
12529
11838
  }
12530
11839
  return _context1.abrupt("return", "".concat(SERVICE_API_KEY.Coingecko).concat(ERROR_MESSAGES_FLAG.RATE_LIMIT));
12531
11840
 
12532
- case 47:
12533
- if (!(category.toLowerCase() === "price")) {
12534
- _context1.next = 51;
11841
+ case 48:
11842
+ if (!(lowerCategory === "price")) {
11843
+ _context1.next = 52;
12535
11844
  break;
12536
11845
  }
12537
11846
  output = {};
12538
- for (_i10 = 0, _Object$entries = Object.entries(json); _i10 < _Object$entries.length; _i10++) {
12539
- _Object$entries$_i = _slicedToArray(_Object$entries[_i10], 2), _token = _Object$entries$_i[0],
12540
- prices = _Object$entries$_i[1];
12541
- for (_i11 = 0, _Object$entries2 = Object.entries(prices); _i11 < _Object$entries2.length; _i11++) {
12542
- _Object$entries2$_i = _slicedToArray(_Object$entries2[_i11], 2), currency = _Object$entries2$_i[0],
12543
- _value5 = _Object$entries2$_i[1];
11847
+ for (_i11 = 0, _Object$entries2 = Object.entries(json); _i11 < _Object$entries2.length; _i11++) {
11848
+ _Object$entries2$_i = _slicedToArray(_Object$entries2[_i11], 2), _token = _Object$entries2$_i[0],
11849
+ prices = _Object$entries2$_i[1];
11850
+ for (_i12 = 0, _Object$entries3 = Object.entries(prices); _i12 < _Object$entries3.length; _i12++) {
11851
+ _Object$entries3$_i = _slicedToArray(_Object$entries3[_i12], 2), currency = _Object$entries3$_i[0],
11852
+ _value6 = _Object$entries3$_i[1];
12544
11853
  _key5 = "".concat(_token.charAt(0).toUpperCase() + _token.slice(1), "_").concat(currency.toUpperCase());
12545
- output[_key5] = _value5;
11854
+ output[_key5] = _value6;
12546
11855
  }
12547
11856
  }
12548
11857
  return _context1.abrupt("return", [ output ]);
12549
11858
 
12550
- case 51:
11859
+ case 52:
12551
11860
  flatArray = Array.isArray(json) ? json : [ json ];
12552
11861
  return _context1.abrupt("return", flatArray.map((function(item) {
12553
11862
  var flat = {};
12554
- for (var _i12 = 0, _Object$entries3 = Object.entries(item); _i12 < _Object$entries3.length; _i12++) {
12555
- var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i12], 2), _key6 = _Object$entries3$_i[0], _value6 = _Object$entries3$_i[1];
12556
- if (_typeof(_value6) !== "object" || _value6 === null) {
12557
- flat[_key6] = _value6;
11863
+ for (var _i13 = 0, _Object$entries4 = Object.entries(item); _i13 < _Object$entries4.length; _i13++) {
11864
+ var _Object$entries4$_i = _slicedToArray(_Object$entries4[_i13], 2), _key6 = _Object$entries4$_i[0], _value7 = _Object$entries4$_i[1];
11865
+ if (_typeof(_value7) !== "object" || _value7 === null) {
11866
+ flat[_key6] = _value7;
12558
11867
  }
12559
11868
  }
12560
11869
  return flat;
12561
11870
  })));
12562
11871
 
12563
- case 55:
12564
- _context1.prev = 55;
12565
- _context1.t1 = _context1["catch"](34);
11872
+ case 56:
11873
+ _context1.prev = 56;
11874
+ _context1.t1 = _context1["catch"](35);
12566
11875
  console.error(_context1.t1);
12567
11876
  return _context1.abrupt("return", ERROR_MESSAGES_FLAG.DEFAULT);
12568
11877
 
12569
- case 59:
11878
+ case 60:
12570
11879
  case "end":
12571
11880
  return _context1.stop();
12572
11881
  }
12573
- }), _callee1, null, [ [ 34, 55 ] ]);
11882
+ }), _callee1, null, [ [ 35, 56 ] ]);
12574
11883
  })));
12575
11884
  return _COINGECKO.apply(this, arguments);
12576
11885
  }
@@ -12674,7 +11983,7 @@ function _typeof(o) {
12674
11983
  break;
12675
11984
  }
12676
11985
  input = _step.value;
12677
- if (!/^0x[a-fA-F0-9]{40}$/.test(input)) {
11986
+ if (!isAddress(input)) {
12678
11987
  _context13.next = 20;
12679
11988
  break;
12680
11989
  }
@@ -12685,7 +11994,7 @@ function _typeof(o) {
12685
11994
  case 20:
12686
11995
  _context13.prev = 20;
12687
11996
  _context13.next = 23;
12688
- return toEnsName(input);
11997
+ return fromEnsNameToAddress(input);
12689
11998
 
12690
11999
  case 23:
12691
12000
  resolved = _context13.sent;
@@ -12721,7 +12030,7 @@ function _typeof(o) {
12721
12030
  _iterator2 = _createForOfIteratorHelper(CHAINS);
12722
12031
  _context13.prev = 42;
12723
12032
  _loop = _regeneratorRuntime().mark((function _loop() {
12724
- var chain, chainId, i, slice, action, url, _data, startBlock, endBlock, _loop2, _ret2, _i13, _ADDRS;
12033
+ var chain, chainId, i, slice, action, url, _data, startBlock, endBlock, _loop2, _ret2, _i14, _ADDRS;
12725
12034
  return _regeneratorRuntime().wrap((function _loop$(_context11) {
12726
12035
  while (1) switch (_context11.prev = _context11.next) {
12727
12036
  case 0:
@@ -12800,7 +12109,7 @@ function _typeof(o) {
12800
12109
  return _regeneratorRuntime().wrap((function _loop2$(_context10) {
12801
12110
  while (1) switch (_context10.prev = _context10.next) {
12802
12111
  case 0:
12803
- addr = _ADDRS[_i13];
12112
+ addr = _ADDRS[_i14];
12804
12113
  url = "https://api.etherscan.io/v2/api?chainid=".concat(chainId) + "&module=account&action=txlist&address=".concat(addr) + "&startblock=".concat(startBlock, "&endblock=").concat(endBlock) + "&page=".concat(page, "&offset=").concat(offset, "&sort=asc&apikey=").concat(API_KEY);
12805
12114
  _context10.next = 4;
12806
12115
  return fetchJSON(url);
@@ -12832,10 +12141,10 @@ function _typeof(o) {
12832
12141
  }
12833
12142
  }), _loop2);
12834
12143
  }));
12835
- _i13 = 0, _ADDRS = ADDRS;
12144
+ _i14 = 0, _ADDRS = ADDRS;
12836
12145
 
12837
12146
  case 29:
12838
- if (!(_i13 < _ADDRS.length)) {
12147
+ if (!(_i14 < _ADDRS.length)) {
12839
12148
  _context11.next = 37;
12840
12149
  break;
12841
12150
  }
@@ -12850,7 +12159,7 @@ function _typeof(o) {
12850
12159
  return _context11.abrupt("return", _ret2.v);
12851
12160
 
12852
12161
  case 34:
12853
- _i13++;
12162
+ _i14++;
12854
12163
  _context11.next = 29;
12855
12164
  break;
12856
12165
 
@@ -13204,7 +12513,7 @@ function _typeof(o) {
13204
12513
  exports.GCD = GCD;
13205
12514
  exports.GEOMEAN = GEOMEAN;
13206
12515
  exports.GESTEP = GESTEP;
13207
- exports.GNOSIS = GNOSIS;
12516
+ exports.GNOSISPAY = GNOSISPAY;
13208
12517
  exports.GNOSISSCAN = GNOSISSCAN;
13209
12518
  exports.GROWTH = GROWTH;
13210
12519
  exports.HARMEAN = HARMEAN;