@coinbase/cdp-core 0.0.57 → 0.0.58

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 (172) hide show
  1. package/dist/esm/index.native103.js +1 -1
  2. package/dist/esm/index.native115.js +1 -1
  3. package/dist/esm/index.native127.js +2 -2
  4. package/dist/esm/index.native131.js +1 -1
  5. package/dist/esm/index.native140.js +74 -42
  6. package/dist/esm/index.native141.js +3 -78
  7. package/dist/esm/index.native142.js +46 -3
  8. package/dist/esm/index.native146.js +7 -38
  9. package/dist/esm/index.native148.js +375 -67
  10. package/dist/esm/index.native149.js +832 -34
  11. package/dist/esm/index.native150.js +38 -20
  12. package/dist/esm/index.native151.js +2 -8
  13. package/dist/esm/index.native152.js +70 -2
  14. package/dist/esm/index.native153.js +30 -373
  15. package/dist/esm/index.native154.js +20 -832
  16. package/dist/esm/index.native164.js +1 -1
  17. package/dist/esm/index.native165.js +2 -2
  18. package/dist/esm/index.native166.js +2 -2
  19. package/dist/esm/index.native167.js +2 -2
  20. package/dist/esm/index.native25.js +1 -1
  21. package/dist/esm/index.native47.js +1 -1
  22. package/dist/esm/index.web100.js +4 -2
  23. package/dist/esm/index.web101.js +19 -44
  24. package/dist/esm/index.web102.js +8 -13
  25. package/dist/esm/index.web103.js +8 -2
  26. package/dist/esm/index.web104.js +71 -4
  27. package/dist/esm/index.web105.js +12 -12
  28. package/dist/esm/index.web106.js +3 -7
  29. package/dist/esm/index.web107.js +4 -3
  30. package/dist/esm/index.web108.js +4 -19
  31. package/dist/esm/index.web109.js +4 -8
  32. package/dist/esm/index.web110.js +19 -7
  33. package/dist/esm/index.web111.js +47 -66
  34. package/dist/esm/index.web112.js +17 -18
  35. package/dist/esm/index.web113.js +20 -3
  36. package/dist/esm/index.web114.js +8 -4
  37. package/dist/esm/index.web115.js +30 -4
  38. package/dist/esm/index.web116.js +7 -4
  39. package/dist/esm/index.web117.js +11 -10
  40. package/dist/esm/index.web118.js +4 -52
  41. package/dist/esm/index.web119.js +54 -17
  42. package/dist/esm/index.web120.js +10 -20
  43. package/dist/esm/index.web121.js +2 -9
  44. package/dist/esm/index.web122.js +44 -30
  45. package/dist/esm/index.web123.js +13 -7
  46. package/dist/esm/index.web124.js +2 -21
  47. package/dist/esm/index.web126.js +1 -1
  48. package/dist/esm/index.web130.js +1 -1
  49. package/dist/esm/index.web131.js +6 -32
  50. package/dist/esm/index.web132.js +32 -6
  51. package/dist/esm/index.web133.js +2 -79
  52. package/dist/esm/index.web134.js +109 -2
  53. package/dist/esm/index.web135.js +2 -109
  54. package/dist/esm/index.web136.js +79 -2
  55. package/dist/esm/index.web137.js +46 -3
  56. package/dist/esm/index.web138.js +3 -20
  57. package/dist/esm/index.web139.js +21 -10
  58. package/dist/esm/index.web140.js +9 -19
  59. package/dist/esm/index.web141.js +15 -89
  60. package/dist/esm/index.web142.js +92 -19
  61. package/dist/esm/index.web143.js +18 -115
  62. package/dist/esm/index.web144.js +115 -44
  63. package/dist/esm/index.web155.js +14 -17
  64. package/dist/esm/index.web156.js +18 -28
  65. package/dist/esm/index.web157.js +26 -6
  66. package/dist/esm/index.web158.js +6 -9
  67. package/dist/esm/index.web159.js +11 -13
  68. package/dist/esm/index.web160.js +11 -8
  69. package/dist/esm/index.web161.js +7 -14
  70. package/dist/esm/index.web162.js +16 -80
  71. package/dist/esm/index.web163.js +80 -14
  72. package/dist/esm/index.web46.js +1 -1
  73. package/dist/esm/index.web48.js +12 -12
  74. package/dist/esm/index.web49.js +12 -12
  75. package/dist/esm/index.web50.js +1 -1
  76. package/dist/esm/index.web51.js +1 -1
  77. package/dist/esm/index.web53.js +1 -1
  78. package/dist/esm/index.web55.js +4 -4
  79. package/dist/esm/index.web73.js +1 -1
  80. package/dist/esm/index.web91.js +1 -1
  81. package/dist/esm/index.web92.js +1 -1
  82. package/dist/esm/index.web97.js +4 -4
  83. package/dist/esm/index.web98.js +17 -53
  84. package/dist/esm/index.web99.js +7 -10
  85. package/dist/native/index.native103.js +1 -1
  86. package/dist/native/index.native115.js +1 -1
  87. package/dist/native/index.native127.js +2 -2
  88. package/dist/native/index.native131.js +1 -1
  89. package/dist/native/index.native140.js +74 -42
  90. package/dist/native/index.native141.js +3 -78
  91. package/dist/native/index.native142.js +46 -3
  92. package/dist/native/index.native146.js +7 -38
  93. package/dist/native/index.native148.js +375 -67
  94. package/dist/native/index.native149.js +832 -34
  95. package/dist/native/index.native150.js +38 -20
  96. package/dist/native/index.native151.js +2 -8
  97. package/dist/native/index.native152.js +70 -2
  98. package/dist/native/index.native153.js +30 -373
  99. package/dist/native/index.native154.js +20 -832
  100. package/dist/native/index.native164.js +1 -1
  101. package/dist/native/index.native165.js +2 -2
  102. package/dist/native/index.native166.js +2 -2
  103. package/dist/native/index.native167.js +2 -2
  104. package/dist/native/index.native25.js +1 -1
  105. package/dist/native/index.native47.js +1 -1
  106. package/dist/native-types/version.d.ts +1 -1
  107. package/dist/types/version.d.ts +1 -1
  108. package/dist/web/index.web100.js +4 -2
  109. package/dist/web/index.web101.js +19 -44
  110. package/dist/web/index.web102.js +8 -13
  111. package/dist/web/index.web103.js +8 -2
  112. package/dist/web/index.web104.js +71 -4
  113. package/dist/web/index.web105.js +12 -12
  114. package/dist/web/index.web106.js +3 -7
  115. package/dist/web/index.web107.js +4 -3
  116. package/dist/web/index.web108.js +4 -19
  117. package/dist/web/index.web109.js +4 -8
  118. package/dist/web/index.web110.js +19 -7
  119. package/dist/web/index.web111.js +47 -66
  120. package/dist/web/index.web112.js +17 -18
  121. package/dist/web/index.web113.js +20 -3
  122. package/dist/web/index.web114.js +8 -4
  123. package/dist/web/index.web115.js +30 -4
  124. package/dist/web/index.web116.js +7 -4
  125. package/dist/web/index.web117.js +11 -10
  126. package/dist/web/index.web118.js +4 -52
  127. package/dist/web/index.web119.js +54 -17
  128. package/dist/web/index.web120.js +10 -20
  129. package/dist/web/index.web121.js +2 -9
  130. package/dist/web/index.web122.js +44 -30
  131. package/dist/web/index.web123.js +13 -7
  132. package/dist/web/index.web124.js +2 -21
  133. package/dist/web/index.web126.js +1 -1
  134. package/dist/web/index.web130.js +1 -1
  135. package/dist/web/index.web131.js +6 -32
  136. package/dist/web/index.web132.js +32 -6
  137. package/dist/web/index.web133.js +2 -79
  138. package/dist/web/index.web134.js +109 -2
  139. package/dist/web/index.web135.js +2 -109
  140. package/dist/web/index.web136.js +79 -2
  141. package/dist/web/index.web137.js +46 -3
  142. package/dist/web/index.web138.js +3 -20
  143. package/dist/web/index.web139.js +21 -10
  144. package/dist/web/index.web140.js +9 -19
  145. package/dist/web/index.web141.js +15 -89
  146. package/dist/web/index.web142.js +92 -19
  147. package/dist/web/index.web143.js +18 -115
  148. package/dist/web/index.web144.js +115 -44
  149. package/dist/web/index.web155.js +14 -17
  150. package/dist/web/index.web156.js +18 -28
  151. package/dist/web/index.web157.js +26 -6
  152. package/dist/web/index.web158.js +6 -9
  153. package/dist/web/index.web159.js +11 -13
  154. package/dist/web/index.web160.js +11 -8
  155. package/dist/web/index.web161.js +7 -14
  156. package/dist/web/index.web162.js +16 -80
  157. package/dist/web/index.web163.js +80 -14
  158. package/dist/web/index.web46.js +1 -1
  159. package/dist/web/index.web48.js +12 -12
  160. package/dist/web/index.web49.js +12 -12
  161. package/dist/web/index.web50.js +1 -1
  162. package/dist/web/index.web51.js +1 -1
  163. package/dist/web/index.web53.js +1 -1
  164. package/dist/web/index.web55.js +4 -4
  165. package/dist/web/index.web73.js +1 -1
  166. package/dist/web/index.web91.js +1 -1
  167. package/dist/web/index.web92.js +1 -1
  168. package/dist/web/index.web97.js +4 -4
  169. package/dist/web/index.web98.js +17 -53
  170. package/dist/web/index.web99.js +7 -10
  171. package/dist/web-types/version.d.ts +1 -1
  172. package/package.json +2 -2
@@ -1,120 +1,23 @@
1
- import { isJWK as p } from "./index.web161.js";
2
- import { decode as m } from "./index.web138.js";
3
- import y from "./index.web162.js";
4
- import { isCryptoKey as S, isKeyObject as K } from "./index.web160.js";
5
- let c;
6
- const f = async (e, r, s, i = !1) => {
7
- c ||= /* @__PURE__ */ new WeakMap();
8
- let n = c.get(e);
9
- if (n?.[s])
10
- return n[s];
11
- const t = await y({ ...r, alg: s });
12
- return i && Object.freeze(e), n ? n[s] = t : c.set(e, { [s]: t }), t;
13
- }, E = (e, r) => {
14
- c ||= /* @__PURE__ */ new WeakMap();
15
- let s = c.get(e);
16
- if (s?.[r])
17
- return s[r];
18
- const i = e.type === "public", n = !!i;
1
+ import { JOSENotSupported as f } from "./index.web54.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');
19
9
  let t;
20
- if (e.asymmetricKeyType === "x25519") {
21
- switch (r) {
22
- case "ECDH-ES":
23
- case "ECDH-ES+A128KW":
24
- case "ECDH-ES+A192KW":
25
- case "ECDH-ES+A256KW":
26
- break;
27
- default:
28
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
29
- }
30
- t = e.toCryptoKey(e.asymmetricKeyType, n, i ? [] : ["deriveBits"]);
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`);
31
18
  }
32
- if (e.asymmetricKeyType === "ed25519") {
33
- if (r !== "EdDSA" && r !== "Ed25519")
34
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
35
- t = e.toCryptoKey(e.asymmetricKeyType, n, [
36
- i ? "verify" : "sign"
37
- ]);
38
- }
39
- if (e.asymmetricKeyType === "rsa") {
40
- let a;
41
- switch (r) {
42
- case "RSA-OAEP":
43
- a = "SHA-1";
44
- break;
45
- case "RS256":
46
- case "PS256":
47
- case "RSA-OAEP-256":
48
- a = "SHA-256";
49
- break;
50
- case "RS384":
51
- case "PS384":
52
- case "RSA-OAEP-384":
53
- a = "SHA-384";
54
- break;
55
- case "RS512":
56
- case "PS512":
57
- case "RSA-OAEP-512":
58
- a = "SHA-512";
59
- break;
60
- default:
61
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
62
- }
63
- if (r.startsWith("RSA-OAEP"))
64
- return e.toCryptoKey({
65
- name: "RSA-OAEP",
66
- hash: a
67
- }, n, i ? ["encrypt"] : ["decrypt"]);
68
- t = e.toCryptoKey({
69
- name: r.startsWith("PS") ? "RSA-PSS" : "RSASSA-PKCS1-v1_5",
70
- hash: a
71
- }, n, [i ? "verify" : "sign"]);
72
- }
73
- if (e.asymmetricKeyType === "ec") {
74
- const o = (/* @__PURE__ */ new Map([
75
- ["prime256v1", "P-256"],
76
- ["secp384r1", "P-384"],
77
- ["secp521r1", "P-521"]
78
- ])).get(e.asymmetricKeyDetails?.namedCurve);
79
- if (!o)
80
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
81
- r === "ES256" && o === "P-256" && (t = e.toCryptoKey({
82
- name: "ECDSA",
83
- namedCurve: o
84
- }, n, [i ? "verify" : "sign"])), r === "ES384" && o === "P-384" && (t = e.toCryptoKey({
85
- name: "ECDSA",
86
- namedCurve: o
87
- }, n, [i ? "verify" : "sign"])), r === "ES512" && o === "P-521" && (t = e.toCryptoKey({
88
- name: "ECDSA",
89
- namedCurve: o
90
- }, n, [i ? "verify" : "sign"])), r.startsWith("ECDH-ES") && (t = e.toCryptoKey({
91
- name: "ECDH",
92
- namedCurve: o
93
- }, n, i ? [] : ["deriveBits"]));
94
- }
95
- if (!t)
96
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
97
- return s ? s[r] = t : c.set(e, { [r]: t }), t;
98
- }, d = async (e, r) => {
99
- if (e instanceof Uint8Array || S(e))
100
- return e;
101
- if (K(e)) {
102
- if (e.type === "secret")
103
- return e.export();
104
- if ("toCryptoKey" in e && typeof e.toCryptoKey == "function")
105
- try {
106
- return E(e, r);
107
- } catch (i) {
108
- if (i instanceof TypeError)
109
- throw i;
110
- }
111
- let s = e.export({ format: "jwk" });
112
- return f(e, s, r);
113
- }
114
- if (p(e))
115
- return e.k ? m(e.k) : f(e, e, r, !0);
116
- throw new Error("unreachable");
19
+ return new Set(e.crit);
117
20
  };
118
21
  export {
119
- d as default
22
+ w as default
120
23
  };
@@ -1,49 +1,120 @@
1
- import { BaseError as f } from "./index.web51.js";
2
- import { pad as g } from "./index.web163.js";
3
- function m(t, i = {}) {
4
- const { signed: r, size: e } = i, o = BigInt(t);
5
- let n;
6
- e ? r ? n = (1n << BigInt(e) * 8n - 1n) - 1n : n = 2n ** (BigInt(e) * 8n) - 1n : typeof t == "number" && (n = BigInt(Number.MAX_SAFE_INTEGER));
7
- const u = typeof n == "bigint" && r ? -n - 1n : 0;
8
- if (n && o > n || o < u) {
9
- const s = typeof t == "bigint" ? "n" : "";
10
- throw new d({
11
- max: n ? `${n}${s}` : void 0,
12
- min: `${u}${s}`,
13
- signed: r,
14
- size: e,
15
- value: `${t}${s}`
16
- });
1
+ import { isJWK as p } from "./index.web162.js";
2
+ import { decode as m } from "./index.web139.js";
3
+ import y from "./index.web163.js";
4
+ import { isCryptoKey as S, isKeyObject as K } from "./index.web161.js";
5
+ let c;
6
+ const f = async (e, r, s, i = !1) => {
7
+ c ||= /* @__PURE__ */ new WeakMap();
8
+ let n = c.get(e);
9
+ if (n?.[s])
10
+ return n[s];
11
+ const t = await y({ ...r, alg: s });
12
+ return i && Object.freeze(e), n ? n[s] = t : c.set(e, { [s]: t }), t;
13
+ }, E = (e, r) => {
14
+ c ||= /* @__PURE__ */ new WeakMap();
15
+ let s = c.get(e);
16
+ if (s?.[r])
17
+ return s[r];
18
+ const i = e.type === "public", n = !!i;
19
+ let t;
20
+ if (e.asymmetricKeyType === "x25519") {
21
+ switch (r) {
22
+ case "ECDH-ES":
23
+ case "ECDH-ES+A128KW":
24
+ case "ECDH-ES+A192KW":
25
+ case "ECDH-ES+A256KW":
26
+ break;
27
+ default:
28
+ throw new TypeError("given KeyObject instance cannot be used for this algorithm");
29
+ }
30
+ t = e.toCryptoKey(e.asymmetricKeyType, n, i ? [] : ["deriveBits"]);
17
31
  }
18
- const a = `0x${(r && o < 0 ? (1n << BigInt(e * 8)) + BigInt(o) : o).toString(16)}`;
19
- return e ? c(a, e) : a;
20
- }
21
- function c(t, i) {
22
- return g(t, { dir: "left", size: i });
23
- }
24
- class d extends f {
25
- constructor({ max: i, min: r, signed: e, size: o, value: n }) {
26
- super(`Number \`${n}\` is not in safe${o ? ` ${o * 8}-bit` : ""}${e ? " signed" : " unsigned"} integer range ${i ? `(\`${r}\` to \`${i}\`)` : `(above \`${r}\`)`}`), Object.defineProperty(this, "name", {
27
- enumerable: !0,
28
- configurable: !0,
29
- writable: !0,
30
- value: "Hex.IntegerOutOfRangeError"
31
- });
32
+ if (e.asymmetricKeyType === "ed25519") {
33
+ if (r !== "EdDSA" && r !== "Ed25519")
34
+ throw new TypeError("given KeyObject instance cannot be used for this algorithm");
35
+ t = e.toCryptoKey(e.asymmetricKeyType, n, [
36
+ i ? "verify" : "sign"
37
+ ]);
32
38
  }
33
- }
34
- class p extends f {
35
- constructor({ size: i, targetSize: r, type: e }) {
36
- super(`${e.charAt(0).toUpperCase()}${e.slice(1).toLowerCase()} size (\`${i}\`) exceeds padding size (\`${r}\`).`), Object.defineProperty(this, "name", {
37
- enumerable: !0,
38
- configurable: !0,
39
- writable: !0,
40
- value: "Hex.SizeExceedsPaddingSizeError"
41
- });
39
+ if (e.asymmetricKeyType === "rsa") {
40
+ let a;
41
+ switch (r) {
42
+ case "RSA-OAEP":
43
+ a = "SHA-1";
44
+ break;
45
+ case "RS256":
46
+ case "PS256":
47
+ case "RSA-OAEP-256":
48
+ a = "SHA-256";
49
+ break;
50
+ case "RS384":
51
+ case "PS384":
52
+ case "RSA-OAEP-384":
53
+ a = "SHA-384";
54
+ break;
55
+ case "RS512":
56
+ case "PS512":
57
+ case "RSA-OAEP-512":
58
+ a = "SHA-512";
59
+ break;
60
+ default:
61
+ throw new TypeError("given KeyObject instance cannot be used for this algorithm");
62
+ }
63
+ if (r.startsWith("RSA-OAEP"))
64
+ return e.toCryptoKey({
65
+ name: "RSA-OAEP",
66
+ hash: a
67
+ }, n, i ? ["encrypt"] : ["decrypt"]);
68
+ t = e.toCryptoKey({
69
+ name: r.startsWith("PS") ? "RSA-PSS" : "RSASSA-PKCS1-v1_5",
70
+ hash: a
71
+ }, n, [i ? "verify" : "sign"]);
42
72
  }
43
- }
73
+ if (e.asymmetricKeyType === "ec") {
74
+ const o = (/* @__PURE__ */ new Map([
75
+ ["prime256v1", "P-256"],
76
+ ["secp384r1", "P-384"],
77
+ ["secp521r1", "P-521"]
78
+ ])).get(e.asymmetricKeyDetails?.namedCurve);
79
+ if (!o)
80
+ throw new TypeError("given KeyObject instance cannot be used for this algorithm");
81
+ r === "ES256" && o === "P-256" && (t = e.toCryptoKey({
82
+ name: "ECDSA",
83
+ namedCurve: o
84
+ }, n, [i ? "verify" : "sign"])), r === "ES384" && o === "P-384" && (t = e.toCryptoKey({
85
+ name: "ECDSA",
86
+ namedCurve: o
87
+ }, n, [i ? "verify" : "sign"])), r === "ES512" && o === "P-521" && (t = e.toCryptoKey({
88
+ name: "ECDSA",
89
+ namedCurve: o
90
+ }, n, [i ? "verify" : "sign"])), r.startsWith("ECDH-ES") && (t = e.toCryptoKey({
91
+ name: "ECDH",
92
+ namedCurve: o
93
+ }, n, i ? [] : ["deriveBits"]));
94
+ }
95
+ if (!t)
96
+ throw new TypeError("given KeyObject instance cannot be used for this algorithm");
97
+ return s ? s[r] = t : c.set(e, { [r]: t }), t;
98
+ }, d = async (e, r) => {
99
+ if (e instanceof Uint8Array || S(e))
100
+ return e;
101
+ if (K(e)) {
102
+ if (e.type === "secret")
103
+ return e.export();
104
+ if ("toCryptoKey" in e && typeof e.toCryptoKey == "function")
105
+ try {
106
+ return E(e, r);
107
+ } catch (i) {
108
+ if (i instanceof TypeError)
109
+ throw i;
110
+ }
111
+ let s = e.export({ format: "jwk" });
112
+ return f(e, s, r);
113
+ }
114
+ if (p(e))
115
+ return e.k ? m(e.k) : f(e, e, r, !0);
116
+ throw new Error("unreachable");
117
+ };
44
118
  export {
45
- d as IntegerOutOfRangeError,
46
- p as SizeExceedsPaddingSizeError,
47
- m as fromNumber,
48
- c as padLeft
119
+ d as default
49
120
  };
@@ -1,20 +1,17 @@
1
- function o(t) {
2
- if (Uint8Array.prototype.toBase64)
3
- return t.toBase64();
4
- const e = 32768, n = [];
5
- for (let r = 0; r < t.length; r += e)
6
- n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
7
- return btoa(n.join(""));
8
- }
9
- function a(t) {
10
- if (Uint8Array.fromBase64)
11
- return Uint8Array.fromBase64(t);
12
- const e = atob(t), n = new Uint8Array(e.length);
13
- for (let r = 0; r < e.length; r++)
14
- n[r] = e.charCodeAt(r);
15
- return n;
1
+ import { SizeExceedsPaddingSizeError as a } from "./index.web137.js";
2
+ function o(r, i = {}) {
3
+ const { dir: n, size: e = 32 } = i;
4
+ if (e === 0)
5
+ return r;
6
+ const t = r.replace("0x", "");
7
+ if (t.length > e * 2)
8
+ throw new a({
9
+ size: Math.ceil(t.length / 2),
10
+ targetSize: e,
11
+ type: "Hex"
12
+ });
13
+ return `0x${t[n === "right" ? "padEnd" : "padStart"](e * 2, "0")}`;
16
14
  }
17
15
  export {
18
- a as decodeBase64,
19
- o as encodeBase64
16
+ o as pad
20
17
  };
@@ -1,30 +1,20 @@
1
- import { JOSENotSupported as r } from "./index.web54.js";
2
- const S = (e, s) => {
3
- const a = `SHA-${e.slice(-3)}`;
4
- switch (e) {
5
- case "HS256":
6
- case "HS384":
7
- case "HS512":
8
- return { hash: a, name: "HMAC" };
9
- case "PS256":
10
- case "PS384":
11
- case "PS512":
12
- return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
13
- case "RS256":
14
- case "RS384":
15
- case "RS512":
16
- return { hash: a, name: "RSASSA-PKCS1-v1_5" };
17
- case "ES256":
18
- case "ES384":
19
- case "ES512":
20
- return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
21
- case "Ed25519":
22
- case "EdDSA":
23
- return { name: "Ed25519" };
24
- default:
25
- throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
26
- }
27
- };
1
+ function o(t) {
2
+ if (Uint8Array.prototype.toBase64)
3
+ return t.toBase64();
4
+ const e = 32768, n = [];
5
+ for (let r = 0; r < t.length; r += e)
6
+ n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
7
+ return btoa(n.join(""));
8
+ }
9
+ function a(t) {
10
+ if (Uint8Array.fromBase64)
11
+ return Uint8Array.fromBase64(t);
12
+ const e = atob(t), n = new Uint8Array(e.length);
13
+ for (let r = 0; r < e.length; r++)
14
+ n[r] = e.charCodeAt(r);
15
+ return n;
16
+ }
28
17
  export {
29
- S as default
18
+ a as decodeBase64,
19
+ o as encodeBase64
30
20
  };
@@ -1,10 +1,30 @@
1
- const o = (t, r) => {
2
- if (t.startsWith("RS") || t.startsWith("PS")) {
3
- const { modulusLength: e } = r.algorithm;
4
- if (typeof e != "number" || e < 2048)
5
- throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
1
+ import { JOSENotSupported as r } from "./index.web54.js";
2
+ const S = (e, s) => {
3
+ const a = `SHA-${e.slice(-3)}`;
4
+ switch (e) {
5
+ case "HS256":
6
+ case "HS384":
7
+ case "HS512":
8
+ return { hash: a, name: "HMAC" };
9
+ case "PS256":
10
+ case "PS384":
11
+ case "PS512":
12
+ return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
13
+ case "RS256":
14
+ case "RS384":
15
+ case "RS512":
16
+ return { hash: a, name: "RSASSA-PKCS1-v1_5" };
17
+ case "ES256":
18
+ case "ES384":
19
+ case "ES512":
20
+ return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
21
+ case "Ed25519":
22
+ case "EdDSA":
23
+ return { name: "Ed25519" };
24
+ default:
25
+ throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
6
26
  }
7
27
  };
8
28
  export {
9
- o as default
29
+ S as default
10
30
  };
@@ -1,13 +1,10 @@
1
- import { checkSigCryptoKey as i } from "./index.web167.js";
2
- import o from "./index.web159.js";
3
- const s = async (t, r, e) => {
4
- if (r instanceof Uint8Array) {
5
- if (!t.startsWith("HS"))
6
- throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
7
- return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
1
+ const o = (t, r) => {
2
+ if (t.startsWith("RS") || t.startsWith("PS")) {
3
+ const { modulusLength: e } = r.algorithm;
4
+ if (typeof e != "number" || e < 2048)
5
+ throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
8
6
  }
9
- return i(r, t, e), r;
10
7
  };
11
8
  export {
12
- s as default
9
+ o as default
13
10
  };
@@ -1,15 +1,13 @@
1
- function i(n, e, ...o) {
2
- if (o = o.filter(Boolean), o.length > 2) {
3
- const f = o.pop();
4
- n += `one of type ${o.join(", ")}, or ${f}.`;
5
- } else o.length === 2 ? n += `one of type ${o[0]} or ${o[1]}.` : n += `of type ${o[0]}.`;
6
- return e == null ? n += ` Received ${e}` : typeof e == "function" && e.name ? n += ` Received function ${e.name}` : typeof e == "object" && e != null && e.constructor?.name && (n += ` Received an instance of ${e.constructor.name}`), n;
7
- }
8
- const r = (n, ...e) => i("Key must be ", n, ...e);
9
- function t(n, e, ...o) {
10
- return i(`Key for the ${n} algorithm must be `, e, ...o);
11
- }
1
+ import { checkSigCryptoKey as i } from "./index.web167.js";
2
+ import o from "./index.web160.js";
3
+ const s = async (t, r, e) => {
4
+ if (r instanceof Uint8Array) {
5
+ if (!t.startsWith("HS"))
6
+ throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
7
+ return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
8
+ }
9
+ return i(r, t, e), r;
10
+ };
12
11
  export {
13
- r as default,
14
- t as withAlg
12
+ s as default
15
13
  };
@@ -1,12 +1,15 @@
1
- function e(t) {
2
- return t?.[Symbol.toStringTag] === "CryptoKey";
1
+ function i(n, e, ...o) {
2
+ if (o = o.filter(Boolean), o.length > 2) {
3
+ const f = o.pop();
4
+ n += `one of type ${o.join(", ")}, or ${f}.`;
5
+ } else o.length === 2 ? n += `one of type ${o[0]} or ${o[1]}.` : n += `of type ${o[0]}.`;
6
+ return e == null ? n += ` Received ${e}` : typeof e == "function" && e.name ? n += ` Received function ${e.name}` : typeof e == "object" && e != null && e.constructor?.name && (n += ` Received an instance of ${e.constructor.name}`), n;
3
7
  }
4
- function r(t) {
5
- return t?.[Symbol.toStringTag] === "KeyObject";
8
+ const r = (n, ...e) => i("Key must be ", n, ...e);
9
+ function t(n, e, ...o) {
10
+ return i(`Key for the ${n} algorithm must be `, e, ...o);
6
11
  }
7
- const n = (t) => e(t) || r(t);
8
12
  export {
9
- n as default,
10
- e as isCryptoKey,
11
- r as isKeyObject
13
+ r as default,
14
+ t as withAlg
12
15
  };
@@ -1,19 +1,12 @@
1
- import n from "./index.web102.js";
2
- function r(t) {
3
- return n(t) && typeof t.kty == "string";
4
- }
5
- function o(t) {
6
- return t.kty !== "oct" && typeof t.d == "string";
7
- }
8
1
  function e(t) {
9
- return t.kty !== "oct" && typeof t.d > "u";
2
+ return t?.[Symbol.toStringTag] === "CryptoKey";
10
3
  }
11
- function c(t) {
12
- return t.kty === "oct" && typeof t.k == "string";
4
+ function r(t) {
5
+ return t?.[Symbol.toStringTag] === "KeyObject";
13
6
  }
7
+ const n = (t) => e(t) || r(t);
14
8
  export {
15
- r as isJWK,
16
- o as isPrivateJWK,
17
- e as isPublicJWK,
18
- c as isSecretJWK
9
+ n as default,
10
+ e as isCryptoKey,
11
+ r as isKeyObject
19
12
  };
@@ -1,83 +1,19 @@
1
- import { JOSENotSupported as s } from "./index.web54.js";
2
- function n(e) {
3
- let a, r;
4
- switch (e.kty) {
5
- case "RSA": {
6
- switch (e.alg) {
7
- case "PS256":
8
- case "PS384":
9
- case "PS512":
10
- a = { name: "RSA-PSS", hash: `SHA-${e.alg.slice(-3)}` }, r = e.d ? ["sign"] : ["verify"];
11
- break;
12
- case "RS256":
13
- case "RS384":
14
- case "RS512":
15
- a = { name: "RSASSA-PKCS1-v1_5", hash: `SHA-${e.alg.slice(-3)}` }, r = e.d ? ["sign"] : ["verify"];
16
- break;
17
- case "RSA-OAEP":
18
- case "RSA-OAEP-256":
19
- case "RSA-OAEP-384":
20
- case "RSA-OAEP-512":
21
- a = {
22
- name: "RSA-OAEP",
23
- hash: `SHA-${parseInt(e.alg.slice(-3), 10) || 1}`
24
- }, r = e.d ? ["decrypt", "unwrapKey"] : ["encrypt", "wrapKey"];
25
- break;
26
- default:
27
- throw new s('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
28
- }
29
- break;
30
- }
31
- case "EC": {
32
- switch (e.alg) {
33
- case "ES256":
34
- a = { name: "ECDSA", namedCurve: "P-256" }, r = e.d ? ["sign"] : ["verify"];
35
- break;
36
- case "ES384":
37
- a = { name: "ECDSA", namedCurve: "P-384" }, r = e.d ? ["sign"] : ["verify"];
38
- break;
39
- case "ES512":
40
- a = { name: "ECDSA", namedCurve: "P-521" }, r = e.d ? ["sign"] : ["verify"];
41
- break;
42
- case "ECDH-ES":
43
- case "ECDH-ES+A128KW":
44
- case "ECDH-ES+A192KW":
45
- case "ECDH-ES+A256KW":
46
- a = { name: "ECDH", namedCurve: e.crv }, r = e.d ? ["deriveBits"] : [];
47
- break;
48
- default:
49
- throw new s('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
50
- }
51
- break;
52
- }
53
- case "OKP": {
54
- switch (e.alg) {
55
- case "Ed25519":
56
- case "EdDSA":
57
- a = { name: "Ed25519" }, r = e.d ? ["sign"] : ["verify"];
58
- break;
59
- case "ECDH-ES":
60
- case "ECDH-ES+A128KW":
61
- case "ECDH-ES+A192KW":
62
- case "ECDH-ES+A256KW":
63
- a = { name: e.crv }, r = e.d ? ["deriveBits"] : [];
64
- break;
65
- default:
66
- throw new s('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
67
- }
68
- break;
69
- }
70
- default:
71
- throw new s('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
72
- }
73
- return { algorithm: a, keyUsages: r };
1
+ import n from "./index.web123.js";
2
+ function r(t) {
3
+ return n(t) && typeof t.kty == "string";
4
+ }
5
+ function o(t) {
6
+ return t.kty !== "oct" && typeof t.d == "string";
7
+ }
8
+ function e(t) {
9
+ return t.kty !== "oct" && typeof t.d > "u";
10
+ }
11
+ function c(t) {
12
+ return t.kty === "oct" && typeof t.k == "string";
74
13
  }
75
- const i = async (e) => {
76
- if (!e.alg)
77
- throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
78
- const { algorithm: a, keyUsages: r } = n(e), t = { ...e };
79
- return delete t.alg, delete t.use, crypto.subtle.importKey("jwk", t, a, e.ext ?? !e.d, e.key_ops ?? r);
80
- };
81
14
  export {
82
- i as default
15
+ r as isJWK,
16
+ o as isPrivateJWK,
17
+ e as isPublicJWK,
18
+ c as isSecretJWK
83
19
  };