@coinbase/cdp-core 0.0.43 → 0.0.45

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 (484) hide show
  1. package/README.md +54 -0
  2. package/dist/esm/index.native.js +26 -22
  3. package/dist/esm/index.native10.js +198 -140
  4. package/dist/esm/index.native100.js +9 -9
  5. package/dist/esm/index.native101.js +20 -19
  6. package/dist/esm/index.native102.js +9 -93
  7. package/dist/esm/index.native103.js +18 -19
  8. package/dist/esm/index.native104.js +81 -105
  9. package/dist/esm/index.native105.js +21 -5
  10. package/dist/esm/index.native106.js +116 -11
  11. package/dist/esm/index.native107.js +5 -36
  12. package/dist/esm/index.native108.js +12 -41
  13. package/dist/esm/index.native109.js +36 -18
  14. package/dist/esm/index.native11.js +114 -111
  15. package/dist/esm/index.native110.js +41 -27
  16. package/dist/esm/index.native111.js +18 -8
  17. package/dist/esm/index.native112.js +26 -9
  18. package/dist/esm/index.native113.js +8 -13
  19. package/dist/esm/index.native114.js +11 -10
  20. package/dist/esm/index.native115.js +11 -15
  21. package/dist/esm/index.native116.js +9 -80
  22. package/dist/esm/index.native117.js +13 -75
  23. package/dist/esm/index.native118.js +83 -0
  24. package/dist/esm/index.native119.js +81 -0
  25. package/dist/esm/index.native12.js +145 -19
  26. package/dist/esm/index.native13.js +114 -30
  27. package/dist/esm/index.native14.js +33 -3
  28. package/dist/esm/index.native15.js +32 -16
  29. package/dist/esm/index.native16.js +3 -18
  30. package/dist/esm/index.native17.js +15 -118
  31. package/dist/esm/index.native18.js +16 -13
  32. package/dist/esm/index.native19.js +119 -42
  33. package/dist/esm/index.native2.js +2 -2
  34. package/dist/esm/index.native20.js +12 -17
  35. package/dist/esm/index.native21.js +42 -172
  36. package/dist/esm/index.native22.js +19 -43
  37. package/dist/esm/index.native23.js +170 -39
  38. package/dist/esm/index.native24.js +42 -47
  39. package/dist/esm/index.native25.js +40 -71
  40. package/dist/esm/index.native26.js +48 -25
  41. package/dist/esm/index.native27.js +71 -950
  42. package/dist/esm/index.native28.js +26 -2
  43. package/dist/esm/index.native29.js +158 -48
  44. package/dist/esm/index.native30.js +47 -27
  45. package/dist/esm/index.native31.js +240 -149
  46. package/dist/esm/index.native32.js +55 -47
  47. package/dist/esm/index.native33.js +943 -243
  48. package/dist/esm/index.native34.js +2 -56
  49. package/dist/esm/index.native35.js +46 -13
  50. package/dist/esm/index.native36.js +27 -22
  51. package/dist/esm/index.native37.js +13 -47
  52. package/dist/esm/index.native38.js +23 -2
  53. package/dist/esm/index.native39.js +51 -2
  54. package/dist/esm/index.native40.js +2 -9
  55. package/dist/esm/index.native41.js +2 -18
  56. package/dist/esm/index.native42.js +8 -45
  57. package/dist/esm/index.native43.js +17 -13
  58. package/dist/esm/index.native44.js +40 -50
  59. package/dist/esm/index.native45.js +13 -6
  60. package/dist/esm/index.native46.js +54 -20
  61. package/dist/esm/index.native47.js +6 -11
  62. package/dist/esm/index.native48.js +21 -3
  63. package/dist/esm/index.native49.js +11 -3
  64. package/dist/esm/index.native50.js +3 -34
  65. package/dist/esm/index.native51.js +3 -12
  66. package/dist/esm/index.native52.js +34 -4
  67. package/dist/esm/index.native53.js +11 -27
  68. package/dist/esm/index.native54.js +4 -6
  69. package/dist/esm/index.native55.js +28 -24
  70. package/dist/esm/index.native56.js +6 -16
  71. package/dist/esm/index.native57.js +22 -52
  72. package/dist/esm/index.native58.js +16 -23
  73. package/dist/esm/index.native59.js +53 -10
  74. package/dist/esm/index.native6.js +123 -126
  75. package/dist/esm/index.native60.js +23 -27
  76. package/dist/esm/index.native61.js +9 -40
  77. package/dist/esm/index.native62.js +26 -54
  78. package/dist/esm/index.native63.js +42 -127
  79. package/dist/esm/index.native64.js +53 -10
  80. package/dist/esm/index.native65.js +125 -102
  81. package/dist/esm/index.native66.js +12 -6
  82. package/dist/esm/index.native67.js +105 -3
  83. package/dist/esm/index.native68.js +6 -14
  84. package/dist/esm/index.native69.js +3 -43
  85. package/dist/esm/index.native7.js +3 -3
  86. package/dist/esm/index.native70.js +14 -78
  87. package/dist/esm/index.native71.js +43 -2
  88. package/dist/esm/index.native72.js +79 -2
  89. package/dist/esm/index.native73.js +2 -13
  90. package/dist/esm/index.native74.js +2 -38
  91. package/dist/esm/index.native75.js +11 -5
  92. package/dist/esm/index.native76.js +32 -29
  93. package/dist/esm/index.native77.js +6 -8
  94. package/dist/esm/index.native78.js +33 -9
  95. package/dist/esm/index.native79.js +8 -11
  96. package/dist/esm/index.native8.js +39 -216
  97. package/dist/esm/index.native80.js +10 -13
  98. package/dist/esm/index.native81.js +11 -18
  99. package/dist/esm/index.native82.js +13 -5
  100. package/dist/esm/index.native83.js +19 -5
  101. package/dist/esm/index.native84.js +5 -10
  102. package/dist/esm/index.native85.js +5 -55
  103. package/dist/esm/index.native86.js +10 -10
  104. package/dist/esm/index.native87.js +55 -2
  105. package/dist/esm/index.native88.js +11 -45
  106. package/dist/esm/index.native89.js +2 -14
  107. package/dist/esm/index.native9.js +19 -118
  108. package/dist/esm/index.native90.js +45 -2
  109. package/dist/esm/index.native91.js +13 -20
  110. package/dist/esm/index.native92.js +2 -20
  111. package/dist/esm/index.native93.js +20 -79
  112. package/dist/esm/index.native94.js +18 -102
  113. package/dist/esm/index.native95.js +79 -32
  114. package/dist/esm/index.native96.js +103 -6
  115. package/dist/esm/index.native97.js +29 -75
  116. package/dist/esm/index.native98.js +7 -10
  117. package/dist/esm/index.native99.js +77 -19
  118. package/dist/esm/index.web.js +27 -23
  119. package/dist/esm/index.web10.js +114 -111
  120. package/dist/esm/index.web100.js +9 -20
  121. package/dist/esm/index.web101.js +16 -114
  122. package/dist/esm/index.web102.js +93 -9
  123. package/dist/esm/index.web103.js +20 -78
  124. package/dist/esm/index.web104.js +118 -5
  125. package/dist/esm/index.web105.js +10 -18
  126. package/dist/esm/index.web106.js +5 -28
  127. package/dist/esm/index.web107.js +18 -8
  128. package/dist/esm/index.web108.js +26 -9
  129. package/dist/esm/index.web109.js +8 -13
  130. package/dist/esm/index.web11.js +145 -19
  131. package/dist/esm/index.web110.js +11 -10
  132. package/dist/esm/index.web111.js +11 -15
  133. package/dist/esm/index.web112.js +9 -80
  134. package/dist/esm/index.web113.js +17 -13
  135. package/dist/esm/index.web114.js +77 -32
  136. package/dist/esm/index.web115.js +12 -41
  137. package/dist/esm/index.web116.js +33 -76
  138. package/dist/esm/index.web117.js +44 -0
  139. package/dist/esm/index.web118.js +81 -0
  140. package/dist/esm/index.web12.js +114 -30
  141. package/dist/esm/index.web13.js +33 -3
  142. package/dist/esm/index.web14.js +32 -16
  143. package/dist/esm/index.web15.js +3 -18
  144. package/dist/esm/index.web16.js +15 -118
  145. package/dist/esm/index.web17.js +16 -13
  146. package/dist/esm/index.web18.js +119 -42
  147. package/dist/esm/index.web19.js +12 -17
  148. package/dist/esm/index.web20.js +42 -172
  149. package/dist/esm/index.web21.js +19 -43
  150. package/dist/esm/index.web22.js +170 -39
  151. package/dist/esm/index.web23.js +42 -47
  152. package/dist/esm/index.web24.js +40 -71
  153. package/dist/esm/index.web25.js +48 -25
  154. package/dist/esm/index.web26.js +71 -950
  155. package/dist/esm/index.web27.js +26 -2
  156. package/dist/esm/index.web28.js +950 -49
  157. package/dist/esm/index.web29.js +2 -28
  158. package/dist/esm/index.web3.js +1 -1
  159. package/dist/esm/index.web30.js +48 -158
  160. package/dist/esm/index.web31.js +27 -47
  161. package/dist/esm/index.web32.js +149 -240
  162. package/dist/esm/index.web33.js +47 -55
  163. package/dist/esm/index.web34.js +247 -13
  164. package/dist/esm/index.web35.js +56 -23
  165. package/dist/esm/index.web36.js +13 -47
  166. package/dist/esm/index.web37.js +23 -2
  167. package/dist/esm/index.web38.js +51 -2
  168. package/dist/esm/index.web39.js +2 -9
  169. package/dist/esm/index.web40.js +2 -18
  170. package/dist/esm/index.web41.js +8 -45
  171. package/dist/esm/index.web42.js +17 -13
  172. package/dist/esm/index.web43.js +40 -50
  173. package/dist/esm/index.web44.js +13 -6
  174. package/dist/esm/index.web45.js +54 -20
  175. package/dist/esm/index.web46.js +6 -11
  176. package/dist/esm/index.web47.js +21 -3
  177. package/dist/esm/index.web48.js +11 -3
  178. package/dist/esm/index.web49.js +3 -34
  179. package/dist/esm/index.web5.js +123 -126
  180. package/dist/esm/index.web50.js +3 -12
  181. package/dist/esm/index.web51.js +34 -4
  182. package/dist/esm/index.web52.js +11 -27
  183. package/dist/esm/index.web53.js +4 -6
  184. package/dist/esm/index.web54.js +28 -24
  185. package/dist/esm/index.web55.js +6 -16
  186. package/dist/esm/index.web56.js +22 -52
  187. package/dist/esm/index.web57.js +16 -23
  188. package/dist/esm/index.web58.js +53 -10
  189. package/dist/esm/index.web59.js +23 -27
  190. package/dist/esm/index.web6.js +3 -3
  191. package/dist/esm/index.web60.js +9 -40
  192. package/dist/esm/index.web61.js +26 -54
  193. package/dist/esm/index.web62.js +42 -127
  194. package/dist/esm/index.web63.js +53 -10
  195. package/dist/esm/index.web64.js +125 -102
  196. package/dist/esm/index.web65.js +12 -6
  197. package/dist/esm/index.web66.js +105 -3
  198. package/dist/esm/index.web67.js +6 -14
  199. package/dist/esm/index.web68.js +3 -43
  200. package/dist/esm/index.web69.js +14 -78
  201. package/dist/esm/index.web7.js +39 -216
  202. package/dist/esm/index.web70.js +43 -2
  203. package/dist/esm/index.web71.js +79 -2
  204. package/dist/esm/index.web72.js +2 -13
  205. package/dist/esm/index.web73.js +2 -38
  206. package/dist/esm/index.web74.js +11 -5
  207. package/dist/esm/index.web75.js +32 -29
  208. package/dist/esm/index.web76.js +6 -8
  209. package/dist/esm/index.web77.js +33 -9
  210. package/dist/esm/index.web78.js +8 -11
  211. package/dist/esm/index.web79.js +10 -13
  212. package/dist/esm/index.web8.js +19 -118
  213. package/dist/esm/index.web80.js +11 -18
  214. package/dist/esm/index.web81.js +13 -5
  215. package/dist/esm/index.web82.js +19 -5
  216. package/dist/esm/index.web83.js +5 -10
  217. package/dist/esm/index.web84.js +5 -55
  218. package/dist/esm/index.web85.js +10 -10
  219. package/dist/esm/index.web86.js +55 -2
  220. package/dist/esm/index.web87.js +11 -45
  221. package/dist/esm/index.web88.js +2 -14
  222. package/dist/esm/index.web89.js +45 -2
  223. package/dist/esm/index.web9.js +198 -140
  224. package/dist/esm/index.web90.js +13 -20
  225. package/dist/esm/index.web91.js +2 -20
  226. package/dist/esm/index.web92.js +20 -79
  227. package/dist/esm/index.web93.js +18 -102
  228. package/dist/esm/index.web94.js +79 -32
  229. package/dist/esm/index.web95.js +103 -6
  230. package/dist/esm/index.web96.js +30 -18
  231. package/dist/esm/index.web97.js +7 -10
  232. package/dist/esm/index.web98.js +77 -18
  233. package/dist/esm/index.web99.js +20 -93
  234. package/dist/native/index.native.js +26 -22
  235. package/dist/native/index.native10.js +198 -140
  236. package/dist/native/index.native100.js +9 -9
  237. package/dist/native/index.native101.js +20 -19
  238. package/dist/native/index.native102.js +9 -93
  239. package/dist/native/index.native103.js +18 -19
  240. package/dist/native/index.native104.js +81 -105
  241. package/dist/native/index.native105.js +21 -5
  242. package/dist/native/index.native106.js +116 -11
  243. package/dist/native/index.native107.js +5 -36
  244. package/dist/native/index.native108.js +12 -41
  245. package/dist/native/index.native109.js +36 -18
  246. package/dist/native/index.native11.js +114 -111
  247. package/dist/native/index.native110.js +41 -27
  248. package/dist/native/index.native111.js +18 -8
  249. package/dist/native/index.native112.js +26 -9
  250. package/dist/native/index.native113.js +8 -13
  251. package/dist/native/index.native114.js +11 -10
  252. package/dist/native/index.native115.js +11 -15
  253. package/dist/native/index.native116.js +9 -80
  254. package/dist/native/index.native117.js +13 -75
  255. package/dist/native/index.native118.js +83 -0
  256. package/dist/native/index.native119.js +81 -0
  257. package/dist/native/index.native12.js +145 -19
  258. package/dist/native/index.native13.js +114 -30
  259. package/dist/native/index.native14.js +33 -3
  260. package/dist/native/index.native15.js +32 -16
  261. package/dist/native/index.native16.js +3 -18
  262. package/dist/native/index.native17.js +15 -118
  263. package/dist/native/index.native18.js +16 -13
  264. package/dist/native/index.native19.js +119 -42
  265. package/dist/native/index.native2.js +2 -2
  266. package/dist/native/index.native20.js +12 -17
  267. package/dist/native/index.native21.js +42 -172
  268. package/dist/native/index.native22.js +19 -43
  269. package/dist/native/index.native23.js +170 -39
  270. package/dist/native/index.native24.js +42 -47
  271. package/dist/native/index.native25.js +40 -71
  272. package/dist/native/index.native26.js +48 -25
  273. package/dist/native/index.native27.js +71 -950
  274. package/dist/native/index.native28.js +26 -2
  275. package/dist/native/index.native29.js +158 -48
  276. package/dist/native/index.native30.js +47 -27
  277. package/dist/native/index.native31.js +240 -149
  278. package/dist/native/index.native32.js +55 -47
  279. package/dist/native/index.native33.js +943 -243
  280. package/dist/native/index.native34.js +2 -56
  281. package/dist/native/index.native35.js +46 -13
  282. package/dist/native/index.native36.js +27 -22
  283. package/dist/native/index.native37.js +13 -47
  284. package/dist/native/index.native38.js +23 -2
  285. package/dist/native/index.native39.js +51 -2
  286. package/dist/native/index.native40.js +2 -9
  287. package/dist/native/index.native41.js +2 -18
  288. package/dist/native/index.native42.js +8 -45
  289. package/dist/native/index.native43.js +17 -13
  290. package/dist/native/index.native44.js +40 -50
  291. package/dist/native/index.native45.js +13 -6
  292. package/dist/native/index.native46.js +54 -20
  293. package/dist/native/index.native47.js +6 -11
  294. package/dist/native/index.native48.js +21 -3
  295. package/dist/native/index.native49.js +11 -3
  296. package/dist/native/index.native50.js +3 -34
  297. package/dist/native/index.native51.js +3 -12
  298. package/dist/native/index.native52.js +34 -4
  299. package/dist/native/index.native53.js +11 -27
  300. package/dist/native/index.native54.js +4 -6
  301. package/dist/native/index.native55.js +28 -24
  302. package/dist/native/index.native56.js +6 -16
  303. package/dist/native/index.native57.js +22 -52
  304. package/dist/native/index.native58.js +16 -23
  305. package/dist/native/index.native59.js +53 -10
  306. package/dist/native/index.native6.js +123 -126
  307. package/dist/native/index.native60.js +23 -27
  308. package/dist/native/index.native61.js +9 -40
  309. package/dist/native/index.native62.js +26 -54
  310. package/dist/native/index.native63.js +42 -127
  311. package/dist/native/index.native64.js +53 -10
  312. package/dist/native/index.native65.js +125 -102
  313. package/dist/native/index.native66.js +12 -6
  314. package/dist/native/index.native67.js +105 -3
  315. package/dist/native/index.native68.js +6 -14
  316. package/dist/native/index.native69.js +3 -43
  317. package/dist/native/index.native7.js +3 -3
  318. package/dist/native/index.native70.js +14 -78
  319. package/dist/native/index.native71.js +43 -2
  320. package/dist/native/index.native72.js +79 -2
  321. package/dist/native/index.native73.js +2 -13
  322. package/dist/native/index.native74.js +2 -38
  323. package/dist/native/index.native75.js +11 -5
  324. package/dist/native/index.native76.js +32 -29
  325. package/dist/native/index.native77.js +6 -8
  326. package/dist/native/index.native78.js +33 -9
  327. package/dist/native/index.native79.js +8 -11
  328. package/dist/native/index.native8.js +39 -216
  329. package/dist/native/index.native80.js +10 -13
  330. package/dist/native/index.native81.js +11 -18
  331. package/dist/native/index.native82.js +13 -5
  332. package/dist/native/index.native83.js +19 -5
  333. package/dist/native/index.native84.js +5 -10
  334. package/dist/native/index.native85.js +5 -55
  335. package/dist/native/index.native86.js +10 -10
  336. package/dist/native/index.native87.js +55 -2
  337. package/dist/native/index.native88.js +11 -45
  338. package/dist/native/index.native89.js +2 -14
  339. package/dist/native/index.native9.js +19 -118
  340. package/dist/native/index.native90.js +45 -2
  341. package/dist/native/index.native91.js +13 -20
  342. package/dist/native/index.native92.js +2 -20
  343. package/dist/native/index.native93.js +20 -79
  344. package/dist/native/index.native94.js +18 -102
  345. package/dist/native/index.native95.js +79 -32
  346. package/dist/native/index.native96.js +103 -6
  347. package/dist/native/index.native97.js +29 -75
  348. package/dist/native/index.native98.js +7 -10
  349. package/dist/native/index.native99.js +77 -19
  350. package/dist/native-types/actions/listSpendPermissions.d.ts +14 -0
  351. package/dist/native-types/actions/revokeSpendPermission.d.ts +13 -0
  352. package/dist/native-types/index.d.ts +3 -0
  353. package/dist/native-types/index.native.d.ts +3 -0
  354. package/dist/native-types/index.web.d.ts +3 -0
  355. package/dist/native-types/mocks/config.d.ts +2 -0
  356. package/dist/types/actions/listSpendPermissions.d.ts +14 -0
  357. package/dist/types/actions/revokeSpendPermission.d.ts +13 -0
  358. package/dist/types/index.d.ts +3 -0
  359. package/dist/types/index.native.d.ts +3 -0
  360. package/dist/types/index.web.d.ts +3 -0
  361. package/dist/types/mocks/config.d.ts +2 -0
  362. package/dist/web/index.web.js +27 -23
  363. package/dist/web/index.web10.js +114 -111
  364. package/dist/web/index.web100.js +9 -20
  365. package/dist/web/index.web101.js +16 -114
  366. package/dist/web/index.web102.js +93 -9
  367. package/dist/web/index.web103.js +20 -78
  368. package/dist/web/index.web104.js +118 -5
  369. package/dist/web/index.web105.js +10 -18
  370. package/dist/web/index.web106.js +5 -28
  371. package/dist/web/index.web107.js +18 -8
  372. package/dist/web/index.web108.js +26 -9
  373. package/dist/web/index.web109.js +8 -13
  374. package/dist/web/index.web11.js +145 -19
  375. package/dist/web/index.web110.js +11 -10
  376. package/dist/web/index.web111.js +11 -15
  377. package/dist/web/index.web112.js +9 -80
  378. package/dist/web/index.web113.js +17 -13
  379. package/dist/web/index.web114.js +77 -32
  380. package/dist/web/index.web115.js +12 -41
  381. package/dist/web/index.web116.js +33 -76
  382. package/dist/web/index.web117.js +44 -0
  383. package/dist/web/index.web118.js +81 -0
  384. package/dist/web/index.web12.js +114 -30
  385. package/dist/web/index.web13.js +33 -3
  386. package/dist/web/index.web14.js +32 -16
  387. package/dist/web/index.web15.js +3 -18
  388. package/dist/web/index.web16.js +15 -118
  389. package/dist/web/index.web17.js +16 -13
  390. package/dist/web/index.web18.js +119 -42
  391. package/dist/web/index.web19.js +12 -17
  392. package/dist/web/index.web20.js +42 -172
  393. package/dist/web/index.web21.js +19 -43
  394. package/dist/web/index.web22.js +170 -39
  395. package/dist/web/index.web23.js +42 -47
  396. package/dist/web/index.web24.js +40 -71
  397. package/dist/web/index.web25.js +48 -25
  398. package/dist/web/index.web26.js +71 -950
  399. package/dist/web/index.web27.js +26 -2
  400. package/dist/web/index.web28.js +950 -49
  401. package/dist/web/index.web29.js +2 -28
  402. package/dist/web/index.web3.js +1 -1
  403. package/dist/web/index.web30.js +48 -158
  404. package/dist/web/index.web31.js +27 -47
  405. package/dist/web/index.web32.js +149 -240
  406. package/dist/web/index.web33.js +47 -55
  407. package/dist/web/index.web34.js +247 -13
  408. package/dist/web/index.web35.js +56 -23
  409. package/dist/web/index.web36.js +13 -47
  410. package/dist/web/index.web37.js +23 -2
  411. package/dist/web/index.web38.js +51 -2
  412. package/dist/web/index.web39.js +2 -9
  413. package/dist/web/index.web40.js +2 -18
  414. package/dist/web/index.web41.js +8 -45
  415. package/dist/web/index.web42.js +17 -13
  416. package/dist/web/index.web43.js +40 -50
  417. package/dist/web/index.web44.js +13 -6
  418. package/dist/web/index.web45.js +54 -20
  419. package/dist/web/index.web46.js +6 -11
  420. package/dist/web/index.web47.js +21 -3
  421. package/dist/web/index.web48.js +11 -3
  422. package/dist/web/index.web49.js +3 -34
  423. package/dist/web/index.web5.js +123 -126
  424. package/dist/web/index.web50.js +3 -12
  425. package/dist/web/index.web51.js +34 -4
  426. package/dist/web/index.web52.js +11 -27
  427. package/dist/web/index.web53.js +4 -6
  428. package/dist/web/index.web54.js +28 -24
  429. package/dist/web/index.web55.js +6 -16
  430. package/dist/web/index.web56.js +22 -52
  431. package/dist/web/index.web57.js +16 -23
  432. package/dist/web/index.web58.js +53 -10
  433. package/dist/web/index.web59.js +23 -27
  434. package/dist/web/index.web6.js +3 -3
  435. package/dist/web/index.web60.js +9 -40
  436. package/dist/web/index.web61.js +26 -54
  437. package/dist/web/index.web62.js +42 -127
  438. package/dist/web/index.web63.js +53 -10
  439. package/dist/web/index.web64.js +125 -102
  440. package/dist/web/index.web65.js +12 -6
  441. package/dist/web/index.web66.js +105 -3
  442. package/dist/web/index.web67.js +6 -14
  443. package/dist/web/index.web68.js +3 -43
  444. package/dist/web/index.web69.js +14 -78
  445. package/dist/web/index.web7.js +39 -216
  446. package/dist/web/index.web70.js +43 -2
  447. package/dist/web/index.web71.js +79 -2
  448. package/dist/web/index.web72.js +2 -13
  449. package/dist/web/index.web73.js +2 -38
  450. package/dist/web/index.web74.js +11 -5
  451. package/dist/web/index.web75.js +32 -29
  452. package/dist/web/index.web76.js +6 -8
  453. package/dist/web/index.web77.js +33 -9
  454. package/dist/web/index.web78.js +8 -11
  455. package/dist/web/index.web79.js +10 -13
  456. package/dist/web/index.web8.js +19 -118
  457. package/dist/web/index.web80.js +11 -18
  458. package/dist/web/index.web81.js +13 -5
  459. package/dist/web/index.web82.js +19 -5
  460. package/dist/web/index.web83.js +5 -10
  461. package/dist/web/index.web84.js +5 -55
  462. package/dist/web/index.web85.js +10 -10
  463. package/dist/web/index.web86.js +55 -2
  464. package/dist/web/index.web87.js +11 -45
  465. package/dist/web/index.web88.js +2 -14
  466. package/dist/web/index.web89.js +45 -2
  467. package/dist/web/index.web9.js +198 -140
  468. package/dist/web/index.web90.js +13 -20
  469. package/dist/web/index.web91.js +2 -20
  470. package/dist/web/index.web92.js +20 -79
  471. package/dist/web/index.web93.js +18 -102
  472. package/dist/web/index.web94.js +79 -32
  473. package/dist/web/index.web95.js +103 -6
  474. package/dist/web/index.web96.js +30 -18
  475. package/dist/web/index.web97.js +7 -10
  476. package/dist/web/index.web98.js +77 -18
  477. package/dist/web/index.web99.js +20 -93
  478. package/dist/web-types/actions/listSpendPermissions.d.ts +14 -0
  479. package/dist/web-types/actions/revokeSpendPermission.d.ts +13 -0
  480. package/dist/web-types/index.d.ts +3 -0
  481. package/dist/web-types/index.native.d.ts +3 -0
  482. package/dist/web-types/index.web.d.ts +3 -0
  483. package/dist/web-types/mocks/config.d.ts +2 -0
  484. package/package.json +2 -2
package/README.md CHANGED
@@ -254,6 +254,60 @@ const result = await createSpendPermission({
254
254
  });
255
255
  ```
256
256
 
257
+ #### List Spend Permissions
258
+
259
+ Retrieve all spend permissions for a Smart Account:
260
+
261
+ ```typescript lines
262
+ import { listSpendPermissions, getCurrentUser } from "@coinbase/cdp-core";
263
+
264
+ const user = await getCurrentUser();
265
+ const smartAccount = user.evmSmartAccounts[0];
266
+
267
+ const result = await listSpendPermissions({
268
+ evmSmartAccount: smartAccount,
269
+ network: "base-sepolia",
270
+ pageSize: 10
271
+ });
272
+
273
+ console.log("Found", result.spendPermissions.length, "spend permissions");
274
+ for (const permission of result.spendPermissions) {
275
+ console.log("Permission:", permission.permissionHash, "Revoked:", permission.revoked);
276
+ console.log("Spender:", permission.permission.spender);
277
+ console.log("Token:", permission.permission.token);
278
+ console.log("Allowance:", permission.permission.allowance);
279
+ }
280
+
281
+ // Paginate through results if needed
282
+ if (result.hasNextPage) {
283
+ const nextPage = await listSpendPermissions({
284
+ evmSmartAccount: smartAccount,
285
+ network: "base-sepolia",
286
+ pageToken: result.nextPageToken
287
+ });
288
+ }
289
+ ```
290
+
291
+ #### Revoke Spend Permissions
292
+
293
+ Revoke a spend permission for a Smart Account:
294
+
295
+ ```typescript lines
296
+ import { revokeSpendPermission, getCurrentUser } from "@coinbase/cdp-core";
297
+
298
+ const user = await getCurrentUser();
299
+ const smartAccount = user.evmSmartAccounts[0];
300
+
301
+ const result = await revokeSpendPermission({
302
+ evmSmartAccount: smartAccount,
303
+ network: "base-sepolia",
304
+ permissionHash: "0x5678...",
305
+ useCdpPaymaster: true
306
+ });
307
+
308
+ console.log("User Operation Hash:", result.userOperationHash);
309
+ ```
310
+
257
311
  ### Sign a Solana Transaction
258
312
 
259
313
  When your application is configured with `solana: { createOnLogin: true }`, you can sign Solana transactions:
@@ -2,17 +2,19 @@ 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 S, exportSolanaAccount as d, getAccessToken as f, getCurrentUser as l, getUserOperation as u, initialize as v, isSignedIn as T, onAuthStateChange as A, sendEvmTransaction as x, sendSolanaTransaction as y, sendUserOperation as h, signEvmHash as P, signEvmMessage as O, signEvmTransaction as I, signEvmTypedData as C, signInWithEmail as D, signInWithSms as R, signOut as U, signSolanaMessage as W, signSolanaTransaction as M, verifyEmailOTP as k, verifySmsOTP as N } from "./index.native6.js";
5
+ import { exportEvmAccount as S, exportSolanaAccount as d, getAccessToken as f, getCurrentUser as l, getUserOperation as v, initialize as u, isSignedIn as T, onAuthStateChange as x, sendEvmTransaction as A, sendSolanaTransaction as P, sendUserOperation as y, signEvmHash as h, signEvmMessage as O, signEvmTransaction as I, signEvmTypedData as C, signInWithEmail as D, signInWithSms as R, signOut as U, signSolanaMessage as W, signSolanaTransaction as k, verifyEmailOTP as M, verifySmsOTP as N } from "./index.native6.js";
6
6
  import { createSpendPermission as B } from "./index.native7.js";
7
- import { AuthManager as V } from "./index.native8.js";
7
+ import { listSpendPermissions as V } from "./index.native8.js";
8
8
  import { APIError as b, ErrorType as z, HttpErrorType as j, SendEvmTransactionWithEndUserAccountBodyNetwork as q, SendSolanaTransactionWithEndUserAccountBodyNetwork as F } from "@coinbase/cdp-api-client";
9
+ import { revokeSpendPermission as J } from "./index.native9.js";
10
+ import { AuthManager as L } from "./index.native10.js";
9
11
  import "viem";
10
- import { createCDPEmbeddedWallet as J } from "./index.native9.js";
11
- import { EIP1193ProviderError as L, STANDARD_ERROR_CODES as Q } from "./index.native10.js";
12
+ import { createCDPEmbeddedWallet as X } from "./index.native11.js";
13
+ import { EIP1193ProviderError as Z, STANDARD_ERROR_CODES as $ } from "./index.native12.js";
12
14
  import "ox";
13
15
  import "zustand";
14
- import { toViemAccount as Y } from "./index.native11.js";
15
- import { InputValidationError as $, ModuleResolutionError as rr } from "./index.native12.js";
16
+ import { toViemAccount as or } from "./index.native13.js";
17
+ import { InputValidationError as tr, ModuleResolutionError as nr } from "./index.native14.js";
16
18
  t({
17
19
  crypto: r,
18
20
  storage: e,
@@ -20,29 +22,31 @@ t({
20
22
  });
21
23
  export {
22
24
  b as APIError,
23
- V as AuthManager,
24
- L as EIP1193ProviderError,
25
+ L as AuthManager,
26
+ Z as EIP1193ProviderError,
25
27
  z as ErrorType,
26
28
  j as HttpErrorType,
27
- $ as InputValidationError,
28
- rr as ModuleResolutionError,
29
- Q as STANDARD_ERROR_CODES,
29
+ tr as InputValidationError,
30
+ nr as ModuleResolutionError,
31
+ $ as STANDARD_ERROR_CODES,
30
32
  q as SendEvmTransactionWithEndUserAccountBodyNetwork,
31
33
  F as SendSolanaTransactionWithEndUserAccountBodyNetwork,
32
- J as createCDPEmbeddedWallet,
34
+ X as createCDPEmbeddedWallet,
33
35
  B as createSpendPermission,
34
36
  S as exportEvmAccount,
35
37
  d as exportSolanaAccount,
36
38
  f as getAccessToken,
37
39
  l as getCurrentUser,
38
- u as getUserOperation,
39
- v as initialize,
40
+ v as getUserOperation,
41
+ u as initialize,
40
42
  T as isSignedIn,
41
- A as onAuthStateChange,
42
- x as sendEvmTransaction,
43
- y as sendSolanaTransaction,
44
- h as sendUserOperation,
45
- P as signEvmHash,
43
+ V as listSpendPermissions,
44
+ x as onAuthStateChange,
45
+ J as revokeSpendPermission,
46
+ A as sendEvmTransaction,
47
+ P as sendSolanaTransaction,
48
+ y as sendUserOperation,
49
+ h as signEvmHash,
46
50
  O as signEvmMessage,
47
51
  I as signEvmTransaction,
48
52
  C as signEvmTypedData,
@@ -50,8 +54,8 @@ export {
50
54
  R as signInWithSms,
51
55
  U as signOut,
52
56
  W as signSolanaMessage,
53
- M as signSolanaTransaction,
54
- Y as toViemAccount,
55
- k as verifyEmailOTP,
57
+ k as signSolanaTransaction,
58
+ or as toViemAccount,
59
+ M as verifyEmailOTP,
56
60
  N as verifySmsOTP
57
61
  };
@@ -1,161 +1,219 @@
1
- import "ox";
1
+ import { logOutEndUser as l, refreshAccessToken as c, registerTemporaryWalletSecret as o } from "@coinbase/cdp-api-client";
2
+ import { SignJWT as u } from "./index.native25.js";
2
3
  import "viem";
3
- import "zustand";
4
- import "@coinbase/cdp-api-client";
5
- import { getCurrentUser as h } from "./index.native6.js";
6
- import "./index.native9.js";
7
- const n = {
8
- rpc: {
9
- invalidInput: -32e3,
10
- resourceNotFound: -32001,
11
- resourceUnavailable: -32002,
12
- transactionRejected: -32003,
13
- methodNotSupported: -32004,
14
- limitExceeded: -32005,
15
- parse: -32700,
16
- invalidRequest: -32600,
17
- methodNotFound: -32601,
18
- invalidParams: -32602,
19
- internal: -32603
20
- },
21
- provider: {
22
- userRejectedRequest: 4001,
23
- unauthorized: 4100,
24
- unsupportedMethod: 4200,
25
- disconnected: 4900,
26
- chainDisconnected: 4901,
27
- unsupportedChain: 4902
4
+ import { toAuthState as f } from "./index.native17.js";
5
+ import { getPlatformCrypto as n } from "./index.native5.js";
6
+ import { sortKeys as S } from "./index.native21.js";
7
+ const i = 60 * 1e3;
8
+ class p {
9
+ projectId;
10
+ authState = null;
11
+ walletSecret = null;
12
+ authStateChangeCallbacks = [];
13
+ initPromise = null;
14
+ refreshTimeout = null;
15
+ /**
16
+ * Initializes the token manager.
17
+ *
18
+ * @param projectId - The project ID.
19
+ */
20
+ constructor(e) {
21
+ this.projectId = e, this.initPromise = this._doInitialize();
28
22
  }
29
- };
30
- class o extends Error {
31
23
  /**
32
- * The error code from EIP1193ErrorCode enum.
24
+ * Gets the current user, or null if there is no user signed in.
25
+ *
26
+ * @returns The current user.
33
27
  */
34
- code;
28
+ async getUser() {
29
+ return this.authState?.user ?? null;
30
+ }
35
31
  /**
36
- * Creates a new EIP-1193 Provider error.
32
+ * Returns whether the user is signed in - i.e., whether there is an unexpired
33
+ * access token and user. Attempts to refresh the token if it's expired.
37
34
  *
38
- * @param code - The error code from EIP1193ErrorCode enum.
39
- * @param message - The error message.
35
+ * @returns True if the user is signed in, false otherwise.
40
36
  */
41
- constructor(t, r) {
42
- super(r), this.code = t;
37
+ async isSignedIn() {
38
+ if (!this.authState)
39
+ return !1;
40
+ if (this.authState.expiresAt > Date.now() + i)
41
+ return !0;
42
+ try {
43
+ return await this.getToken() !== null;
44
+ } catch {
45
+ return !1;
46
+ }
43
47
  }
44
- }
45
- class c extends Error {
46
48
  /**
47
- * The error code from RPCErrorCode type.
49
+ * Signs out the user, clearing all authentication state.
48
50
  */
49
- code;
51
+ async signOut() {
52
+ try {
53
+ await l(this.projectId);
54
+ } catch {
55
+ } finally {
56
+ await this.clearAuthState();
57
+ }
58
+ }
50
59
  /**
51
- * Creates a new RPC Invalid Params error.
60
+ * Adds a callback to be called when the auth state changes.
52
61
  *
53
- * @param code - The error code from RPCErrorCode type.
54
- * @param message - The error message.
62
+ * @param callback - The function to call when the auth state changes.
55
63
  */
56
- constructor(t, r) {
57
- super(r), this.code = t;
64
+ addAuthStateChangeCallback(e) {
65
+ this.authStateChangeCallbacks.push(e), e(this.authState?.user ?? null);
58
66
  }
59
- }
60
- class p extends Error {
61
67
  /**
62
- * Creates a new AccountTypeMismatchError.
68
+ * Gets the access token, refreshing it if it is expired. Returns null if the user is not
69
+ * signed in.
63
70
  *
64
- * @param message - The error message.
71
+ * @returns The access token.
65
72
  */
66
- constructor(t) {
67
- super(t);
73
+ async getToken() {
74
+ return this.shouldRefreshToken() && await this.refreshAccessToken(), this.authState?.accessToken ?? null;
75
+ }
76
+ /**
77
+ * Gets the currently registered wallet secret ID. Rejects if the user is not signed in.
78
+ *
79
+ * @returns The wallet secret ID.
80
+ */
81
+ async getWalletSecretId() {
82
+ if (!await this.isSignedIn())
83
+ throw new Error("Cannot get wallet secret ID if the user is not signed in");
84
+ return this.shouldRefreshWalletSecret() && await this.refreshWalletSecret(), this.walletSecret.walletSecretId;
85
+ }
86
+ /**
87
+ * Gets the X-Wallet-Auth header. Rejects if the user is not signed in.
88
+ *
89
+ * @param options - The options for the request.
90
+ * @param options.requestMethod - The HTTP method of the request.
91
+ * @param options.requestHost - The host of the request.
92
+ * @param options.requestPath - The path of the request.
93
+ * @param options.requestData - The data of the request.
94
+ * @returns The X-Wallet-Auth header.
95
+ */
96
+ async getXWalletAuth(e) {
97
+ if (!await this.isSignedIn())
98
+ throw new Error("Cannot get X-Wallet-Auth header if the user is not signed in");
99
+ this.shouldRefreshWalletSecret() && await this.refreshWalletSecret();
100
+ const t = `${e.requestMethod} ${e.requestHost}${e.requestPath}`, r = Math.floor(Date.now() / 1e3), s = n(), a = {
101
+ uris: [t]
102
+ };
103
+ if (e.requestData && Object.keys(e.requestData).length > 0) {
104
+ const h = S(e.requestData);
105
+ a.reqHash = await s.hash(new TextEncoder().encode(JSON.stringify(h)));
106
+ }
107
+ return await new u(a).setProtectedHeader({ alg: "ES256", typ: "JWT" }).setIssuedAt(r).setNotBefore(r).setJti(s.generateRandomId()).sign(this.walletSecret.keyPair.privateKey);
108
+ }
109
+ /**
110
+ * Sets the authentication state.
111
+ *
112
+ * @param authState - The authentication state.
113
+ */
114
+ async setAuthState(e) {
115
+ this.authState = e, this.authStateChangeCallbacks.forEach((t) => t(this.authState?.user ?? null)), this.scheduleTokenRefresh();
116
+ }
117
+ /**
118
+ * Clears the authentication state.
119
+ */
120
+ async clearAuthState() {
121
+ this.authState = null, this.walletSecret = null, this.cancelTokenRefresh(), this.authStateChangeCallbacks.forEach((e) => e(null));
122
+ }
123
+ /**
124
+ * Ensures the AuthManager is initialized before proceeding.
125
+ * If initialization is already in progress, waits for it to complete.
126
+ */
127
+ async ensureInitialized() {
128
+ if (this.initPromise) {
129
+ await this.initPromise;
130
+ return;
131
+ }
132
+ throw new Error("AuthManager not initialized");
133
+ }
134
+ /**
135
+ * Internal async initialization logic.
136
+ */
137
+ async _doInitialize() {
138
+ try {
139
+ await this.refreshAccessToken();
140
+ } catch (e) {
141
+ console.warn("Failed to refresh access token during initialization:", e);
142
+ }
143
+ }
144
+ /**
145
+ * Returns whether the token should be refreshed.
146
+ *
147
+ * @returns True if the token should be refreshed, false otherwise.
148
+ */
149
+ shouldRefreshToken() {
150
+ return !(this.authState && this.authState.expiresAt > Date.now() + i);
151
+ }
152
+ /**
153
+ * Refreshes the access token and transitions the auth state accordingly.
154
+ * If a refresh is already in progress, it will wait for that refresh to complete.
155
+ *
156
+ * @returns The new access token.
157
+ */
158
+ async refreshAccessToken() {
159
+ try {
160
+ const e = await c(this.projectId, {
161
+ grantType: "refresh_token"
162
+ }), t = f(
163
+ e.accessToken,
164
+ e.validUntil,
165
+ e.endUser
166
+ );
167
+ await this.setAuthState(t);
168
+ } catch {
169
+ await this.signOut();
170
+ }
171
+ }
172
+ /**
173
+ * Returns whether the wallet secret should be refreshed.
174
+ *
175
+ * @returns True if the wallet secret should be refreshed, false otherwise.
176
+ */
177
+ shouldRefreshWalletSecret() {
178
+ return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() + i);
179
+ }
180
+ /**
181
+ * Refreshes the wallet secret. Assumes the user is signed in.
182
+ *
183
+ * @returns The wallet secret.
184
+ */
185
+ async refreshWalletSecret() {
186
+ const e = n(), t = this.walletSecret?.walletSecretId ?? e.generateRandomId(), r = this.walletSecret?.keyPair ?? await e.createKeyPair(), s = this.authState.expiresAt, a = new Date(s).toISOString();
187
+ this.walletSecret = { walletSecretId: t, keyPair: r, expiresAt: s };
188
+ try {
189
+ await o(this.projectId, this.authState.user.userId, {
190
+ walletSecretId: t,
191
+ publicKey: r.publicKeyBase64,
192
+ validUntil: a
193
+ });
194
+ } catch (h) {
195
+ throw this.walletSecret = null, h;
196
+ }
197
+ }
198
+ /**
199
+ * Schedules a token refresh to occur exactly when shouldRefreshToken() would return true.
200
+ * Uses the same REFRESH_CREDENTIALS_BUFFER_MS timing as the rest of the auth system.
201
+ */
202
+ scheduleTokenRefresh() {
203
+ if (this.cancelTokenRefresh(), !this.authState)
204
+ return;
205
+ const t = this.authState.expiresAt - i - Date.now();
206
+ t <= 0 || (this.refreshTimeout = setTimeout(async () => {
207
+ await this.refreshAccessToken(), this.scheduleTokenRefresh();
208
+ }, t));
209
+ }
210
+ /**
211
+ * Cancels any scheduled token refresh.
212
+ */
213
+ cancelTokenRefresh() {
214
+ this.refreshTimeout && (clearTimeout(this.refreshTimeout), this.refreshTimeout = null);
68
215
  }
69
- }
70
- const l = /* @__PURE__ */ new Set([
71
- "eth_accounts",
72
- "eth_requestAccounts",
73
- "personal_sign",
74
- "eth_sendTransaction",
75
- "eth_signTypedData_v4",
76
- "eth_chainId",
77
- "eth_sign",
78
- "wallet_disconnect",
79
- "wallet_switchEthereumChain",
80
- "wallet_sendCalls",
81
- "wallet_getCallsStatus",
82
- "wallet_getCapabilities"
83
- ]);
84
- function _(e, { chains: t }) {
85
- const { method: r, params: s } = e;
86
- if (typeof r != "string" || r.length === 0)
87
- throw new c(
88
- n.rpc.invalidParams,
89
- "'method' must be a non-empty string."
90
- );
91
- const a = (s ?? [])[0]?.chainId;
92
- if (typeof a == "string" && !t.some((d) => d.id === Number.parseInt(a, 16)))
93
- throw new o(
94
- n.provider.unsupportedChain,
95
- `Chain ${a} not supported - make sure the provider is configured with the correct chains.`
96
- );
97
- if (s !== void 0 && !Array.isArray(s))
98
- throw new c(
99
- n.rpc.invalidParams,
100
- "'params' must be an array if provided."
101
- );
102
- if (!l.has(r))
103
- throw new o(
104
- n.provider.unsupportedMethod,
105
- `Method ${e.method} not supported`
106
- );
107
- }
108
- async function i() {
109
- const e = await h();
110
- if (!e)
111
- throw new o(
112
- n.provider.unauthorized,
113
- "User not connected"
114
- );
115
- return e;
116
- }
117
- async function y(e) {
118
- const t = await i();
119
- if (!t.evmAccounts?.includes(e) && !t.evmSmartAccounts?.includes(e))
120
- throw new o(
121
- n.provider.unauthorized,
122
- "Address not owned by user"
123
- );
124
- return t;
125
- }
126
- async function u() {
127
- const e = await i();
128
- if (!e.evmAccounts?.[0])
129
- throw new o(
130
- n.provider.unauthorized,
131
- "No EVM accounts available"
132
- );
133
- return e;
134
- }
135
- async function g() {
136
- const e = await i();
137
- if (!e.evmSmartAccounts?.[0])
138
- throw new o(
139
- n.provider.unauthorized,
140
- "No EVM smart accounts available"
141
- );
142
- return e;
143
- }
144
- async function S({ errorMessage: e } = {}) {
145
- const t = await u();
146
- if (await u(), !!t.evmSmartAccounts?.length)
147
- throw new p(e ?? "Method unsupported.");
148
- return t;
149
216
  }
150
217
  export {
151
- p as AccountTypeMismatchError,
152
- o as EIP1193ProviderError,
153
- c as RPCRequestError,
154
- n as STANDARD_ERROR_CODES,
155
- S as validateIsUsingEOA,
156
- _ as validateRequest,
157
- i as validateUserConnected,
158
- u as validateUserHasEvmAccount,
159
- g as validateUserHasEvmSmartAccount,
160
- y as validateUserOwnsAddress
218
+ p as AuthManager
161
219
  };
@@ -1,12 +1,12 @@
1
- import n from "./index.native110.js";
2
- import s from "./index.native111.js";
3
- import a from "./index.native112.js";
4
- const y = async (t, o, e) => {
5
- const r = await a(t, o, "sign");
6
- s(t, r);
7
- const i = await crypto.subtle.sign(n(t, r.algorithm), r, e);
8
- return new Uint8Array(i);
1
+ import { contracts as o } from "./index.native108.js";
2
+ import { formatters as r } from "./index.native109.js";
3
+ import { serializers as t } from "./index.native110.js";
4
+ const e = {
5
+ blockTime: 2e3,
6
+ contracts: o,
7
+ formatters: r,
8
+ serializers: t
9
9
  };
10
10
  export {
11
- y as default
11
+ e as chainConfig
12
12
  };
@@ -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.native88.js";
2
+ import { encodeBase64 as c, decodeBase64 as a } from "./index.native111.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.native113.js";
2
- import c from "./index.native114.js";
3
- import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.native115.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.native112.js";
2
+ import s from "./index.native113.js";
3
+ import a from "./index.native114.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
  };