@coinbase/cdp-core 0.0.65 → 0.0.66

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 (290) hide show
  1. package/README.md +1 -1
  2. package/dist/esm/index.native100.js +364 -28
  3. package/dist/esm/index.native101.js +4 -2
  4. package/dist/esm/index.native102.js +28 -65
  5. package/dist/esm/index.native103.js +28 -364
  6. package/dist/esm/index.native111.js +1 -1
  7. package/dist/esm/index.native12.js +22 -20
  8. package/dist/esm/index.native124.js +16 -12
  9. package/dist/esm/index.native136.js +19 -16
  10. package/dist/esm/index.native148.js +38 -7
  11. package/dist/esm/index.native150.js +67 -375
  12. package/dist/esm/index.native151.js +34 -832
  13. package/dist/esm/index.native152.js +20 -38
  14. package/dist/esm/index.native153.js +8 -2
  15. package/dist/esm/index.native154.js +2 -70
  16. package/dist/esm/index.native155.js +373 -30
  17. package/dist/esm/index.native156.js +832 -20
  18. package/dist/esm/index.native169.js +1 -1
  19. package/dist/esm/index.native171.js +2 -2
  20. package/dist/esm/index.native172.js +2 -2
  21. package/dist/esm/index.native173.js +2 -2
  22. package/dist/esm/index.native28.js +1 -1
  23. package/dist/esm/index.native47.js +1 -1
  24. package/dist/esm/index.native48.js +3 -3
  25. package/dist/esm/index.native97.js +377 -2
  26. package/dist/esm/index.native98.js +2 -379
  27. package/dist/esm/index.native99.js +65 -28
  28. package/dist/esm/index.web100.js +4 -2
  29. package/dist/esm/index.web101.js +28 -65
  30. package/dist/esm/index.web102.js +28 -364
  31. package/dist/esm/index.web103.js +6 -6
  32. package/dist/esm/index.web109.js +20 -4
  33. package/dist/esm/index.web11.js +22 -20
  34. package/dist/esm/index.web110.js +5 -19
  35. package/dist/esm/index.web111.js +47 -7
  36. package/dist/esm/index.web112.js +19 -3
  37. package/dist/esm/index.web113.js +79 -19
  38. package/dist/esm/index.web114.js +103 -8
  39. package/dist/esm/index.web115.js +32 -7
  40. package/dist/esm/index.web116.js +6 -71
  41. package/dist/esm/index.web117.js +4 -18
  42. package/dist/esm/index.web118.js +78 -3
  43. package/dist/esm/index.web119.js +4 -4
  44. package/dist/esm/index.web120.js +18 -4
  45. package/dist/esm/index.web121.js +7 -4
  46. package/dist/esm/index.web122.js +3 -19
  47. package/dist/esm/index.web123.js +17 -46
  48. package/dist/esm/index.web124.js +8 -17
  49. package/dist/esm/index.web125.js +7 -20
  50. package/dist/esm/index.web126.js +71 -8
  51. package/dist/esm/index.web127.js +14 -26
  52. package/dist/esm/index.web128.js +3 -7
  53. package/dist/esm/index.web129.js +4 -20
  54. package/dist/esm/index.web130.js +4 -20
  55. package/dist/esm/index.web131.js +5 -5
  56. package/dist/esm/index.web132.js +16 -44
  57. package/dist/esm/index.web133.js +50 -17
  58. package/dist/esm/index.web134.js +17 -79
  59. package/dist/esm/index.web135.js +22 -102
  60. package/dist/esm/index.web136.js +8 -32
  61. package/dist/esm/index.web137.js +30 -6
  62. package/dist/esm/index.web138.js +7 -4
  63. package/dist/esm/index.web139.js +18 -18
  64. package/dist/esm/index.web140.js +4 -10
  65. package/dist/esm/index.web141.js +20 -19
  66. package/dist/esm/index.web142.js +9 -93
  67. package/dist/esm/index.web143.js +18 -19
  68. package/dist/esm/index.web144.js +81 -105
  69. package/dist/esm/index.web145.js +20 -78
  70. package/dist/esm/index.web146.js +118 -4
  71. package/dist/esm/index.web147.js +7 -46
  72. package/dist/esm/index.web148.js +2 -8
  73. package/dist/esm/index.web149.js +378 -2
  74. package/dist/esm/index.web150.js +809 -354
  75. package/dist/esm/index.web151.js +38 -832
  76. package/dist/esm/index.web152.js +2 -39
  77. package/dist/esm/index.web153.js +70 -2
  78. package/dist/esm/index.web154.js +31 -66
  79. package/dist/esm/index.web155.js +19 -33
  80. package/dist/esm/index.web156.js +5 -21
  81. package/dist/esm/index.web157.js +2 -5
  82. package/dist/esm/index.web158.js +109 -2
  83. package/dist/esm/index.web159.js +2 -109
  84. package/dist/esm/index.web160.js +18 -2
  85. package/dist/esm/index.web161.js +28 -18
  86. package/dist/esm/index.web162.js +6 -26
  87. package/dist/esm/index.web163.js +9 -6
  88. package/dist/esm/index.web164.js +13 -11
  89. package/dist/esm/index.web165.js +8 -11
  90. package/dist/esm/index.web166.js +14 -7
  91. package/dist/esm/index.web167.js +80 -16
  92. package/dist/esm/index.web168.js +45 -79
  93. package/dist/esm/index.web169.js +1 -1
  94. package/dist/esm/index.web25.js +2 -2
  95. package/dist/esm/index.web26.js +1 -1
  96. package/dist/esm/index.web37.js +12 -12
  97. package/dist/esm/index.web43.js +2 -2
  98. package/dist/esm/index.web46.js +1 -1
  99. package/dist/esm/index.web47.js +3 -3
  100. package/dist/esm/index.web57.js +18 -2
  101. package/dist/esm/index.web58.js +45 -376
  102. package/dist/esm/index.web59.js +13 -28
  103. package/dist/esm/index.web60.js +55 -28
  104. package/dist/esm/index.web61.js +6 -17
  105. package/dist/esm/index.web62.js +20 -44
  106. package/dist/esm/index.web63.js +11 -13
  107. package/dist/esm/index.web64.js +3 -55
  108. package/dist/esm/index.web65.js +3 -6
  109. package/dist/esm/index.web66.js +33 -20
  110. package/dist/esm/index.web67.js +12 -11
  111. package/dist/esm/index.web68.js +4 -3
  112. package/dist/esm/index.web69.js +28 -3
  113. package/dist/esm/index.web70.js +6 -34
  114. package/dist/esm/index.web71.js +41 -11
  115. package/dist/esm/index.web72.js +55 -4
  116. package/dist/esm/index.web73.js +127 -28
  117. package/dist/esm/index.web74.js +23 -6
  118. package/dist/esm/index.web75.js +11 -41
  119. package/dist/esm/index.web76.js +102 -53
  120. package/dist/esm/index.web77.js +6 -127
  121. package/dist/esm/index.web78.js +3 -24
  122. package/dist/esm/index.web79.js +14 -12
  123. package/dist/esm/index.web80.js +30 -100
  124. package/dist/esm/index.web81.js +78 -6
  125. package/dist/esm/index.web82.js +2 -3
  126. package/dist/esm/index.web83.js +2 -15
  127. package/dist/esm/index.web84.js +8 -30
  128. package/dist/esm/index.web85.js +33 -74
  129. package/dist/esm/index.web86.js +7 -2
  130. package/dist/esm/index.web87.js +35 -2
  131. package/dist/esm/index.web88.js +8 -12
  132. package/dist/esm/index.web89.js +9 -36
  133. package/dist/esm/index.web90.js +11 -6
  134. package/dist/esm/index.web91.js +12 -33
  135. package/dist/esm/index.web92.js +18 -8
  136. package/dist/esm/index.web93.js +5 -10
  137. package/dist/esm/index.web94.js +5 -12
  138. package/dist/esm/index.web95.js +10 -13
  139. package/dist/esm/index.web96.js +376 -18
  140. package/dist/esm/index.web97.js +2 -8
  141. package/dist/esm/index.web98.js +66 -5
  142. package/dist/esm/index.web99.js +364 -10
  143. package/dist/native/index.native100.js +364 -28
  144. package/dist/native/index.native101.js +4 -2
  145. package/dist/native/index.native102.js +28 -65
  146. package/dist/native/index.native103.js +28 -364
  147. package/dist/native/index.native111.js +1 -1
  148. package/dist/native/index.native12.js +22 -20
  149. package/dist/native/index.native124.js +16 -12
  150. package/dist/native/index.native136.js +19 -16
  151. package/dist/native/index.native148.js +38 -7
  152. package/dist/native/index.native150.js +67 -375
  153. package/dist/native/index.native151.js +34 -832
  154. package/dist/native/index.native152.js +20 -38
  155. package/dist/native/index.native153.js +8 -2
  156. package/dist/native/index.native154.js +2 -70
  157. package/dist/native/index.native155.js +373 -30
  158. package/dist/native/index.native156.js +832 -20
  159. package/dist/native/index.native169.js +1 -1
  160. package/dist/native/index.native171.js +2 -2
  161. package/dist/native/index.native172.js +2 -2
  162. package/dist/native/index.native173.js +2 -2
  163. package/dist/native/index.native28.js +1 -1
  164. package/dist/native/index.native47.js +1 -1
  165. package/dist/native/index.native48.js +3 -3
  166. package/dist/native/index.native97.js +377 -2
  167. package/dist/native/index.native98.js +2 -379
  168. package/dist/native/index.native99.js +65 -28
  169. package/dist/native-types/eip1193/types.d.ts +4 -1
  170. package/dist/native-types/version.d.ts +1 -1
  171. package/dist/types/eip1193/types.d.ts +4 -1
  172. package/dist/types/version.d.ts +1 -1
  173. package/dist/web/index.web100.js +4 -2
  174. package/dist/web/index.web101.js +28 -65
  175. package/dist/web/index.web102.js +28 -364
  176. package/dist/web/index.web103.js +6 -6
  177. package/dist/web/index.web109.js +20 -4
  178. package/dist/web/index.web11.js +22 -20
  179. package/dist/web/index.web110.js +5 -19
  180. package/dist/web/index.web111.js +47 -7
  181. package/dist/web/index.web112.js +19 -3
  182. package/dist/web/index.web113.js +79 -19
  183. package/dist/web/index.web114.js +103 -8
  184. package/dist/web/index.web115.js +32 -7
  185. package/dist/web/index.web116.js +6 -71
  186. package/dist/web/index.web117.js +4 -18
  187. package/dist/web/index.web118.js +78 -3
  188. package/dist/web/index.web119.js +4 -4
  189. package/dist/web/index.web120.js +18 -4
  190. package/dist/web/index.web121.js +7 -4
  191. package/dist/web/index.web122.js +3 -19
  192. package/dist/web/index.web123.js +17 -46
  193. package/dist/web/index.web124.js +8 -17
  194. package/dist/web/index.web125.js +7 -20
  195. package/dist/web/index.web126.js +71 -8
  196. package/dist/web/index.web127.js +14 -26
  197. package/dist/web/index.web128.js +3 -7
  198. package/dist/web/index.web129.js +4 -20
  199. package/dist/web/index.web130.js +4 -20
  200. package/dist/web/index.web131.js +5 -5
  201. package/dist/web/index.web132.js +16 -44
  202. package/dist/web/index.web133.js +50 -17
  203. package/dist/web/index.web134.js +17 -79
  204. package/dist/web/index.web135.js +22 -102
  205. package/dist/web/index.web136.js +8 -32
  206. package/dist/web/index.web137.js +30 -6
  207. package/dist/web/index.web138.js +7 -4
  208. package/dist/web/index.web139.js +18 -18
  209. package/dist/web/index.web140.js +4 -10
  210. package/dist/web/index.web141.js +20 -19
  211. package/dist/web/index.web142.js +9 -93
  212. package/dist/web/index.web143.js +18 -19
  213. package/dist/web/index.web144.js +81 -105
  214. package/dist/web/index.web145.js +20 -78
  215. package/dist/web/index.web146.js +118 -4
  216. package/dist/web/index.web147.js +7 -46
  217. package/dist/web/index.web148.js +2 -8
  218. package/dist/web/index.web149.js +378 -2
  219. package/dist/web/index.web150.js +809 -354
  220. package/dist/web/index.web151.js +38 -832
  221. package/dist/web/index.web152.js +2 -39
  222. package/dist/web/index.web153.js +70 -2
  223. package/dist/web/index.web154.js +31 -66
  224. package/dist/web/index.web155.js +19 -33
  225. package/dist/web/index.web156.js +5 -21
  226. package/dist/web/index.web157.js +2 -5
  227. package/dist/web/index.web158.js +109 -2
  228. package/dist/web/index.web159.js +2 -109
  229. package/dist/web/index.web160.js +18 -2
  230. package/dist/web/index.web161.js +28 -18
  231. package/dist/web/index.web162.js +6 -26
  232. package/dist/web/index.web163.js +9 -6
  233. package/dist/web/index.web164.js +13 -11
  234. package/dist/web/index.web165.js +8 -11
  235. package/dist/web/index.web166.js +14 -7
  236. package/dist/web/index.web167.js +80 -16
  237. package/dist/web/index.web168.js +45 -79
  238. package/dist/web/index.web169.js +1 -1
  239. package/dist/web/index.web25.js +2 -2
  240. package/dist/web/index.web26.js +1 -1
  241. package/dist/web/index.web37.js +12 -12
  242. package/dist/web/index.web43.js +2 -2
  243. package/dist/web/index.web46.js +1 -1
  244. package/dist/web/index.web47.js +3 -3
  245. package/dist/web/index.web57.js +18 -2
  246. package/dist/web/index.web58.js +45 -376
  247. package/dist/web/index.web59.js +13 -28
  248. package/dist/web/index.web60.js +55 -28
  249. package/dist/web/index.web61.js +6 -17
  250. package/dist/web/index.web62.js +20 -44
  251. package/dist/web/index.web63.js +11 -13
  252. package/dist/web/index.web64.js +3 -55
  253. package/dist/web/index.web65.js +3 -6
  254. package/dist/web/index.web66.js +33 -20
  255. package/dist/web/index.web67.js +12 -11
  256. package/dist/web/index.web68.js +4 -3
  257. package/dist/web/index.web69.js +28 -3
  258. package/dist/web/index.web70.js +6 -34
  259. package/dist/web/index.web71.js +41 -11
  260. package/dist/web/index.web72.js +55 -4
  261. package/dist/web/index.web73.js +127 -28
  262. package/dist/web/index.web74.js +23 -6
  263. package/dist/web/index.web75.js +11 -41
  264. package/dist/web/index.web76.js +102 -53
  265. package/dist/web/index.web77.js +6 -127
  266. package/dist/web/index.web78.js +3 -24
  267. package/dist/web/index.web79.js +14 -12
  268. package/dist/web/index.web80.js +30 -100
  269. package/dist/web/index.web81.js +78 -6
  270. package/dist/web/index.web82.js +2 -3
  271. package/dist/web/index.web83.js +2 -15
  272. package/dist/web/index.web84.js +8 -30
  273. package/dist/web/index.web85.js +33 -74
  274. package/dist/web/index.web86.js +7 -2
  275. package/dist/web/index.web87.js +35 -2
  276. package/dist/web/index.web88.js +8 -12
  277. package/dist/web/index.web89.js +9 -36
  278. package/dist/web/index.web90.js +11 -6
  279. package/dist/web/index.web91.js +12 -33
  280. package/dist/web/index.web92.js +18 -8
  281. package/dist/web/index.web93.js +5 -10
  282. package/dist/web/index.web94.js +5 -12
  283. package/dist/web/index.web95.js +10 -13
  284. package/dist/web/index.web96.js +376 -18
  285. package/dist/web/index.web97.js +2 -8
  286. package/dist/web/index.web98.js +66 -5
  287. package/dist/web/index.web99.js +364 -10
  288. package/dist/web-types/eip1193/types.d.ts +4 -1
  289. package/dist/web-types/version.d.ts +1 -1
  290. package/package.json +2 -2
@@ -1,7 +1,10 @@
1
- import { version as r } from "./index.web158.js";
2
- function e() {
3
- return r;
1
+ import { EIP1193ProviderError as r, STANDARD_ERROR_CODES as t } from "./index.web22.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
+ );
4
7
  }
5
8
  export {
6
- e as getVersion
9
+ a as handleSendTransaction
7
10
  };
@@ -1,23 +1,23 @@
1
- import { encoder as t, decoder as o } from "./index.web104.js";
2
- import { encodeBase64 as c, decodeBase64 as a } from "./index.web161.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, "");
1
+ import { hashTypedData as s } from "viem";
2
+ import { signAndWrapTypedDataForSmartAccount as c } from "./index.web42.js";
3
+ import { validateUserOwnsSmartAccount as i, EIP1193ProviderError as d, STANDARD_ERROR_CODES as m } from "./index.web22.js";
4
+ async function A(a, e) {
5
+ const [t, n] = a, o = await i(t);
10
6
  try {
11
- return a(e);
12
- } catch {
13
- throw new TypeError("The input to be decoded is not correctly encoded.");
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
+ );
14
19
  }
15
20
  }
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
- }
20
21
  export {
21
- i as decode,
22
- p as encode
22
+ A as handleSignTypedData
23
23
  };
@@ -1,12 +1,6 @@
1
- import n from "./index.web162.js";
2
- import s from "./index.web163.js";
3
- import a from "./index.web164.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
+ function e(t) {
2
+ return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
3
+ }
10
4
  export {
11
- y as default
5
+ e as getDefaultExportFromCjs
12
6
  };
@@ -1,22 +1,23 @@
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
- }
1
+ import { encoder as t, decoder as o } from "./index.web104.js";
2
+ import { encodeBase64 as c, decodeBase64 as a } from "./index.web160.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.");
17
14
  }
18
- return !0;
19
- };
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
+ }
20
20
  export {
21
- a as default
21
+ i as decode,
22
+ p as encode
22
23
  };
@@ -1,96 +1,12 @@
1
- import { withAlg as n } from "./index.web165.js";
2
- import c from "./index.web166.js";
3
- import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.web167.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);
1
+ import n from "./index.web161.js";
2
+ import s from "./index.web162.js";
3
+ import a from "./index.web163.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);
93
9
  };
94
10
  export {
95
- d as default
11
+ y as default
96
12
  };
@@ -1,23 +1,22 @@
1
- import { JOSENotSupported as f } from "./index.web53.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
+ 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
+ }
18
17
  }
19
- return new Set(e.crit);
18
+ return !0;
20
19
  };
21
20
  export {
22
- w as default
21
+ a as default
23
22
  };
@@ -1,119 +1,95 @@
1
- import { isJWK as p } from "./index.web167.js";
2
- import { decode as m } from "./index.web139.js";
3
- import y from "./index.web168.js";
4
- import { isCryptoKey as S, isKeyObject as K } from "./index.web166.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":
1
+ import { withAlg as n } from "./index.web164.js";
2
+ import c from "./index.web165.js";
3
+ import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.web166.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";
26
15
  break;
27
- default:
28
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
29
16
  }
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
- ]);
17
+ if (e.use !== i)
18
+ throw new TypeError(`Invalid key for this operation, its "use" must be "${i}" when present`);
38
19
  }
39
- if (e.asymmetricKeyType === "rsa") {
40
- let a;
41
- switch (r) {
42
- case "RSA-OAEP":
43
- a = "SHA-1";
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;
44
29
  break;
45
- case "RS256":
46
- case "PS256":
47
- case "RSA-OAEP-256":
48
- a = "SHA-256";
30
+ case r.startsWith("PBES2"):
31
+ i = "deriveBits";
49
32
  break;
50
- case "RS384":
51
- case "PS384":
52
- case "RSA-OAEP-384":
53
- a = "SHA-384";
33
+ case /^A\d{3}(?:GCM)?(?:KW)?$/.test(r):
34
+ !r.includes("GCM") && r.endsWith("KW") ? i = "unwrapKey" : i = t;
54
35
  break;
55
- case "RS512":
56
- case "PS512":
57
- case "RSA-OAEP-512":
58
- a = "SHA-512";
36
+ case t === "encrypt":
37
+ i = "wrapKey";
38
+ break;
39
+ case t === "decrypt":
40
+ i = r.startsWith("RSA") ? "unwrapKey" : "deriveBits";
59
41
  break;
60
- default:
61
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
62
42
  }
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"]));
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`);
94
45
  }
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);
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"`);
113
58
  }
59
+ }, m = (r, e, t) => {
114
60
  if (p(e))
115
- return e.k ? m(e.k) : f(e, e, r, !0);
116
- throw new Error("unreachable");
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);
117
93
  };
118
94
  export {
119
95
  d as default
@@ -1,81 +1,23 @@
1
- import { Hash as g, createView as l, aexists as b, toBytes as a, abytes as d, aoutput as x, clean as w } from "./index.web134.js";
2
- function y(o, t, s, n) {
3
- if (typeof o.setBigUint64 == "function")
4
- return o.setBigUint64(t, s, n);
5
- const i = BigInt(32), h = BigInt(4294967295), e = Number(s >> i & h), r = Number(s & h), c = n ? 4 : 0, u = n ? 0 : 4;
6
- o.setUint32(t + c, e, n), o.setUint32(t + u, r, n);
7
- }
8
- function U(o, t, s) {
9
- return o & t ^ ~o & s;
10
- }
11
- function _(o, t, s) {
12
- return o & t ^ o & s ^ t & s;
13
- }
14
- class m extends g {
15
- constructor(t, s, n, i) {
16
- super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = t, this.outputLen = s, this.padOffset = n, this.isLE = i, this.buffer = new Uint8Array(t), this.view = l(this.buffer);
1
+ import { JOSENotSupported as f } from "./index.web53.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`);
17
18
  }
18
- update(t) {
19
- b(this), t = a(t), d(t);
20
- const { view: s, buffer: n, blockLen: i } = this, h = t.length;
21
- for (let e = 0; e < h; ) {
22
- const r = Math.min(i - this.pos, h - e);
23
- if (r === i) {
24
- const c = l(t);
25
- for (; i <= h - e; e += i)
26
- this.process(c, e);
27
- continue;
28
- }
29
- n.set(t.subarray(e, e + r), this.pos), this.pos += r, e += r, this.pos === i && (this.process(s, 0), this.pos = 0);
30
- }
31
- return this.length += t.length, this.roundClean(), this;
32
- }
33
- digestInto(t) {
34
- b(this), x(t, this), this.finished = !0;
35
- const { buffer: s, view: n, blockLen: i, isLE: h } = this;
36
- let { pos: e } = this;
37
- s[e++] = 128, w(this.buffer.subarray(e)), this.padOffset > i - e && (this.process(n, 0), e = 0);
38
- for (let f = e; f < i; f++)
39
- s[f] = 0;
40
- y(n, i - 8, BigInt(this.length * 8), h), this.process(n, 0);
41
- const r = l(t), c = this.outputLen;
42
- if (c % 4)
43
- throw new Error("_sha2: outputLen should be aligned to 32bit");
44
- const u = c / 4, p = this.get();
45
- if (u > p.length)
46
- throw new Error("_sha2: outputLen bigger than state");
47
- for (let f = 0; f < u; f++)
48
- r.setUint32(4 * f, p[f], h);
49
- }
50
- digest() {
51
- const { buffer: t, outputLen: s } = this;
52
- this.digestInto(t);
53
- const n = t.slice(0, s);
54
- return this.destroy(), n;
55
- }
56
- _cloneInto(t) {
57
- t || (t = new this.constructor()), t.set(...this.get());
58
- const { blockLen: s, buffer: n, length: i, finished: h, destroyed: e, pos: r } = this;
59
- return t.destroyed = e, t.finished = h, t.length = i, t.pos = r, i % s && t.buffer.set(n), t;
60
- }
61
- clone() {
62
- return this._cloneInto();
63
- }
64
- }
65
- const B = /* @__PURE__ */ Uint32Array.from([
66
- 1779033703,
67
- 3144134277,
68
- 1013904242,
69
- 2773480762,
70
- 1359893119,
71
- 2600822924,
72
- 528734635,
73
- 1541459225
74
- ]);
19
+ return new Set(e.crit);
20
+ };
75
21
  export {
76
- U as Chi,
77
- m as HashMD,
78
- _ as Maj,
79
- B as SHA256_IV,
80
- y as setBigUint64
22
+ w as default
81
23
  };