@lodestar/utils 0.40.0-dev.57d13e1d9d
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/LICENSE +201 -0
- package/README.md +12 -0
- package/lib/assert.d.ts +45 -0
- package/lib/assert.js +69 -0
- package/lib/assert.js.map +1 -0
- package/lib/bytes.d.ts +17 -0
- package/lib/bytes.js +58 -0
- package/lib/bytes.js.map +1 -0
- package/lib/errors.d.ts +35 -0
- package/lib/errors.js +52 -0
- package/lib/errors.js.map +1 -0
- package/lib/format.d.ts +6 -0
- package/lib/format.js +10 -0
- package/lib/format.js.map +1 -0
- package/lib/index.d.ts +17 -0
- package/lib/index.js +17 -0
- package/lib/index.js.map +1 -0
- package/lib/logger/format.d.ts +6 -0
- package/lib/logger/format.js +62 -0
- package/lib/logger/format.js.map +1 -0
- package/lib/logger/index.d.ts +9 -0
- package/lib/logger/index.js +8 -0
- package/lib/logger/index.js.map +1 -0
- package/lib/logger/interface.d.ts +63 -0
- package/lib/logger/interface.js +38 -0
- package/lib/logger/interface.js.map +1 -0
- package/lib/logger/json.d.ts +18 -0
- package/lib/logger/json.js +115 -0
- package/lib/logger/json.js.map +1 -0
- package/lib/logger/transport.d.ts +24 -0
- package/lib/logger/transport.js +41 -0
- package/lib/logger/transport.js.map +1 -0
- package/lib/logger/util.d.ts +6 -0
- package/lib/logger/util.js +14 -0
- package/lib/logger/util.js.map +1 -0
- package/lib/logger/winston.d.ts +30 -0
- package/lib/logger/winston.js +83 -0
- package/lib/logger/winston.js.map +1 -0
- package/lib/math.d.ts +27 -0
- package/lib/math.js +53 -0
- package/lib/math.js.map +1 -0
- package/lib/notNullish.d.ts +10 -0
- package/lib/notNullish.js +12 -0
- package/lib/notNullish.js.map +1 -0
- package/lib/objects.d.ts +16 -0
- package/lib/objects.js +72 -0
- package/lib/objects.js.map +1 -0
- package/lib/promise.d.ts +5 -0
- package/lib/promise.js +22 -0
- package/lib/promise.js.map +1 -0
- package/lib/retry.d.ts +24 -0
- package/lib/retry.js +29 -0
- package/lib/retry.js.map +1 -0
- package/lib/sleep.d.ts +6 -0
- package/lib/sleep.js +32 -0
- package/lib/sleep.js.map +1 -0
- package/lib/sort.d.ts +2 -0
- package/lib/sort.js +10 -0
- package/lib/sort.js.map +1 -0
- package/lib/timeout.d.ts +2 -0
- package/lib/timeout.js +18 -0
- package/lib/timeout.js.map +1 -0
- package/lib/types.d.ts +10 -0
- package/lib/types.js +5 -0
- package/lib/types.js.map +1 -0
- package/lib/verifyMerkleBranch.d.ts +7 -0
- package/lib/verifyMerkleBranch.js +21 -0
- package/lib/verifyMerkleBranch.js.map +1 -0
- package/lib/yaml/index.d.ts +3 -0
- package/lib/yaml/index.js +10 -0
- package/lib/yaml/index.js.map +1 -0
- package/lib/yaml/int.d.ts +3 -0
- package/lib/yaml/int.js +174 -0
- package/lib/yaml/int.js.map +1 -0
- package/lib/yaml/schema.d.ts +3 -0
- package/lib/yaml/schema.js +21 -0
- package/lib/yaml/schema.js.map +1 -0
- package/package.json +63 -0
package/lib/objects.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import Case from "case";
|
|
2
|
+
export function toExpectedCase(value, expectedCase = "camel", customCasingMap) {
|
|
3
|
+
if (expectedCase === "notransform")
|
|
4
|
+
return value;
|
|
5
|
+
if (customCasingMap && customCasingMap[value])
|
|
6
|
+
return customCasingMap[value];
|
|
7
|
+
switch (expectedCase) {
|
|
8
|
+
case "param":
|
|
9
|
+
return Case.kebab(value);
|
|
10
|
+
case "dot":
|
|
11
|
+
return Case.lower(value, ".", true);
|
|
12
|
+
default:
|
|
13
|
+
return Case[expectedCase](value);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function isObjectObject(val) {
|
|
17
|
+
return val != null && typeof val === "object" && Array.isArray(val) === false;
|
|
18
|
+
}
|
|
19
|
+
export function isPlainObject(o) {
|
|
20
|
+
if (isObjectObject(o) === false)
|
|
21
|
+
return false;
|
|
22
|
+
// If has modified constructor
|
|
23
|
+
const ctor = o.constructor;
|
|
24
|
+
if (typeof ctor !== "function")
|
|
25
|
+
return false;
|
|
26
|
+
// If has modified prototype
|
|
27
|
+
const prot = ctor.prototype;
|
|
28
|
+
if (isObjectObject(prot) === false)
|
|
29
|
+
return false;
|
|
30
|
+
// If constructor does not have an Object-specific method
|
|
31
|
+
if (prot.hasOwnProperty("isPrototypeOf") === false) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
// Most likely a plain Object
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Creates an object with the same keys as object and values generated by running each own enumerable
|
|
39
|
+
* string keyed property of object thru iteratee.
|
|
40
|
+
*
|
|
41
|
+
* Inspired on lodash.mapValues, see https://lodash.com/docs/4.17.15#mapValues
|
|
42
|
+
*/
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
|
+
export function mapValues(obj, iteratee) {
|
|
45
|
+
const output = {};
|
|
46
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
47
|
+
output[key] = iteratee(value, key);
|
|
48
|
+
}
|
|
49
|
+
return output;
|
|
50
|
+
}
|
|
51
|
+
export function objectToExpectedCase(obj, expectedCase = "camel") {
|
|
52
|
+
if (Array.isArray(obj)) {
|
|
53
|
+
const newArr = [];
|
|
54
|
+
for (let i = 0; i < obj.length; i++) {
|
|
55
|
+
newArr[i] = objectToExpectedCase(obj[i], expectedCase);
|
|
56
|
+
}
|
|
57
|
+
return newArr;
|
|
58
|
+
}
|
|
59
|
+
if (Object(obj) === obj) {
|
|
60
|
+
const newObj = {};
|
|
61
|
+
for (const name of Object.getOwnPropertyNames(obj)) {
|
|
62
|
+
const newName = toExpectedCase(name, expectedCase);
|
|
63
|
+
if (newName !== name && obj.hasOwnProperty(newName)) {
|
|
64
|
+
throw new Error(`object already has a ${newName} property`);
|
|
65
|
+
}
|
|
66
|
+
newObj[newName] = objectToExpectedCase(obj[name], expectedCase);
|
|
67
|
+
}
|
|
68
|
+
return newObj;
|
|
69
|
+
}
|
|
70
|
+
return obj;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=objects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../src/objects.ts"],"names":[],"mappings":"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"}
|
package/lib/promise.d.ts
ADDED
package/lib/promise.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { sleep } from "./sleep.js";
|
|
2
|
+
/**
|
|
3
|
+
* While promise t is not finished, call function `fn` per `interval`
|
|
4
|
+
*/
|
|
5
|
+
export async function callFnWhenAwait(p, fn, interval) {
|
|
6
|
+
let t = undefined;
|
|
7
|
+
const logFn = async () => {
|
|
8
|
+
while (t === undefined) {
|
|
9
|
+
await sleep(interval);
|
|
10
|
+
if (t === undefined)
|
|
11
|
+
fn();
|
|
12
|
+
}
|
|
13
|
+
return undefined;
|
|
14
|
+
};
|
|
15
|
+
t = await Promise.race([p, logFn()]);
|
|
16
|
+
// should not happen since p doesn not resolve to undefined
|
|
17
|
+
if (t === undefined) {
|
|
18
|
+
throw new Error("Unexpected error: Timeout");
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,CAA0B,EAC1B,EAAc,EACd,QAAgB;IAEhB,IAAI,CAAC,GAA+B,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,IAAwB,EAAE;QAC3C,OAAO,CAAC,KAAK,SAAS,EAAE;YACtB,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,SAAS;gBAAE,EAAE,EAAE,CAAC;SAC3B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,2DAA2D;IAC3D,IAAI,CAAC,KAAK,SAAS,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC9C;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/lib/retry.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare type RetryOptions = {
|
|
2
|
+
/**
|
|
3
|
+
* The maximum amount of times to retry the operation. Default is 5
|
|
4
|
+
*/
|
|
5
|
+
retries?: number;
|
|
6
|
+
/**
|
|
7
|
+
* An optional Function that is invoked after the provided callback throws
|
|
8
|
+
* It expects a boolean to know if it should retry or not
|
|
9
|
+
* Useful to make retrying conditional on the type of error thrown
|
|
10
|
+
*/
|
|
11
|
+
shouldRetry?: (lastError: Error) => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Miliseconds to wait before retrying again
|
|
14
|
+
*/
|
|
15
|
+
retryDelay?: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Retry a given function on error.
|
|
19
|
+
* @param fn Async callback to retry. Invoked with 1 parameter
|
|
20
|
+
* A Number identifying the attempt. The absolute first attempt (before any retries) is 1
|
|
21
|
+
* @param opts
|
|
22
|
+
*/
|
|
23
|
+
export declare function retry<A>(fn: (attempt: number) => A | Promise<A>, opts?: RetryOptions): Promise<A>;
|
|
24
|
+
//# sourceMappingURL=retry.d.ts.map
|
package/lib/retry.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { sleep } from "./sleep.js";
|
|
2
|
+
/**
|
|
3
|
+
* Retry a given function on error.
|
|
4
|
+
* @param fn Async callback to retry. Invoked with 1 parameter
|
|
5
|
+
* A Number identifying the attempt. The absolute first attempt (before any retries) is 1
|
|
6
|
+
* @param opts
|
|
7
|
+
*/
|
|
8
|
+
export async function retry(fn, opts) {
|
|
9
|
+
var _a;
|
|
10
|
+
const maxRetries = (_a = opts === null || opts === void 0 ? void 0 : opts.retries) !== null && _a !== void 0 ? _a : 5;
|
|
11
|
+
const shouldRetry = opts === null || opts === void 0 ? void 0 : opts.shouldRetry;
|
|
12
|
+
let lastError = Error("RetryError");
|
|
13
|
+
for (let i = 1; i <= maxRetries; i++) {
|
|
14
|
+
try {
|
|
15
|
+
return await fn(i);
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
lastError = e;
|
|
19
|
+
if (shouldRetry && !shouldRetry(lastError)) {
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
else if ((opts === null || opts === void 0 ? void 0 : opts.retryDelay) !== undefined) {
|
|
23
|
+
await sleep(opts === null || opts === void 0 ? void 0 : opts.retryDelay);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
throw lastError;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=retry.js.map
|
package/lib/retry.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAmBjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAI,EAAuC,EAAE,IAAmB;;IACzF,MAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC;IAEtC,IAAI,SAAS,GAAU,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI;YACF,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;SACpB;QAAC,OAAO,CAAC,EAAE;YACV,SAAS,GAAG,CAAU,CAAC;YACvB,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;gBAC1C,MAAM;aACP;iBAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,MAAK,SAAS,EAAE;gBACzC,MAAM,KAAK,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,CAAC;aAC/B;SACF;KACF;IACD,MAAM,SAAS,CAAC;AAClB,CAAC"}
|
package/lib/sleep.d.ts
ADDED
package/lib/sleep.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ErrorAborted } from "./errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Abortable sleep function. Cleans everything on all cases preventing leaks
|
|
4
|
+
* On abort throws ErrorAborted
|
|
5
|
+
*/
|
|
6
|
+
export async function sleep(ms, signal) {
|
|
7
|
+
if (ms < 0) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
|
+
if (signal && signal.aborted)
|
|
12
|
+
return reject(new ErrorAborted());
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
14
|
+
let onDone = () => { };
|
|
15
|
+
const timeout = setTimeout(() => {
|
|
16
|
+
onDone();
|
|
17
|
+
resolve();
|
|
18
|
+
}, ms);
|
|
19
|
+
const onAbort = () => {
|
|
20
|
+
onDone();
|
|
21
|
+
reject(new ErrorAborted());
|
|
22
|
+
};
|
|
23
|
+
if (signal)
|
|
24
|
+
signal.addEventListener("abort", onAbort);
|
|
25
|
+
onDone = () => {
|
|
26
|
+
clearTimeout(timeout);
|
|
27
|
+
if (signal)
|
|
28
|
+
signal.removeEventListener("abort", onAbort);
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=sleep.js.map
|
package/lib/sleep.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep.js","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,EAAU,EAAE,MAAoB;IAC1D,IAAI,EAAE,GAAG,CAAC,EAAE;QACV,OAAO;KACR;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAEhE,gEAAgE;QAChE,IAAI,MAAM,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,IAAI,MAAM;YAAE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,EAAE;YACZ,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,MAAM;gBAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/lib/sort.d.ts
ADDED
package/lib/sort.js
ADDED
package/lib/sort.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../src/sort.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,OAAiB;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvD,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;YAC3B,OAAO,KAAK,CAAC;SACd;QACD,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/lib/timeout.d.ts
ADDED
package/lib/timeout.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { anySignal } from "any-signal";
|
|
2
|
+
import { TimeoutError } from "./errors.js";
|
|
3
|
+
import { sleep } from "./sleep.js";
|
|
4
|
+
export async function withTimeout(asyncFn, timeoutMs, signal) {
|
|
5
|
+
const timeoutAbortController = new AbortController();
|
|
6
|
+
const timeoutAndParentSignal = anySignal([timeoutAbortController.signal, ...(signal ? [signal] : [])]);
|
|
7
|
+
async function timeoutPromise(signal) {
|
|
8
|
+
await sleep(timeoutMs, signal);
|
|
9
|
+
throw new TimeoutError();
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
return await Promise.race([asyncFn(timeoutAndParentSignal), timeoutPromise(timeoutAndParentSignal)]);
|
|
13
|
+
}
|
|
14
|
+
finally {
|
|
15
|
+
timeoutAbortController.abort();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=timeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../src/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA6D,EAC7D,SAAiB,EACjB,MAAoB;IAEpB,MAAM,sBAAsB,GAAG,IAAI,eAAe,EAAE,CAAC;IACrD,MAAM,sBAAsB,GAAG,SAAS,CAAC,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAgB,CAAC;IAEtH,KAAK,UAAU,cAAc,CAAC,MAAmB;QAC/C,MAAM,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,YAAY,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;KACtG;YAAS;QACR,sBAAsB,CAAC,KAAK,EAAE,CAAC;KAChC;AACH,CAAC"}
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursively make all properties optional
|
|
3
|
+
* From https://stackoverflow.com/questions/45372227/how-to-implement-typescript-deep-partial-mapped-type-not-breaking-array-properti/49936686#49936686
|
|
4
|
+
*/
|
|
5
|
+
export declare type RecursivePartial<T> = {
|
|
6
|
+
[P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends Readonly<infer U>[] ? Readonly<RecursivePartial<U>>[] : RecursivePartial<T[P]>;
|
|
7
|
+
};
|
|
8
|
+
/** Type safe wrapper for Number constructor that takes 'any' */
|
|
9
|
+
export declare function bnToNum(bn: bigint): number;
|
|
10
|
+
//# sourceMappingURL=types.d.ts.map
|
package/lib/types.js
ADDED
package/lib/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAYA,gEAAgE;AAChE,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function hash(...inputs: Uint8Array[]): Uint8Array;
|
|
2
|
+
/**
|
|
3
|
+
* Verify that the given ``leaf`` is on the merkle branch ``proof``
|
|
4
|
+
* starting with the given ``root``.
|
|
5
|
+
*/
|
|
6
|
+
export declare function verifyMerkleBranch(leaf: Uint8Array, proof: Uint8Array[], depth: number, index: number, root: Uint8Array): boolean;
|
|
7
|
+
//# sourceMappingURL=verifyMerkleBranch.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { digest, digest64 } from "@chainsafe/as-sha256";
|
|
2
|
+
export function hash(...inputs) {
|
|
3
|
+
return digest(Buffer.concat(inputs));
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Verify that the given ``leaf`` is on the merkle branch ``proof``
|
|
7
|
+
* starting with the given ``root``.
|
|
8
|
+
*/
|
|
9
|
+
export function verifyMerkleBranch(leaf, proof, depth, index, root) {
|
|
10
|
+
let value = leaf;
|
|
11
|
+
for (let i = 0; i < depth; i++) {
|
|
12
|
+
if (Math.floor(index / 2 ** i) % 2) {
|
|
13
|
+
value = digest64(Buffer.concat([proof[i], value]));
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
value = digest64(Buffer.concat([value, proof[i]]));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return Buffer.from(value).equals(root);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=verifyMerkleBranch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyMerkleBranch.js","sourceRoot":"","sources":["../src/verifyMerkleBranch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAEtD,MAAM,UAAU,IAAI,CAAC,GAAG,MAAoB;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAgB,EAChB,KAAmB,EACnB,KAAa,EACb,KAAa,EACb,IAAgB;IAEhB,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;YAClC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;SACpD;aAAM;YACL,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD;KACF;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import yaml from "js-yaml";
|
|
2
|
+
import { schema } from "./schema.js";
|
|
3
|
+
const { load, dump } = yaml;
|
|
4
|
+
export function loadYaml(yaml) {
|
|
5
|
+
return load(yaml, { schema });
|
|
6
|
+
}
|
|
7
|
+
export function dumpYaml(yaml) {
|
|
8
|
+
return dump(yaml, { schema });
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/yaml/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;AAE1B,MAAM,UAAU,QAAQ,CAA8B,IAAY;IAChE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAC,MAAM,EAAC,CAAM,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;AAC9B,CAAC"}
|
package/lib/yaml/int.js
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
// Forked from https://github.com/nodeca/js-yaml/blob/master/lib/js-yaml/type/int.js
|
|
2
|
+
// Currently only supports loading ints
|
|
3
|
+
import yaml from "js-yaml";
|
|
4
|
+
const { Type } = yaml;
|
|
5
|
+
function isHexCode(c) {
|
|
6
|
+
return (
|
|
7
|
+
// 0, 9
|
|
8
|
+
(0x30 <= c && c <= 0x39) ||
|
|
9
|
+
// A, F
|
|
10
|
+
(0x41 <= c && c <= 0x46) ||
|
|
11
|
+
// a, f
|
|
12
|
+
(0x61 <= c && c <= 0x66));
|
|
13
|
+
}
|
|
14
|
+
function isOctCode(c) {
|
|
15
|
+
return 0x30 /* 0 */ <= c && c <= 0x37 /* 7 */;
|
|
16
|
+
}
|
|
17
|
+
function isDecCode(c) {
|
|
18
|
+
return 0x30 /* 0 */ <= c && c <= 0x39 /* 9 */;
|
|
19
|
+
}
|
|
20
|
+
function resolveYamlInteger(data) {
|
|
21
|
+
if (data === null)
|
|
22
|
+
return false;
|
|
23
|
+
const max = data.length;
|
|
24
|
+
let ch, index = 0, hasDigits = false;
|
|
25
|
+
if (!max)
|
|
26
|
+
return false;
|
|
27
|
+
ch = data[index];
|
|
28
|
+
// sign
|
|
29
|
+
if (ch === "-" || ch === "+") {
|
|
30
|
+
ch = data[++index];
|
|
31
|
+
}
|
|
32
|
+
if (ch === "0") {
|
|
33
|
+
// 0
|
|
34
|
+
if (index + 1 === max)
|
|
35
|
+
return true;
|
|
36
|
+
ch = data[++index];
|
|
37
|
+
// base 2, base 8, base 16
|
|
38
|
+
if (ch === "b") {
|
|
39
|
+
// base 2
|
|
40
|
+
index++;
|
|
41
|
+
for (; index < max; index++) {
|
|
42
|
+
ch = data[index];
|
|
43
|
+
if (ch === "_")
|
|
44
|
+
continue;
|
|
45
|
+
if (ch !== "0" && ch !== "1")
|
|
46
|
+
return false;
|
|
47
|
+
hasDigits = true;
|
|
48
|
+
}
|
|
49
|
+
return hasDigits && ch !== "_";
|
|
50
|
+
}
|
|
51
|
+
if (ch === "x") {
|
|
52
|
+
// base 16
|
|
53
|
+
index++;
|
|
54
|
+
for (; index < max; index++) {
|
|
55
|
+
ch = data[index];
|
|
56
|
+
if (ch === "_")
|
|
57
|
+
continue;
|
|
58
|
+
if (!isHexCode(data.charCodeAt(index)))
|
|
59
|
+
return false;
|
|
60
|
+
hasDigits = true;
|
|
61
|
+
}
|
|
62
|
+
return hasDigits && ch !== "_";
|
|
63
|
+
}
|
|
64
|
+
// base 8
|
|
65
|
+
for (; index < max; index++) {
|
|
66
|
+
ch = data[index];
|
|
67
|
+
if (ch === "_")
|
|
68
|
+
continue;
|
|
69
|
+
if (!isOctCode(data.charCodeAt(index)))
|
|
70
|
+
return false;
|
|
71
|
+
hasDigits = true;
|
|
72
|
+
}
|
|
73
|
+
return hasDigits && ch !== "_";
|
|
74
|
+
}
|
|
75
|
+
// base 10 (except 0) or base 60
|
|
76
|
+
// value should not start with `_`;
|
|
77
|
+
if (ch === "_")
|
|
78
|
+
return false;
|
|
79
|
+
for (; index < max; index++) {
|
|
80
|
+
ch = data[index];
|
|
81
|
+
if (ch === "_")
|
|
82
|
+
continue;
|
|
83
|
+
if (ch === ":")
|
|
84
|
+
break;
|
|
85
|
+
if (!isDecCode(data.charCodeAt(index))) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
hasDigits = true;
|
|
89
|
+
}
|
|
90
|
+
// Should have digits and should not end with `_`
|
|
91
|
+
if (!hasDigits || ch === "_")
|
|
92
|
+
return false;
|
|
93
|
+
// if !base60 - done;
|
|
94
|
+
if (ch !== ":")
|
|
95
|
+
return true;
|
|
96
|
+
// base60 almost not used, no needs to optimize
|
|
97
|
+
return /^(:[0-5]?[0-9])+$/.test(data.slice(index));
|
|
98
|
+
}
|
|
99
|
+
function constructYamlInteger(data) {
|
|
100
|
+
let value = data, sign = 1, ch, base;
|
|
101
|
+
const digits = [];
|
|
102
|
+
if (value.indexOf("_") !== -1) {
|
|
103
|
+
value = value.replace(/_/g, "");
|
|
104
|
+
}
|
|
105
|
+
ch = value[0];
|
|
106
|
+
if (ch === "-" || ch === "+") {
|
|
107
|
+
if (ch === "-")
|
|
108
|
+
sign = -1;
|
|
109
|
+
value = value.slice(1);
|
|
110
|
+
ch = value[0];
|
|
111
|
+
}
|
|
112
|
+
if (value === "0")
|
|
113
|
+
return BigInt(0);
|
|
114
|
+
if (ch === "0") {
|
|
115
|
+
if (value[1] === "b" || value[1] === "x")
|
|
116
|
+
return BigInt(value) * BigInt(sign);
|
|
117
|
+
return BigInt("0o" + value) * BigInt(sign);
|
|
118
|
+
}
|
|
119
|
+
if (value.indexOf(":") !== -1) {
|
|
120
|
+
for (const v of value.split(":")) {
|
|
121
|
+
digits.unshift(parseInt(v, 10));
|
|
122
|
+
}
|
|
123
|
+
value = BigInt(0);
|
|
124
|
+
base = BigInt(1);
|
|
125
|
+
for (const d of digits) {
|
|
126
|
+
value = (BigInt(value) + BigInt(base)) * BigInt(d);
|
|
127
|
+
base = BigInt(base) * BigInt(60);
|
|
128
|
+
}
|
|
129
|
+
return value * BigInt(sign);
|
|
130
|
+
}
|
|
131
|
+
return BigInt(value) * BigInt(sign);
|
|
132
|
+
}
|
|
133
|
+
function isInteger(object) {
|
|
134
|
+
return typeof object === "bigint" || typeof object === "number";
|
|
135
|
+
}
|
|
136
|
+
export const intType = new Type("tag:yaml.org,2002:int", {
|
|
137
|
+
kind: "scalar",
|
|
138
|
+
resolve: resolveYamlInteger,
|
|
139
|
+
construct: constructYamlInteger,
|
|
140
|
+
predicate: isInteger,
|
|
141
|
+
instanceOf: BigInt,
|
|
142
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
143
|
+
// @ts-ignore
|
|
144
|
+
represent: {
|
|
145
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
146
|
+
// @ts-ignore
|
|
147
|
+
binary: function binary(obj) {
|
|
148
|
+
return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1);
|
|
149
|
+
},
|
|
150
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
151
|
+
// @ts-ignore
|
|
152
|
+
octal: function octal(obj) {
|
|
153
|
+
return obj >= 0 ? "0" + obj.toString(8) : "-0" + obj.toString(8).slice(1);
|
|
154
|
+
},
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
156
|
+
// @ts-ignore
|
|
157
|
+
decimal: function decimal(obj) {
|
|
158
|
+
return obj.toString(10);
|
|
159
|
+
},
|
|
160
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
161
|
+
// @ts-ignore
|
|
162
|
+
hexadecimal: function hexadecimal(obj) {
|
|
163
|
+
return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1);
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
defaultStyle: "decimal",
|
|
167
|
+
styleAliases: {
|
|
168
|
+
binary: [2, "bin"],
|
|
169
|
+
octal: [8, "oct"],
|
|
170
|
+
decimal: [10, "dec"],
|
|
171
|
+
hexadecimal: [16, "hex"],
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
//# sourceMappingURL=int.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"int.js","sourceRoot":"","sources":["../../src/yaml/int.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import yaml from "js-yaml";
|
|
2
|
+
const { Schema } = yaml;
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
import failsafe from "js-yaml/lib/js-yaml/schema/failsafe.js";
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
import nullType from "js-yaml/lib/js-yaml/type/null.js";
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
import boolType from "js-yaml/lib/js-yaml/type/bool.js";
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
import floatType from "js-yaml/lib/js-yaml/type/float.js";
|
|
15
|
+
import { intType } from "./int.js";
|
|
16
|
+
export const schema = new Schema({
|
|
17
|
+
include: [failsafe],
|
|
18
|
+
implicit: [nullType, boolType, intType, floatType],
|
|
19
|
+
explicit: [],
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/yaml/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;AACtB,6DAA6D;AAC7D,aAAa;AACb,OAAO,QAAQ,MAAM,wCAAwC,CAAC;AAC9D,6DAA6D;AAC7D,aAAa;AACb,OAAO,QAAQ,MAAM,kCAAkC,CAAC;AACxD,6DAA6D;AAC7D,aAAa;AACb,OAAO,QAAQ,MAAM,kCAAkC,CAAC;AACxD,6DAA6D;AAC7D,aAAa;AACb,OAAO,SAAS,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAEjC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;IAClD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lodestar/utils",
|
|
3
|
+
"description": "Utilities required across multiple lodestar packages",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"author": "ChainSafe Systems",
|
|
6
|
+
"homepage": "https://github.com/ChainSafe/lodestar#readme",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com:ChainSafe/lodestar.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
|
+
},
|
|
14
|
+
"version": "0.40.0-dev.57d13e1d9d",
|
|
15
|
+
"type": "module",
|
|
16
|
+
"exports": "./lib/index.js",
|
|
17
|
+
"files": [
|
|
18
|
+
"lib/**/*.d.ts",
|
|
19
|
+
"lib/**/*.js",
|
|
20
|
+
"lib/**/*.js.map",
|
|
21
|
+
"*.d.ts",
|
|
22
|
+
"*.js"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"clean": "rm -rf lib && rm -f *.tsbuildinfo",
|
|
26
|
+
"build": "tsc -p tsconfig.build.json",
|
|
27
|
+
"build:typedocs": "typedoc --exclude src/index.ts --out typedocs src",
|
|
28
|
+
"build:lib:watch": "yarn run build:lib --watch",
|
|
29
|
+
"build:release": "yarn clean && yarn build && yarn build:typedocs",
|
|
30
|
+
"build:types:watch": "yarn run build:types --watch",
|
|
31
|
+
"check-build": "node -e \"(async function() { await import('./lib/index.js') })()\"",
|
|
32
|
+
"check-types": "tsc",
|
|
33
|
+
"lint": "eslint --color --ext .ts src/ test/",
|
|
34
|
+
"lint:fix": "yarn run lint --fix",
|
|
35
|
+
"pretest": "yarn run check-types",
|
|
36
|
+
"test:unit": "mocha 'test/**/*.test.ts'",
|
|
37
|
+
"check-readme": "typescript-docs-verifier"
|
|
38
|
+
},
|
|
39
|
+
"types": "lib/index.d.ts",
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@chainsafe/as-sha256": "^0.3.1",
|
|
42
|
+
"any-signal": "2.1.2",
|
|
43
|
+
"bigint-buffer": "^1.1.5",
|
|
44
|
+
"case": "^1.6.3",
|
|
45
|
+
"chalk": "^4.1.2",
|
|
46
|
+
"js-yaml": "^3.13.1",
|
|
47
|
+
"winston": "^3.3.3",
|
|
48
|
+
"winston-daily-rotate-file": "^4.5.5",
|
|
49
|
+
"winston-transport": "^4.3.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/js-yaml": "^3.12.1",
|
|
53
|
+
"@types/triple-beam": "^1.3.2",
|
|
54
|
+
"triple-beam": "^1.3.0"
|
|
55
|
+
},
|
|
56
|
+
"keywords": [
|
|
57
|
+
"ethereum",
|
|
58
|
+
"eth-consensus",
|
|
59
|
+
"beacon",
|
|
60
|
+
"blockchain"
|
|
61
|
+
],
|
|
62
|
+
"gitHead": "082caba53d981447ffe64a4bfa83ad2d1ee617a4"
|
|
63
|
+
}
|