@coinbase/cdp-core 0.0.20 → 0.0.21

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.
Files changed (87) hide show
  1. package/README.md +75 -1
  2. package/dist/esm/index.js +29 -27
  3. package/dist/esm/index103.js +1 -1
  4. package/dist/esm/index15.js +8 -8
  5. package/dist/esm/index16.js +2 -2
  6. package/dist/esm/index17.js +39 -158
  7. package/dist/esm/index18.js +16 -47
  8. package/dist/esm/index19.js +4 -152
  9. package/dist/esm/index2.js +154 -87
  10. package/dist/esm/index20.js +5 -56
  11. package/dist/esm/index21.js +158 -39
  12. package/dist/esm/index22.js +47 -16
  13. package/dist/esm/index23.js +152 -4
  14. package/dist/esm/index24.js +56 -5
  15. package/dist/esm/index25.js +8 -12
  16. package/dist/esm/index26.js +17 -11
  17. package/dist/esm/index27.js +45 -8
  18. package/dist/esm/index28.js +13 -17
  19. package/dist/esm/index29.js +50 -40
  20. package/dist/esm/index3.js +4 -4
  21. package/dist/esm/index30.js +6 -13
  22. package/dist/esm/index31.js +20 -54
  23. package/dist/esm/index32.js +11 -6
  24. package/dist/esm/index33.js +3 -21
  25. package/dist/esm/index34.js +3 -3
  26. package/dist/esm/index35.js +34 -3
  27. package/dist/esm/index36.js +10 -32
  28. package/dist/esm/index37.js +4 -12
  29. package/dist/esm/index38.js +28 -4
  30. package/dist/esm/index39.js +6 -28
  31. package/dist/esm/index40.js +24 -6
  32. package/dist/esm/index41.js +16 -24
  33. package/dist/esm/index42.js +54 -16
  34. package/dist/esm/index43.js +22 -53
  35. package/dist/esm/index44.js +11 -23
  36. package/dist/esm/index45.js +26 -10
  37. package/dist/esm/index46.js +41 -26
  38. package/dist/esm/index47.js +54 -41
  39. package/dist/esm/index48.js +126 -54
  40. package/dist/esm/index49.js +11 -126
  41. package/dist/esm/index50.js +101 -9
  42. package/dist/esm/index51.js +6 -104
  43. package/dist/esm/index52.js +3 -7
  44. package/dist/esm/index53.js +15 -3
  45. package/dist/esm/index54.js +42 -14
  46. package/dist/esm/index55.js +74 -38
  47. package/dist/esm/index56.js +2 -79
  48. package/dist/esm/index57.js +2 -2
  49. package/dist/esm/index58.js +13 -2
  50. package/dist/esm/index59.js +2 -2
  51. package/dist/esm/index6.js +4 -4
  52. package/dist/esm/index60.js +1 -1
  53. package/dist/esm/index61.js +1 -1
  54. package/dist/esm/index62.js +2 -2
  55. package/dist/esm/index63.js +2 -2
  56. package/dist/esm/index64.js +1 -1
  57. package/dist/esm/index65.js +1 -1
  58. package/dist/esm/index66.js +3 -3
  59. package/dist/esm/index7.js +7 -6
  60. package/dist/esm/index70.js +1 -1
  61. package/dist/esm/index72.js +4 -4
  62. package/dist/esm/index73.js +2 -104
  63. package/dist/esm/index74.js +17 -75
  64. package/dist/esm/index75.js +20 -80
  65. package/dist/esm/index76.js +80 -2
  66. package/dist/esm/index77.js +100 -17
  67. package/dist/esm/index78.js +31 -18
  68. package/dist/esm/index79.js +6 -32
  69. package/dist/esm/index8.js +10 -8
  70. package/dist/esm/index80.js +54 -6
  71. package/dist/esm/index81.js +11 -10
  72. package/dist/esm/index82.js +2 -55
  73. package/dist/esm/index83.js +45 -11
  74. package/dist/esm/index84.js +14 -2
  75. package/dist/esm/index85.js +9 -44
  76. package/dist/esm/index86.js +78 -13
  77. package/dist/esm/index88.js +20 -12
  78. package/dist/esm/index89.js +9 -35
  79. package/dist/esm/index90.js +19 -41
  80. package/dist/esm/index91.js +93 -20
  81. package/dist/esm/index92.js +20 -9
  82. package/dist/esm/index93.js +114 -16
  83. package/dist/esm/index94.js +11 -92
  84. package/dist/esm/index95.js +35 -20
  85. package/dist/esm/index96.js +41 -117
  86. package/dist/types/index.d.ts +33 -0
  87. package/package.json +3 -3
@@ -1,45 +1,58 @@
1
- import { BaseError as l } from "./index48.js";
2
- import { createCursor as r } from "./index49.js";
3
- import { hexToBytes as g } from "./index31.js";
4
- import { bytesToHex as u } from "./index29.js";
5
- function m(n, e = "hex") {
6
- const i = s(n), h = r(new Uint8Array(i.length));
7
- return i.encode(h), e === "hex" ? u(h.bytes) : h.bytes;
8
- }
9
- function s(n) {
10
- return Array.isArray(n) ? p(n.map((e) => s(e))) : y(n);
11
- }
12
- function p(n) {
13
- const e = n.reduce((t, f) => t + f.length, 0), i = o(e);
14
- return {
15
- length: e <= 55 ? 1 + e : 1 + i + e,
16
- encode(t) {
17
- e <= 55 ? t.pushByte(192 + e) : (t.pushByte(247 + i), i === 1 ? t.pushUint8(e) : i === 2 ? t.pushUint16(e) : i === 3 ? t.pushUint24(e) : t.pushUint32(e));
18
- for (const { encode: f } of n)
19
- f(t);
20
- }
21
- };
22
- }
23
- function y(n) {
24
- const e = typeof n == "string" ? g(n) : n, i = o(e.length);
25
- return {
26
- length: e.length === 1 && e[0] < 128 ? 1 : e.length <= 55 ? 1 + e.length : 1 + i + e.length,
27
- encode(t) {
28
- e.length === 1 && e[0] < 128 ? t.pushBytes(e) : e.length <= 55 ? (t.pushByte(128 + e.length), t.pushBytes(e)) : (t.pushByte(183 + i), i === 1 ? t.pushUint8(e.length) : i === 2 ? t.pushUint16(e.length) : i === 3 ? t.pushUint24(e.length) : t.pushUint32(e.length), t.pushBytes(e));
29
- }
30
- };
1
+ import { version as o } from "./index73.js";
2
+ let r = {
3
+ getDocsUrl: ({ docsBaseUrl: s, docsPath: t = "", docsSlug: e }) => t ? `${s ?? "https://viem.sh"}${t}${e ? `#${e}` : ""}` : void 0,
4
+ version: `viem@${o}`
5
+ };
6
+ class u extends Error {
7
+ constructor(t, e = {}) {
8
+ const i = e.cause instanceof u ? e.cause.details : e.cause?.message ? e.cause.message : e.details, n = e.cause instanceof u && e.cause.docsPath || e.docsPath, a = r.getDocsUrl?.({ ...e, docsPath: n }), l = [
9
+ t || "An error occurred.",
10
+ "",
11
+ ...e.metaMessages ? [...e.metaMessages, ""] : [],
12
+ ...a ? [`Docs: ${a}`] : [],
13
+ ...i ? [`Details: ${i}`] : [],
14
+ ...r.version ? [`Version: ${r.version}`] : []
15
+ ].join(`
16
+ `);
17
+ super(l, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
18
+ enumerable: !0,
19
+ configurable: !0,
20
+ writable: !0,
21
+ value: void 0
22
+ }), Object.defineProperty(this, "docsPath", {
23
+ enumerable: !0,
24
+ configurable: !0,
25
+ writable: !0,
26
+ value: void 0
27
+ }), Object.defineProperty(this, "metaMessages", {
28
+ enumerable: !0,
29
+ configurable: !0,
30
+ writable: !0,
31
+ value: void 0
32
+ }), Object.defineProperty(this, "shortMessage", {
33
+ enumerable: !0,
34
+ configurable: !0,
35
+ writable: !0,
36
+ value: void 0
37
+ }), Object.defineProperty(this, "version", {
38
+ enumerable: !0,
39
+ configurable: !0,
40
+ writable: !0,
41
+ value: void 0
42
+ }), Object.defineProperty(this, "name", {
43
+ enumerable: !0,
44
+ configurable: !0,
45
+ writable: !0,
46
+ value: "BaseError"
47
+ }), this.details = i, this.docsPath = n, this.metaMessages = e.metaMessages, this.name = e.name ?? this.name, this.shortMessage = t, this.version = o;
48
+ }
49
+ walk(t) {
50
+ return c(this, t);
51
+ }
31
52
  }
32
- function o(n) {
33
- if (n < 2 ** 8)
34
- return 1;
35
- if (n < 2 ** 16)
36
- return 2;
37
- if (n < 2 ** 24)
38
- return 3;
39
- if (n < 2 ** 32)
40
- return 4;
41
- throw new l("Length is too large.");
53
+ function c(s, t) {
54
+ return t?.(s) ? s : s && typeof s == "object" && "cause" in s && s.cause !== void 0 ? c(s.cause, t) : t ? null : s;
42
55
  }
43
56
  export {
44
- m as toRlp
57
+ u as BaseError
45
58
  };
@@ -1,58 +1,130 @@
1
- import { version as o } from "./index76.js";
2
- let r = {
3
- getDocsUrl: ({ docsBaseUrl: s, docsPath: t = "", docsSlug: e }) => t ? `${s ?? "https://viem.sh"}${t}${e ? `#${e}` : ""}` : void 0,
4
- version: `viem@${o}`
5
- };
6
- class u extends Error {
7
- constructor(t, e = {}) {
8
- const i = e.cause instanceof u ? e.cause.details : e.cause?.message ? e.cause.message : e.details, n = e.cause instanceof u && e.cause.docsPath || e.docsPath, a = r.getDocsUrl?.({ ...e, docsPath: n }), l = [
9
- t || "An error occurred.",
10
- "",
11
- ...e.metaMessages ? [...e.metaMessages, ""] : [],
12
- ...a ? [`Docs: ${a}`] : [],
13
- ...i ? [`Details: ${i}`] : [],
14
- ...r.version ? [`Version: ${r.version}`] : []
15
- ].join(`
16
- `);
17
- super(l, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
18
- enumerable: !0,
19
- configurable: !0,
20
- writable: !0,
21
- value: void 0
22
- }), Object.defineProperty(this, "docsPath", {
23
- enumerable: !0,
24
- configurable: !0,
25
- writable: !0,
26
- value: void 0
27
- }), Object.defineProperty(this, "metaMessages", {
28
- enumerable: !0,
29
- configurable: !0,
30
- writable: !0,
31
- value: void 0
32
- }), Object.defineProperty(this, "shortMessage", {
33
- enumerable: !0,
34
- configurable: !0,
35
- writable: !0,
36
- value: void 0
37
- }), Object.defineProperty(this, "version", {
38
- enumerable: !0,
39
- configurable: !0,
40
- writable: !0,
41
- value: void 0
42
- }), Object.defineProperty(this, "name", {
43
- enumerable: !0,
44
- configurable: !0,
45
- writable: !0,
46
- value: "BaseError"
47
- }), this.details = i, this.docsPath = n, this.metaMessages = e.metaMessages, this.name = e.name ?? this.name, this.shortMessage = t, this.version = o;
48
- }
49
- walk(t) {
50
- return c(this, t);
1
+ import { NegativeOffsetError as o, PositionOutOfBoundsError as e, RecursiveReadLimitExceededError as n } from "./index74.js";
2
+ const h = {
3
+ bytes: new Uint8Array(),
4
+ dataView: new DataView(new ArrayBuffer(0)),
5
+ position: 0,
6
+ positionReadCount: /* @__PURE__ */ new Map(),
7
+ recursiveReadCount: 0,
8
+ recursiveReadLimit: Number.POSITIVE_INFINITY,
9
+ assertReadLimit() {
10
+ if (this.recursiveReadCount >= this.recursiveReadLimit)
11
+ throw new n({
12
+ count: this.recursiveReadCount + 1,
13
+ limit: this.recursiveReadLimit
14
+ });
15
+ },
16
+ assertPosition(t) {
17
+ if (t < 0 || t > this.bytes.length - 1)
18
+ throw new e({
19
+ length: this.bytes.length,
20
+ position: t
21
+ });
22
+ },
23
+ decrementPosition(t) {
24
+ if (t < 0)
25
+ throw new o({ offset: t });
26
+ const i = this.position - t;
27
+ this.assertPosition(i), this.position = i;
28
+ },
29
+ getReadCount(t) {
30
+ return this.positionReadCount.get(t || this.position) || 0;
31
+ },
32
+ incrementPosition(t) {
33
+ if (t < 0)
34
+ throw new o({ offset: t });
35
+ const i = this.position + t;
36
+ this.assertPosition(i), this.position = i;
37
+ },
38
+ inspectByte(t) {
39
+ const i = t ?? this.position;
40
+ return this.assertPosition(i), this.bytes[i];
41
+ },
42
+ inspectBytes(t, i) {
43
+ const s = i ?? this.position;
44
+ return this.assertPosition(s + t - 1), this.bytes.subarray(s, s + t);
45
+ },
46
+ inspectUint8(t) {
47
+ const i = t ?? this.position;
48
+ return this.assertPosition(i), this.bytes[i];
49
+ },
50
+ inspectUint16(t) {
51
+ const i = t ?? this.position;
52
+ return this.assertPosition(i + 1), this.dataView.getUint16(i);
53
+ },
54
+ inspectUint24(t) {
55
+ const i = t ?? this.position;
56
+ return this.assertPosition(i + 2), (this.dataView.getUint16(i) << 8) + this.dataView.getUint8(i + 2);
57
+ },
58
+ inspectUint32(t) {
59
+ const i = t ?? this.position;
60
+ return this.assertPosition(i + 3), this.dataView.getUint32(i);
61
+ },
62
+ pushByte(t) {
63
+ this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
64
+ },
65
+ pushBytes(t) {
66
+ this.assertPosition(this.position + t.length - 1), this.bytes.set(t, this.position), this.position += t.length;
67
+ },
68
+ pushUint8(t) {
69
+ this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
70
+ },
71
+ pushUint16(t) {
72
+ this.assertPosition(this.position + 1), this.dataView.setUint16(this.position, t), this.position += 2;
73
+ },
74
+ pushUint24(t) {
75
+ this.assertPosition(this.position + 2), this.dataView.setUint16(this.position, t >> 8), this.dataView.setUint8(this.position + 2, t & 255), this.position += 3;
76
+ },
77
+ pushUint32(t) {
78
+ this.assertPosition(this.position + 3), this.dataView.setUint32(this.position, t), this.position += 4;
79
+ },
80
+ readByte() {
81
+ this.assertReadLimit(), this._touch();
82
+ const t = this.inspectByte();
83
+ return this.position++, t;
84
+ },
85
+ readBytes(t, i) {
86
+ this.assertReadLimit(), this._touch();
87
+ const s = this.inspectBytes(t);
88
+ return this.position += i ?? t, s;
89
+ },
90
+ readUint8() {
91
+ this.assertReadLimit(), this._touch();
92
+ const t = this.inspectUint8();
93
+ return this.position += 1, t;
94
+ },
95
+ readUint16() {
96
+ this.assertReadLimit(), this._touch();
97
+ const t = this.inspectUint16();
98
+ return this.position += 2, t;
99
+ },
100
+ readUint24() {
101
+ this.assertReadLimit(), this._touch();
102
+ const t = this.inspectUint24();
103
+ return this.position += 3, t;
104
+ },
105
+ readUint32() {
106
+ this.assertReadLimit(), this._touch();
107
+ const t = this.inspectUint32();
108
+ return this.position += 4, t;
109
+ },
110
+ get remaining() {
111
+ return this.bytes.length - this.position;
112
+ },
113
+ setPosition(t) {
114
+ const i = this.position;
115
+ return this.assertPosition(t), this.position = t, () => this.position = i;
116
+ },
117
+ _touch() {
118
+ if (this.recursiveReadLimit === Number.POSITIVE_INFINITY)
119
+ return;
120
+ const t = this.getReadCount();
121
+ this.positionReadCount.set(this.position, t + 1), t > 0 && this.recursiveReadCount++;
51
122
  }
52
- }
53
- function c(s, t) {
54
- return t?.(s) ? s : s && typeof s == "object" && "cause" in s && s.cause !== void 0 ? c(s.cause, t) : t ? null : s;
123
+ };
124
+ function a(t, { recursiveReadLimit: i = 8192 } = {}) {
125
+ const s = Object.create(h);
126
+ return s.bytes = t, s.dataView = new DataView(t.buffer, t.byteOffset, t.byteLength), s.positionReadCount = /* @__PURE__ */ new Map(), s.recursiveReadLimit = i, s;
55
127
  }
56
128
  export {
57
- u as BaseError
129
+ a as createCursor
58
130
  };
@@ -1,130 +1,15 @@
1
- import { NegativeOffsetError as o, PositionOutOfBoundsError as e, RecursiveReadLimitExceededError as n } from "./index77.js";
2
- const h = {
3
- bytes: new Uint8Array(),
4
- dataView: new DataView(new ArrayBuffer(0)),
5
- position: 0,
6
- positionReadCount: /* @__PURE__ */ new Map(),
7
- recursiveReadCount: 0,
8
- recursiveReadLimit: Number.POSITIVE_INFINITY,
9
- assertReadLimit() {
10
- if (this.recursiveReadCount >= this.recursiveReadLimit)
11
- throw new n({
12
- count: this.recursiveReadCount + 1,
13
- limit: this.recursiveReadLimit
14
- });
15
- },
16
- assertPosition(t) {
17
- if (t < 0 || t > this.bytes.length - 1)
18
- throw new e({
19
- length: this.bytes.length,
20
- position: t
21
- });
22
- },
23
- decrementPosition(t) {
24
- if (t < 0)
25
- throw new o({ offset: t });
26
- const i = this.position - t;
27
- this.assertPosition(i), this.position = i;
28
- },
29
- getReadCount(t) {
30
- return this.positionReadCount.get(t || this.position) || 0;
31
- },
32
- incrementPosition(t) {
33
- if (t < 0)
34
- throw new o({ offset: t });
35
- const i = this.position + t;
36
- this.assertPosition(i), this.position = i;
37
- },
38
- inspectByte(t) {
39
- const i = t ?? this.position;
40
- return this.assertPosition(i), this.bytes[i];
41
- },
42
- inspectBytes(t, i) {
43
- const s = i ?? this.position;
44
- return this.assertPosition(s + t - 1), this.bytes.subarray(s, s + t);
45
- },
46
- inspectUint8(t) {
47
- const i = t ?? this.position;
48
- return this.assertPosition(i), this.bytes[i];
49
- },
50
- inspectUint16(t) {
51
- const i = t ?? this.position;
52
- return this.assertPosition(i + 1), this.dataView.getUint16(i);
53
- },
54
- inspectUint24(t) {
55
- const i = t ?? this.position;
56
- return this.assertPosition(i + 2), (this.dataView.getUint16(i) << 8) + this.dataView.getUint8(i + 2);
57
- },
58
- inspectUint32(t) {
59
- const i = t ?? this.position;
60
- return this.assertPosition(i + 3), this.dataView.getUint32(i);
61
- },
62
- pushByte(t) {
63
- this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
64
- },
65
- pushBytes(t) {
66
- this.assertPosition(this.position + t.length - 1), this.bytes.set(t, this.position), this.position += t.length;
67
- },
68
- pushUint8(t) {
69
- this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
70
- },
71
- pushUint16(t) {
72
- this.assertPosition(this.position + 1), this.dataView.setUint16(this.position, t), this.position += 2;
73
- },
74
- pushUint24(t) {
75
- this.assertPosition(this.position + 2), this.dataView.setUint16(this.position, t >> 8), this.dataView.setUint8(this.position + 2, t & 255), this.position += 3;
76
- },
77
- pushUint32(t) {
78
- this.assertPosition(this.position + 3), this.dataView.setUint32(this.position, t), this.position += 4;
79
- },
80
- readByte() {
81
- this.assertReadLimit(), this._touch();
82
- const t = this.inspectByte();
83
- return this.position++, t;
84
- },
85
- readBytes(t, i) {
86
- this.assertReadLimit(), this._touch();
87
- const s = this.inspectBytes(t);
88
- return this.position += i ?? t, s;
89
- },
90
- readUint8() {
91
- this.assertReadLimit(), this._touch();
92
- const t = this.inspectUint8();
93
- return this.position += 1, t;
94
- },
95
- readUint16() {
96
- this.assertReadLimit(), this._touch();
97
- const t = this.inspectUint16();
98
- return this.position += 2, t;
99
- },
100
- readUint24() {
101
- this.assertReadLimit(), this._touch();
102
- const t = this.inspectUint24();
103
- return this.position += 3, t;
104
- },
105
- readUint32() {
106
- this.assertReadLimit(), this._touch();
107
- const t = this.inspectUint32();
108
- return this.position += 4, t;
109
- },
110
- get remaining() {
111
- return this.bytes.length - this.position;
112
- },
113
- setPosition(t) {
114
- const i = this.position;
115
- return this.assertPosition(t), this.position = t, () => this.position = i;
116
- },
117
- _touch() {
118
- if (this.recursiveReadLimit === Number.POSITIVE_INFINITY)
119
- return;
120
- const t = this.getReadCount();
121
- this.positionReadCount.set(this.position, t + 1), t > 0 && this.recursiveReadCount++;
1
+ import { BaseError as t } from "./index47.js";
2
+ class $ extends t {
3
+ constructor({ max: e, min: r, signed: s, size: n, value: a }) {
4
+ super(`Number "${a}" is not in safe ${n ? `${n * 8}-bit ${s ? "signed" : "unsigned"} ` : ""}integer range ${e ? `(${r} to ${e})` : `(above ${r})`}`, { name: "IntegerOutOfRangeError" });
5
+ }
6
+ }
7
+ class c extends t {
8
+ constructor({ givenSize: e, maxSize: r }) {
9
+ super(`Size cannot exceed ${r} bytes. Given size: ${e} bytes.`, { name: "SizeOverflowError" });
122
10
  }
123
- };
124
- function a(t, { recursiveReadLimit: i = 8192 } = {}) {
125
- const s = Object.create(h);
126
- return s.bytes = t, s.dataView = new DataView(t.buffer, t.byteOffset, t.byteLength), s.positionReadCount = /* @__PURE__ */ new Map(), s.recursiveReadLimit = i, s;
127
11
  }
128
12
  export {
129
- a as createCursor
13
+ $ as IntegerOutOfRangeError,
14
+ c as SizeOverflowError
130
15
  };
@@ -1,15 +1,107 @@
1
- import { BaseError as t } from "./index48.js";
2
- class $ extends t {
3
- constructor({ max: e, min: r, signed: s, size: n, value: a }) {
4
- super(`Number "${a}" is not in safe ${n ? `${n * 8}-bit ${s ? "signed" : "unsigned"} ` : ""}integer range ${e ? `(${r} to ${e})` : `(above ${r})`}`, { name: "IntegerOutOfRangeError" });
1
+ import { split as L, rotlSH as T, rotlSL as S, rotlBH as m, rotlBL as F } from "./index75.js";
2
+ import { createHasher as X, Hash as E, anumber as d, u32 as U, swap32IfBE as I, aexists as x, toBytes as P, abytes as k, aoutput as M, clean as y } from "./index76.js";
3
+ const R = BigInt(0), f = BigInt(1), j = BigInt(2), q = BigInt(7), v = BigInt(256), z = BigInt(113), _ = [], g = [], B = [];
4
+ for (let n = 0, t = f, s = 1, i = 0; n < 24; n++) {
5
+ [s, i] = [i, (2 * s + 3 * i) % 5], _.push(2 * (5 * i + s)), g.push((n + 1) * (n + 2) / 2 % 64);
6
+ let o = R;
7
+ for (let r = 0; r < 7; r++)
8
+ t = (t << f ^ (t >> q) * z) % v, t & j && (o ^= f << (f << /* @__PURE__ */ BigInt(r)) - f);
9
+ B.push(o);
10
+ }
11
+ const A = L(B, !0), C = A[0], D = A[1], O = (n, t, s) => s > 32 ? m(n, t, s) : T(n, t, s), w = (n, t, s) => s > 32 ? F(n, t, s) : S(n, t, s);
12
+ function G(n, t = 24) {
13
+ const s = new Uint32Array(10);
14
+ for (let i = 24 - t; i < 24; i++) {
15
+ for (let e = 0; e < 10; e++)
16
+ s[e] = n[e] ^ n[e + 10] ^ n[e + 20] ^ n[e + 30] ^ n[e + 40];
17
+ for (let e = 0; e < 10; e += 2) {
18
+ const h = (e + 8) % 10, l = (e + 2) % 10, u = s[l], c = s[l + 1], b = O(u, c, 1) ^ s[h], H = w(u, c, 1) ^ s[h + 1];
19
+ for (let a = 0; a < 50; a += 10)
20
+ n[e + a] ^= b, n[e + a + 1] ^= H;
21
+ }
22
+ let o = n[2], r = n[3];
23
+ for (let e = 0; e < 24; e++) {
24
+ const h = g[e], l = O(o, r, h), u = w(o, r, h), c = _[e];
25
+ o = n[c], r = n[c + 1], n[c] = l, n[c + 1] = u;
26
+ }
27
+ for (let e = 0; e < 50; e += 10) {
28
+ for (let h = 0; h < 10; h++)
29
+ s[h] = n[e + h];
30
+ for (let h = 0; h < 10; h++)
31
+ n[e + h] ^= ~s[(h + 2) % 10] & s[(h + 4) % 10];
32
+ }
33
+ n[0] ^= C[i], n[1] ^= D[i];
5
34
  }
35
+ y(s);
6
36
  }
7
- class c extends t {
8
- constructor({ givenSize: e, maxSize: r }) {
9
- super(`Size cannot exceed ${r} bytes. Given size: ${e} bytes.`, { name: "SizeOverflowError" });
37
+ class p extends E {
38
+ // NOTE: we accept arguments in bytes instead of bits here.
39
+ constructor(t, s, i, o = !1, r = 24) {
40
+ if (super(), this.pos = 0, this.posOut = 0, this.finished = !1, this.destroyed = !1, this.enableXOF = !1, this.blockLen = t, this.suffix = s, this.outputLen = i, this.enableXOF = o, this.rounds = r, d(i), !(0 < t && t < 200))
41
+ throw new Error("only keccak-f1600 function is supported");
42
+ this.state = new Uint8Array(200), this.state32 = U(this.state);
43
+ }
44
+ clone() {
45
+ return this._cloneInto();
46
+ }
47
+ keccak() {
48
+ I(this.state32), G(this.state32, this.rounds), I(this.state32), this.posOut = 0, this.pos = 0;
49
+ }
50
+ update(t) {
51
+ x(this), t = P(t), k(t);
52
+ const { blockLen: s, state: i } = this, o = t.length;
53
+ for (let r = 0; r < o; ) {
54
+ const e = Math.min(s - this.pos, o - r);
55
+ for (let h = 0; h < e; h++)
56
+ i[this.pos++] ^= t[r++];
57
+ this.pos === s && this.keccak();
58
+ }
59
+ return this;
60
+ }
61
+ finish() {
62
+ if (this.finished)
63
+ return;
64
+ this.finished = !0;
65
+ const { state: t, suffix: s, pos: i, blockLen: o } = this;
66
+ t[i] ^= s, (s & 128) !== 0 && i === o - 1 && this.keccak(), t[o - 1] ^= 128, this.keccak();
67
+ }
68
+ writeInto(t) {
69
+ x(this, !1), k(t), this.finish();
70
+ const s = this.state, { blockLen: i } = this;
71
+ for (let o = 0, r = t.length; o < r; ) {
72
+ this.posOut >= i && this.keccak();
73
+ const e = Math.min(i - this.posOut, r - o);
74
+ t.set(s.subarray(this.posOut, this.posOut + e), o), this.posOut += e, o += e;
75
+ }
76
+ return t;
77
+ }
78
+ xofInto(t) {
79
+ if (!this.enableXOF)
80
+ throw new Error("XOF is not possible for this instance");
81
+ return this.writeInto(t);
82
+ }
83
+ xof(t) {
84
+ return d(t), this.xofInto(new Uint8Array(t));
85
+ }
86
+ digestInto(t) {
87
+ if (M(t, this), this.finished)
88
+ throw new Error("digest() was already called");
89
+ return this.writeInto(t), this.destroy(), t;
90
+ }
91
+ digest() {
92
+ return this.digestInto(new Uint8Array(this.outputLen));
93
+ }
94
+ destroy() {
95
+ this.destroyed = !0, y(this.state);
96
+ }
97
+ _cloneInto(t) {
98
+ const { blockLen: s, suffix: i, outputLen: o, rounds: r, enableXOF: e } = this;
99
+ return t || (t = new p(s, i, o, e, r)), t.state32.set(this.state32), t.pos = this.pos, t.posOut = this.posOut, t.finished = this.finished, t.rounds = r, t.suffix = i, t.outputLen = o, t.enableXOF = e, t.destroyed = this.destroyed, t;
10
100
  }
11
101
  }
102
+ const J = (n, t, s) => X(() => new p(t, n, s)), Q = J(1, 136, 256 / 8);
12
103
  export {
13
- $ as IntegerOutOfRangeError,
14
- c as SizeOverflowError
104
+ p as Keccak,
105
+ G as keccakP,
106
+ Q as keccak_256
15
107
  };
@@ -1,107 +1,9 @@
1
- import { split as L, rotlSH as T, rotlSL as S, rotlBH as m, rotlBL as F } from "./index78.js";
2
- import { createHasher as X, Hash as E, anumber as d, u32 as U, swap32IfBE as I, aexists as x, toBytes as P, abytes as k, aoutput as M, clean as y } from "./index75.js";
3
- const R = BigInt(0), f = BigInt(1), j = BigInt(2), q = BigInt(7), v = BigInt(256), z = BigInt(113), _ = [], g = [], B = [];
4
- for (let n = 0, t = f, s = 1, i = 0; n < 24; n++) {
5
- [s, i] = [i, (2 * s + 3 * i) % 5], _.push(2 * (5 * i + s)), g.push((n + 1) * (n + 2) / 2 % 64);
6
- let o = R;
7
- for (let r = 0; r < 7; r++)
8
- t = (t << f ^ (t >> q) * z) % v, t & j && (o ^= f << (f << /* @__PURE__ */ BigInt(r)) - f);
9
- B.push(o);
1
+ import { sha256 as o } from "./index52.js";
2
+ import { isHex as s } from "./index34.js";
3
+ import { toBytes as r } from "./index29.js";
4
+ function p(t, i) {
5
+ return o(s(t, { strict: !1 }) ? r(t) : t);
10
6
  }
11
- const A = L(B, !0), C = A[0], D = A[1], O = (n, t, s) => s > 32 ? m(n, t, s) : T(n, t, s), w = (n, t, s) => s > 32 ? F(n, t, s) : S(n, t, s);
12
- function G(n, t = 24) {
13
- const s = new Uint32Array(10);
14
- for (let i = 24 - t; i < 24; i++) {
15
- for (let e = 0; e < 10; e++)
16
- s[e] = n[e] ^ n[e + 10] ^ n[e + 20] ^ n[e + 30] ^ n[e + 40];
17
- for (let e = 0; e < 10; e += 2) {
18
- const h = (e + 8) % 10, l = (e + 2) % 10, u = s[l], c = s[l + 1], b = O(u, c, 1) ^ s[h], H = w(u, c, 1) ^ s[h + 1];
19
- for (let a = 0; a < 50; a += 10)
20
- n[e + a] ^= b, n[e + a + 1] ^= H;
21
- }
22
- let o = n[2], r = n[3];
23
- for (let e = 0; e < 24; e++) {
24
- const h = g[e], l = O(o, r, h), u = w(o, r, h), c = _[e];
25
- o = n[c], r = n[c + 1], n[c] = l, n[c + 1] = u;
26
- }
27
- for (let e = 0; e < 50; e += 10) {
28
- for (let h = 0; h < 10; h++)
29
- s[h] = n[e + h];
30
- for (let h = 0; h < 10; h++)
31
- n[e + h] ^= ~s[(h + 2) % 10] & s[(h + 4) % 10];
32
- }
33
- n[0] ^= C[i], n[1] ^= D[i];
34
- }
35
- y(s);
36
- }
37
- class p extends E {
38
- // NOTE: we accept arguments in bytes instead of bits here.
39
- constructor(t, s, i, o = !1, r = 24) {
40
- if (super(), this.pos = 0, this.posOut = 0, this.finished = !1, this.destroyed = !1, this.enableXOF = !1, this.blockLen = t, this.suffix = s, this.outputLen = i, this.enableXOF = o, this.rounds = r, d(i), !(0 < t && t < 200))
41
- throw new Error("only keccak-f1600 function is supported");
42
- this.state = new Uint8Array(200), this.state32 = U(this.state);
43
- }
44
- clone() {
45
- return this._cloneInto();
46
- }
47
- keccak() {
48
- I(this.state32), G(this.state32, this.rounds), I(this.state32), this.posOut = 0, this.pos = 0;
49
- }
50
- update(t) {
51
- x(this), t = P(t), k(t);
52
- const { blockLen: s, state: i } = this, o = t.length;
53
- for (let r = 0; r < o; ) {
54
- const e = Math.min(s - this.pos, o - r);
55
- for (let h = 0; h < e; h++)
56
- i[this.pos++] ^= t[r++];
57
- this.pos === s && this.keccak();
58
- }
59
- return this;
60
- }
61
- finish() {
62
- if (this.finished)
63
- return;
64
- this.finished = !0;
65
- const { state: t, suffix: s, pos: i, blockLen: o } = this;
66
- t[i] ^= s, (s & 128) !== 0 && i === o - 1 && this.keccak(), t[o - 1] ^= 128, this.keccak();
67
- }
68
- writeInto(t) {
69
- x(this, !1), k(t), this.finish();
70
- const s = this.state, { blockLen: i } = this;
71
- for (let o = 0, r = t.length; o < r; ) {
72
- this.posOut >= i && this.keccak();
73
- const e = Math.min(i - this.posOut, r - o);
74
- t.set(s.subarray(this.posOut, this.posOut + e), o), this.posOut += e, o += e;
75
- }
76
- return t;
77
- }
78
- xofInto(t) {
79
- if (!this.enableXOF)
80
- throw new Error("XOF is not possible for this instance");
81
- return this.writeInto(t);
82
- }
83
- xof(t) {
84
- return d(t), this.xofInto(new Uint8Array(t));
85
- }
86
- digestInto(t) {
87
- if (M(t, this), this.finished)
88
- throw new Error("digest() was already called");
89
- return this.writeInto(t), this.destroy(), t;
90
- }
91
- digest() {
92
- return this.digestInto(new Uint8Array(this.outputLen));
93
- }
94
- destroy() {
95
- this.destroyed = !0, y(this.state);
96
- }
97
- _cloneInto(t) {
98
- const { blockLen: s, suffix: i, outputLen: o, rounds: r, enableXOF: e } = this;
99
- return t || (t = new p(s, i, o, e, r)), t.state32.set(this.state32), t.pos = this.pos, t.posOut = this.posOut, t.finished = this.finished, t.rounds = r, t.suffix = i, t.outputLen = o, t.enableXOF = e, t.destroyed = this.destroyed, t;
100
- }
101
- }
102
- const J = (n, t, s) => X(() => new p(t, n, s)), Q = J(1, 136, 256 / 8);
103
7
  export {
104
- p as Keccak,
105
- G as keccakP,
106
- Q as keccak_256
8
+ p as sha256
107
9
  };