@lodestar/utils 1.22.0-dev.9c62011986 → 1.22.0-dev.9fe72391be

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/assert.d.ts CHANGED
@@ -10,6 +10,13 @@ export declare const assert: {
10
10
  * ```
11
11
  */
12
12
  equal<T>(actual: T, expected: T, message?: string): void;
13
+ /**
14
+ * Assert not null
15
+ * ```
16
+ * actual !== null
17
+ * ```
18
+ */
19
+ notNull<T_1>(actual: T_1 | null, message?: string): asserts actual is T_1;
13
20
  /**
14
21
  * Assert less than or equal
15
22
  * ```js
package/lib/assert.js CHANGED
@@ -19,6 +19,17 @@ export const assert = {
19
19
  throw new AssertionError(`${message || "Expected values to be equal"}: ${actual} === ${expected}`);
20
20
  }
21
21
  },
22
+ /**
23
+ * Assert not null
24
+ * ```
25
+ * actual !== null
26
+ * ```
27
+ */
28
+ notNull(actual, message) {
29
+ if (!(actual !== null)) {
30
+ throw new AssertionError(`${message || "Expected value to be not null"}`);
31
+ }
32
+ },
22
33
  /**
23
34
  * Assert less than or equal
24
35
  * ```js
package/lib/assert.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;;OAEG;IACH,IAAI,CAAC,SAAkB,EAAE,OAAgB;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,cAAc,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAI,MAAS,EAAE,QAAW,EAAE,OAAgB;QAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC3B,4EAA4E;YAC5E,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,6BAA6B,KAAK,MAAM,QAAQ,QAAQ,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;QAC/C,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,0BAA0B,KAAK,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;QAC9C,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,yBAAyB,KAAK,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;QAC/C,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,0BAA0B,KAAK,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;QAC9C,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,yBAAyB,KAAK,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;;AAChC,mBAAI,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;;OAEG;IACH,IAAI,CAAC,SAAkB,EAAE,OAAgB;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,cAAc,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAI,MAAS,EAAE,QAAW,EAAE,OAAgB;QAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC3B,4EAA4E;YAC5E,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,6BAA6B,KAAK,MAAM,QAAQ,QAAQ,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAI,MAAgB,EAAE,OAAgB;QAC3C,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,+BAA+B,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;QAC/C,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,0BAA0B,KAAK,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;QAC9C,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,yBAAyB,KAAK,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;QAC/C,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,0BAA0B,KAAK,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;QAC9C,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,yBAAyB,KAAK,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;;AAChC,mBAAI,GAAG,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare function toHex(bytes: Uint8Array): string;
2
+ /**
3
+ * Convert a Uint8Array, length 32, to 0x-prefixed hex string
4
+ */
5
+ export declare function toRootHex(root: Uint8Array): string;
6
+ /**
7
+ * Convert a Uint8Array, length 48, to 0x-prefixed hex string
8
+ */
9
+ export declare function toPubkeyHex(pubkey: Uint8Array): string;
10
+ export declare function fromHex(hex: string): Uint8Array;
11
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1,73 @@
1
+ // "0".charCodeAt(0) = 48
2
+ const CHAR_CODE_0 = 48;
3
+ // "x".charCodeAt(0) = 120
4
+ const CHAR_CODE_X = 120;
5
+ export function toHex(bytes) {
6
+ const charCodes = new Array(bytes.length * 2 + 2);
7
+ charCodes[0] = CHAR_CODE_0;
8
+ charCodes[1] = CHAR_CODE_X;
9
+ bytesIntoCharCodes(bytes, charCodes);
10
+ return String.fromCharCode(...charCodes);
11
+ }
12
+ const rootCharCodes = new Array(32 * 2 + 2);
13
+ rootCharCodes[0] = CHAR_CODE_0;
14
+ rootCharCodes[1] = CHAR_CODE_X;
15
+ /**
16
+ * Convert a Uint8Array, length 32, to 0x-prefixed hex string
17
+ */
18
+ export function toRootHex(root) {
19
+ if (root.length !== 32) {
20
+ throw Error(`Expect root to be 32 bytes, got ${root.length}`);
21
+ }
22
+ bytesIntoCharCodes(root, rootCharCodes);
23
+ return String.fromCharCode(...rootCharCodes);
24
+ }
25
+ const pubkeyCharCodes = new Array(48 * 2 + 2);
26
+ pubkeyCharCodes[0] = CHAR_CODE_0;
27
+ pubkeyCharCodes[1] = CHAR_CODE_X;
28
+ /**
29
+ * Convert a Uint8Array, length 48, to 0x-prefixed hex string
30
+ */
31
+ export function toPubkeyHex(pubkey) {
32
+ if (pubkey.length !== CHAR_CODE_0) {
33
+ throw Error(`Expect pubkey to be 48 bytes, got ${pubkey.length}`);
34
+ }
35
+ bytesIntoCharCodes(pubkey, pubkeyCharCodes);
36
+ return String.fromCharCode(...pubkeyCharCodes);
37
+ }
38
+ export function fromHex(hex) {
39
+ if (typeof hex !== "string") {
40
+ throw new Error(`hex argument type ${typeof hex} must be of type string`);
41
+ }
42
+ if (hex.startsWith("0x")) {
43
+ hex = hex.slice(2);
44
+ }
45
+ if (hex.length % 2 !== 0) {
46
+ throw new Error(`hex string length ${hex.length} must be multiple of 2`);
47
+ }
48
+ const byteLen = hex.length / 2;
49
+ const bytes = new Uint8Array(byteLen);
50
+ for (let i = 0; i < byteLen; i++) {
51
+ const byte = parseInt(hex.slice(i * 2, (i + 1) * 2), 16);
52
+ bytes[i] = byte;
53
+ }
54
+ return bytes;
55
+ }
56
+ /**
57
+ * Populate charCodes from bytes. Note that charCodes index 0 and 1 ("0x") are not populated.
58
+ */
59
+ function bytesIntoCharCodes(bytes, charCodes) {
60
+ if (bytes.length * 2 + 2 !== charCodes.length) {
61
+ throw Error(`Expect charCodes to be of length ${bytes.length * 2 + 2}, got ${charCodes.length}`);
62
+ }
63
+ for (let i = 0; i < bytes.length; i++) {
64
+ const byte = bytes[i];
65
+ const first = (byte & 0xf0) >> 4;
66
+ const second = byte & 0x0f;
67
+ // "0".charCodeAt(0) = 48
68
+ // "a".charCodeAt(0) = 97 => delta = 87
69
+ charCodes[2 + 2 * i] = first < 10 ? first + 48 : first + 87;
70
+ charCodes[2 + 2 * i + 1] = second < 10 ? second + 48 : second + 87;
71
+ }
72
+ }
73
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/bytes/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { toHex as browserToHex, toRootHex as browserToRootHex, fromHex as browserFromHex, toPubkeyHex as browserToPubkeyHex } from "./browser.js";
2
+ declare let toHex: typeof browserToHex;
3
+ declare let toRootHex: typeof browserToRootHex;
4
+ declare let toPubkeyHex: typeof browserToPubkeyHex;
5
+ declare let fromHex: typeof browserFromHex;
6
+ export { toHex, toRootHex, toPubkeyHex, fromHex };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,14 @@
1
+ import { toHex as browserToHex, toRootHex as browserToRootHex, fromHex as browserFromHex, toPubkeyHex as browserToPubkeyHex, } from "./browser.js";
2
+ import { toHex as nodeToHex, toRootHex as nodeToRootHex, fromHex as nodeFromHex, toPubkeyHex as nodeToPubkeyHex, } from "./nodejs.js";
3
+ let toHex = browserToHex;
4
+ let toRootHex = browserToRootHex;
5
+ let toPubkeyHex = browserToPubkeyHex;
6
+ let fromHex = browserFromHex;
7
+ if (typeof Buffer !== "undefined") {
8
+ toHex = nodeToHex;
9
+ toRootHex = nodeToRootHex;
10
+ toPubkeyHex = nodeToPubkeyHex;
11
+ fromHex = nodeFromHex;
12
+ }
13
+ export { toHex, toRootHex, toPubkeyHex, fromHex };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bytes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,YAAY,EACrB,SAAS,IAAI,gBAAgB,EAC7B,OAAO,IAAI,cAAc,EACzB,WAAW,IAAI,kBAAkB,GAClC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,IAAI,SAAS,EAClB,SAAS,IAAI,aAAa,EAC1B,OAAO,IAAI,WAAW,EACtB,WAAW,IAAI,eAAe,GAC/B,MAAM,aAAa,CAAC;AAErB,IAAI,KAAK,GAAG,YAAY,CAAC;AACzB,IAAI,SAAS,GAAG,gBAAgB,CAAC;AACjC,IAAI,WAAW,GAAG,kBAAkB,CAAC;AACrC,IAAI,OAAO,GAAG,cAAc,CAAC;AAE7B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,KAAK,GAAG,SAAS,CAAC;IAClB,SAAS,GAAG,aAAa,CAAC;IAC1B,WAAW,GAAG,eAAe,CAAC;IAC9B,OAAO,GAAG,WAAW,CAAC;AACxB,CAAC;AAED,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare function toHex(buffer: Uint8Array | Parameters<typeof Buffer.from>[0]): string;
2
+ /**
3
+ * Convert a Uint8Array, length 32, to 0x-prefixed hex string
4
+ */
5
+ export declare function toRootHex(root: Uint8Array): string;
6
+ export declare function toPubkeyHex(pubkey: Uint8Array): string;
7
+ export declare function fromHex(hex: string): Uint8Array;
8
+ //# sourceMappingURL=nodejs.d.ts.map
@@ -0,0 +1,52 @@
1
+ export function toHex(buffer) {
2
+ if (Buffer.isBuffer(buffer)) {
3
+ return "0x" + buffer.toString("hex");
4
+ }
5
+ else if (buffer instanceof Uint8Array) {
6
+ return "0x" + Buffer.from(buffer.buffer, buffer.byteOffset, buffer.length).toString("hex");
7
+ }
8
+ else {
9
+ return "0x" + Buffer.from(buffer).toString("hex");
10
+ }
11
+ }
12
+ // Shared buffer to convert root to hex
13
+ let rootBuf;
14
+ /**
15
+ * Convert a Uint8Array, length 32, to 0x-prefixed hex string
16
+ */
17
+ export function toRootHex(root) {
18
+ if (root.length !== 32) {
19
+ throw Error(`Expect root to be 32 bytes, got ${root.length}`);
20
+ }
21
+ if (rootBuf === undefined) {
22
+ rootBuf = Buffer.alloc(32);
23
+ }
24
+ rootBuf.set(root);
25
+ return `0x${rootBuf.toString("hex")}`;
26
+ }
27
+ // Shared buffer to convert pubkey to hex
28
+ let pubkeyBuf;
29
+ export function toPubkeyHex(pubkey) {
30
+ if (pubkey.length !== 48) {
31
+ throw Error(`Expect pubkey to be 48 bytes, got ${pubkey.length}`);
32
+ }
33
+ if (pubkeyBuf === undefined) {
34
+ pubkeyBuf = Buffer.alloc(48);
35
+ }
36
+ pubkeyBuf.set(pubkey);
37
+ return `0x${pubkeyBuf.toString("hex")}`;
38
+ }
39
+ export function fromHex(hex) {
40
+ if (typeof hex !== "string") {
41
+ throw new Error(`hex argument type ${typeof hex} must be of type string`);
42
+ }
43
+ if (hex.startsWith("0x")) {
44
+ hex = hex.slice(2);
45
+ }
46
+ if (hex.length % 2 !== 0) {
47
+ throw new Error(`hex string length ${hex.length} must be multiple of 2`);
48
+ }
49
+ const b = Buffer.from(hex, "hex");
50
+ return new Uint8Array(b.buffer, b.byteOffset, b.length);
51
+ }
52
+ //# sourceMappingURL=nodejs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/bytes/nodejs.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAC,MAAsD;IAC1E,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QACxC,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,IAAI,OAA2B,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC,mCAAmC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,yCAAyC;AACzC,IAAI,SAA6B,CAAC;AAElC,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC,qCAAqC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,KAAK,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,GAAG,yBAAyB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC"}
package/lib/bytes.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  type Endianness = "le" | "be";
3
+ /**
4
+ * @deprecated Use toHex() instead.
5
+ */
3
6
  export declare function toHexString(bytes: Uint8Array): string;
4
7
  /**
5
8
  * Return a byte array from a number or BigInt
@@ -11,7 +14,6 @@ export declare function intToBytes(value: bigint | number, length: number, endia
11
14
  export declare function bytesToInt(value: Uint8Array, endianness?: Endianness): number;
12
15
  export declare function bigIntToBytes(value: bigint, length: number, endianness?: Endianness): Buffer;
13
16
  export declare function bytesToBigInt(value: Uint8Array, endianness?: Endianness): bigint;
14
- export declare function toHex(buffer: Uint8Array | Parameters<typeof Buffer.from>[0]): string;
15
- export declare function fromHex(hex: string): Uint8Array;
17
+ export declare function formatBytes(bytes: number): string;
16
18
  export {};
17
19
  //# sourceMappingURL=bytes.d.ts.map
package/lib/bytes.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { toBufferLE, toBigIntLE, toBufferBE, toBigIntBE } from "bigint-buffer";
2
2
  const hexByByte = [];
3
+ /**
4
+ * @deprecated Use toHex() instead.
5
+ */
3
6
  export function toHexString(bytes) {
4
7
  let hex = "0x";
5
8
  for (const byte of bytes) {
@@ -40,19 +43,19 @@ export function bytesToBigInt(value, endianness = "le") {
40
43
  }
41
44
  throw new Error("endianness must be either 'le' or 'be'");
42
45
  }
43
- export function toHex(buffer) {
44
- if (Buffer.isBuffer(buffer)) {
45
- return "0x" + buffer.toString("hex");
46
- }
47
- else if (buffer instanceof Uint8Array) {
48
- return "0x" + Buffer.from(buffer.buffer, buffer.byteOffset, buffer.length).toString("hex");
49
- }
50
- else {
51
- return "0x" + Buffer.from(buffer).toString("hex");
52
- }
53
- }
54
- export function fromHex(hex) {
55
- const b = Buffer.from(hex.replace("0x", ""), "hex");
56
- return new Uint8Array(b.buffer, b.byteOffset, b.length);
46
+ export function formatBytes(bytes) {
47
+ if (bytes < 0) {
48
+ throw new Error("bytes must be a positive number, got " + bytes);
49
+ }
50
+ if (bytes === 0) {
51
+ return "0 Bytes";
52
+ }
53
+ // size of a kb
54
+ const k = 1024;
55
+ // only support up to GB
56
+ const units = ["Bytes", "KB", "MB", "GB"];
57
+ const i = Math.min(Math.floor(Math.log(bytes) / Math.log(k)), units.length - 1);
58
+ const formattedSize = (bytes / Math.pow(k, i)).toFixed(2);
59
+ return `${formattedSize} ${units[i]}`;
57
60
  }
58
61
  //# sourceMappingURL=bytes.js.map
package/lib/bytes.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../src/bytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAI7E,MAAM,SAAS,GAAa,EAAE,CAAC;AAC/B,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB,EAAE,MAAc,EAAE,aAAyB,IAAI;IAC9F,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAiB,EAAE,aAAyB,IAAI;IACzE,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,aAAyB,IAAI;IACxF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,aAAyB,IAAI;IAC5E,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC,KAAe,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC,KAAe,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,MAAsD;IAC1E,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QACxC,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../src/bytes.ts"],"names":[],"mappings":"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"}
package/lib/diff.d.ts ADDED
@@ -0,0 +1,64 @@
1
+ export type BufferType = Uint8Array | Uint32Array;
2
+ export type PrimitiveType = number | string | bigint | boolean | BufferType;
3
+ export type DiffableCollection = Record<string | number, PrimitiveType>;
4
+ export type Diffable = PrimitiveType | Array<PrimitiveType> | DiffableCollection;
5
+ export interface Diff {
6
+ objectPath: string;
7
+ errorMessage?: string;
8
+ val1: Diffable;
9
+ val2: Diffable;
10
+ }
11
+ export declare function diffUint8Array(val1: Uint8Array, val2: PrimitiveType, objectPath: string): Diff[];
12
+ export declare function diffUint32Array(val1: Uint32Array, val2: PrimitiveType, objectPath: string): Diff[];
13
+ export declare function getDiffs(val1: Diffable, val2: Diffable, objectPath: string): Diff[];
14
+ /**
15
+ * Find the different values on complex, nested objects. Outputs the path through the object to
16
+ * each value that does not match from val1 and val2. Optionally can output the values that differ.
17
+ *
18
+ * For objects that differ greatly, can write to a file instead of the terminal for analysis
19
+ *
20
+ * ## Example
21
+ * ```ts
22
+ * const obj1 = {
23
+ * key1: {
24
+ * key2: [
25
+ * { key3: 1 },
26
+ * { key3: new Uint8Array([1, 2, 3]) }
27
+ * ]
28
+ * },
29
+ * key4: new Uint32Array([1, 2, 3]),
30
+ * key5: 362436
31
+ * };
32
+ *
33
+ * const obj2 = {
34
+ * key1: {
35
+ * key2: [
36
+ * { key3: 1 },
37
+ * { key3: new Uint8Array([1, 2, 4]) }
38
+ * ]
39
+ * },
40
+ * key4: new Uint32Array([1, 2, 4])
41
+ * key5: true
42
+ * };
43
+ *
44
+ * diffObjects(obj1, obj2, true);
45
+ *
46
+ *
47
+ * ```
48
+ *
49
+ * ## Output
50
+ * ```sh
51
+ * val.key1.key2[1].key3
52
+ * - 0x010203
53
+ * - 0x010204
54
+ * val.key4[2]
55
+ * - 0x00000003
56
+ * - 0x00000004
57
+ * val.key5
58
+ * val1.key5 is not the same type as val2.key5
59
+ * - 362436
60
+ * - true
61
+ * ```
62
+ */
63
+ export declare function diff(val1: unknown, val2: unknown, outputValues?: boolean, filename?: string): void;
64
+ //# sourceMappingURL=diff.d.ts.map
package/lib/diff.js ADDED
@@ -0,0 +1,214 @@
1
+ /* eslint-disable no-console */
2
+ import fs from "node:fs";
3
+ const primitiveTypeof = ["number", "string", "bigint", "boolean"];
4
+ export function diffUint8Array(val1, val2, objectPath) {
5
+ if (!(val2 instanceof Uint8Array)) {
6
+ return [
7
+ {
8
+ objectPath,
9
+ errorMessage: `val1${objectPath} is a Uint8Array, but val2${objectPath} is not`,
10
+ val1,
11
+ val2,
12
+ },
13
+ ];
14
+ }
15
+ const hex1 = Buffer.from(val1).toString("hex");
16
+ const hex2 = Buffer.from(val2).toString("hex");
17
+ if (hex1 !== hex2) {
18
+ return [
19
+ {
20
+ objectPath,
21
+ val1: `0x${hex1}`,
22
+ val2: `0x${hex2}`,
23
+ },
24
+ ];
25
+ }
26
+ return [];
27
+ }
28
+ export function diffUint32Array(val1, val2, objectPath) {
29
+ if (!(val2 instanceof Uint32Array)) {
30
+ return [
31
+ {
32
+ objectPath,
33
+ errorMessage: `val1${objectPath} is a Uint32Array, but val2${objectPath} is not`,
34
+ val1,
35
+ val2,
36
+ },
37
+ ];
38
+ }
39
+ const diffs = [];
40
+ val1.forEach((value, index) => {
41
+ const value2 = val2[index];
42
+ if (value !== value2) {
43
+ diffs.push({
44
+ objectPath: `${objectPath}[${index}]`,
45
+ val1: `0x${value.toString(16).padStart(8, "0")}`,
46
+ val2: value2 ? `0x${val2[index].toString(16).padStart(8, "0")}` : "undefined",
47
+ });
48
+ }
49
+ });
50
+ return diffs;
51
+ }
52
+ function diffPrimitiveValue(val1, val2, objectPath) {
53
+ if (val1 instanceof Uint8Array) {
54
+ return diffUint8Array(val1, val2, objectPath);
55
+ }
56
+ if (val1 instanceof Uint32Array) {
57
+ return diffUint32Array(val1, val2, objectPath);
58
+ }
59
+ const diff = { objectPath, val1, val2 };
60
+ const type1 = typeof val1;
61
+ if (!primitiveTypeof.includes(type1)) {
62
+ diff.errorMessage = `val1${objectPath} is not a supported type`;
63
+ }
64
+ const type2 = typeof val2;
65
+ if (!primitiveTypeof.includes(type2)) {
66
+ diff.errorMessage = `val2${objectPath} is not a supported type`;
67
+ }
68
+ if (type1 !== type2) {
69
+ diff.errorMessage = `val1${objectPath} is not the same type as val2${objectPath}`;
70
+ }
71
+ if (val1 !== val2) {
72
+ return [diff];
73
+ }
74
+ return [];
75
+ }
76
+ function isPrimitiveValue(val) {
77
+ if (Array.isArray(val))
78
+ return false;
79
+ if (typeof val === "object") {
80
+ return val instanceof Uint8Array || val instanceof Uint32Array;
81
+ }
82
+ return true;
83
+ }
84
+ function isDiffable(val) {
85
+ return !(typeof val === "function" || typeof val === "symbol" || typeof val === "undefined" || val === null);
86
+ }
87
+ export function getDiffs(val1, val2, objectPath) {
88
+ if (isPrimitiveValue(val1)) {
89
+ if (!isPrimitiveValue(val2)) {
90
+ return [
91
+ {
92
+ objectPath,
93
+ errorMessage: `val1${objectPath} is a primitive value and val2${objectPath} is not`,
94
+ val1,
95
+ val2,
96
+ },
97
+ ];
98
+ }
99
+ return diffPrimitiveValue(val1, val2, objectPath);
100
+ }
101
+ const isArray = Array.isArray(val1);
102
+ let errorMessage;
103
+ if (isArray && !Array.isArray(val2)) {
104
+ errorMessage = `val1${objectPath} is an array and val2${objectPath} is not`;
105
+ }
106
+ else if (typeof val1 === "object" && typeof val2 !== "object") {
107
+ errorMessage = `val1${objectPath} is a nested object and val2${objectPath} is not`;
108
+ }
109
+ if (errorMessage) {
110
+ return [
111
+ {
112
+ objectPath,
113
+ errorMessage,
114
+ val1,
115
+ val2,
116
+ },
117
+ ];
118
+ }
119
+ const diffs = [];
120
+ for (const [index, value] of Object.entries(val1)) {
121
+ if (!isDiffable(value)) {
122
+ diffs.push({ objectPath, val1, val2, errorMessage: `val1${objectPath} is not Diffable` });
123
+ continue;
124
+ }
125
+ const value2 = val2[index];
126
+ if (!isDiffable(value2)) {
127
+ diffs.push({ objectPath, val1, val2, errorMessage: `val2${objectPath} is not Diffable` });
128
+ continue;
129
+ }
130
+ const innerPath = isArray ? `${objectPath}[${index}]` : `${objectPath}.${index}`;
131
+ diffs.push(...getDiffs(value, value2, innerPath));
132
+ }
133
+ return diffs;
134
+ }
135
+ /**
136
+ * Find the different values on complex, nested objects. Outputs the path through the object to
137
+ * each value that does not match from val1 and val2. Optionally can output the values that differ.
138
+ *
139
+ * For objects that differ greatly, can write to a file instead of the terminal for analysis
140
+ *
141
+ * ## Example
142
+ * ```ts
143
+ * const obj1 = {
144
+ * key1: {
145
+ * key2: [
146
+ * { key3: 1 },
147
+ * { key3: new Uint8Array([1, 2, 3]) }
148
+ * ]
149
+ * },
150
+ * key4: new Uint32Array([1, 2, 3]),
151
+ * key5: 362436
152
+ * };
153
+ *
154
+ * const obj2 = {
155
+ * key1: {
156
+ * key2: [
157
+ * { key3: 1 },
158
+ * { key3: new Uint8Array([1, 2, 4]) }
159
+ * ]
160
+ * },
161
+ * key4: new Uint32Array([1, 2, 4])
162
+ * key5: true
163
+ * };
164
+ *
165
+ * diffObjects(obj1, obj2, true);
166
+ *
167
+ *
168
+ * ```
169
+ *
170
+ * ## Output
171
+ * ```sh
172
+ * val.key1.key2[1].key3
173
+ * - 0x010203
174
+ * - 0x010204
175
+ * val.key4[2]
176
+ * - 0x00000003
177
+ * - 0x00000004
178
+ * val.key5
179
+ * val1.key5 is not the same type as val2.key5
180
+ * - 362436
181
+ * - true
182
+ * ```
183
+ */
184
+ export function diff(val1, val2, outputValues = false, filename) {
185
+ if (!isDiffable(val1)) {
186
+ console.log("val1 is not Diffable");
187
+ return;
188
+ }
189
+ if (!isDiffable(val2)) {
190
+ console.log("val2 is not Diffable");
191
+ return;
192
+ }
193
+ const diffs = getDiffs(val1, val2, "");
194
+ let output = "";
195
+ if (diffs.length) {
196
+ diffs.forEach((diff) => {
197
+ let diffOutput = `value${diff.objectPath}`;
198
+ if (diff.errorMessage) {
199
+ diffOutput += `\n ${diff.errorMessage}`;
200
+ }
201
+ if (outputValues) {
202
+ diffOutput += `\n - ${diff.val1.toString()}\n - ${diff.val2.toString()}\n`;
203
+ }
204
+ output += `${diffOutput}\n`;
205
+ });
206
+ if (filename) {
207
+ fs.writeFileSync(filename, output);
208
+ }
209
+ else {
210
+ console.log(output);
211
+ }
212
+ }
213
+ }
214
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
package/lib/format.js CHANGED
@@ -1,11 +1,11 @@
1
- import { toHexString } from "./bytes.js";
1
+ import { toRootHex } from "./bytes/index.js";
2
2
  import { ETH_TO_WEI } from "./ethConversion.js";
3
3
  /**
4
4
  * Format bytes as `0x1234…1234`
5
5
  * 4 bytes can represent 4294967296 values, so the chance of collision is low
6
6
  */
7
7
  export function prettyBytes(root) {
8
- const str = typeof root === "string" ? root : toHexString(root);
8
+ const str = typeof root === "string" ? root : toRootHex(root);
9
9
  return `${str.slice(0, 6)}…${str.slice(-4)}`;
10
10
  }
11
11
  /**
@@ -13,7 +13,7 @@ export function prettyBytes(root) {
13
13
  * Paired with block numbers or slots, it can still act as a decent identify-able format
14
14
  */
15
15
  export function prettyBytesShort(root) {
16
- const str = typeof root === "string" ? root : toHexString(root);
16
+ const str = typeof root === "string" ? root : toRootHex(root);
17
17
  return `${str.slice(0, 6)}…`;
18
18
  }
19
19
  /**
@@ -22,7 +22,7 @@ export function prettyBytesShort(root) {
22
22
  * values on explorers like beaconcha.in while improving readability of logs
23
23
  */
24
24
  export function truncBytes(root) {
25
- const str = typeof root === "string" ? root : toHexString(root);
25
+ const str = typeof root === "string" ? root : toRootHex(root);
26
26
  return str.slice(0, 14);
27
27
  }
28
28
  /**
package/lib/format.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAyB;IACnD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACxD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAyB;IAClD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,WAAmB,EAAE,gBAAwB;IAC/F,MAAM,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAC;IAErF,wGAAwG;IACxG,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACvF,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED,gCAAgC;AAChC,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;AAClG,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAyB;IACnD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACxD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAyB;IAClD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,WAAmB,EAAE,gBAAwB;IAC/F,MAAM,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAC;IAErF,wGAAwG;IACxG,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACvF,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED,gCAAgC;AAChC,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;AAClG,CAAC"}
package/lib/index.d.ts CHANGED
@@ -2,7 +2,9 @@ export * from "./yaml/index.js";
2
2
  export * from "./assert.js";
3
3
  export * from "./base64.js";
4
4
  export * from "./bytes.js";
5
+ export * from "./bytes/index.js";
5
6
  export * from "./command.js";
7
+ export * from "./diff.js";
6
8
  export * from "./err.js";
7
9
  export * from "./errors.js";
8
10
  export * from "./format.js";
package/lib/index.js CHANGED
@@ -2,7 +2,9 @@ export * from "./yaml/index.js";
2
2
  export * from "./assert.js";
3
3
  export * from "./base64.js";
4
4
  export * from "./bytes.js";
5
+ export * from "./bytes/index.js";
5
6
  export * from "./command.js";
7
+ export * from "./diff.js";
6
8
  export * from "./err.js";
7
9
  export * from "./errors.js";
8
10
  export * from "./format.js";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAoB,MAAM,YAAY,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAwB,OAAO,EAAyB,MAAM,YAAY,CAAC;AAClF,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAoB,MAAM,YAAY,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAwB,OAAO,EAAyB,MAAM,YAAY,CAAC;AAClF,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.22.0-dev.9c62011986",
14
+ "version": "1.22.0-dev.9fe72391be",
15
15
  "type": "module",
16
16
  "exports": "./lib/index.js",
17
17
  "files": [
@@ -56,5 +56,5 @@
56
56
  "beacon",
57
57
  "blockchain"
58
58
  ],
59
- "gitHead": "e443c735fc64e3ae382331c938c87b597f43f69c"
59
+ "gitHead": "99a30609c603db071850e1925b3fcdf786d16e7e"
60
60
  }