@layerzerolabs/lz-utilities 3.0.67 → 3.0.68
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/CHANGELOG.md +8 -0
- package/dist/index.cjs +110 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +66 -34
- package/dist/index.d.ts +66 -34
- package/dist/index.mjs +107 -53
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -5
package/CHANGELOG.md
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -11,7 +11,9 @@ var bip39 = require('bip39');
|
|
|
11
11
|
var ed25519HdKey = require('ed25519-hd-key');
|
|
12
12
|
var ethers = require('ethers');
|
|
13
13
|
var lzDefinitions = require('@layerzerolabs/lz-definitions');
|
|
14
|
-
var
|
|
14
|
+
var dayjs = require('dayjs');
|
|
15
|
+
var pc = require('picocolors');
|
|
16
|
+
var pino = require('pino');
|
|
15
17
|
var module2 = require('module');
|
|
16
18
|
var fs = require('fs');
|
|
17
19
|
var memoizee = require('memoizee');
|
|
@@ -41,7 +43,8 @@ var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
|
41
43
|
var aptos__namespace = /*#__PURE__*/_interopNamespace(aptos);
|
|
42
44
|
var bip39__namespace = /*#__PURE__*/_interopNamespace(bip39);
|
|
43
45
|
var ed25519HdKey__namespace = /*#__PURE__*/_interopNamespace(ed25519HdKey);
|
|
44
|
-
var
|
|
46
|
+
var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
|
|
47
|
+
var pc__default = /*#__PURE__*/_interopDefault(pc);
|
|
45
48
|
var module2__default = /*#__PURE__*/_interopDefault(module2);
|
|
46
49
|
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
47
50
|
var memoizee__default = /*#__PURE__*/_interopDefault(memoizee);
|
|
@@ -92,7 +95,7 @@ function padBytes(bytes, { dir, size = 32 } = {}) {
|
|
|
92
95
|
|
|
93
96
|
// src/types.ts
|
|
94
97
|
function isHex(value) {
|
|
95
|
-
return /^(0x)?[0-9A-F]
|
|
98
|
+
return /^(0x)?[0-9A-F]+$/i.test(value);
|
|
96
99
|
}
|
|
97
100
|
function isHash(value) {
|
|
98
101
|
return /^(0x)?[0-9A-F]+/i.test(value);
|
|
@@ -324,52 +327,82 @@ function extractCallerInfo(line) {
|
|
|
324
327
|
}
|
|
325
328
|
return "<unknown>";
|
|
326
329
|
}
|
|
327
|
-
|
|
328
|
-
(
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
fileInfo = extractCallerInfo(line);
|
|
341
|
-
}
|
|
342
|
-
const formats = [];
|
|
343
|
-
if (fileInfo !== "<unknown>") {
|
|
344
|
-
formats.push(fileInfo);
|
|
345
|
-
}
|
|
346
|
-
const { pretty, format: format2 } = info.metadata ?? {};
|
|
347
|
-
const spaces = pretty === true ? 2 : void 0;
|
|
348
|
-
const value = typeof info.message === "string" ? info.message : JSON.stringify(info.message, getCircularReplacer(), spaces);
|
|
349
|
-
const message = format2 !== void 0 ? format2.replace(/%s/g, value) : value;
|
|
350
|
-
return [...formats, message].map((x) => `${info.timestamp} ${info.level.toUpperCase()}: ${x}`).join("\n");
|
|
351
|
-
}
|
|
352
|
-
);
|
|
353
|
-
var loggerFormat = winston.format.combine(
|
|
354
|
-
winston.format.timestamp({ format: "YY-MM-DD HH:mm:ss" }),
|
|
355
|
-
winston.format.splat(),
|
|
356
|
-
winston.format.metadata({ fillExcept: ["level", "timestamp", "message"] }),
|
|
357
|
-
logFormat,
|
|
358
|
-
winston.format.colorize({
|
|
359
|
-
all: true
|
|
360
|
-
})
|
|
361
|
-
);
|
|
330
|
+
function getCaller(pattern) {
|
|
331
|
+
const stack = getStackTrace() ?? "";
|
|
332
|
+
const stackLines = stack.split("\n");
|
|
333
|
+
const index = stackLines.findIndex((line) => {
|
|
334
|
+
return line.match(pattern);
|
|
335
|
+
}) + 1;
|
|
336
|
+
let fileInfo = "<unknown>";
|
|
337
|
+
if (stackLines.length > index) {
|
|
338
|
+
const line = stackLines[index];
|
|
339
|
+
fileInfo = extractCallerInfo(line);
|
|
340
|
+
}
|
|
341
|
+
return fileInfo;
|
|
342
|
+
}
|
|
362
343
|
function initLogger(level) {
|
|
363
344
|
if (!logger) {
|
|
364
|
-
logger =
|
|
345
|
+
logger = createLogger(level);
|
|
365
346
|
}
|
|
366
347
|
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
348
|
+
var levelColors = {
|
|
349
|
+
TRACE: pc__default.default.reset,
|
|
350
|
+
DEBUG: pc__default.default.reset,
|
|
351
|
+
INFO: pc__default.default.green,
|
|
352
|
+
WARN: pc__default.default.yellow,
|
|
353
|
+
ERROR: pc__default.default.red,
|
|
354
|
+
FATAL: pc__default.default.red
|
|
355
|
+
};
|
|
356
|
+
var customStream = {
|
|
357
|
+
write: (msg) => {
|
|
358
|
+
try {
|
|
359
|
+
const customLogger = (output) => {
|
|
360
|
+
if (typeof process !== "undefined") {
|
|
361
|
+
process.stdout.write(output + "\n");
|
|
362
|
+
} else {
|
|
363
|
+
console.log(output);
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
const logObj = JSON.parse(msg);
|
|
367
|
+
const { level, msg: message, time } = logObj;
|
|
368
|
+
const newMsgs = message.split("#caller#");
|
|
369
|
+
const formattedTime = dayjs__default.default(time).format("YYYY-MM-DD HH:mm:ss");
|
|
370
|
+
const colorFn = levelColors[level] || pc__default.default.reset;
|
|
371
|
+
newMsgs.forEach((newMsg) => {
|
|
372
|
+
customLogger(colorFn(`[${formattedTime}] [${level}] ${newMsg}`));
|
|
373
|
+
});
|
|
374
|
+
} catch (error) {
|
|
375
|
+
console.error("Failed to process log:", msg);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
function createLogger(level) {
|
|
380
|
+
const logger3 = pino.pino(
|
|
381
|
+
{
|
|
382
|
+
level,
|
|
383
|
+
base: void 0,
|
|
384
|
+
// customLevels: customLevels.levels,
|
|
385
|
+
// timestamp: () => `,"time":"${formatTime(Date.now())}"`,
|
|
386
|
+
formatters: {
|
|
387
|
+
level(levelLabel, levelNumber) {
|
|
388
|
+
return { level: levelLabel.toUpperCase(), levelNumber };
|
|
389
|
+
}
|
|
390
|
+
},
|
|
391
|
+
hooks: {
|
|
392
|
+
logMethod(inputArgs, method, level2) {
|
|
393
|
+
const [msg, ...args] = inputArgs;
|
|
394
|
+
let newMsg = msg;
|
|
395
|
+
let caller = "";
|
|
396
|
+
if (level2 >= 50) {
|
|
397
|
+
caller = getCaller(/lib\/tools.js/);
|
|
398
|
+
newMsg = `${caller}#caller#${msg} `;
|
|
399
|
+
}
|
|
400
|
+
method.apply(this, [newMsg, ...args, caller]);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
customStream
|
|
405
|
+
);
|
|
373
406
|
return logger3;
|
|
374
407
|
}
|
|
375
408
|
function getLogger() {
|
|
@@ -442,7 +475,7 @@ function getStackTrace2(stackTraceLimit = Infinity) {
|
|
|
442
475
|
Error.stackTraceLimit = oldLimit;
|
|
443
476
|
return retval;
|
|
444
477
|
}
|
|
445
|
-
function
|
|
478
|
+
function getCaller2() {
|
|
446
479
|
const lines = (getStackTrace2(10) ?? "").split("\n");
|
|
447
480
|
if (lines.length > 1 + 1 + 1 + 1) {
|
|
448
481
|
const line = lines[4];
|
|
@@ -455,7 +488,7 @@ function getCaller() {
|
|
|
455
488
|
}
|
|
456
489
|
function pkgroot(packageName, relativeToPath) {
|
|
457
490
|
if (relativeToPath === void 0) {
|
|
458
|
-
relativeToPath =
|
|
491
|
+
relativeToPath = getCaller2();
|
|
459
492
|
if (relativeToPath === void 0) {
|
|
460
493
|
relativeToPath = __filename;
|
|
461
494
|
}
|
|
@@ -471,9 +504,21 @@ function assert(condition, message) {
|
|
|
471
504
|
throw new Error(`Assertion Error: ${message ?? "condition is false"}`);
|
|
472
505
|
}
|
|
473
506
|
}
|
|
474
|
-
function assertType(value,
|
|
475
|
-
if (
|
|
476
|
-
|
|
507
|
+
function assertType(value, typeOrGuard, message) {
|
|
508
|
+
if (typeof typeOrGuard === "function") {
|
|
509
|
+
if (typeOrGuard === String || typeOrGuard === Number || typeOrGuard === Boolean) {
|
|
510
|
+
if (typeof value !== typeOrGuard.name.toLowerCase()) {
|
|
511
|
+
throw new Error(`Expected value to be ${message ?? "of correct type"}`);
|
|
512
|
+
}
|
|
513
|
+
} else if ("prototype" in typeOrGuard && typeOrGuard.prototype !== void 0) {
|
|
514
|
+
if (!(value instanceof typeOrGuard)) {
|
|
515
|
+
throw new Error(`Expected value to be ${message ?? "of correct type"}`);
|
|
516
|
+
}
|
|
517
|
+
} else {
|
|
518
|
+
if (!typeOrGuard(value)) {
|
|
519
|
+
throw new Error(`Expected value to be ${message ?? "of correct type"}`);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
477
522
|
}
|
|
478
523
|
}
|
|
479
524
|
function assertDefined(value, message) {
|
|
@@ -587,7 +632,7 @@ async function loadJSorTS(fileName, relativeToPath) {
|
|
|
587
632
|
const modulePath = require2.resolve(fileName);
|
|
588
633
|
if (fileName.endsWith(".ts")) {
|
|
589
634
|
enableTS(relativeToPath);
|
|
590
|
-
return
|
|
635
|
+
return require2(modulePath);
|
|
591
636
|
} else if (fileName.endsWith(".mjs")) {
|
|
592
637
|
return import(modulePath);
|
|
593
638
|
} else if (fileName.endsWith(".cjs")) {
|
|
@@ -634,6 +679,18 @@ function Memoizee(options) {
|
|
|
634
679
|
};
|
|
635
680
|
}
|
|
636
681
|
|
|
682
|
+
// src/combinatorial.ts
|
|
683
|
+
function cartesianProduct(...inputs) {
|
|
684
|
+
if (inputs.length === 0) {
|
|
685
|
+
return [];
|
|
686
|
+
}
|
|
687
|
+
const normalizedArrays = inputs.map((input) => Array.isArray(input) ? input : [input]);
|
|
688
|
+
return normalizedArrays.reduce(
|
|
689
|
+
(combinations, currentArray) => combinations.flatMap((combination) => currentArray.map((element) => [...combination, element])),
|
|
690
|
+
[[]]
|
|
691
|
+
);
|
|
692
|
+
}
|
|
693
|
+
|
|
637
694
|
// src/index.ts
|
|
638
695
|
var logger2 = getLogger();
|
|
639
696
|
async function sleep(timeout) {
|
|
@@ -687,10 +744,6 @@ function extractUrlInfo(url) {
|
|
|
687
744
|
};
|
|
688
745
|
}
|
|
689
746
|
|
|
690
|
-
Object.defineProperty(exports, "Logger", {
|
|
691
|
-
enumerable: true,
|
|
692
|
-
get: function () { return winston.Logger; }
|
|
693
|
-
});
|
|
694
747
|
exports.Memoizee = Memoizee;
|
|
695
748
|
exports.SizeExceedsPaddingSizeError = SizeExceedsPaddingSizeError;
|
|
696
749
|
exports.arrayify = arrayify;
|
|
@@ -701,7 +754,8 @@ exports.assertDefined = assertDefined;
|
|
|
701
754
|
exports.assertType = assertType;
|
|
702
755
|
exports.assumeType = assumeType;
|
|
703
756
|
exports.bytesToHex = bytesToHex;
|
|
704
|
-
exports.
|
|
757
|
+
exports.cartesianProduct = cartesianProduct;
|
|
758
|
+
exports.createLogger = createLogger;
|
|
705
759
|
exports.deploymentToEvmContract = deploymentToEvmContract;
|
|
706
760
|
exports.dirname = dirname;
|
|
707
761
|
exports.enableTS = enableTS;
|