@coinbase/cdp-core 0.0.26 → 0.0.27

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 (371) hide show
  1. package/dist/esm/index.native100.js +28 -10
  2. package/dist/esm/index.native101.js +8 -17
  3. package/dist/esm/index.native102.js +9 -79
  4. package/dist/esm/index.native103.js +13 -13
  5. package/dist/esm/index.native104.js +10 -36
  6. package/dist/esm/index.native105.js +13 -38
  7. package/dist/esm/index.native106.js +72 -70
  8. package/dist/esm/index.native107.js +81 -0
  9. package/dist/esm/index.native19.js +13 -13
  10. package/dist/esm/index.native20.js +3 -3
  11. package/dist/esm/index.native21.js +69 -23
  12. package/dist/esm/index.native22.js +22 -156
  13. package/dist/esm/index.native23.js +157 -45
  14. package/dist/esm/index.native24.js +43 -245
  15. package/dist/esm/index.native25.js +247 -53
  16. package/dist/esm/index.native26.js +56 -17
  17. package/dist/esm/index.native27.js +15 -21
  18. package/dist/esm/index.native28.js +21 -49
  19. package/dist/esm/index.native29.js +50 -8
  20. package/dist/esm/index.native30.js +8 -17
  21. package/dist/esm/index.native31.js +16 -44
  22. package/dist/esm/index.native32.js +45 -13
  23. package/dist/esm/index.native33.js +13 -55
  24. package/dist/esm/index.native34.js +55 -6
  25. package/dist/esm/index.native35.js +6 -21
  26. package/dist/esm/index.native36.js +21 -11
  27. package/dist/esm/index.native37.js +11 -3
  28. package/dist/esm/index.native38.js +3 -3
  29. package/dist/esm/index.native39.js +3 -34
  30. package/dist/esm/index.native40.js +32 -10
  31. package/dist/esm/index.native41.js +12 -4
  32. package/dist/esm/index.native42.js +4 -28
  33. package/dist/esm/index.native43.js +28 -6
  34. package/dist/esm/index.native44.js +6 -24
  35. package/dist/esm/index.native45.js +24 -16
  36. package/dist/esm/index.native46.js +16 -54
  37. package/dist/esm/index.native47.js +53 -22
  38. package/dist/esm/index.native48.js +23 -11
  39. package/dist/esm/index.native49.js +10 -26
  40. package/dist/esm/index.native50.js +26 -41
  41. package/dist/esm/index.native51.js +41 -54
  42. package/dist/esm/index.native52.js +54 -126
  43. package/dist/esm/index.native53.js +126 -11
  44. package/dist/esm/index.native54.js +9 -101
  45. package/dist/esm/index.native55.js +104 -6
  46. package/dist/esm/index.native56.js +7 -3
  47. package/dist/esm/index.native57.js +3 -15
  48. package/dist/esm/index.native58.js +14 -42
  49. package/dist/esm/index.native59.js +38 -74
  50. package/dist/esm/index.native60.js +79 -2
  51. package/dist/esm/index.native61.js +2 -2
  52. package/dist/esm/index.native62.js +2 -13
  53. package/dist/esm/index.native63.js +8 -33
  54. package/dist/esm/index.native64.js +36 -5
  55. package/dist/esm/index.native65.js +5 -33
  56. package/dist/esm/index.native66.js +34 -8
  57. package/dist/esm/index.native67.js +8 -10
  58. package/dist/esm/index.native68.js +10 -11
  59. package/dist/esm/index.native69.js +11 -13
  60. package/dist/esm/index.native7.js +4 -4
  61. package/dist/esm/index.native70.js +13 -18
  62. package/dist/esm/index.native71.js +18 -5
  63. package/dist/esm/index.native72.js +6 -5
  64. package/dist/esm/index.native73.js +5 -11
  65. package/dist/esm/index.native74.js +10 -54
  66. package/dist/esm/index.native75.js +54 -10
  67. package/dist/esm/index.native76.js +11 -2
  68. package/dist/esm/index.native77.js +2 -45
  69. package/dist/esm/index.native78.js +44 -13
  70. package/dist/esm/index.native79.js +14 -2
  71. package/dist/esm/index.native80.js +2 -21
  72. package/dist/esm/index.native81.js +18 -17
  73. package/dist/esm/index.native82.js +20 -80
  74. package/dist/esm/index.native83.js +79 -103
  75. package/dist/esm/index.native84.js +101 -30
  76. package/dist/esm/index.native85.js +32 -6
  77. package/dist/esm/index.native86.js +6 -20
  78. package/dist/esm/index.native87.js +79 -10
  79. package/dist/esm/index.native88.js +9 -19
  80. package/dist/esm/index.native89.js +20 -93
  81. package/dist/esm/index.native9.js +22 -15
  82. package/dist/esm/index.native90.js +9 -20
  83. package/dist/esm/index.native91.js +16 -114
  84. package/dist/esm/index.native92.js +90 -75
  85. package/dist/esm/index.native93.js +20 -9
  86. package/dist/esm/index.native94.js +118 -5
  87. package/dist/esm/index.native95.js +5 -18
  88. package/dist/esm/index.native96.js +11 -26
  89. package/dist/esm/index.native97.js +35 -7
  90. package/dist/esm/index.native98.js +41 -10
  91. package/dist/esm/index.native99.js +16 -11
  92. package/dist/esm/index.web100.js +8 -11
  93. package/dist/esm/index.web101.js +14 -7
  94. package/dist/esm/index.web102.js +80 -16
  95. package/dist/esm/index.web103.js +11 -79
  96. package/dist/esm/index.web104.js +36 -5
  97. package/dist/esm/index.web105.js +38 -75
  98. package/dist/esm/index.web106.js +81 -0
  99. package/dist/esm/index.web18.js +13 -13
  100. package/dist/esm/index.web19.js +3 -3
  101. package/dist/esm/index.web20.js +69 -23
  102. package/dist/esm/index.web21.js +22 -156
  103. package/dist/esm/index.web22.js +157 -45
  104. package/dist/esm/index.web23.js +43 -245
  105. package/dist/esm/index.web24.js +247 -53
  106. package/dist/esm/index.web25.js +56 -17
  107. package/dist/esm/index.web26.js +15 -21
  108. package/dist/esm/index.web27.js +21 -49
  109. package/dist/esm/index.web28.js +49 -11
  110. package/dist/esm/index.web29.js +8 -11
  111. package/dist/esm/index.web30.js +16 -53
  112. package/dist/esm/index.web31.js +45 -10
  113. package/dist/esm/index.web32.js +14 -2
  114. package/dist/esm/index.web33.js +55 -44
  115. package/dist/esm/index.web34.js +6 -13
  116. package/dist/esm/index.web35.js +21 -8
  117. package/dist/esm/index.web36.js +11 -17
  118. package/dist/esm/index.web37.js +3 -45
  119. package/dist/esm/index.web38.js +3 -13
  120. package/dist/esm/index.web39.js +31 -52
  121. package/dist/esm/index.web40.js +12 -6
  122. package/dist/esm/index.web41.js +4 -21
  123. package/dist/esm/index.web42.js +28 -3
  124. package/dist/esm/index.web43.js +6 -3
  125. package/dist/esm/index.web44.js +24 -34
  126. package/dist/esm/index.web45.js +16 -12
  127. package/dist/esm/index.web46.js +54 -4
  128. package/dist/esm/index.web47.js +20 -25
  129. package/dist/esm/index.web48.js +11 -6
  130. package/dist/esm/index.web49.js +26 -23
  131. package/dist/esm/index.web50.js +42 -16
  132. package/dist/esm/index.web51.js +53 -52
  133. package/dist/esm/index.web52.js +127 -23
  134. package/dist/esm/index.web53.js +12 -11
  135. package/dist/esm/index.web54.js +104 -27
  136. package/dist/esm/index.web55.js +6 -42
  137. package/dist/esm/index.web56.js +3 -56
  138. package/dist/esm/index.web57.js +14 -127
  139. package/dist/esm/index.web58.js +39 -9
  140. package/dist/esm/index.web59.js +74 -100
  141. package/dist/esm/index.web60.js +2 -7
  142. package/dist/esm/index.web61.js +2 -3
  143. package/dist/esm/index.web62.js +12 -14
  144. package/dist/esm/index.web63.js +29 -34
  145. package/dist/esm/index.web64.js +5 -77
  146. package/dist/esm/index.web65.js +35 -2
  147. package/dist/esm/index.web66.js +9 -2
  148. package/dist/esm/index.web67.js +9 -36
  149. package/dist/esm/index.web68.js +11 -6
  150. package/dist/esm/index.web69.js +12 -33
  151. package/dist/esm/index.web7.js +4 -4
  152. package/dist/esm/index.web70.js +18 -8
  153. package/dist/esm/index.web71.js +5 -10
  154. package/dist/esm/index.web72.js +5 -12
  155. package/dist/esm/index.web73.js +10 -13
  156. package/dist/esm/index.web74.js +53 -17
  157. package/dist/esm/index.web75.js +10 -5
  158. package/dist/esm/index.web76.js +2 -5
  159. package/dist/esm/index.web77.js +45 -11
  160. package/dist/esm/index.web78.js +13 -9
  161. package/dist/esm/index.web79.js +2 -104
  162. package/dist/esm/index.web80.js +17 -75
  163. package/dist/esm/index.web81.js +20 -80
  164. package/dist/esm/index.web82.js +79 -20
  165. package/dist/esm/index.web83.js +104 -10
  166. package/dist/esm/index.web84.js +7 -20
  167. package/dist/esm/index.web85.js +30 -91
  168. package/dist/esm/index.web86.js +20 -20
  169. package/dist/esm/index.web87.js +9 -117
  170. package/dist/esm/index.web88.js +20 -2
  171. package/dist/esm/index.web89.js +91 -18
  172. package/dist/esm/index.web9.js +22 -15
  173. package/dist/esm/index.web90.js +20 -19
  174. package/dist/esm/index.web91.js +115 -30
  175. package/dist/esm/index.web92.js +10 -7
  176. package/dist/esm/index.web93.js +78 -12
  177. package/dist/esm/index.web94.js +5 -36
  178. package/dist/esm/index.web95.js +16 -40
  179. package/dist/esm/index.web96.js +28 -18
  180. package/dist/esm/index.web97.js +6 -26
  181. package/dist/esm/index.web98.js +9 -6
  182. package/dist/esm/index.web99.js +13 -11
  183. package/dist/native/index.native100.js +28 -10
  184. package/dist/native/index.native101.js +8 -17
  185. package/dist/native/index.native102.js +9 -79
  186. package/dist/native/index.native103.js +13 -13
  187. package/dist/native/index.native104.js +10 -36
  188. package/dist/native/index.native105.js +13 -38
  189. package/dist/native/index.native106.js +72 -70
  190. package/dist/native/index.native107.js +81 -0
  191. package/dist/native/index.native19.js +13 -13
  192. package/dist/native/index.native20.js +3 -3
  193. package/dist/native/index.native21.js +69 -23
  194. package/dist/native/index.native22.js +22 -156
  195. package/dist/native/index.native23.js +157 -45
  196. package/dist/native/index.native24.js +43 -245
  197. package/dist/native/index.native25.js +247 -53
  198. package/dist/native/index.native26.js +56 -17
  199. package/dist/native/index.native27.js +15 -21
  200. package/dist/native/index.native28.js +21 -49
  201. package/dist/native/index.native29.js +50 -8
  202. package/dist/native/index.native30.js +8 -17
  203. package/dist/native/index.native31.js +16 -44
  204. package/dist/native/index.native32.js +45 -13
  205. package/dist/native/index.native33.js +13 -55
  206. package/dist/native/index.native34.js +55 -6
  207. package/dist/native/index.native35.js +6 -21
  208. package/dist/native/index.native36.js +21 -11
  209. package/dist/native/index.native37.js +11 -3
  210. package/dist/native/index.native38.js +3 -3
  211. package/dist/native/index.native39.js +3 -34
  212. package/dist/native/index.native40.js +32 -10
  213. package/dist/native/index.native41.js +12 -4
  214. package/dist/native/index.native42.js +4 -28
  215. package/dist/native/index.native43.js +28 -6
  216. package/dist/native/index.native44.js +6 -24
  217. package/dist/native/index.native45.js +24 -16
  218. package/dist/native/index.native46.js +16 -54
  219. package/dist/native/index.native47.js +53 -22
  220. package/dist/native/index.native48.js +23 -11
  221. package/dist/native/index.native49.js +10 -26
  222. package/dist/native/index.native50.js +26 -41
  223. package/dist/native/index.native51.js +41 -54
  224. package/dist/native/index.native52.js +54 -126
  225. package/dist/native/index.native53.js +126 -11
  226. package/dist/native/index.native54.js +9 -101
  227. package/dist/native/index.native55.js +104 -6
  228. package/dist/native/index.native56.js +7 -3
  229. package/dist/native/index.native57.js +3 -15
  230. package/dist/native/index.native58.js +14 -42
  231. package/dist/native/index.native59.js +38 -74
  232. package/dist/native/index.native60.js +79 -2
  233. package/dist/native/index.native61.js +2 -2
  234. package/dist/native/index.native62.js +2 -13
  235. package/dist/native/index.native63.js +8 -33
  236. package/dist/native/index.native64.js +36 -5
  237. package/dist/native/index.native65.js +5 -33
  238. package/dist/native/index.native66.js +34 -8
  239. package/dist/native/index.native67.js +8 -10
  240. package/dist/native/index.native68.js +10 -11
  241. package/dist/native/index.native69.js +11 -13
  242. package/dist/native/index.native7.js +4 -4
  243. package/dist/native/index.native70.js +13 -18
  244. package/dist/native/index.native71.js +18 -5
  245. package/dist/native/index.native72.js +6 -5
  246. package/dist/native/index.native73.js +5 -11
  247. package/dist/native/index.native74.js +10 -54
  248. package/dist/native/index.native75.js +54 -10
  249. package/dist/native/index.native76.js +11 -2
  250. package/dist/native/index.native77.js +2 -45
  251. package/dist/native/index.native78.js +44 -13
  252. package/dist/native/index.native79.js +14 -2
  253. package/dist/native/index.native80.js +2 -21
  254. package/dist/native/index.native81.js +18 -17
  255. package/dist/native/index.native82.js +20 -80
  256. package/dist/native/index.native83.js +79 -103
  257. package/dist/native/index.native84.js +101 -30
  258. package/dist/native/index.native85.js +32 -6
  259. package/dist/native/index.native86.js +6 -20
  260. package/dist/native/index.native87.js +79 -10
  261. package/dist/native/index.native88.js +9 -19
  262. package/dist/native/index.native89.js +20 -93
  263. package/dist/native/index.native9.js +22 -15
  264. package/dist/native/index.native90.js +9 -20
  265. package/dist/native/index.native91.js +16 -114
  266. package/dist/native/index.native92.js +90 -75
  267. package/dist/native/index.native93.js +20 -9
  268. package/dist/native/index.native94.js +118 -5
  269. package/dist/native/index.native95.js +5 -18
  270. package/dist/native/index.native96.js +11 -26
  271. package/dist/native/index.native97.js +35 -7
  272. package/dist/native/index.native98.js +41 -10
  273. package/dist/native/index.native99.js +16 -11
  274. package/dist/native-types/types.d.ts +2 -1
  275. package/dist/native-types/viem/signAndWrapTypedData.d.ts +17 -0
  276. package/dist/types/types.d.ts +2 -1
  277. package/dist/types/viem/signAndWrapTypedData.d.ts +17 -0
  278. package/dist/web/index.web100.js +8 -11
  279. package/dist/web/index.web101.js +14 -7
  280. package/dist/web/index.web102.js +80 -16
  281. package/dist/web/index.web103.js +11 -79
  282. package/dist/web/index.web104.js +36 -5
  283. package/dist/web/index.web105.js +38 -75
  284. package/dist/web/index.web106.js +81 -0
  285. package/dist/web/index.web18.js +13 -13
  286. package/dist/web/index.web19.js +3 -3
  287. package/dist/web/index.web20.js +69 -23
  288. package/dist/web/index.web21.js +22 -156
  289. package/dist/web/index.web22.js +157 -45
  290. package/dist/web/index.web23.js +43 -245
  291. package/dist/web/index.web24.js +247 -53
  292. package/dist/web/index.web25.js +56 -17
  293. package/dist/web/index.web26.js +15 -21
  294. package/dist/web/index.web27.js +21 -49
  295. package/dist/web/index.web28.js +49 -11
  296. package/dist/web/index.web29.js +8 -11
  297. package/dist/web/index.web30.js +16 -53
  298. package/dist/web/index.web31.js +45 -10
  299. package/dist/web/index.web32.js +14 -2
  300. package/dist/web/index.web33.js +55 -44
  301. package/dist/web/index.web34.js +6 -13
  302. package/dist/web/index.web35.js +21 -8
  303. package/dist/web/index.web36.js +11 -17
  304. package/dist/web/index.web37.js +3 -45
  305. package/dist/web/index.web38.js +3 -13
  306. package/dist/web/index.web39.js +31 -52
  307. package/dist/web/index.web40.js +12 -6
  308. package/dist/web/index.web41.js +4 -21
  309. package/dist/web/index.web42.js +28 -3
  310. package/dist/web/index.web43.js +6 -3
  311. package/dist/web/index.web44.js +24 -34
  312. package/dist/web/index.web45.js +16 -12
  313. package/dist/web/index.web46.js +54 -4
  314. package/dist/web/index.web47.js +20 -25
  315. package/dist/web/index.web48.js +11 -6
  316. package/dist/web/index.web49.js +26 -23
  317. package/dist/web/index.web50.js +42 -16
  318. package/dist/web/index.web51.js +53 -52
  319. package/dist/web/index.web52.js +127 -23
  320. package/dist/web/index.web53.js +12 -11
  321. package/dist/web/index.web54.js +104 -27
  322. package/dist/web/index.web55.js +6 -42
  323. package/dist/web/index.web56.js +3 -56
  324. package/dist/web/index.web57.js +14 -127
  325. package/dist/web/index.web58.js +39 -9
  326. package/dist/web/index.web59.js +74 -100
  327. package/dist/web/index.web60.js +2 -7
  328. package/dist/web/index.web61.js +2 -3
  329. package/dist/web/index.web62.js +12 -14
  330. package/dist/web/index.web63.js +29 -34
  331. package/dist/web/index.web64.js +5 -77
  332. package/dist/web/index.web65.js +35 -2
  333. package/dist/web/index.web66.js +9 -2
  334. package/dist/web/index.web67.js +9 -36
  335. package/dist/web/index.web68.js +11 -6
  336. package/dist/web/index.web69.js +12 -33
  337. package/dist/web/index.web7.js +4 -4
  338. package/dist/web/index.web70.js +18 -8
  339. package/dist/web/index.web71.js +5 -10
  340. package/dist/web/index.web72.js +5 -12
  341. package/dist/web/index.web73.js +10 -13
  342. package/dist/web/index.web74.js +53 -17
  343. package/dist/web/index.web75.js +10 -5
  344. package/dist/web/index.web76.js +2 -5
  345. package/dist/web/index.web77.js +45 -11
  346. package/dist/web/index.web78.js +13 -9
  347. package/dist/web/index.web79.js +2 -104
  348. package/dist/web/index.web80.js +17 -75
  349. package/dist/web/index.web81.js +20 -80
  350. package/dist/web/index.web82.js +79 -20
  351. package/dist/web/index.web83.js +104 -10
  352. package/dist/web/index.web84.js +7 -20
  353. package/dist/web/index.web85.js +30 -91
  354. package/dist/web/index.web86.js +20 -20
  355. package/dist/web/index.web87.js +9 -117
  356. package/dist/web/index.web88.js +20 -2
  357. package/dist/web/index.web89.js +91 -18
  358. package/dist/web/index.web9.js +22 -15
  359. package/dist/web/index.web90.js +20 -19
  360. package/dist/web/index.web91.js +115 -30
  361. package/dist/web/index.web92.js +10 -7
  362. package/dist/web/index.web93.js +78 -12
  363. package/dist/web/index.web94.js +5 -36
  364. package/dist/web/index.web95.js +16 -40
  365. package/dist/web/index.web96.js +28 -18
  366. package/dist/web/index.web97.js +6 -26
  367. package/dist/web/index.web98.js +9 -6
  368. package/dist/web/index.web99.js +13 -11
  369. package/dist/web-types/types.d.ts +2 -1
  370. package/dist/web-types/viem/signAndWrapTypedData.d.ts +17 -0
  371. package/package.json +2 -2
@@ -1,96 +1,23 @@
1
- import { withAlg as n } from "./index.native99.js";
2
- import c from "./index.native100.js";
3
- import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.native101.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`);
1
+ import { encoder as t, decoder as o } from "./index.native76.js";
2
+ import { encodeBase64 as c, decodeBase64 as a } from "./index.native99.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.");
19
14
  }
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
- };
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
+ }
94
20
  export {
95
- d as default
21
+ i as decode,
22
+ p as encode
96
23
  };
@@ -1,16 +1,18 @@
1
- import { getTypesForEIP712Domain as a } from "viem";
2
- import { getCurrentUser as s, signEvmHash as i, signEvmTypedData as c, signEvmTransaction as u, signEvmMessage as m } from "./index.native5.js";
1
+ import { getTypesForEIP712Domain as c } from "viem";
2
+ import { getCurrentUser as i, signEvmHash as u, signEvmTypedData as m, signEvmTransaction as g, signEvmMessage as l } from "./index.native5.js";
3
3
  import "@coinbase/cdp-api-client";
4
- import { toAccount as g } from "./index.native21.js";
5
- async function w(r) {
6
- const n = await s();
7
- if (!n || !n.evmAccounts || n.evmAccounts.length === 0)
4
+ import { signAndWrapTypedDataForSmartAccount as y } from "./index.native21.js";
5
+ import { toAccount as f } from "./index.native22.js";
6
+ async function d(r) {
7
+ const n = await i();
8
+ if (!n || !n.evmAccounts?.length && !n.evmSmartAccounts?.length)
8
9
  throw new Error(
9
- "No accounts found - user must be authenticated and have at least one EVM account"
10
+ "No accounts found - user must be authenticated and have at least one EVM account or smart account"
10
11
  );
11
- if (!n.evmAccounts.includes(r))
12
+ const s = n.evmAccounts?.includes(r) ?? !1, a = n.evmSmartAccounts?.includes(r) ?? !1;
13
+ if (!s && !a)
12
14
  throw new Error(`Cannot sign for address ${r} - not authorized for this account`);
13
- return g({
15
+ return f({
14
16
  address: r,
15
17
  /**
16
18
  * Signs a message using CDP's message signing functionality.
@@ -28,7 +30,7 @@ async function w(r) {
28
30
  typeof e.raw == "string" ? t = e.raw : t = new TextDecoder().decode(e.raw);
29
31
  else
30
32
  throw new Error("Unsupported message format");
31
- return (await m({
33
+ return (await l({
32
34
  evmAccount: r,
33
35
  message: t
34
36
  })).signature;
@@ -49,7 +51,7 @@ async function w(r) {
49
51
  gas: e.gas,
50
52
  chainId: e.chainId ?? 1
51
53
  };
52
- return e.gasPrice !== void 0 ? (t.maxFeePerGas = e.gasPrice, t.maxPriorityFeePerGas = e.gasPrice) : (t.maxFeePerGas = e.maxFeePerGas, t.maxPriorityFeePerGas = e.maxPriorityFeePerGas), (await u({
54
+ return e.gasPrice !== void 0 ? (t.maxFeePerGas = e.gasPrice, t.maxPriorityFeePerGas = e.gasPrice) : (t.maxFeePerGas = e.maxFeePerGas, t.maxPriorityFeePerGas = e.maxPriorityFeePerGas), (await g({
53
55
  evmAccount: r,
54
56
  transaction: t
55
57
  })).signedTransaction;
@@ -57,6 +59,7 @@ async function w(r) {
57
59
  /**
58
60
  * Signs EIP-712 typed data using CDP's typed data signing functionality.
59
61
  * Handles domain separation and type encoding according to the EIP-712 specification.
62
+ * For smart accounts, implements replay-safe hash and signature wrapping.
60
63
  *
61
64
  * @param params - The typed data parameters following the EIP-712 specification
62
65
  * @returns The signature as a hex string
@@ -65,7 +68,7 @@ async function w(r) {
65
68
  const t = {
66
69
  domain: e.domain,
67
70
  types: {
68
- EIP712Domain: a({
71
+ EIP712Domain: c({
69
72
  domain: e.domain
70
73
  }),
71
74
  ...e.types
@@ -73,7 +76,11 @@ async function w(r) {
73
76
  primaryType: e.primaryType,
74
77
  message: e.message
75
78
  };
76
- return (await c({
79
+ return a ? (await y({
80
+ smartAccount: r,
81
+ ownerAddress: n.evmAccounts?.[0],
82
+ typedData: t
83
+ })).signature : (await m({
77
84
  evmAccount: r,
78
85
  typedData: t
79
86
  })).signature;
@@ -85,7 +92,7 @@ async function w(r) {
85
92
  * @returns The signature as a hex string
86
93
  */
87
94
  async sign(e) {
88
- return (await i({
95
+ return (await u({
89
96
  evmAccount: r,
90
97
  hash: e.hash
91
98
  })).signature;
@@ -93,5 +100,5 @@ async function w(r) {
93
100
  });
94
101
  }
95
102
  export {
96
- w as toViemAccount
103
+ d as toViemAccount
97
104
  };
@@ -1,23 +1,12 @@
1
- import { JOSENotSupported as f } from "./index.native27.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`);
18
- }
19
- return new Set(e.crit);
1
+ import n from "./index.native100.js";
2
+ import s from "./index.native101.js";
3
+ import a from "./index.native102.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);
20
9
  };
21
10
  export {
22
- w as default
11
+ y as default
23
12
  };
@@ -1,120 +1,22 @@
1
- import { isJWK as p } from "./index.native101.js";
2
- import { decode as m } from "./index.native86.js";
3
- import y from "./index.native102.js";
4
- import { isCryptoKey as S, isKeyObject as K } from "./index.native100.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");
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;
29
11
  }
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");
12
+ for (const n of r) {
13
+ if (e.has(n))
14
+ return !1;
15
+ e.add(n);
62
16
  }
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
17
  }
114
- if (p(e))
115
- return e.k ? m(e.k) : f(e, e, r, !0);
116
- throw new Error("unreachable");
18
+ return !0;
117
19
  };
118
20
  export {
119
- d as default
21
+ a as default
120
22
  };
@@ -1,81 +1,96 @@
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.native82.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);
17
- }
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);
1
+ import { withAlg as n } from "./index.native103.js";
2
+ import c from "./index.native104.js";
3
+ import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.native105.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;
30
16
  }
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;
17
+ if (e.use !== i)
18
+ throw new TypeError(`Invalid key for this operation, its "use" must be "${i}" when present`);
55
19
  }
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;
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`);
60
45
  }
61
- clone() {
62
- return this._cloneInto();
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"`);
63
58
  }
64
- }
65
- const B = /* @__PURE__ */ Uint32Array.from([
66
- 1779033703,
67
- 3144134277,
68
- 1013904242,
69
- 2773480762,
70
- 1359893119,
71
- 2600822924,
72
- 528734635,
73
- 1541459225
74
- ]);
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
+ };
75
94
  export {
76
- U as Chi,
77
- m as HashMD,
78
- _ as Maj,
79
- B as SHA256_IV,
80
- y as setBigUint64
95
+ d as default
81
96
  };
@@ -1,12 +1,23 @@
1
- import { contracts as o } from "./index.native103.js";
2
- import { formatters as r } from "./index.native104.js";
3
- import { serializers as t } from "./index.native105.js";
4
- const e = {
5
- blockTime: 2e3,
6
- contracts: o,
7
- formatters: r,
8
- serializers: t
1
+ import { JOSENotSupported as f } from "./index.native28.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`);
18
+ }
19
+ return new Set(e.crit);
9
20
  };
10
21
  export {
11
- e as chainConfig
22
+ w as default
12
23
  };