@coinbase/cdp-core 0.0.0 → 0.0.5

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 (106) hide show
  1. package/README.md +255 -0
  2. package/dist/esm/index.js +21 -0
  3. package/dist/esm/index10.js +119 -0
  4. package/dist/esm/index100.js +19 -0
  5. package/dist/esm/index101.js +83 -0
  6. package/dist/esm/index102.js +81 -0
  7. package/dist/esm/index11.js +8 -0
  8. package/dist/esm/index12.js +18 -0
  9. package/dist/esm/index13.js +174 -0
  10. package/dist/esm/index14.js +162 -0
  11. package/dist/esm/index15.js +50 -0
  12. package/dist/esm/index16.js +149 -0
  13. package/dist/esm/index17.js +58 -0
  14. package/dist/esm/index18.js +43 -0
  15. package/dist/esm/index19.js +19 -0
  16. package/dist/esm/index2.js +172 -0
  17. package/dist/esm/index20.js +7 -0
  18. package/dist/esm/index21.js +7 -0
  19. package/dist/esm/index22.js +11 -0
  20. package/dist/esm/index23.js +20 -0
  21. package/dist/esm/index24.js +48 -0
  22. package/dist/esm/index25.js +16 -0
  23. package/dist/esm/index26.js +58 -0
  24. package/dist/esm/index27.js +9 -0
  25. package/dist/esm/index28.js +24 -0
  26. package/dist/esm/index29.js +14 -0
  27. package/dist/esm/index3.js +109 -0
  28. package/dist/esm/index30.js +6 -0
  29. package/dist/esm/index31.js +6 -0
  30. package/dist/esm/index32.js +37 -0
  31. package/dist/esm/index33.js +15 -0
  32. package/dist/esm/index34.js +7 -0
  33. package/dist/esm/index35.js +31 -0
  34. package/dist/esm/index36.js +9 -0
  35. package/dist/esm/index37.js +27 -0
  36. package/dist/esm/index38.js +19 -0
  37. package/dist/esm/index39.js +57 -0
  38. package/dist/esm/index4.js +126 -0
  39. package/dist/esm/index40.js +26 -0
  40. package/dist/esm/index41.js +14 -0
  41. package/dist/esm/index42.js +30 -0
  42. package/dist/esm/index43.js +45 -0
  43. package/dist/esm/index44.js +58 -0
  44. package/dist/esm/index45.js +130 -0
  45. package/dist/esm/index46.js +15 -0
  46. package/dist/esm/index47.js +107 -0
  47. package/dist/esm/index48.js +9 -0
  48. package/dist/esm/index49.js +5 -0
  49. package/dist/esm/index5.js +194 -0
  50. package/dist/esm/index50.js +17 -0
  51. package/dist/esm/index51.js +45 -0
  52. package/dist/esm/index52.js +81 -0
  53. package/dist/esm/index53.js +4 -0
  54. package/dist/esm/index54.js +4 -0
  55. package/dist/esm/index55.js +15 -0
  56. package/dist/esm/index56.js +40 -0
  57. package/dist/esm/index57.js +9 -0
  58. package/dist/esm/index58.js +37 -0
  59. package/dist/esm/index59.js +11 -0
  60. package/dist/esm/index6.js +14 -0
  61. package/dist/esm/index60.js +13 -0
  62. package/dist/esm/index61.js +14 -0
  63. package/dist/esm/index62.js +16 -0
  64. package/dist/esm/index63.js +21 -0
  65. package/dist/esm/index64.js +8 -0
  66. package/dist/esm/index65.js +7 -0
  67. package/dist/esm/index66.js +13 -0
  68. package/dist/esm/index67.js +19 -0
  69. package/dist/esm/index68.js +25 -0
  70. package/dist/esm/index69.js +53 -0
  71. package/dist/esm/index7.js +14 -0
  72. package/dist/esm/index70.js +4 -0
  73. package/dist/esm/index71.js +23 -0
  74. package/dist/esm/index72.js +22 -0
  75. package/dist/esm/index73.js +82 -0
  76. package/dist/esm/index74.js +106 -0
  77. package/dist/esm/index75.js +35 -0
  78. package/dist/esm/index76.js +9 -0
  79. package/dist/esm/index77.js +12 -0
  80. package/dist/esm/index78.js +57 -0
  81. package/dist/esm/index79.js +13 -0
  82. package/dist/esm/index8.js +23 -0
  83. package/dist/esm/index80.js +4 -0
  84. package/dist/esm/index81.js +47 -0
  85. package/dist/esm/index82.js +16 -0
  86. package/dist/esm/index83.js +81 -0
  87. package/dist/esm/index84.js +7 -0
  88. package/dist/esm/index85.js +15 -0
  89. package/dist/esm/index86.js +38 -0
  90. package/dist/esm/index87.js +44 -0
  91. package/dist/esm/index88.js +23 -0
  92. package/dist/esm/index89.js +12 -0
  93. package/dist/esm/index9.js +17 -0
  94. package/dist/esm/index90.js +22 -0
  95. package/dist/esm/index91.js +96 -0
  96. package/dist/esm/index92.js +23 -0
  97. package/dist/esm/index93.js +120 -0
  98. package/dist/esm/index94.js +20 -0
  99. package/dist/esm/index95.js +30 -0
  100. package/dist/esm/index96.js +10 -0
  101. package/dist/esm/index97.js +13 -0
  102. package/dist/esm/index98.js +15 -0
  103. package/dist/esm/index99.js +12 -0
  104. package/dist/types/index.d.ts +287 -0
  105. package/package.json +69 -6
  106. package/index.js +0 -1
@@ -0,0 +1,57 @@
1
+ import { hexToNumber as i } from "./index40.js";
2
+ import { defineFormatter as r } from "./index38.js";
3
+ const u = {
4
+ "0x0": "legacy",
5
+ "0x1": "eip2930",
6
+ "0x2": "eip1559",
7
+ "0x3": "eip4844",
8
+ "0x4": "eip7702"
9
+ };
10
+ function l(e) {
11
+ const d = {
12
+ ...e,
13
+ blockHash: e.blockHash ? e.blockHash : null,
14
+ blockNumber: e.blockNumber ? BigInt(e.blockNumber) : null,
15
+ chainId: e.chainId ? i(e.chainId) : void 0,
16
+ gas: e.gas ? BigInt(e.gas) : void 0,
17
+ gasPrice: e.gasPrice ? BigInt(e.gasPrice) : void 0,
18
+ maxFeePerBlobGas: e.maxFeePerBlobGas ? BigInt(e.maxFeePerBlobGas) : void 0,
19
+ maxFeePerGas: e.maxFeePerGas ? BigInt(e.maxFeePerGas) : void 0,
20
+ maxPriorityFeePerGas: e.maxPriorityFeePerGas ? BigInt(e.maxPriorityFeePerGas) : void 0,
21
+ nonce: e.nonce ? i(e.nonce) : void 0,
22
+ to: e.to ? e.to : null,
23
+ transactionIndex: e.transactionIndex ? Number(e.transactionIndex) : null,
24
+ type: e.type ? u[e.type] : void 0,
25
+ typeHex: e.type ? e.type : void 0,
26
+ value: e.value ? BigInt(e.value) : void 0,
27
+ v: e.v ? BigInt(e.v) : void 0
28
+ };
29
+ return e.authorizationList && (d.authorizationList = m(e.authorizationList)), d.yParity = (() => {
30
+ if (e.yParity)
31
+ return Number(e.yParity);
32
+ if (typeof d.v == "bigint") {
33
+ if (d.v === 0n || d.v === 27n)
34
+ return 0;
35
+ if (d.v === 1n || d.v === 28n)
36
+ return 1;
37
+ if (d.v >= 35n)
38
+ return d.v % 2n === 0n ? 1 : 0;
39
+ }
40
+ })(), d.type === "legacy" && (delete d.accessList, delete d.maxFeePerBlobGas, delete d.maxFeePerGas, delete d.maxPriorityFeePerGas, delete d.yParity), d.type === "eip2930" && (delete d.maxFeePerBlobGas, delete d.maxFeePerGas, delete d.maxPriorityFeePerGas), d.type === "eip1559" && delete d.maxFeePerBlobGas, d;
41
+ }
42
+ const P = /* @__PURE__ */ r("transaction", l);
43
+ function m(e) {
44
+ return e.map((d) => ({
45
+ address: d.address,
46
+ chainId: Number(d.chainId),
47
+ nonce: Number(d.nonce),
48
+ r: d.r,
49
+ s: d.s,
50
+ yParity: Number(d.yParity)
51
+ }));
52
+ }
53
+ export {
54
+ P as defineTransaction,
55
+ l as formatTransaction,
56
+ u as transactionType
57
+ };
@@ -0,0 +1,126 @@
1
+ import { getCurrentUser as u } from "./index2.js";
2
+ import "./index3.js";
3
+ const n = {
4
+ rpc: {
5
+ invalidInput: -32e3,
6
+ resourceNotFound: -32001,
7
+ resourceUnavailable: -32002,
8
+ transactionRejected: -32003,
9
+ methodNotSupported: -32004,
10
+ limitExceeded: -32005,
11
+ parse: -32700,
12
+ invalidRequest: -32600,
13
+ methodNotFound: -32601,
14
+ invalidParams: -32602,
15
+ internal: -32603
16
+ },
17
+ provider: {
18
+ userRejectedRequest: 4001,
19
+ unauthorized: 4100,
20
+ unsupportedMethod: 4200,
21
+ disconnected: 4900,
22
+ chainDisconnected: 4901,
23
+ unsupportedChain: 4902
24
+ }
25
+ };
26
+ class o extends Error {
27
+ /**
28
+ * The error code from EIP1193ErrorCode enum.
29
+ */
30
+ code;
31
+ /**
32
+ * Creates a new EIP-1193 Provider error.
33
+ *
34
+ * @param code - The error code from EIP1193ErrorCode enum.
35
+ * @param message - The error message.
36
+ */
37
+ constructor(t, r) {
38
+ super(r), this.code = t;
39
+ }
40
+ }
41
+ class a extends Error {
42
+ /**
43
+ * The error code from RPCErrorCode type.
44
+ */
45
+ code;
46
+ /**
47
+ * Creates a new RPC Invalid Params error.
48
+ *
49
+ * @param code - The error code from RPCErrorCode type.
50
+ * @param message - The error message.
51
+ */
52
+ constructor(t, r) {
53
+ super(r), this.code = t;
54
+ }
55
+ }
56
+ const h = /* @__PURE__ */ new Set([
57
+ "eth_accounts",
58
+ "eth_requestAccounts",
59
+ "personal_sign",
60
+ "eth_sendTransaction",
61
+ "eth_signTypedData_v4",
62
+ "eth_chainId",
63
+ "eth_sign",
64
+ "wallet_disconnect",
65
+ "wallet_switchEthereumChain"
66
+ ]);
67
+ function l(e, { chains: t }) {
68
+ const { method: r, params: s } = e;
69
+ if (typeof r != "string" || r.length === 0)
70
+ throw new a(
71
+ n.rpc.invalidParams,
72
+ "'method' must be a non-empty string."
73
+ );
74
+ const i = (s ?? [])[0]?.chainId;
75
+ if (typeof i == "string" && !t.some((c) => c.id === Number.parseInt(i, 16)))
76
+ throw new o(
77
+ n.provider.unsupportedChain,
78
+ `Chain ${i} not supported - make sure the provider is configured with the correct chains.`
79
+ );
80
+ if (s !== void 0 && !Array.isArray(s))
81
+ throw new a(
82
+ n.rpc.invalidParams,
83
+ "'params' must be an array if provided."
84
+ );
85
+ if (!h.has(r))
86
+ throw new o(
87
+ n.provider.unsupportedMethod,
88
+ `Method ${e.method} not supported`
89
+ );
90
+ }
91
+ async function d() {
92
+ const e = await u();
93
+ if (!e)
94
+ throw new o(
95
+ n.provider.unauthorized,
96
+ "User not connected"
97
+ );
98
+ return e;
99
+ }
100
+ async function m(e) {
101
+ const t = await d();
102
+ if (!t.evmAccounts.includes(e))
103
+ throw new o(
104
+ n.provider.unauthorized,
105
+ "Address not owned by user"
106
+ );
107
+ return t;
108
+ }
109
+ async function w() {
110
+ const e = await d();
111
+ if (!e.evmAccounts[0])
112
+ throw new o(
113
+ n.provider.unauthorized,
114
+ "No EVM accounts available"
115
+ );
116
+ return e;
117
+ }
118
+ export {
119
+ o as EIP1193ProviderError,
120
+ a as RPCRequestError,
121
+ n as STANDARD_ERROR_CODES,
122
+ l as validateRequest,
123
+ d as validateUserConnected,
124
+ w as validateUserHasEvmAccount,
125
+ m as validateUserOwnsAddress
126
+ };
@@ -0,0 +1,26 @@
1
+ import { SizeOverflowError as u } from "./index46.js";
2
+ import { size as t } from "./index34.js";
3
+ function s(n, { size: i }) {
4
+ if (t(n) > i)
5
+ throw new u({
6
+ givenSize: t(n),
7
+ maxSize: i
8
+ });
9
+ }
10
+ function z(n, i = {}) {
11
+ const { signed: o } = i;
12
+ i.size && s(n, { size: i.size });
13
+ const e = BigInt(n);
14
+ if (!o)
15
+ return e;
16
+ const r = (n.length - 2) / 2, f = (1n << BigInt(r) * 8n - 1n) - 1n;
17
+ return e <= f ? e : e - BigInt(`0x${"f".padStart(r * 2, "f")}`) - 1n;
18
+ }
19
+ function g(n, i = {}) {
20
+ return Number(z(n, i));
21
+ }
22
+ export {
23
+ s as assertSize,
24
+ z as hexToBigInt,
25
+ g as hexToNumber
26
+ };
@@ -0,0 +1,14 @@
1
+ function r(n, { args: t, eventName: a } = {}) {
2
+ return {
3
+ ...n,
4
+ blockHash: n.blockHash ? n.blockHash : null,
5
+ blockNumber: n.blockNumber ? BigInt(n.blockNumber) : null,
6
+ logIndex: n.logIndex ? Number(n.logIndex) : null,
7
+ transactionHash: n.transactionHash ? n.transactionHash : null,
8
+ transactionIndex: n.transactionIndex ? Number(n.transactionIndex) : null,
9
+ ...a ? { args: t, eventName: a } : {}
10
+ };
11
+ }
12
+ export {
13
+ r as formatLog
14
+ };
@@ -0,0 +1,30 @@
1
+ import { hexToNumber as d } from "./index40.js";
2
+ import { defineFormatter as b } from "./index38.js";
3
+ import { formatLog as m } from "./index41.js";
4
+ import { transactionType as o } from "./index39.js";
5
+ const f = {
6
+ "0x0": "reverted",
7
+ "0x1": "success"
8
+ };
9
+ function r(l) {
10
+ const s = {
11
+ ...l,
12
+ blockNumber: l.blockNumber ? BigInt(l.blockNumber) : null,
13
+ contractAddress: l.contractAddress ? l.contractAddress : null,
14
+ cumulativeGasUsed: l.cumulativeGasUsed ? BigInt(l.cumulativeGasUsed) : null,
15
+ effectiveGasPrice: l.effectiveGasPrice ? BigInt(l.effectiveGasPrice) : null,
16
+ gasUsed: l.gasUsed ? BigInt(l.gasUsed) : null,
17
+ logs: l.logs ? l.logs.map((u) => m(u)) : null,
18
+ to: l.to ? l.to : null,
19
+ transactionIndex: l.transactionIndex ? d(l.transactionIndex) : null,
20
+ status: l.status ? f[l.status] : null,
21
+ type: l.type ? o[l.type] || l.type : null
22
+ };
23
+ return l.blobGasPrice && (s.blobGasPrice = BigInt(l.blobGasPrice)), l.blobGasUsed && (s.blobGasUsed = BigInt(l.blobGasUsed)), s;
24
+ }
25
+ const U = /* @__PURE__ */ b("transactionReceipt", r);
26
+ export {
27
+ U as defineTransactionReceipt,
28
+ r as formatTransactionReceipt,
29
+ f as receiptStatuses
30
+ };
@@ -0,0 +1,45 @@
1
+ import { BaseError as l } from "./index44.js";
2
+ import { createCursor as r } from "./index45.js";
3
+ import { hexToBytes as g } from "./index26.js";
4
+ import { bytesToHex as u } from "./index24.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
+ };
31
+ }
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.");
42
+ }
43
+ export {
44
+ m as toRlp
45
+ };
@@ -0,0 +1,58 @@
1
+ import { version as o } from "./index70.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
+ }
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;
55
+ }
56
+ export {
57
+ u as BaseError
58
+ };
@@ -0,0 +1,130 @@
1
+ import { NegativeOffsetError as o, PositionOutOfBoundsError as e, RecursiveReadLimitExceededError as n } from "./index71.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++;
122
+ }
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
+ }
128
+ export {
129
+ a as createCursor
130
+ };
@@ -0,0 +1,15 @@
1
+ import { BaseError as t } from "./index44.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" });
10
+ }
11
+ }
12
+ export {
13
+ $ as IntegerOutOfRangeError,
14
+ c as SizeOverflowError
15
+ };
@@ -0,0 +1,107 @@
1
+ import { rotlSH as L, rotlSL as T, rotlBH as S, rotlBL as m, split as F } from "./index72.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 "./index73.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 = F(B, !0), C = A[0], D = A[1], O = (n, t, s) => s > 32 ? S(n, t, s) : L(n, t, s), w = (n, t, s) => s > 32 ? m(n, t, s) : T(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
+ export {
104
+ p as Keccak,
105
+ G as keccakP,
106
+ Q as keccak_256
107
+ };
@@ -0,0 +1,9 @@
1
+ import { sha256 as o } from "./index49.js";
2
+ import { isHex as s } from "./index31.js";
3
+ import { toBytes as r } from "./index26.js";
4
+ function p(t, i) {
5
+ return o(s(t, { strict: !1 }) ? r(t) : t);
6
+ }
7
+ export {
8
+ p as sha256
9
+ };
@@ -0,0 +1,5 @@
1
+ import { sha256 as s } from "./index74.js";
2
+ const o = s;
3
+ export {
4
+ o as sha256
5
+ };