@coinbase/cdp-core 0.0.54 → 0.0.55

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 (180) hide show
  1. package/dist/esm/index.native125.js +2 -2
  2. package/dist/esm/index.native128.js +1 -1
  3. package/dist/esm/index.native131.js +19 -77
  4. package/dist/esm/index.native132.js +10 -4
  5. package/dist/esm/index.native133.js +19 -20
  6. package/dist/esm/index.native134.js +93 -9
  7. package/dist/esm/index.native135.js +19 -18
  8. package/dist/esm/index.native136.js +105 -81
  9. package/dist/esm/index.native137.js +78 -20
  10. package/dist/esm/index.native138.js +4 -118
  11. package/dist/esm/index.native143.js +7 -38
  12. package/dist/esm/index.native145.js +375 -67
  13. package/dist/esm/index.native146.js +832 -34
  14. package/dist/esm/index.native147.js +38 -20
  15. package/dist/esm/index.native148.js +2 -8
  16. package/dist/esm/index.native149.js +70 -2
  17. package/dist/esm/index.native150.js +30 -373
  18. package/dist/esm/index.native151.js +20 -832
  19. package/dist/esm/index.native154.js +1 -1
  20. package/dist/esm/index.native160.js +1 -1
  21. package/dist/esm/index.native162.js +2 -2
  22. package/dist/esm/index.native163.js +2 -2
  23. package/dist/esm/index.native164.js +2 -2
  24. package/dist/esm/index.native25.js +1 -1
  25. package/dist/esm/index.native35.js +3 -3
  26. package/dist/esm/index.native41.js +3 -3
  27. package/dist/esm/index.native46.js +13 -373
  28. package/dist/esm/index.native47.js +22 -28
  29. package/dist/esm/index.native48.js +50 -28
  30. package/dist/esm/index.native49.js +373 -13
  31. package/dist/esm/index.native50.js +28 -22
  32. package/dist/esm/index.native51.js +28 -50
  33. package/dist/esm/index.native96.js +7 -7
  34. package/dist/esm/index.web100.js +4 -8
  35. package/dist/esm/index.web101.js +2 -8
  36. package/dist/esm/index.web102.js +4 -71
  37. package/dist/esm/index.web103.js +12 -12
  38. package/dist/esm/index.web104.js +7 -3
  39. package/dist/esm/index.web105.js +3 -4
  40. package/dist/esm/index.web106.js +19 -4
  41. package/dist/esm/index.web107.js +8 -4
  42. package/dist/esm/index.web108.js +7 -19
  43. package/dist/esm/index.web109.js +66 -47
  44. package/dist/esm/index.web110.js +18 -17
  45. package/dist/esm/index.web111.js +3 -20
  46. package/dist/esm/index.web112.js +4 -8
  47. package/dist/esm/index.web113.js +4 -30
  48. package/dist/esm/index.web114.js +4 -7
  49. package/dist/esm/index.web115.js +10 -11
  50. package/dist/esm/index.web116.js +52 -4
  51. package/dist/esm/index.web117.js +17 -54
  52. package/dist/esm/index.web118.js +20 -10
  53. package/dist/esm/index.web119.js +9 -2
  54. package/dist/esm/index.web120.js +30 -44
  55. package/dist/esm/index.web121.js +7 -13
  56. package/dist/esm/index.web122.js +21 -2
  57. package/dist/esm/index.web124.js +1 -1
  58. package/dist/esm/index.web131.js +20 -3
  59. package/dist/esm/index.web132.js +10 -2
  60. package/dist/esm/index.web133.js +18 -107
  61. package/dist/esm/index.web134.js +94 -2
  62. package/dist/esm/index.web135.js +20 -20
  63. package/dist/esm/index.web136.js +117 -9
  64. package/dist/esm/index.web137.js +2 -20
  65. package/dist/esm/index.web138.js +104 -89
  66. package/dist/esm/index.web139.js +2 -21
  67. package/dist/esm/index.web140.js +4 -118
  68. package/dist/esm/index.web141.js +1 -1
  69. package/dist/esm/index.web153.js +1 -1
  70. package/dist/esm/index.web158.js +1 -1
  71. package/dist/esm/index.web159.js +1 -1
  72. package/dist/esm/index.web34.js +3 -3
  73. package/dist/esm/index.web40.js +3 -3
  74. package/dist/esm/index.web45.js +13 -373
  75. package/dist/esm/index.web46.js +22 -28
  76. package/dist/esm/index.web47.js +50 -28
  77. package/dist/esm/index.web48.js +379 -2
  78. package/dist/esm/index.web49.js +2 -68
  79. package/dist/esm/index.web50.js +37 -336
  80. package/dist/esm/index.web51.js +360 -12
  81. package/dist/esm/index.web52.js +28 -22
  82. package/dist/esm/index.web53.js +28 -50
  83. package/dist/esm/index.web71.js +1 -1
  84. package/dist/esm/index.web95.js +54 -4
  85. package/dist/esm/index.web96.js +10 -18
  86. package/dist/esm/index.web97.js +2 -8
  87. package/dist/esm/index.web98.js +45 -4
  88. package/dist/esm/index.web99.js +13 -19
  89. package/dist/native/index.native125.js +2 -2
  90. package/dist/native/index.native128.js +1 -1
  91. package/dist/native/index.native131.js +19 -77
  92. package/dist/native/index.native132.js +10 -4
  93. package/dist/native/index.native133.js +19 -20
  94. package/dist/native/index.native134.js +93 -9
  95. package/dist/native/index.native135.js +19 -18
  96. package/dist/native/index.native136.js +105 -81
  97. package/dist/native/index.native137.js +78 -20
  98. package/dist/native/index.native138.js +4 -118
  99. package/dist/native/index.native143.js +7 -38
  100. package/dist/native/index.native145.js +375 -67
  101. package/dist/native/index.native146.js +832 -34
  102. package/dist/native/index.native147.js +38 -20
  103. package/dist/native/index.native148.js +2 -8
  104. package/dist/native/index.native149.js +70 -2
  105. package/dist/native/index.native150.js +30 -373
  106. package/dist/native/index.native151.js +20 -832
  107. package/dist/native/index.native154.js +1 -1
  108. package/dist/native/index.native160.js +1 -1
  109. package/dist/native/index.native162.js +2 -2
  110. package/dist/native/index.native163.js +2 -2
  111. package/dist/native/index.native164.js +2 -2
  112. package/dist/native/index.native25.js +1 -1
  113. package/dist/native/index.native35.js +3 -3
  114. package/dist/native/index.native41.js +3 -3
  115. package/dist/native/index.native46.js +13 -373
  116. package/dist/native/index.native47.js +22 -28
  117. package/dist/native/index.native48.js +50 -28
  118. package/dist/native/index.native49.js +373 -13
  119. package/dist/native/index.native50.js +28 -22
  120. package/dist/native/index.native51.js +28 -50
  121. package/dist/native/index.native96.js +7 -7
  122. package/dist/native-types/types.d.ts +3 -1
  123. package/dist/types/types.d.ts +3 -1
  124. package/dist/web/index.web100.js +4 -8
  125. package/dist/web/index.web101.js +2 -8
  126. package/dist/web/index.web102.js +4 -71
  127. package/dist/web/index.web103.js +12 -12
  128. package/dist/web/index.web104.js +7 -3
  129. package/dist/web/index.web105.js +3 -4
  130. package/dist/web/index.web106.js +19 -4
  131. package/dist/web/index.web107.js +8 -4
  132. package/dist/web/index.web108.js +7 -19
  133. package/dist/web/index.web109.js +66 -47
  134. package/dist/web/index.web110.js +18 -17
  135. package/dist/web/index.web111.js +3 -20
  136. package/dist/web/index.web112.js +4 -8
  137. package/dist/web/index.web113.js +4 -30
  138. package/dist/web/index.web114.js +4 -7
  139. package/dist/web/index.web115.js +10 -11
  140. package/dist/web/index.web116.js +52 -4
  141. package/dist/web/index.web117.js +17 -54
  142. package/dist/web/index.web118.js +20 -10
  143. package/dist/web/index.web119.js +9 -2
  144. package/dist/web/index.web120.js +30 -44
  145. package/dist/web/index.web121.js +7 -13
  146. package/dist/web/index.web122.js +21 -2
  147. package/dist/web/index.web124.js +1 -1
  148. package/dist/web/index.web131.js +20 -3
  149. package/dist/web/index.web132.js +10 -2
  150. package/dist/web/index.web133.js +18 -107
  151. package/dist/web/index.web134.js +94 -2
  152. package/dist/web/index.web135.js +20 -20
  153. package/dist/web/index.web136.js +117 -9
  154. package/dist/web/index.web137.js +2 -20
  155. package/dist/web/index.web138.js +104 -89
  156. package/dist/web/index.web139.js +2 -21
  157. package/dist/web/index.web140.js +4 -118
  158. package/dist/web/index.web141.js +1 -1
  159. package/dist/web/index.web153.js +1 -1
  160. package/dist/web/index.web158.js +1 -1
  161. package/dist/web/index.web159.js +1 -1
  162. package/dist/web/index.web34.js +3 -3
  163. package/dist/web/index.web40.js +3 -3
  164. package/dist/web/index.web45.js +13 -373
  165. package/dist/web/index.web46.js +22 -28
  166. package/dist/web/index.web47.js +50 -28
  167. package/dist/web/index.web48.js +379 -2
  168. package/dist/web/index.web49.js +2 -68
  169. package/dist/web/index.web50.js +37 -336
  170. package/dist/web/index.web51.js +360 -12
  171. package/dist/web/index.web52.js +28 -22
  172. package/dist/web/index.web53.js +28 -50
  173. package/dist/web/index.web71.js +1 -1
  174. package/dist/web/index.web95.js +54 -4
  175. package/dist/web/index.web96.js +10 -18
  176. package/dist/web/index.web97.js +2 -8
  177. package/dist/web/index.web98.js +45 -4
  178. package/dist/web/index.web99.js +13 -19
  179. package/dist/web-types/types.d.ts +3 -1
  180. package/package.json +2 -2
@@ -1,47 +1,33 @@
1
- const o = /^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i, t = (c) => {
2
- const s = o.exec(c);
3
- if (!s || s[4] && s[1])
4
- throw new TypeError("Invalid time period format");
5
- const a = parseFloat(s[2]), r = s[3].toLowerCase();
6
- let e;
7
- switch (r) {
8
- case "sec":
9
- case "secs":
10
- case "second":
11
- case "seconds":
12
- case "s":
13
- e = Math.round(a);
14
- break;
15
- case "minute":
16
- case "minutes":
17
- case "min":
18
- case "mins":
19
- case "m":
20
- e = Math.round(a * 60);
21
- break;
22
- case "hour":
23
- case "hours":
24
- case "hr":
25
- case "hrs":
26
- case "h":
27
- e = Math.round(a * 3600);
28
- break;
29
- case "day":
30
- case "days":
31
- case "d":
32
- e = Math.round(a * 86400);
33
- break;
34
- case "week":
35
- case "weeks":
36
- case "w":
37
- e = Math.round(a * 604800);
38
- break;
39
- default:
40
- e = Math.round(a * 31557600);
41
- break;
1
+ import { sendUserOperation as c } from "./index.web6.js";
2
+ import { isChainIdSupportedForCDPUserOps as u, userOperationChainIdToNameMapping as p } from "./index.web30.js";
3
+ import { validateUserHasEvmSmartAccount as d, RPCRequestError as o, STANDARD_ERROR_CODES as s } from "./index.web19.js";
4
+ async function R(r, t) {
5
+ const [{ calls: n }] = r, i = (await d()).evmSmartAccounts[0], a = t.getState().chainId;
6
+ if (!u(a))
7
+ throw new o(
8
+ s.rpc.invalidParams,
9
+ "Chain ID is not supported for user operations"
10
+ );
11
+ try {
12
+ return (await c({
13
+ evmSmartAccount: i,
14
+ calls: m(n),
15
+ network: p[a]
16
+ })).userOperationHash;
17
+ } catch (e) {
18
+ throw new o(
19
+ s.rpc.transactionRejected,
20
+ e instanceof Error ? e.message : "User operation failed"
21
+ );
42
22
  }
43
- return s[1] === "-" || s[4] === "ago" ? -e : e;
44
- };
23
+ }
24
+ function m(r) {
25
+ return r.map((t) => ({
26
+ to: t.to,
27
+ data: t.data,
28
+ value: t.value ? BigInt(t.value) : void 0
29
+ }));
30
+ }
45
31
  export {
46
- t as default
32
+ R as handleSendCalls
47
33
  };
@@ -1,16 +1,10 @@
1
- function o(t) {
2
- return typeof t == "object" && t !== null;
1
+ import { EIP1193ProviderError as r, STANDARD_ERROR_CODES as t } from "./index.web19.js";
2
+ async function a(n, o, s) {
3
+ throw new r(
4
+ t.provider.unsupportedMethod,
5
+ "eth_sendTransaction is not supported with smart accounts. Use wallet_sendCalls instead."
6
+ );
3
7
  }
4
- const r = (t) => {
5
- if (!o(t) || Object.prototype.toString.call(t) !== "[object Object]")
6
- return !1;
7
- if (Object.getPrototypeOf(t) === null)
8
- return !0;
9
- let e = t;
10
- for (; Object.getPrototypeOf(e) !== null; )
11
- e = Object.getPrototypeOf(e);
12
- return Object.getPrototypeOf(t) === e;
13
- };
14
8
  export {
15
- r as default
9
+ a as handleSendTransaction
16
10
  };
@@ -1,4 +1,23 @@
1
- const o = "2.33.0";
1
+ import { hashTypedData as s } from "viem";
2
+ import { signAndWrapTypedDataForSmartAccount as c } from "./index.web36.js";
3
+ import { validateUserOwnsSmartAccount as i, EIP1193ProviderError as d, STANDARD_ERROR_CODES as m } from "./index.web19.js";
4
+ async function A(a, e) {
5
+ const [t, n] = a, o = await i(t);
6
+ try {
7
+ const { signature: r } = await c({
8
+ smartAccount: t,
9
+ ownerAddress: o.evmAccounts[0],
10
+ hash: s(JSON.parse(n)),
11
+ chainId: e.getState().chainId
12
+ });
13
+ return r;
14
+ } catch (r) {
15
+ throw new d(
16
+ m.provider.userRejectedRequest,
17
+ r instanceof Error ? r.message : "Signing failed"
18
+ );
19
+ }
20
+ }
2
21
  export {
3
- o as version
22
+ A as handleSignTypedData
4
23
  };
@@ -1,4 +1,4 @@
1
- import { getDefaultExportFromCjs as r } from "./index.web131.js";
1
+ import { getDefaultExportFromCjs as r } from "./index.web140.js";
2
2
  import { __require as o } from "./index.web142.js";
3
3
  var t = o();
4
4
  const a = /* @__PURE__ */ r(t);
@@ -1,6 +1,23 @@
1
- function e(t) {
2
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
1
+ import { encoder as t, decoder as o } from "./index.web96.js";
2
+ import { encodeBase64 as c, decodeBase64 as a } from "./index.web152.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, "_");
3
19
  }
4
20
  export {
5
- e as getDefaultExportFromCjs
21
+ i as decode,
22
+ p as encode
6
23
  };
@@ -1,4 +1,12 @@
1
- const o = "0.1.1";
1
+ import n from "./index.web153.js";
2
+ import s from "./index.web154.js";
3
+ import a from "./index.web155.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
+ };
2
10
  export {
3
- o as version
11
+ y as default
4
12
  };
@@ -1,111 +1,22 @@
1
- import { __module as x } from "./index.web134.js";
2
- var w;
3
- function O() {
4
- return w ? x.exports : (w = 1, function(d) {
5
- var g = Object.prototype.hasOwnProperty, c = "~";
6
- function h() {
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;
7
11
  }
8
- Object.create && (h.prototype = /* @__PURE__ */ Object.create(null), new h().__proto__ || (c = !1));
9
- function b(s, t, n) {
10
- this.fn = s, this.context = t, this.once = n || !1;
12
+ for (const n of r) {
13
+ if (e.has(n))
14
+ return !1;
15
+ e.add(n);
11
16
  }
12
- function m(s, t, n, r, l) {
13
- if (typeof n != "function")
14
- throw new TypeError("The listener must be a function");
15
- var u = new b(n, r || s, l), o = c ? c + t : t;
16
- return s._events[o] ? s._events[o].fn ? s._events[o] = [s._events[o], u] : s._events[o].push(u) : (s._events[o] = u, s._eventsCount++), s;
17
- }
18
- function y(s, t) {
19
- --s._eventsCount === 0 ? s._events = new h() : delete s._events[t];
20
- }
21
- function f() {
22
- this._events = new h(), this._eventsCount = 0;
23
- }
24
- f.prototype.eventNames = function() {
25
- var t = [], n, r;
26
- if (this._eventsCount === 0) return t;
27
- for (r in n = this._events)
28
- g.call(n, r) && t.push(c ? r.slice(1) : r);
29
- return Object.getOwnPropertySymbols ? t.concat(Object.getOwnPropertySymbols(n)) : t;
30
- }, f.prototype.listeners = function(t) {
31
- var n = c ? c + t : t, r = this._events[n];
32
- if (!r) return [];
33
- if (r.fn) return [r.fn];
34
- for (var l = 0, u = r.length, o = new Array(u); l < u; l++)
35
- o[l] = r[l].fn;
36
- return o;
37
- }, f.prototype.listenerCount = function(t) {
38
- var n = c ? c + t : t, r = this._events[n];
39
- return r ? r.fn ? 1 : r.length : 0;
40
- }, f.prototype.emit = function(t, n, r, l, u, o) {
41
- var a = c ? c + t : t;
42
- if (!this._events[a]) return !1;
43
- var e = this._events[a], p = arguments.length, v, i;
44
- if (e.fn) {
45
- switch (e.once && this.removeListener(t, e.fn, void 0, !0), p) {
46
- case 1:
47
- return e.fn.call(e.context), !0;
48
- case 2:
49
- return e.fn.call(e.context, n), !0;
50
- case 3:
51
- return e.fn.call(e.context, n, r), !0;
52
- case 4:
53
- return e.fn.call(e.context, n, r, l), !0;
54
- case 5:
55
- return e.fn.call(e.context, n, r, l, u), !0;
56
- case 6:
57
- return e.fn.call(e.context, n, r, l, u, o), !0;
58
- }
59
- for (i = 1, v = new Array(p - 1); i < p; i++)
60
- v[i - 1] = arguments[i];
61
- e.fn.apply(e.context, v);
62
- } else {
63
- var E = e.length, _;
64
- for (i = 0; i < E; i++)
65
- switch (e[i].once && this.removeListener(t, e[i].fn, void 0, !0), p) {
66
- case 1:
67
- e[i].fn.call(e[i].context);
68
- break;
69
- case 2:
70
- e[i].fn.call(e[i].context, n);
71
- break;
72
- case 3:
73
- e[i].fn.call(e[i].context, n, r);
74
- break;
75
- case 4:
76
- e[i].fn.call(e[i].context, n, r, l);
77
- break;
78
- default:
79
- if (!v) for (_ = 1, v = new Array(p - 1); _ < p; _++)
80
- v[_ - 1] = arguments[_];
81
- e[i].fn.apply(e[i].context, v);
82
- }
83
- }
84
- return !0;
85
- }, f.prototype.on = function(t, n, r) {
86
- return m(this, t, n, r, !1);
87
- }, f.prototype.once = function(t, n, r) {
88
- return m(this, t, n, r, !0);
89
- }, f.prototype.removeListener = function(t, n, r, l) {
90
- var u = c ? c + t : t;
91
- if (!this._events[u]) return this;
92
- if (!n)
93
- return y(this, u), this;
94
- var o = this._events[u];
95
- if (o.fn)
96
- o.fn === n && (!l || o.once) && (!r || o.context === r) && y(this, u);
97
- else {
98
- for (var a = 0, e = [], p = o.length; a < p; a++)
99
- (o[a].fn !== n || l && !o[a].once || r && o[a].context !== r) && e.push(o[a]);
100
- e.length ? this._events[u] = e.length === 1 ? e[0] : e : y(this, u);
101
- }
102
- return this;
103
- }, f.prototype.removeAllListeners = function(t) {
104
- var n;
105
- return t ? (n = c ? c + t : t, this._events[n] && y(this, n)) : (this._events = new h(), this._eventsCount = 0), this;
106
- }, f.prototype.off = f.prototype.removeListener, f.prototype.addListener = f.prototype.on, f.prefixed = c, f.EventEmitter = f, d.exports = f;
107
- }(x), x.exports);
108
- }
17
+ }
18
+ return !0;
19
+ };
109
20
  export {
110
- O as __require
21
+ a as default
111
22
  };
@@ -1,4 +1,96 @@
1
- var e = { exports: {} };
1
+ import { withAlg as n } from "./index.web156.js";
2
+ import c from "./index.web157.js";
3
+ import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.web158.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`);
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;
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);
93
+ };
2
94
  export {
3
- e as __module
95
+ d as default
4
96
  };
@@ -1,23 +1,23 @@
1
- import { encoder as t, decoder as o } from "./index.web118.js";
2
- import { encodeBase64 as c, decodeBase64 as a } from "./index.web152.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.");
1
+ import { JOSENotSupported as f } from "./index.web46.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`);
14
18
  }
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
- }
19
+ return new Set(e.crit);
20
+ };
20
21
  export {
21
- i as decode,
22
- p as encode
22
+ w as default
23
23
  };
@@ -1,12 +1,120 @@
1
- import n from "./index.web153.js";
2
- import s from "./index.web154.js";
3
- import a from "./index.web155.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);
1
+ import { isJWK as p } from "./index.web158.js";
2
+ import { decode as m } from "./index.web131.js";
3
+ import y from "./index.web159.js";
4
+ import { isCryptoKey as S, isKeyObject as K } from "./index.web157.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"]);
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
+ ]);
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");
9
117
  };
10
118
  export {
11
- y as default
119
+ d as default
12
120
  };
@@ -1,22 +1,4 @@
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;
19
- };
1
+ const o = "0.1.1";
20
2
  export {
21
- a as default
3
+ o as version
22
4
  };