@coinbase/cdp-core 0.0.33 → 0.0.35

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 (91) hide show
  1. package/README.md +74 -8
  2. package/dist/esm/index.native.js +40 -37
  3. package/dist/esm/index.native100.js +41 -7
  4. package/dist/esm/index.native101.js +18 -11
  5. package/dist/esm/index.native102.js +28 -13
  6. package/dist/esm/index.native103.js +8 -10
  7. package/dist/esm/index.native104.js +11 -17
  8. package/dist/esm/index.native105.js +12 -80
  9. package/dist/esm/index.native106.js +10 -13
  10. package/dist/esm/index.native107.js +17 -36
  11. package/dist/esm/index.native108.js +79 -40
  12. package/dist/esm/index.native14.js +6 -5
  13. package/dist/esm/index.native15.js +12 -10
  14. package/dist/esm/index.native17.js +1 -0
  15. package/dist/esm/index.native28.js +1 -1
  16. package/dist/esm/index.native54.js +1 -1
  17. package/dist/esm/index.native55.js +1 -1
  18. package/dist/esm/index.native57.js +2 -2
  19. package/dist/esm/index.native59.js +1 -1
  20. package/dist/esm/index.native6.js +188 -134
  21. package/dist/esm/index.native77.js +6 -6
  22. package/dist/esm/index.native82.js +2 -21
  23. package/dist/esm/index.native83.js +21 -2
  24. package/dist/esm/index.native84.js +18 -102
  25. package/dist/esm/index.native85.js +80 -20
  26. package/dist/esm/index.native86.js +103 -79
  27. package/dist/esm/index.native89.js +10 -21
  28. package/dist/esm/index.native90.js +21 -10
  29. package/dist/esm/index.native91.js +9 -19
  30. package/dist/esm/index.native92.js +15 -89
  31. package/dist/esm/index.native93.js +92 -19
  32. package/dist/esm/index.native94.js +18 -115
  33. package/dist/esm/index.native95.js +112 -73
  34. package/dist/esm/index.native96.js +79 -10
  35. package/dist/esm/index.native98.js +13 -18
  36. package/dist/esm/index.native99.js +35 -27
  37. package/dist/esm/index.web.js +41 -38
  38. package/dist/esm/index.web12.js +6 -5
  39. package/dist/esm/index.web13.js +12 -10
  40. package/dist/esm/index.web15.js +1 -0
  41. package/dist/esm/index.web5.js +188 -134
  42. package/dist/native/index.native.js +40 -37
  43. package/dist/native/index.native100.js +41 -7
  44. package/dist/native/index.native101.js +18 -11
  45. package/dist/native/index.native102.js +28 -13
  46. package/dist/native/index.native103.js +8 -10
  47. package/dist/native/index.native104.js +11 -17
  48. package/dist/native/index.native105.js +12 -80
  49. package/dist/native/index.native106.js +10 -13
  50. package/dist/native/index.native107.js +17 -36
  51. package/dist/native/index.native108.js +79 -40
  52. package/dist/native/index.native14.js +6 -5
  53. package/dist/native/index.native15.js +12 -10
  54. package/dist/native/index.native17.js +1 -0
  55. package/dist/native/index.native28.js +1 -1
  56. package/dist/native/index.native54.js +1 -1
  57. package/dist/native/index.native55.js +1 -1
  58. package/dist/native/index.native57.js +2 -2
  59. package/dist/native/index.native59.js +1 -1
  60. package/dist/native/index.native6.js +188 -134
  61. package/dist/native/index.native77.js +6 -6
  62. package/dist/native/index.native82.js +2 -21
  63. package/dist/native/index.native83.js +21 -2
  64. package/dist/native/index.native84.js +18 -102
  65. package/dist/native/index.native85.js +80 -20
  66. package/dist/native/index.native86.js +103 -79
  67. package/dist/native/index.native89.js +10 -21
  68. package/dist/native/index.native90.js +21 -10
  69. package/dist/native/index.native91.js +9 -19
  70. package/dist/native/index.native92.js +15 -89
  71. package/dist/native/index.native93.js +92 -19
  72. package/dist/native/index.native94.js +18 -115
  73. package/dist/native/index.native95.js +112 -73
  74. package/dist/native/index.native96.js +79 -10
  75. package/dist/native/index.native98.js +13 -18
  76. package/dist/native/index.native99.js +35 -27
  77. package/dist/native-types/auth/withAuth.d.ts +3 -1
  78. package/dist/native-types/core.d.ts +3 -1
  79. package/dist/native-types/types.d.ts +20 -3
  80. package/dist/types/auth/withAuth.d.ts +3 -1
  81. package/dist/types/core.d.ts +3 -1
  82. package/dist/types/types.d.ts +20 -3
  83. package/dist/web/index.web.js +41 -38
  84. package/dist/web/index.web12.js +6 -5
  85. package/dist/web/index.web13.js +12 -10
  86. package/dist/web/index.web15.js +1 -0
  87. package/dist/web/index.web5.js +188 -134
  88. package/dist/web-types/auth/withAuth.d.ts +3 -1
  89. package/dist/web-types/core.d.ts +3 -1
  90. package/dist/web-types/types.d.ts +20 -3
  91. package/package.json +2 -2
@@ -1,22 +1,82 @@
1
- const o = /* @__PURE__ */ BigInt(4294967295), i = /* @__PURE__ */ BigInt(32);
2
- function s(t, r = !1) {
3
- return r ? { h: Number(t & o), l: Number(t >> i & o) } : { h: Number(t >> i & o) | 0, l: Number(t & o) | 0 };
4
- }
5
- function h(t, r = !1) {
6
- const n = t.length;
7
- let l = new Uint32Array(n), c = new Uint32Array(n);
8
- for (let e = 0; e < n; e++) {
9
- const { h: u, l: f } = s(t[e], r);
10
- [l[e], c[e]] = [u, f];
11
- }
12
- return [l, c];
13
- }
14
- const m = (t, r, n) => t << n | r >>> 32 - n, A = (t, r, n) => r << n | t >>> 32 - n, B = (t, r, n) => r << n - 32 | t >>> 64 - n, a = (t, r, n) => t << n - 32 | r >>> 64 - n;
1
+ /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
+ function o(e) {
3
+ return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
4
+ }
5
+ function w(e) {
6
+ if (!Number.isSafeInteger(e) || e < 0)
7
+ throw new Error("positive integer expected, got " + e);
8
+ }
9
+ function r(e, ...t) {
10
+ if (!o(e))
11
+ throw new Error("Uint8Array expected");
12
+ if (t.length > 0 && !t.includes(e.length))
13
+ throw new Error("Uint8Array expected of length " + t + ", got length=" + e.length);
14
+ }
15
+ function h(e, t = !0) {
16
+ if (e.destroyed)
17
+ throw new Error("Hash instance has been destroyed");
18
+ if (t && e.finished)
19
+ throw new Error("Hash#digest() has already been called");
20
+ }
21
+ function l(e, t) {
22
+ r(e);
23
+ const n = t.outputLen;
24
+ if (e.length < n)
25
+ throw new Error("digestInto() expects output buffer of length at least " + n);
26
+ }
27
+ function a(e) {
28
+ return new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4));
29
+ }
30
+ function g(...e) {
31
+ for (let t = 0; t < e.length; t++)
32
+ e[t].fill(0);
33
+ }
34
+ function p(e) {
35
+ return new DataView(e.buffer, e.byteOffset, e.byteLength);
36
+ }
37
+ function b(e, t) {
38
+ return e << 32 - t | e >>> t;
39
+ }
40
+ const i = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
41
+ function u(e) {
42
+ return e << 24 & 4278190080 | e << 8 & 16711680 | e >>> 8 & 65280 | e >>> 24 & 255;
43
+ }
44
+ function c(e) {
45
+ for (let t = 0; t < e.length; t++)
46
+ e[t] = u(e[t]);
47
+ return e;
48
+ }
49
+ const x = i ? (e) => e : c;
50
+ function s(e) {
51
+ if (typeof e != "string")
52
+ throw new Error("string expected");
53
+ return new Uint8Array(new TextEncoder().encode(e));
54
+ }
55
+ function y(e) {
56
+ return typeof e == "string" && (e = s(e)), r(e), e;
57
+ }
58
+ class d {
59
+ }
60
+ function E(e) {
61
+ const t = (f) => e().update(y(f)).digest(), n = e();
62
+ return t.outputLen = n.outputLen, t.blockLen = n.blockLen, t.create = () => e(), t;
63
+ }
15
64
  export {
16
- s as fromBig,
17
- B as rotlBH,
18
- a as rotlBL,
19
- m as rotlSH,
20
- A as rotlSL,
21
- h as split
65
+ d as Hash,
66
+ r as abytes,
67
+ h as aexists,
68
+ w as anumber,
69
+ l as aoutput,
70
+ u as byteSwap,
71
+ c as byteSwap32,
72
+ g as clean,
73
+ E as createHasher,
74
+ p as createView,
75
+ o as isBytes,
76
+ i as isLE,
77
+ b as rotr,
78
+ x as swap32IfBE,
79
+ y as toBytes,
80
+ a as u32,
81
+ s as utf8ToBytes
22
82
  };
@@ -1,82 +1,106 @@
1
- /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
- function o(e) {
3
- return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
4
- }
5
- function w(e) {
6
- if (!Number.isSafeInteger(e) || e < 0)
7
- throw new Error("positive integer expected, got " + e);
8
- }
9
- function r(e, ...t) {
10
- if (!o(e))
11
- throw new Error("Uint8Array expected");
12
- if (t.length > 0 && !t.includes(e.length))
13
- throw new Error("Uint8Array expected of length " + t + ", got length=" + e.length);
14
- }
15
- function h(e, t = !0) {
16
- if (e.destroyed)
17
- throw new Error("Hash instance has been destroyed");
18
- if (t && e.finished)
19
- throw new Error("Hash#digest() has already been called");
20
- }
21
- function l(e, t) {
22
- r(e);
23
- const n = t.outputLen;
24
- if (e.length < n)
25
- throw new Error("digestInto() expects output buffer of length at least " + n);
26
- }
27
- function a(e) {
28
- return new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4));
29
- }
30
- function g(...e) {
31
- for (let t = 0; t < e.length; t++)
32
- e[t].fill(0);
33
- }
34
- function p(e) {
35
- return new DataView(e.buffer, e.byteOffset, e.byteLength);
36
- }
37
- function b(e, t) {
38
- return e << 32 - t | e >>> t;
39
- }
40
- const i = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
41
- function u(e) {
42
- return e << 24 & 4278190080 | e << 8 & 16711680 | e >>> 8 & 65280 | e >>> 24 & 255;
43
- }
44
- function c(e) {
45
- for (let t = 0; t < e.length; t++)
46
- e[t] = u(e[t]);
47
- return e;
48
- }
49
- const x = i ? (e) => e : c;
50
- function s(e) {
51
- if (typeof e != "string")
52
- throw new Error("string expected");
53
- return new Uint8Array(new TextEncoder().encode(e));
54
- }
55
- function y(e) {
56
- return typeof e == "string" && (e = s(e)), r(e), e;
57
- }
58
- class d {
59
- }
60
- function E(e) {
61
- const t = (f) => e().update(y(f)).digest(), n = e();
62
- return t.outputLen = n.outputLen, t.blockLen = n.blockLen, t.create = () => e(), t;
1
+ import { HashMD as D, SHA256_IV as b, Chi as g, Maj as p } from "./index.native96.js";
2
+ import { createHasher as u, clean as C, rotr as i } from "./index.native85.js";
3
+ const B = /* @__PURE__ */ Uint32Array.from([
4
+ 1116352408,
5
+ 1899447441,
6
+ 3049323471,
7
+ 3921009573,
8
+ 961987163,
9
+ 1508970993,
10
+ 2453635748,
11
+ 2870763221,
12
+ 3624381080,
13
+ 310598401,
14
+ 607225278,
15
+ 1426881987,
16
+ 1925078388,
17
+ 2162078206,
18
+ 2614888103,
19
+ 3248222580,
20
+ 3835390401,
21
+ 4022224774,
22
+ 264347078,
23
+ 604807628,
24
+ 770255983,
25
+ 1249150122,
26
+ 1555081692,
27
+ 1996064986,
28
+ 2554220882,
29
+ 2821834349,
30
+ 2952996808,
31
+ 3210313671,
32
+ 3336571891,
33
+ 3584528711,
34
+ 113926993,
35
+ 338241895,
36
+ 666307205,
37
+ 773529912,
38
+ 1294757372,
39
+ 1396182291,
40
+ 1695183700,
41
+ 1986661051,
42
+ 2177026350,
43
+ 2456956037,
44
+ 2730485921,
45
+ 2820302411,
46
+ 3259730800,
47
+ 3345764771,
48
+ 3516065817,
49
+ 3600352804,
50
+ 4094571909,
51
+ 275423344,
52
+ 430227734,
53
+ 506948616,
54
+ 659060556,
55
+ 883997877,
56
+ 958139571,
57
+ 1322822218,
58
+ 1537002063,
59
+ 1747873779,
60
+ 1955562222,
61
+ 2024104815,
62
+ 2227730452,
63
+ 2361852424,
64
+ 2428436474,
65
+ 2756734187,
66
+ 3204031479,
67
+ 3329325298
68
+ ]), h = /* @__PURE__ */ new Uint32Array(64);
69
+ class E extends D {
70
+ constructor(o = 32) {
71
+ super(64, o, 8, !1), this.A = b[0] | 0, this.B = b[1] | 0, this.C = b[2] | 0, this.D = b[3] | 0, this.E = b[4] | 0, this.F = b[5] | 0, this.G = b[6] | 0, this.H = b[7] | 0;
72
+ }
73
+ get() {
74
+ const { A: o, B: r, C: t, D: s, E: a, F: f, G: c, H: e } = this;
75
+ return [o, r, t, s, a, f, c, e];
76
+ }
77
+ // prettier-ignore
78
+ set(o, r, t, s, a, f, c, e) {
79
+ this.A = o | 0, this.B = r | 0, this.C = t | 0, this.D = s | 0, this.E = a | 0, this.F = f | 0, this.G = c | 0, this.H = e | 0;
80
+ }
81
+ process(o, r) {
82
+ for (let x = 0; x < 16; x++, r += 4)
83
+ h[x] = o.getUint32(r, !1);
84
+ for (let x = 16; x < 64; x++) {
85
+ const H = h[x - 15], d = h[x - 2], m = i(H, 7) ^ i(H, 18) ^ H >>> 3, l = i(d, 17) ^ i(d, 19) ^ d >>> 10;
86
+ h[x] = l + h[x - 7] + m + h[x - 16] | 0;
87
+ }
88
+ let { A: t, B: s, C: a, D: f, E: c, F: e, G: n, H: A } = this;
89
+ for (let x = 0; x < 64; x++) {
90
+ const H = i(c, 6) ^ i(c, 11) ^ i(c, 25), d = A + H + g(c, e, n) + B[x] + h[x] | 0, l = (i(t, 2) ^ i(t, 13) ^ i(t, 22)) + p(t, s, a) | 0;
91
+ A = n, n = e, e = c, c = f + d | 0, f = a, a = s, s = t, t = d + l | 0;
92
+ }
93
+ t = t + this.A | 0, s = s + this.B | 0, a = a + this.C | 0, f = f + this.D | 0, c = c + this.E | 0, e = e + this.F | 0, n = n + this.G | 0, A = A + this.H | 0, this.set(t, s, a, f, c, e, n, A);
94
+ }
95
+ roundClean() {
96
+ C(h);
97
+ }
98
+ destroy() {
99
+ this.set(0, 0, 0, 0, 0, 0, 0, 0), C(this.buffer);
100
+ }
63
101
  }
102
+ const y = /* @__PURE__ */ u(() => new E());
64
103
  export {
65
- d as Hash,
66
- r as abytes,
67
- h as aexists,
68
- w as anumber,
69
- l as aoutput,
70
- u as byteSwap,
71
- c as byteSwap32,
72
- g as clean,
73
- E as createHasher,
74
- p as createView,
75
- o as isBytes,
76
- i as isLE,
77
- b as rotr,
78
- x as swap32IfBE,
79
- y as toBytes,
80
- a as u32,
81
- s as utf8ToBytes
104
+ E as SHA256,
105
+ y as sha256
82
106
  };
@@ -1,23 +1,12 @@
1
- import { encoder as t, decoder as o } from "./index.native78.js";
2
- import { encodeBase64 as c, decodeBase64 as a } from "./index.native98.js";
3
- function i(r) {
4
- if (Uint8Array.fromBase64)
5
- return Uint8Array.fromBase64(typeof r == "string" ? r : o.decode(r), {
6
- alphabet: "base64url"
7
- });
8
- let e = r;
9
- e instanceof Uint8Array && (e = o.decode(e)), e = e.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
10
- try {
11
- return a(e);
12
- } catch {
13
- throw new TypeError("The input to be decoded is not correctly encoded.");
14
- }
15
- }
16
- function p(r) {
17
- let e = r;
18
- return typeof e == "string" && (e = t.encode(e)), Uint8Array.prototype.toBase64 ? e.toBase64({ alphabet: "base64url", omitPadding: !0 }) : c(e).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
19
- }
1
+ import { contracts as o } from "./index.native98.js";
2
+ import { formatters as r } from "./index.native99.js";
3
+ import { serializers as t } from "./index.native100.js";
4
+ const e = {
5
+ blockTime: 2e3,
6
+ contracts: o,
7
+ formatters: r,
8
+ serializers: t
9
+ };
20
10
  export {
21
- i as decode,
22
- p as encode
11
+ e as chainConfig
23
12
  };
@@ -1,12 +1,23 @@
1
- import n from "./index.native99.js";
2
- import s from "./index.native100.js";
3
- import a from "./index.native101.js";
4
- const y = async (t, o, e) => {
5
- const r = await a(t, o, "sign");
6
- s(t, r);
7
- const i = await crypto.subtle.sign(n(t, r.algorithm), r, e);
8
- return new Uint8Array(i);
9
- };
1
+ import { encoder as t, decoder as o } from "./index.native78.js";
2
+ import { encodeBase64 as c, decodeBase64 as a } from "./index.native101.js";
3
+ function i(r) {
4
+ if (Uint8Array.fromBase64)
5
+ return Uint8Array.fromBase64(typeof r == "string" ? r : o.decode(r), {
6
+ alphabet: "base64url"
7
+ });
8
+ let e = r;
9
+ e instanceof Uint8Array && (e = o.decode(e)), e = e.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
10
+ try {
11
+ return a(e);
12
+ } catch {
13
+ throw new TypeError("The input to be decoded is not correctly encoded.");
14
+ }
15
+ }
16
+ function p(r) {
17
+ let e = r;
18
+ return typeof e == "string" && (e = t.encode(e)), Uint8Array.prototype.toBase64 ? e.toBase64({ alphabet: "base64url", omitPadding: !0 }) : c(e).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
19
+ }
10
20
  export {
11
- y as default
21
+ i as decode,
22
+ p as encode
12
23
  };
@@ -1,22 +1,12 @@
1
- const a = (...o) => {
2
- const t = o.filter(Boolean);
3
- if (t.length === 0 || t.length === 1)
4
- return !0;
5
- let e;
6
- for (const s of t) {
7
- const r = Object.keys(s);
8
- if (!e || e.size === 0) {
9
- e = new Set(r);
10
- continue;
11
- }
12
- for (const n of r) {
13
- if (e.has(n))
14
- return !1;
15
- e.add(n);
16
- }
17
- }
18
- return !0;
1
+ import n from "./index.native102.js";
2
+ import s from "./index.native103.js";
3
+ import a from "./index.native104.js";
4
+ const y = async (t, o, e) => {
5
+ const r = await a(t, o, "sign");
6
+ s(t, r);
7
+ const i = await crypto.subtle.sign(n(t, r.algorithm), r, e);
8
+ return new Uint8Array(i);
19
9
  };
20
10
  export {
21
- a as default
11
+ y as default
22
12
  };
@@ -1,96 +1,22 @@
1
- import { withAlg as n } from "./index.native102.js";
2
- import c from "./index.native103.js";
3
- import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.native104.js";
4
- const s = (r) => r?.[Symbol.toStringTag], o = (r, e, t) => {
5
- if (e.use !== void 0) {
6
- let i;
7
- switch (t) {
8
- case "sign":
9
- case "verify":
10
- i = "sig";
11
- break;
12
- case "encrypt":
13
- case "decrypt":
14
- i = "enc";
15
- break;
1
+ const a = (...o) => {
2
+ const t = o.filter(Boolean);
3
+ if (t.length === 0 || t.length === 1)
4
+ return !0;
5
+ let e;
6
+ for (const s of t) {
7
+ const r = Object.keys(s);
8
+ if (!e || e.size === 0) {
9
+ e = new Set(r);
10
+ continue;
16
11
  }
17
- if (e.use !== i)
18
- throw new TypeError(`Invalid key for this operation, its "use" must be "${i}" when present`);
19
- }
20
- if (e.alg !== void 0 && e.alg !== r)
21
- throw new TypeError(`Invalid key for this operation, its "alg" must be "${r}" when present`);
22
- if (Array.isArray(e.key_ops)) {
23
- let i;
24
- switch (!0) {
25
- case t === "sign":
26
- case r === "dir":
27
- case r.includes("CBC-HS"):
28
- i = t;
29
- break;
30
- case r.startsWith("PBES2"):
31
- i = "deriveBits";
32
- break;
33
- case /^A\d{3}(?:GCM)?(?:KW)?$/.test(r):
34
- !r.includes("GCM") && r.endsWith("KW") ? i = "unwrapKey" : i = t;
35
- break;
36
- case t === "encrypt":
37
- i = "wrapKey";
38
- break;
39
- case t === "decrypt":
40
- i = r.startsWith("RSA") ? "unwrapKey" : "deriveBits";
41
- break;
12
+ for (const n of r) {
13
+ if (e.has(n))
14
+ return !1;
15
+ e.add(n);
42
16
  }
43
- if (i && e.key_ops?.includes?.(i) === !1)
44
- throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${i}" when present`);
45
17
  }
46
18
  return !0;
47
- }, h = (r, e, t) => {
48
- if (!(e instanceof Uint8Array)) {
49
- if (p(e)) {
50
- if (a(e) && o(r, e, t))
51
- return;
52
- throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present');
53
- }
54
- if (!c(e))
55
- throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key", "Uint8Array"));
56
- if (e.type !== "secret")
57
- throw new TypeError(`${s(e)} instances for symmetric algorithms must be of type "secret"`);
58
- }
59
- }, m = (r, e, t) => {
60
- if (p(e))
61
- switch (t) {
62
- case "decrypt":
63
- case "sign":
64
- if (f(e) && o(r, e, t))
65
- return;
66
- throw new TypeError("JSON Web Key for this operation be a private JWK");
67
- case "encrypt":
68
- case "verify":
69
- if (y(e) && o(r, e, t))
70
- return;
71
- throw new TypeError("JSON Web Key for this operation be a public JWK");
72
- }
73
- if (!c(e))
74
- throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key"));
75
- if (e.type === "secret")
76
- throw new TypeError(`${s(e)} instances for asymmetric algorithms must not be of type "secret"`);
77
- if (e.type === "public")
78
- switch (t) {
79
- case "sign":
80
- throw new TypeError(`${s(e)} instances for asymmetric algorithm signing must be of type "private"`);
81
- case "decrypt":
82
- throw new TypeError(`${s(e)} instances for asymmetric algorithm decryption must be of type "private"`);
83
- }
84
- if (e.type === "private")
85
- switch (t) {
86
- case "verify":
87
- throw new TypeError(`${s(e)} instances for asymmetric algorithm verifying must be of type "public"`);
88
- case "encrypt":
89
- throw new TypeError(`${s(e)} instances for asymmetric algorithm encryption must be of type "public"`);
90
- }
91
- }, d = (r, e, t) => {
92
- r.startsWith("HS") || r === "dir" || r.startsWith("PBES2") || /^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(r) || /^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(r) ? h(r, e, t) : m(r, e, t);
93
19
  };
94
20
  export {
95
- d as default
21
+ a as default
96
22
  };
@@ -1,23 +1,96 @@
1
- import { JOSENotSupported as f } from "./index.native30.js";
2
- const w = (n, r, a, e, s) => {
3
- if (s.crit !== void 0 && e?.crit === void 0)
4
- throw new n('"crit" (Critical) Header Parameter MUST be integrity protected');
5
- if (!e || e.crit === void 0)
6
- return /* @__PURE__ */ new Set();
7
- if (!Array.isArray(e.crit) || e.crit.length === 0 || e.crit.some((i) => typeof i != "string" || i.length === 0))
8
- throw new n('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');
9
- let t;
10
- a !== void 0 ? t = new Map([...Object.entries(a), ...r.entries()]) : t = r;
11
- for (const i of e.crit) {
12
- if (!t.has(i))
13
- throw new f(`Extension Header Parameter "${i}" is not recognized`);
14
- if (s[i] === void 0)
15
- throw new n(`Extension Header Parameter "${i}" is missing`);
16
- if (t.get(i) && e[i] === void 0)
17
- throw new n(`Extension Header Parameter "${i}" MUST be integrity protected`);
1
+ import { withAlg as n } from "./index.native105.js";
2
+ import c from "./index.native106.js";
3
+ import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.native107.js";
4
+ const s = (r) => r?.[Symbol.toStringTag], o = (r, e, t) => {
5
+ if (e.use !== void 0) {
6
+ let i;
7
+ switch (t) {
8
+ case "sign":
9
+ case "verify":
10
+ i = "sig";
11
+ break;
12
+ case "encrypt":
13
+ case "decrypt":
14
+ i = "enc";
15
+ break;
16
+ }
17
+ if (e.use !== i)
18
+ throw new TypeError(`Invalid key for this operation, its "use" must be "${i}" when present`);
18
19
  }
19
- return new Set(e.crit);
20
+ if (e.alg !== void 0 && e.alg !== r)
21
+ throw new TypeError(`Invalid key for this operation, its "alg" must be "${r}" when present`);
22
+ if (Array.isArray(e.key_ops)) {
23
+ let i;
24
+ switch (!0) {
25
+ case t === "sign":
26
+ case r === "dir":
27
+ case r.includes("CBC-HS"):
28
+ i = t;
29
+ break;
30
+ case r.startsWith("PBES2"):
31
+ i = "deriveBits";
32
+ break;
33
+ case /^A\d{3}(?:GCM)?(?:KW)?$/.test(r):
34
+ !r.includes("GCM") && r.endsWith("KW") ? i = "unwrapKey" : i = t;
35
+ break;
36
+ case t === "encrypt":
37
+ i = "wrapKey";
38
+ break;
39
+ case t === "decrypt":
40
+ i = r.startsWith("RSA") ? "unwrapKey" : "deriveBits";
41
+ break;
42
+ }
43
+ if (i && e.key_ops?.includes?.(i) === !1)
44
+ throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${i}" when present`);
45
+ }
46
+ return !0;
47
+ }, h = (r, e, t) => {
48
+ if (!(e instanceof Uint8Array)) {
49
+ if (p(e)) {
50
+ if (a(e) && o(r, e, t))
51
+ return;
52
+ throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present');
53
+ }
54
+ if (!c(e))
55
+ throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key", "Uint8Array"));
56
+ if (e.type !== "secret")
57
+ throw new TypeError(`${s(e)} instances for symmetric algorithms must be of type "secret"`);
58
+ }
59
+ }, m = (r, e, t) => {
60
+ if (p(e))
61
+ switch (t) {
62
+ case "decrypt":
63
+ case "sign":
64
+ if (f(e) && o(r, e, t))
65
+ return;
66
+ throw new TypeError("JSON Web Key for this operation be a private JWK");
67
+ case "encrypt":
68
+ case "verify":
69
+ if (y(e) && o(r, e, t))
70
+ return;
71
+ throw new TypeError("JSON Web Key for this operation be a public JWK");
72
+ }
73
+ if (!c(e))
74
+ throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key"));
75
+ if (e.type === "secret")
76
+ throw new TypeError(`${s(e)} instances for asymmetric algorithms must not be of type "secret"`);
77
+ if (e.type === "public")
78
+ switch (t) {
79
+ case "sign":
80
+ throw new TypeError(`${s(e)} instances for asymmetric algorithm signing must be of type "private"`);
81
+ case "decrypt":
82
+ throw new TypeError(`${s(e)} instances for asymmetric algorithm decryption must be of type "private"`);
83
+ }
84
+ if (e.type === "private")
85
+ switch (t) {
86
+ case "verify":
87
+ throw new TypeError(`${s(e)} instances for asymmetric algorithm verifying must be of type "public"`);
88
+ case "encrypt":
89
+ throw new TypeError(`${s(e)} instances for asymmetric algorithm encryption must be of type "public"`);
90
+ }
91
+ }, d = (r, e, t) => {
92
+ r.startsWith("HS") || r === "dir" || r.startsWith("PBES2") || /^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(r) || /^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(r) ? h(r, e, t) : m(r, e, t);
20
93
  };
21
94
  export {
22
- w as default
95
+ d as default
23
96
  };