@coinbase/cdp-core 0.0.35 → 0.0.37

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 (427) hide show
  1. package/README.md +52 -8
  2. package/dist/esm/index.native.js +38 -36
  3. package/dist/esm/index.native100.js +117 -41
  4. package/dist/esm/index.native101.js +77 -16
  5. package/dist/esm/index.native102.js +9 -27
  6. package/dist/esm/index.native103.js +5 -8
  7. package/dist/esm/index.native104.js +18 -11
  8. package/dist/esm/index.native105.js +28 -13
  9. package/dist/esm/index.native106.js +8 -10
  10. package/dist/esm/index.native107.js +11 -17
  11. package/dist/esm/index.native108.js +12 -80
  12. package/dist/esm/index.native109.js +8 -77
  13. package/dist/esm/index.native110.js +19 -0
  14. package/dist/esm/index.native111.js +83 -0
  15. package/dist/esm/index.native112.js +15 -0
  16. package/dist/esm/index.native113.js +38 -0
  17. package/dist/esm/index.native114.js +44 -0
  18. package/dist/esm/index.native115.js +81 -0
  19. package/dist/esm/index.native13.js +3 -9
  20. package/dist/esm/index.native2.js +4 -5
  21. package/dist/esm/index.native20.js +13 -13
  22. package/dist/esm/index.native21.js +3 -3
  23. package/dist/esm/index.native24.js +2 -2
  24. package/dist/esm/index.native25.js +940 -149
  25. package/dist/esm/index.native26.js +2 -48
  26. package/dist/esm/index.native27.js +43 -243
  27. package/dist/esm/index.native28.js +27 -55
  28. package/dist/esm/index.native29.js +158 -15
  29. package/dist/esm/index.native30.js +46 -21
  30. package/dist/esm/index.native31.js +243 -44
  31. package/dist/esm/index.native32.js +56 -9
  32. package/dist/esm/index.native33.js +15 -16
  33. package/dist/esm/index.native34.js +19 -42
  34. package/dist/esm/index.native35.js +50 -13
  35. package/dist/esm/index.native36.js +2 -56
  36. package/dist/esm/index.native37.js +2 -7
  37. package/dist/esm/index.native38.js +8 -21
  38. package/dist/esm/index.native39.js +17 -11
  39. package/dist/esm/index.native40.js +45 -3
  40. package/dist/esm/index.native41.js +13 -3
  41. package/dist/esm/index.native42.js +52 -31
  42. package/dist/esm/index.native43.js +6 -12
  43. package/dist/esm/index.native44.js +21 -4
  44. package/dist/esm/index.native45.js +11 -28
  45. package/dist/esm/index.native46.js +3 -6
  46. package/dist/esm/index.native47.js +3 -24
  47. package/dist/esm/index.native48.js +34 -16
  48. package/dist/esm/index.native49.js +11 -53
  49. package/dist/esm/index.native50.js +4 -23
  50. package/dist/esm/index.native51.js +28 -11
  51. package/dist/esm/index.native52.js +6 -27
  52. package/dist/esm/index.native53.js +22 -40
  53. package/dist/esm/index.native54.js +16 -55
  54. package/dist/esm/index.native55.js +53 -126
  55. package/dist/esm/index.native56.js +22 -11
  56. package/dist/esm/index.native57.js +11 -104
  57. package/dist/esm/index.native58.js +27 -6
  58. package/dist/esm/index.native59.js +43 -3
  59. package/dist/esm/index.native6.js +236 -199
  60. package/dist/esm/index.native60.js +55 -14
  61. package/dist/esm/index.native61.js +126 -41
  62. package/dist/esm/index.native62.js +10 -76
  63. package/dist/esm/index.native63.js +105 -2
  64. package/dist/esm/index.native64.js +7 -2
  65. package/dist/esm/index.native65.js +3 -13
  66. package/dist/esm/index.native66.js +14 -37
  67. package/dist/esm/index.native67.js +41 -5
  68. package/dist/esm/index.native68.js +76 -32
  69. package/dist/esm/index.native69.js +2 -9
  70. package/dist/esm/index.native70.js +2 -11
  71. package/dist/esm/index.native71.js +12 -11
  72. package/dist/esm/index.native72.js +36 -12
  73. package/dist/esm/index.native73.js +5 -17
  74. package/dist/esm/index.native74.js +34 -5
  75. package/dist/esm/index.native75.js +9 -5
  76. package/dist/esm/index.native76.js +10 -10
  77. package/dist/esm/index.native77.js +11 -54
  78. package/dist/esm/index.native78.js +13 -10
  79. package/dist/esm/index.native79.js +19 -2
  80. package/dist/esm/index.native8.js +48 -48
  81. package/dist/esm/index.native80.js +6 -45
  82. package/dist/esm/index.native81.js +4 -13
  83. package/dist/esm/index.native82.js +11 -2
  84. package/dist/esm/index.native83.js +51 -17
  85. package/dist/esm/index.native84.js +10 -19
  86. package/dist/esm/index.native85.js +2 -80
  87. package/dist/esm/index.native86.js +44 -103
  88. package/dist/esm/index.native87.js +13 -32
  89. package/dist/esm/index.native88.js +2 -7
  90. package/dist/esm/index.native89.js +21 -10
  91. package/dist/esm/index.native90.js +18 -19
  92. package/dist/esm/index.native91.js +80 -10
  93. package/dist/esm/index.native92.js +101 -17
  94. package/dist/esm/index.native93.js +30 -91
  95. package/dist/esm/index.native94.js +7 -21
  96. package/dist/esm/index.native95.js +20 -117
  97. package/dist/esm/index.native96.js +10 -79
  98. package/dist/esm/index.native97.js +20 -5
  99. package/dist/esm/index.native98.js +92 -11
  100. package/dist/esm/index.native99.js +20 -35
  101. package/dist/esm/index.web.js +35 -33
  102. package/dist/esm/index.web100.js +6 -12
  103. package/dist/esm/index.web101.js +10 -10
  104. package/dist/esm/index.web102.js +15 -14
  105. package/dist/esm/index.web103.js +25 -78
  106. package/dist/esm/index.web104.js +6 -11
  107. package/dist/esm/index.web105.js +10 -35
  108. package/dist/esm/index.web106.js +11 -40
  109. package/dist/esm/index.web107.js +8 -77
  110. package/dist/esm/index.web108.js +19 -0
  111. package/dist/esm/index.web109.js +83 -0
  112. package/dist/esm/index.web110.js +7 -0
  113. package/dist/esm/index.web111.js +15 -0
  114. package/dist/esm/index.web112.js +38 -0
  115. package/dist/esm/index.web113.js +44 -0
  116. package/dist/esm/index.web114.js +81 -0
  117. package/dist/esm/index.web12.js +3 -16
  118. package/dist/esm/index.web13.js +15 -17
  119. package/dist/esm/index.web14.js +15 -116
  120. package/dist/esm/index.web15.js +116 -12
  121. package/dist/esm/index.web16.js +15 -42
  122. package/dist/esm/index.web17.js +42 -20
  123. package/dist/esm/index.web18.js +20 -172
  124. package/dist/esm/index.web19.js +170 -39
  125. package/dist/esm/index.web20.js +41 -49
  126. package/dist/esm/index.web21.js +47 -70
  127. package/dist/esm/index.web22.js +69 -23
  128. package/dist/esm/index.web23.js +22 -156
  129. package/dist/esm/index.web24.js +13 -44
  130. package/dist/esm/index.web25.js +18 -245
  131. package/dist/esm/index.web26.js +51 -56
  132. package/dist/esm/index.web27.js +158 -15
  133. package/dist/esm/index.web28.js +46 -21
  134. package/dist/esm/index.web29.js +243 -44
  135. package/dist/esm/index.web3.js +7 -7
  136. package/dist/esm/index.web30.js +56 -9
  137. package/dist/esm/index.web31.js +950 -17
  138. package/dist/esm/index.web32.js +2 -46
  139. package/dist/esm/index.web33.js +49 -13
  140. package/dist/esm/index.web34.js +27 -55
  141. package/dist/esm/index.web35.js +12 -6
  142. package/dist/esm/index.web36.js +11 -21
  143. package/dist/esm/index.web37.js +2 -12
  144. package/dist/esm/index.web38.js +2 -4
  145. package/dist/esm/index.web39.js +54 -3
  146. package/dist/esm/index.web40.js +10 -34
  147. package/dist/esm/index.web41.js +2 -13
  148. package/dist/esm/index.web42.js +45 -5
  149. package/dist/esm/index.web43.js +13 -28
  150. package/dist/esm/index.web44.js +8 -6
  151. package/dist/esm/index.web45.js +17 -24
  152. package/dist/esm/index.web46.js +45 -16
  153. package/dist/esm/index.web47.js +13 -54
  154. package/dist/esm/index.web48.js +53 -21
  155. package/dist/esm/index.web49.js +6 -11
  156. package/dist/esm/index.web5.js +236 -199
  157. package/dist/esm/index.web50.js +21 -27
  158. package/dist/esm/index.web51.js +3 -42
  159. package/dist/esm/index.web52.js +3 -55
  160. package/dist/esm/index.web53.js +33 -126
  161. package/dist/esm/index.web54.js +9 -9
  162. package/dist/esm/index.web55.js +4 -104
  163. package/dist/esm/index.web56.js +28 -6
  164. package/dist/esm/index.web57.js +7 -3
  165. package/dist/esm/index.web58.js +24 -14
  166. package/dist/esm/index.web59.js +16 -42
  167. package/dist/esm/index.web6.js +3 -3
  168. package/dist/esm/index.web60.js +52 -76
  169. package/dist/esm/index.web61.js +24 -2
  170. package/dist/esm/index.web62.js +12 -2
  171. package/dist/esm/index.web63.js +27 -12
  172. package/dist/esm/index.web64.js +39 -34
  173. package/dist/esm/index.web65.js +54 -5
  174. package/dist/esm/index.web66.js +126 -33
  175. package/dist/esm/index.web67.js +12 -8
  176. package/dist/esm/index.web68.js +104 -10
  177. package/dist/esm/index.web69.js +6 -11
  178. package/dist/esm/index.web7.js +48 -48
  179. package/dist/esm/index.web70.js +3 -14
  180. package/dist/esm/index.web71.js +14 -18
  181. package/dist/esm/index.web72.js +42 -5
  182. package/dist/esm/index.web73.js +79 -5
  183. package/dist/esm/index.web74.js +2 -11
  184. package/dist/esm/index.web75.js +2 -55
  185. package/dist/esm/index.web76.js +37 -10
  186. package/dist/esm/index.web77.js +7 -2
  187. package/dist/esm/index.web78.js +34 -44
  188. package/dist/esm/index.web79.js +8 -13
  189. package/dist/esm/index.web80.js +11 -2
  190. package/dist/esm/index.web81.js +11 -20
  191. package/dist/esm/index.web82.js +13 -19
  192. package/dist/esm/index.web83.js +18 -79
  193. package/dist/esm/index.web84.js +5 -103
  194. package/dist/esm/index.web85.js +5 -33
  195. package/dist/esm/index.web86.js +10 -6
  196. package/dist/esm/index.web87.js +102 -19
  197. package/dist/esm/index.web88.js +79 -10
  198. package/dist/esm/index.web89.js +80 -20
  199. package/dist/esm/index.web9.js +3 -3
  200. package/dist/esm/index.web90.js +20 -93
  201. package/dist/esm/index.web91.js +9 -20
  202. package/dist/esm/index.web92.js +16 -114
  203. package/dist/esm/index.web93.js +90 -75
  204. package/dist/esm/index.web94.js +20 -9
  205. package/dist/esm/index.web95.js +118 -5
  206. package/dist/esm/index.web96.js +2 -18
  207. package/dist/esm/index.web97.js +20 -27
  208. package/dist/esm/index.web98.js +19 -7
  209. package/dist/esm/index.web99.js +32 -10
  210. package/dist/native/index.native.js +38 -36
  211. package/dist/native/index.native100.js +117 -41
  212. package/dist/native/index.native101.js +77 -16
  213. package/dist/native/index.native102.js +9 -27
  214. package/dist/native/index.native103.js +5 -8
  215. package/dist/native/index.native104.js +18 -11
  216. package/dist/native/index.native105.js +28 -13
  217. package/dist/native/index.native106.js +8 -10
  218. package/dist/native/index.native107.js +11 -17
  219. package/dist/native/index.native108.js +12 -80
  220. package/dist/native/index.native109.js +8 -77
  221. package/dist/native/index.native110.js +19 -0
  222. package/dist/native/index.native111.js +83 -0
  223. package/dist/native/index.native112.js +15 -0
  224. package/dist/native/index.native113.js +38 -0
  225. package/dist/native/index.native114.js +44 -0
  226. package/dist/native/index.native115.js +81 -0
  227. package/dist/native/index.native13.js +3 -9
  228. package/dist/native/index.native2.js +4 -5
  229. package/dist/native/index.native20.js +13 -13
  230. package/dist/native/index.native21.js +3 -3
  231. package/dist/native/index.native24.js +2 -2
  232. package/dist/native/index.native25.js +940 -149
  233. package/dist/native/index.native26.js +2 -48
  234. package/dist/native/index.native27.js +43 -243
  235. package/dist/native/index.native28.js +27 -55
  236. package/dist/native/index.native29.js +158 -15
  237. package/dist/native/index.native30.js +46 -21
  238. package/dist/native/index.native31.js +243 -44
  239. package/dist/native/index.native32.js +56 -9
  240. package/dist/native/index.native33.js +15 -16
  241. package/dist/native/index.native34.js +19 -42
  242. package/dist/native/index.native35.js +50 -13
  243. package/dist/native/index.native36.js +2 -56
  244. package/dist/native/index.native37.js +2 -7
  245. package/dist/native/index.native38.js +8 -21
  246. package/dist/native/index.native39.js +17 -11
  247. package/dist/native/index.native40.js +45 -3
  248. package/dist/native/index.native41.js +13 -3
  249. package/dist/native/index.native42.js +52 -31
  250. package/dist/native/index.native43.js +6 -12
  251. package/dist/native/index.native44.js +21 -4
  252. package/dist/native/index.native45.js +11 -28
  253. package/dist/native/index.native46.js +3 -6
  254. package/dist/native/index.native47.js +3 -24
  255. package/dist/native/index.native48.js +34 -16
  256. package/dist/native/index.native49.js +11 -53
  257. package/dist/native/index.native50.js +4 -23
  258. package/dist/native/index.native51.js +28 -11
  259. package/dist/native/index.native52.js +6 -27
  260. package/dist/native/index.native53.js +22 -40
  261. package/dist/native/index.native54.js +16 -55
  262. package/dist/native/index.native55.js +53 -126
  263. package/dist/native/index.native56.js +22 -11
  264. package/dist/native/index.native57.js +11 -104
  265. package/dist/native/index.native58.js +27 -6
  266. package/dist/native/index.native59.js +43 -3
  267. package/dist/native/index.native6.js +236 -199
  268. package/dist/native/index.native60.js +55 -14
  269. package/dist/native/index.native61.js +126 -41
  270. package/dist/native/index.native62.js +10 -76
  271. package/dist/native/index.native63.js +105 -2
  272. package/dist/native/index.native64.js +7 -2
  273. package/dist/native/index.native65.js +3 -13
  274. package/dist/native/index.native66.js +14 -37
  275. package/dist/native/index.native67.js +41 -5
  276. package/dist/native/index.native68.js +76 -32
  277. package/dist/native/index.native69.js +2 -9
  278. package/dist/native/index.native70.js +2 -11
  279. package/dist/native/index.native71.js +12 -11
  280. package/dist/native/index.native72.js +36 -12
  281. package/dist/native/index.native73.js +5 -17
  282. package/dist/native/index.native74.js +34 -5
  283. package/dist/native/index.native75.js +9 -5
  284. package/dist/native/index.native76.js +10 -10
  285. package/dist/native/index.native77.js +11 -54
  286. package/dist/native/index.native78.js +13 -10
  287. package/dist/native/index.native79.js +19 -2
  288. package/dist/native/index.native8.js +48 -48
  289. package/dist/native/index.native80.js +6 -45
  290. package/dist/native/index.native81.js +4 -13
  291. package/dist/native/index.native82.js +11 -2
  292. package/dist/native/index.native83.js +51 -17
  293. package/dist/native/index.native84.js +10 -19
  294. package/dist/native/index.native85.js +2 -80
  295. package/dist/native/index.native86.js +44 -103
  296. package/dist/native/index.native87.js +13 -32
  297. package/dist/native/index.native88.js +2 -7
  298. package/dist/native/index.native89.js +21 -10
  299. package/dist/native/index.native90.js +18 -19
  300. package/dist/native/index.native91.js +80 -10
  301. package/dist/native/index.native92.js +101 -17
  302. package/dist/native/index.native93.js +30 -91
  303. package/dist/native/index.native94.js +7 -21
  304. package/dist/native/index.native95.js +20 -117
  305. package/dist/native/index.native96.js +10 -79
  306. package/dist/native/index.native97.js +20 -5
  307. package/dist/native/index.native98.js +92 -11
  308. package/dist/native/index.native99.js +20 -35
  309. package/dist/native-types/core.d.ts +3 -1
  310. package/dist/native-types/platform/types.d.ts +1 -1
  311. package/dist/native-types/types.d.ts +32 -2
  312. package/dist/types/core.d.ts +3 -1
  313. package/dist/types/platform/types.d.ts +1 -1
  314. package/dist/types/types.d.ts +32 -2
  315. package/dist/web/index.web.js +35 -33
  316. package/dist/web/index.web100.js +6 -12
  317. package/dist/web/index.web101.js +10 -10
  318. package/dist/web/index.web102.js +15 -14
  319. package/dist/web/index.web103.js +25 -78
  320. package/dist/web/index.web104.js +6 -11
  321. package/dist/web/index.web105.js +10 -35
  322. package/dist/web/index.web106.js +11 -40
  323. package/dist/web/index.web107.js +8 -77
  324. package/dist/web/index.web108.js +19 -0
  325. package/dist/web/index.web109.js +83 -0
  326. package/dist/web/index.web110.js +7 -0
  327. package/dist/web/index.web111.js +15 -0
  328. package/dist/web/index.web112.js +38 -0
  329. package/dist/web/index.web113.js +44 -0
  330. package/dist/web/index.web114.js +81 -0
  331. package/dist/web/index.web12.js +3 -16
  332. package/dist/web/index.web13.js +15 -17
  333. package/dist/web/index.web14.js +15 -116
  334. package/dist/web/index.web15.js +116 -12
  335. package/dist/web/index.web16.js +15 -42
  336. package/dist/web/index.web17.js +42 -20
  337. package/dist/web/index.web18.js +20 -172
  338. package/dist/web/index.web19.js +170 -39
  339. package/dist/web/index.web20.js +41 -49
  340. package/dist/web/index.web21.js +47 -70
  341. package/dist/web/index.web22.js +69 -23
  342. package/dist/web/index.web23.js +22 -156
  343. package/dist/web/index.web24.js +13 -44
  344. package/dist/web/index.web25.js +18 -245
  345. package/dist/web/index.web26.js +51 -56
  346. package/dist/web/index.web27.js +158 -15
  347. package/dist/web/index.web28.js +46 -21
  348. package/dist/web/index.web29.js +243 -44
  349. package/dist/web/index.web3.js +7 -7
  350. package/dist/web/index.web30.js +56 -9
  351. package/dist/web/index.web31.js +950 -17
  352. package/dist/web/index.web32.js +2 -46
  353. package/dist/web/index.web33.js +49 -13
  354. package/dist/web/index.web34.js +27 -55
  355. package/dist/web/index.web35.js +12 -6
  356. package/dist/web/index.web36.js +11 -21
  357. package/dist/web/index.web37.js +2 -12
  358. package/dist/web/index.web38.js +2 -4
  359. package/dist/web/index.web39.js +54 -3
  360. package/dist/web/index.web40.js +10 -34
  361. package/dist/web/index.web41.js +2 -13
  362. package/dist/web/index.web42.js +45 -5
  363. package/dist/web/index.web43.js +13 -28
  364. package/dist/web/index.web44.js +8 -6
  365. package/dist/web/index.web45.js +17 -24
  366. package/dist/web/index.web46.js +45 -16
  367. package/dist/web/index.web47.js +13 -54
  368. package/dist/web/index.web48.js +53 -21
  369. package/dist/web/index.web49.js +6 -11
  370. package/dist/web/index.web5.js +236 -199
  371. package/dist/web/index.web50.js +21 -27
  372. package/dist/web/index.web51.js +3 -42
  373. package/dist/web/index.web52.js +3 -55
  374. package/dist/web/index.web53.js +33 -126
  375. package/dist/web/index.web54.js +9 -9
  376. package/dist/web/index.web55.js +4 -104
  377. package/dist/web/index.web56.js +28 -6
  378. package/dist/web/index.web57.js +7 -3
  379. package/dist/web/index.web58.js +24 -14
  380. package/dist/web/index.web59.js +16 -42
  381. package/dist/web/index.web6.js +3 -3
  382. package/dist/web/index.web60.js +52 -76
  383. package/dist/web/index.web61.js +24 -2
  384. package/dist/web/index.web62.js +12 -2
  385. package/dist/web/index.web63.js +27 -12
  386. package/dist/web/index.web64.js +39 -34
  387. package/dist/web/index.web65.js +54 -5
  388. package/dist/web/index.web66.js +126 -33
  389. package/dist/web/index.web67.js +12 -8
  390. package/dist/web/index.web68.js +104 -10
  391. package/dist/web/index.web69.js +6 -11
  392. package/dist/web/index.web7.js +48 -48
  393. package/dist/web/index.web70.js +3 -14
  394. package/dist/web/index.web71.js +14 -18
  395. package/dist/web/index.web72.js +42 -5
  396. package/dist/web/index.web73.js +79 -5
  397. package/dist/web/index.web74.js +2 -11
  398. package/dist/web/index.web75.js +2 -55
  399. package/dist/web/index.web76.js +37 -10
  400. package/dist/web/index.web77.js +7 -2
  401. package/dist/web/index.web78.js +34 -44
  402. package/dist/web/index.web79.js +8 -13
  403. package/dist/web/index.web80.js +11 -2
  404. package/dist/web/index.web81.js +11 -20
  405. package/dist/web/index.web82.js +13 -19
  406. package/dist/web/index.web83.js +18 -79
  407. package/dist/web/index.web84.js +5 -103
  408. package/dist/web/index.web85.js +5 -33
  409. package/dist/web/index.web86.js +10 -6
  410. package/dist/web/index.web87.js +102 -19
  411. package/dist/web/index.web88.js +79 -10
  412. package/dist/web/index.web89.js +80 -20
  413. package/dist/web/index.web9.js +3 -3
  414. package/dist/web/index.web90.js +20 -93
  415. package/dist/web/index.web91.js +9 -20
  416. package/dist/web/index.web92.js +16 -114
  417. package/dist/web/index.web93.js +90 -75
  418. package/dist/web/index.web94.js +20 -9
  419. package/dist/web/index.web95.js +118 -5
  420. package/dist/web/index.web96.js +2 -18
  421. package/dist/web/index.web97.js +20 -27
  422. package/dist/web/index.web98.js +19 -7
  423. package/dist/web/index.web99.js +32 -10
  424. package/dist/web-types/core.d.ts +3 -1
  425. package/dist/web-types/platform/types.d.ts +1 -1
  426. package/dist/web-types/types.d.ts +32 -2
  427. package/package.json +9 -7
package/README.md CHANGED
@@ -56,13 +56,15 @@ You can configure the SDK to create different types of accounts for new users:
56
56
  ```ts lines
57
57
  const config: Config = {
58
58
  projectId: "your-project-id",
59
- createAccountOnLogin: "evm-smart", // Creates Smart Accounts instead of EOAs
59
+ ethereum: {
60
+ createOnLogin: "smart", // Creates Smart Accounts instead of EOAs
61
+ },
60
62
  }
61
63
 
62
64
  await initialize(config);
63
65
  ```
64
66
 
65
- When `createAccountOnLogin` is set to `"evm-smart"`, the SDK will:
67
+ When `ethereum.createOnLogin` is set to `"smart"`, the SDK will:
66
68
  1. Create an EOA (Externally Owned Account) first
67
69
  2. Use that EOA as the owner to create a Smart Account
68
70
  3. Both accounts will be available on the user object
@@ -71,13 +73,15 @@ When `createAccountOnLogin` is set to `"evm-smart"`, the SDK will:
71
73
  ```ts lines
72
74
  const config: Config = {
73
75
  projectId: "your-project-id",
74
- createAccountOnLogin: "solana", // Creates Solana accounts instead of EVM accounts
76
+ solana: {
77
+ createOnLogin: true, // Creates Solana accounts
78
+ },
75
79
  }
76
80
 
77
81
  await initialize(config);
78
82
  ```
79
83
 
80
- When `createAccountOnLogin` is set to `"solana"`, the SDK will:
84
+ When `solana.createOnLogin` is set to `true`, the SDK will:
81
85
  1. Create a Solana account for new users
82
86
  2. The Solana account will be available on the `solanaAccounts` property
83
87
 
@@ -213,7 +217,7 @@ Smart Accounts provide advanced account abstraction features, including user ope
213
217
 
214
218
  ### Sign a Solana Transaction
215
219
 
216
- When your application is configured with `createAccountOnLogin: "solana"`, you can sign Solana transactions:
220
+ When your application is configured with `solana: { createOnLogin: true }`, you can sign Solana transactions:
217
221
 
218
222
  ```typescript lines
219
223
  import { signSolanaTransaction, getCurrentUser } from "@coinbase/cdp-core";
@@ -230,6 +234,26 @@ console.log("Signed Transaction:", result.signedTransaction);
230
234
  // The signedTransaction can now be broadcast to the Solana network
231
235
  ```
232
236
 
237
+ ### Sign a Solana Message
238
+
239
+ You can also sign arbitrary messages with Solana accounts:
240
+
241
+ ```typescript lines
242
+ import { signSolanaMessage, getCurrentUser } from "@coinbase/cdp-core";
243
+
244
+ const user = await getCurrentUser();
245
+ const solanaAccount = user.solanaAccounts[0];
246
+
247
+ const message = Buffer.from("Hello, Solana!", "utf8").toString("base64");
248
+ const result = await signSolanaMessage({
249
+ solanaAccount,
250
+ message // Base64 encoded message to sign
251
+ });
252
+
253
+ console.log("Message Signature:", result.signature);
254
+ // The signature can be used for authentication or verification purposes
255
+ ```
256
+
233
257
  ### Send a Solana Transaction
234
258
 
235
259
  You can sign and send a Solana transaction in a single call on the following Solana networks:
@@ -343,9 +367,11 @@ const typedDataResult = await signEvmTypedData({
343
367
  });
344
368
  ```
345
369
 
346
- ### Export Private Key
370
+ ### Export Private Keys
371
+
372
+ End users can export their private keys from their embedded wallet, allowing them to import them into compatible wallets of their choice.
347
373
 
348
- End users can export their private keys from their embedded wallet, allowing them to import it into an EVM-compatible wallet of their choice.
374
+ #### Export EVM Private Key
349
375
 
350
376
  ```typescript lines
351
377
  import { exportEvmAccount, getCurrentUser } from "@coinbase/cdp-core";
@@ -358,7 +384,25 @@ const { privateKey } = await exportEvmAccount({
358
384
  });
359
385
 
360
386
  // WARNING: Handle private keys with extreme care!
361
- console.log("Private Key:", privateKey);
387
+ console.log("EVM Private Key:", privateKey);
388
+ ```
389
+
390
+ #### Export Solana Private Key
391
+
392
+ When your application is configured with `solana: { createOnLogin: true }`, you can export Solana private keys:
393
+
394
+ ```typescript lines
395
+ import { exportSolanaAccount, getCurrentUser } from "@coinbase/cdp-core";
396
+
397
+ const user = await getCurrentUser();
398
+ const solanaAccount = user.solanaAccounts[0];
399
+
400
+ const { privateKey } = await exportSolanaAccount({
401
+ solanaAccount
402
+ });
403
+
404
+ // WARNING: Handle private keys with extreme care!
405
+ console.log("Solana Private Key:", privateKey);
362
406
  ```
363
407
 
364
408
  ### EIP-1193 Provider
@@ -2,51 +2,53 @@ import { nativeCrypto as r } from "./index.native2.js";
2
2
  import { nativeSecureStorage as o } from "./index.native3.js";
3
3
  import { nativeStorage as e } from "./index.native4.js";
4
4
  import { setPlatformServices as t } from "./index.native5.js";
5
- import { exportEvmAccount as d, getAccessToken as S, getCurrentUser as f, getUserOperation as v, initialize as T, isSignedIn as u, onAuthStateChange as l, sendEvmTransaction as A, sendSolanaTransaction as y, sendUserOperation as h, signEvmHash as x, signEvmMessage as O, signEvmTransaction as P, signEvmTypedData as C, signInWithEmail as D, signInWithSms as I, signOut as R, signSolanaTransaction as U, verifyEmailOTP as W, verifySmsOTP as k } from "./index.native6.js";
6
- import { AuthManager as N } from "./index.native7.js";
7
- import { APIError as B, ErrorType as H, HttpErrorType as _, SendEvmTransactionWithEndUserAccountBodyNetwork as b, SendSolanaTransactionWithEndUserAccountBodyNetwork as z } from "@coinbase/cdp-api-client";
5
+ import { exportEvmAccount as S, exportSolanaAccount as d, getAccessToken as f, getCurrentUser as v, getUserOperation as l, initialize as u, isSignedIn as T, onAuthStateChange as A, sendEvmTransaction as x, sendSolanaTransaction as y, sendUserOperation as h, signEvmHash as O, signEvmMessage as P, signEvmTransaction as C, signEvmTypedData as D, signInWithEmail as I, signInWithSms as R, signOut as U, signSolanaMessage as W, signSolanaTransaction as M, verifyEmailOTP as k, verifySmsOTP as N } from "./index.native6.js";
6
+ import { AuthManager as B } from "./index.native7.js";
7
+ import { APIError as _, ErrorType as b, HttpErrorType as z, SendEvmTransactionWithEndUserAccountBodyNetwork as V, SendSolanaTransactionWithEndUserAccountBodyNetwork as j } from "@coinbase/cdp-api-client";
8
8
  import "viem";
9
- import { createCDPEmbeddedWallet as j } from "./index.native8.js";
10
- import { EIP1193ProviderError as F, STANDARD_ERROR_CODES as G } from "./index.native9.js";
9
+ import { createCDPEmbeddedWallet as F } from "./index.native8.js";
10
+ import { EIP1193ProviderError as J, STANDARD_ERROR_CODES as K } from "./index.native9.js";
11
11
  import "ox";
12
12
  import "zustand";
13
- import { toViemAccount as K } from "./index.native10.js";
14
- import { ModuleResolutionError as Q } from "./index.native11.js";
13
+ import { toViemAccount as Q } from "./index.native10.js";
14
+ import { ModuleResolutionError as Y } from "./index.native11.js";
15
15
  t({
16
16
  crypto: r,
17
17
  storage: e,
18
18
  secureStorage: o
19
19
  });
20
20
  export {
21
- B as APIError,
22
- N as AuthManager,
23
- F as EIP1193ProviderError,
24
- H as ErrorType,
25
- _ as HttpErrorType,
26
- Q as ModuleResolutionError,
27
- G as STANDARD_ERROR_CODES,
28
- b as SendEvmTransactionWithEndUserAccountBodyNetwork,
29
- z as SendSolanaTransactionWithEndUserAccountBodyNetwork,
30
- j as createCDPEmbeddedWallet,
31
- d as exportEvmAccount,
32
- S as getAccessToken,
33
- f as getCurrentUser,
34
- v as getUserOperation,
35
- T as initialize,
36
- u as isSignedIn,
37
- l as onAuthStateChange,
38
- A as sendEvmTransaction,
21
+ _ as APIError,
22
+ B as AuthManager,
23
+ J as EIP1193ProviderError,
24
+ b as ErrorType,
25
+ z as HttpErrorType,
26
+ Y as ModuleResolutionError,
27
+ K as STANDARD_ERROR_CODES,
28
+ V as SendEvmTransactionWithEndUserAccountBodyNetwork,
29
+ j as SendSolanaTransactionWithEndUserAccountBodyNetwork,
30
+ F as createCDPEmbeddedWallet,
31
+ S as exportEvmAccount,
32
+ d as exportSolanaAccount,
33
+ f as getAccessToken,
34
+ v as getCurrentUser,
35
+ l as getUserOperation,
36
+ u as initialize,
37
+ T as isSignedIn,
38
+ A as onAuthStateChange,
39
+ x as sendEvmTransaction,
39
40
  y as sendSolanaTransaction,
40
41
  h as sendUserOperation,
41
- x as signEvmHash,
42
- O as signEvmMessage,
43
- P as signEvmTransaction,
44
- C as signEvmTypedData,
45
- D as signInWithEmail,
46
- I as signInWithSms,
47
- R as signOut,
48
- U as signSolanaTransaction,
49
- K as toViemAccount,
50
- W as verifyEmailOTP,
51
- k as verifySmsOTP
42
+ O as signEvmHash,
43
+ P as signEvmMessage,
44
+ C as signEvmTransaction,
45
+ D as signEvmTypedData,
46
+ I as signInWithEmail,
47
+ R as signInWithSms,
48
+ U as signOut,
49
+ W as signSolanaMessage,
50
+ M as signSolanaTransaction,
51
+ Q as toViemAccount,
52
+ k as verifyEmailOTP,
53
+ N as verifySmsOTP
52
54
  };
@@ -1,44 +1,120 @@
1
- import { InvalidAddressError as a } from "./index.native65.js";
2
- import { isAddress as f } from "./index.native39.js";
3
- import { concatHex as p } from "./index.native40.js";
4
- import { toHex as i } from "./index.native34.js";
5
- import { toRlp as x } from "./index.native53.js";
6
- import { serializeTransaction as l } from "./index.native20.js";
7
- function T(r, e) {
8
- return h(r) ? z(r) : l(r, e);
9
- }
10
- const E = {
11
- transaction: T
1
+ import { isJWK as p } from "./index.native110.js";
2
+ import { decode as m } from "./index.native95.js";
3
+ import y from "./index.native111.js";
4
+ import { isCryptoKey as S, isKeyObject as K } from "./index.native109.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");
12
117
  };
13
- function z(r) {
14
- w(r);
15
- const { sourceHash: e, data: o, from: m, gas: t, isSystemTx: u, mint: s, to: c, value: n } = r, d = [
16
- e,
17
- m,
18
- c ?? "0x",
19
- s ? i(s) : "0x",
20
- n ? i(n) : "0x",
21
- t ? i(t) : "0x",
22
- u ? "0x1" : "0x",
23
- o ?? "0x"
24
- ];
25
- return p([
26
- "0x7e",
27
- x(d)
28
- ]);
29
- }
30
- function h(r) {
31
- return r.type === "deposit" || typeof r.sourceHash < "u";
32
- }
33
- function w(r) {
34
- const { from: e, to: o } = r;
35
- if (e && !f(e))
36
- throw new a({ address: e });
37
- if (o && !f(o))
38
- throw new a({ address: o });
39
- }
40
118
  export {
41
- w as assertTransactionDeposit,
42
- T as serializeTransaction,
43
- E as serializers
119
+ d as default
44
120
  };
@@ -1,20 +1,81 @@
1
- function o(t) {
2
- if (Uint8Array.prototype.toBase64)
3
- return t.toBase64();
4
- const e = 32768, n = [];
5
- for (let r = 0; r < t.length; r += e)
6
- n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
7
- return btoa(n.join(""));
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.native91.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);
8
7
  }
9
- function a(t) {
10
- if (Uint8Array.fromBase64)
11
- return Uint8Array.fromBase64(t);
12
- const e = atob(t), n = new Uint8Array(e.length);
13
- for (let r = 0; r < e.length; r++)
14
- n[r] = e.charCodeAt(r);
15
- return n;
8
+ function U(o, t, s) {
9
+ return o & t ^ ~o & s;
16
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);
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
+ ]);
17
75
  export {
18
- a as decodeBase64,
19
- o as encodeBase64
76
+ U as Chi,
77
+ m as HashMD,
78
+ _ as Maj,
79
+ B as SHA256_IV,
80
+ y as setBigUint64
20
81
  };
@@ -1,30 +1,12 @@
1
- import { JOSENotSupported as r } from "./index.native30.js";
2
- const S = (e, s) => {
3
- const a = `SHA-${e.slice(-3)}`;
4
- switch (e) {
5
- case "HS256":
6
- case "HS384":
7
- case "HS512":
8
- return { hash: a, name: "HMAC" };
9
- case "PS256":
10
- case "PS384":
11
- case "PS512":
12
- return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
13
- case "RS256":
14
- case "RS384":
15
- case "RS512":
16
- return { hash: a, name: "RSASSA-PKCS1-v1_5" };
17
- case "ES256":
18
- case "ES384":
19
- case "ES512":
20
- return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
21
- case "Ed25519":
22
- case "EdDSA":
23
- return { name: "Ed25519" };
24
- default:
25
- throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
26
- }
1
+ import { contracts as o } from "./index.native112.js";
2
+ import { formatters as r } from "./index.native113.js";
3
+ import { serializers as t } from "./index.native114.js";
4
+ const e = {
5
+ blockTime: 2e3,
6
+ contracts: o,
7
+ formatters: r,
8
+ serializers: t
27
9
  };
28
10
  export {
29
- S as default
11
+ e as chainConfig
30
12
  };
@@ -1,10 +1,7 @@
1
- const o = (t, r) => {
2
- if (t.startsWith("RS") || t.startsWith("PS")) {
3
- const { modulusLength: e } = r.algorithm;
4
- if (typeof e != "number" || e < 2048)
5
- throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
6
- }
7
- };
1
+ const e = 32, s = 4096, t = 131072, l = 761855;
8
2
  export {
9
- o as default
3
+ t as bytesPerBlob,
4
+ e as bytesPerFieldElement,
5
+ s as fieldElementsPerBlob,
6
+ l as maxBytesPerTransaction
10
7
  };
@@ -1,13 +1,20 @@
1
- import { checkSigCryptoKey as i } from "./index.native109.js";
2
- import o from "./index.native105.js";
3
- const s = async (t, r, e) => {
4
- if (r instanceof Uint8Array) {
5
- if (!t.startsWith("HS"))
6
- throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
7
- return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
8
- }
9
- return i(r, t, e), r;
10
- };
1
+ function o(t) {
2
+ if (Uint8Array.prototype.toBase64)
3
+ return t.toBase64();
4
+ const e = 32768, n = [];
5
+ for (let r = 0; r < t.length; r += e)
6
+ n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
7
+ return btoa(n.join(""));
8
+ }
9
+ function a(t) {
10
+ if (Uint8Array.fromBase64)
11
+ return Uint8Array.fromBase64(t);
12
+ const e = atob(t), n = new Uint8Array(e.length);
13
+ for (let r = 0; r < e.length; r++)
14
+ n[r] = e.charCodeAt(r);
15
+ return n;
16
+ }
11
17
  export {
12
- s as default
18
+ a as decodeBase64,
19
+ o as encodeBase64
13
20
  };
@@ -1,15 +1,30 @@
1
- function i(n, e, ...o) {
2
- if (o = o.filter(Boolean), o.length > 2) {
3
- const f = o.pop();
4
- n += `one of type ${o.join(", ")}, or ${f}.`;
5
- } else o.length === 2 ? n += `one of type ${o[0]} or ${o[1]}.` : n += `of type ${o[0]}.`;
6
- return e == null ? n += ` Received ${e}` : typeof e == "function" && e.name ? n += ` Received function ${e.name}` : typeof e == "object" && e != null && e.constructor?.name && (n += ` Received an instance of ${e.constructor.name}`), n;
7
- }
8
- const r = (n, ...e) => i("Key must be ", n, ...e);
9
- function t(n, e, ...o) {
10
- return i(`Key for the ${n} algorithm must be `, e, ...o);
11
- }
1
+ import { JOSENotSupported as r } from "./index.native34.js";
2
+ const S = (e, s) => {
3
+ const a = `SHA-${e.slice(-3)}`;
4
+ switch (e) {
5
+ case "HS256":
6
+ case "HS384":
7
+ case "HS512":
8
+ return { hash: a, name: "HMAC" };
9
+ case "PS256":
10
+ case "PS384":
11
+ case "PS512":
12
+ return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
13
+ case "RS256":
14
+ case "RS384":
15
+ case "RS512":
16
+ return { hash: a, name: "RSASSA-PKCS1-v1_5" };
17
+ case "ES256":
18
+ case "ES384":
19
+ case "ES512":
20
+ return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
21
+ case "Ed25519":
22
+ case "EdDSA":
23
+ return { name: "Ed25519" };
24
+ default:
25
+ throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
26
+ }
27
+ };
12
28
  export {
13
- r as default,
14
- t as withAlg
29
+ S as default
15
30
  };
@@ -1,12 +1,10 @@
1
- function e(t) {
2
- return t?.[Symbol.toStringTag] === "CryptoKey";
3
- }
4
- function r(t) {
5
- return t?.[Symbol.toStringTag] === "KeyObject";
6
- }
7
- const n = (t) => e(t) || r(t);
1
+ const o = (t, r) => {
2
+ if (t.startsWith("RS") || t.startsWith("PS")) {
3
+ const { modulusLength: e } = r.algorithm;
4
+ if (typeof e != "number" || e < 2048)
5
+ throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
6
+ }
7
+ };
8
8
  export {
9
- n as default,
10
- e as isCryptoKey,
11
- r as isKeyObject
9
+ o as default
12
10
  };
@@ -1,19 +1,13 @@
1
- import n from "./index.native81.js";
2
- function r(t) {
3
- return n(t) && typeof t.kty == "string";
4
- }
5
- function o(t) {
6
- return t.kty !== "oct" && typeof t.d == "string";
7
- }
8
- function e(t) {
9
- return t.kty !== "oct" && typeof t.d > "u";
10
- }
11
- function c(t) {
12
- return t.kty === "oct" && typeof t.k == "string";
13
- }
1
+ import { checkSigCryptoKey as i } from "./index.native115.js";
2
+ import o from "./index.native108.js";
3
+ const s = async (t, r, e) => {
4
+ if (r instanceof Uint8Array) {
5
+ if (!t.startsWith("HS"))
6
+ throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
7
+ return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
8
+ }
9
+ return i(r, t, e), r;
10
+ };
14
11
  export {
15
- r as isJWK,
16
- o as isPrivateJWK,
17
- e as isPublicJWK,
18
- c as isSecretJWK
12
+ s as default
19
13
  };