@coinbase/cdp-core 0.0.121 → 0.0.122

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 (630) hide show
  1. package/dist/esm/index.web.js +110 -100
  2. package/dist/esm/index.web10.js +4 -4
  3. package/dist/esm/index.web100.js +86 -41
  4. package/dist/esm/index.web101.js +31 -13
  5. package/dist/esm/index.web102.js +25 -24
  6. package/dist/esm/index.web103.js +45 -15
  7. package/dist/esm/index.web104.js +3 -25
  8. package/dist/esm/index.web105.js +42 -20
  9. package/dist/esm/index.web106.js +13 -16
  10. package/dist/esm/index.web107.js +23 -28
  11. package/dist/esm/index.web108.js +14 -40
  12. package/dist/esm/index.web109.js +24 -48
  13. package/dist/esm/index.web11.js +1 -1
  14. package/dist/esm/index.web110.js +21 -81
  15. package/dist/esm/index.web111.js +15 -24
  16. package/dist/esm/index.web112.js +28 -158
  17. package/dist/esm/index.web113.js +39 -46
  18. package/dist/esm/index.web114.js +49 -28
  19. package/dist/esm/index.web115.js +77 -68
  20. package/dist/esm/index.web116.js +25 -8
  21. package/dist/esm/index.web117.js +156 -114
  22. package/dist/esm/index.web118.js +30 -119
  23. package/dist/esm/index.web119.js +24 -65
  24. package/dist/esm/index.web12.js +1 -1
  25. package/dist/esm/index.web120.js +72 -26
  26. package/dist/esm/index.web121.js +11 -33
  27. package/dist/esm/index.web122.js +9 -24
  28. package/dist/esm/index.web123.js +100 -47
  29. package/dist/esm/index.web124.js +137 -24
  30. package/dist/esm/index.web125.js +69 -51
  31. package/dist/esm/index.web126.js +26 -20
  32. package/dist/esm/index.web127.js +32 -152
  33. package/dist/esm/index.web128.js +24 -17
  34. package/dist/esm/index.web129.js +63 -21
  35. package/dist/esm/index.web13.js +3 -3
  36. package/dist/esm/index.web130.js +24 -51
  37. package/dist/esm/index.web131.js +48 -374
  38. package/dist/esm/index.web132.js +21 -29
  39. package/dist/esm/index.web133.js +152 -28
  40. package/dist/esm/index.web134.js +379 -2
  41. package/dist/esm/index.web135.js +28 -65
  42. package/dist/esm/index.web136.js +28 -364
  43. package/dist/esm/index.web137.js +2 -947
  44. package/dist/esm/index.web138.js +66 -2
  45. package/dist/esm/index.web139.js +364 -49
  46. package/dist/esm/index.web140.js +16 -26
  47. package/dist/esm/index.web141.js +21 -53
  48. package/dist/esm/index.web142.js +49 -9
  49. package/dist/esm/index.web143.js +5 -2
  50. package/dist/esm/index.web144.js +945 -45
  51. package/dist/esm/index.web145.js +2 -14
  52. package/dist/esm/index.web146.js +48 -11
  53. package/dist/esm/index.web147.js +26 -11
  54. package/dist/esm/index.web148.js +5 -5
  55. package/dist/esm/index.web149.js +48 -5
  56. package/dist/esm/index.web15.js +1 -1
  57. package/dist/esm/index.web150.js +50 -43
  58. package/dist/esm/index.web151.js +10 -14
  59. package/dist/esm/index.web152.js +2 -29
  60. package/dist/esm/index.web153.js +45 -8
  61. package/dist/esm/index.web154.js +13 -3
  62. package/dist/esm/index.web155.js +8 -22
  63. package/dist/esm/index.web156.js +28 -8
  64. package/dist/esm/index.web157.js +6 -6
  65. package/dist/esm/index.web158.js +3 -80
  66. package/dist/esm/index.web159.js +18 -18
  67. package/dist/esm/index.web16.js +1 -1
  68. package/dist/esm/index.web160.js +8 -3
  69. package/dist/esm/index.web161.js +7 -15
  70. package/dist/esm/index.web162.js +80 -4
  71. package/dist/esm/index.web163.js +21 -7
  72. package/dist/esm/index.web164.js +3 -19
  73. package/dist/esm/index.web165.js +8 -54
  74. package/dist/esm/index.web166.js +4 -17
  75. package/dist/esm/index.web167.js +14 -23
  76. package/dist/esm/index.web168.js +19 -8
  77. package/dist/esm/index.web169.js +47 -28
  78. package/dist/esm/index.web17.js +1 -1
  79. package/dist/esm/index.web170.js +17 -7
  80. package/dist/esm/index.web171.js +18 -15
  81. package/dist/esm/index.web172.js +8 -13
  82. package/dist/esm/index.web173.js +40 -53
  83. package/dist/esm/index.web174.js +7 -6
  84. package/dist/esm/index.web175.js +19 -20
  85. package/dist/esm/index.web176.js +11 -16
  86. package/dist/esm/index.web177.js +11 -45
  87. package/dist/esm/index.web178.js +2 -4
  88. package/dist/esm/index.web179.js +2 -4
  89. package/dist/esm/index.web18.js +2 -2
  90. package/dist/esm/index.web180.js +13 -34
  91. package/dist/esm/index.web181.js +53 -10
  92. package/dist/esm/index.web182.js +6 -4
  93. package/dist/esm/index.web183.js +21 -28
  94. package/dist/esm/index.web184.js +17 -6
  95. package/dist/esm/index.web185.js +42 -29
  96. package/dist/esm/index.web186.js +3 -12
  97. package/dist/esm/index.web187.js +3 -55
  98. package/dist/esm/index.web188.js +32 -40
  99. package/dist/esm/index.web189.js +11 -126
  100. package/dist/esm/index.web19.js +2 -2
  101. package/dist/esm/index.web190.js +4 -104
  102. package/dist/esm/index.web191.js +28 -6
  103. package/dist/esm/index.web192.js +7 -3
  104. package/dist/esm/index.web193.js +30 -76
  105. package/dist/esm/index.web194.js +13 -2
  106. package/dist/esm/index.web195.js +56 -2
  107. package/dist/esm/index.web196.js +39 -34
  108. package/dist/esm/index.web197.js +126 -5
  109. package/dist/esm/index.web198.js +101 -31
  110. package/dist/esm/index.web199.js +6 -14
  111. package/dist/esm/index.web2.js +2 -2
  112. package/dist/esm/index.web20.js +7 -7
  113. package/dist/esm/index.web200.js +3 -35
  114. package/dist/esm/index.web201.js +77 -17
  115. package/dist/esm/index.web202.js +2 -9
  116. package/dist/esm/index.web203.js +2 -11
  117. package/dist/esm/index.web204.js +37 -11
  118. package/dist/esm/index.web205.js +6 -13
  119. package/dist/esm/index.web206.js +34 -5
  120. package/dist/esm/index.web207.js +15 -5
  121. package/dist/esm/index.web208.js +34 -10
  122. package/dist/esm/index.web209.js +19 -2
  123. package/dist/esm/index.web21.js +1 -1
  124. package/dist/esm/index.web210.js +9 -2
  125. package/dist/esm/index.web211.js +9 -19
  126. package/dist/esm/index.web212.js +12 -10
  127. package/dist/esm/index.web213.js +14 -20
  128. package/dist/esm/index.web214.js +6 -94
  129. package/dist/esm/index.web215.js +4 -20
  130. package/dist/esm/index.web216.js +11 -118
  131. package/dist/esm/index.web217.js +106 -101
  132. package/dist/esm/index.web218.js +2 -79
  133. package/dist/esm/index.web219.js +2 -79
  134. package/dist/esm/index.web220.js +21 -2
  135. package/dist/esm/index.web221.js +10 -109
  136. package/dist/esm/index.web222.js +20 -2
  137. package/dist/esm/index.web223.js +94 -8
  138. package/dist/esm/index.web224.js +21 -2
  139. package/dist/esm/index.web225.js +110 -353
  140. package/dist/esm/index.web226.js +103 -852
  141. package/dist/esm/index.web227.js +77 -37
  142. package/dist/esm/index.web228.js +79 -2
  143. package/dist/esm/index.web229.js +36 -67
  144. package/dist/esm/index.web230.js +2 -35
  145. package/dist/esm/index.web231.js +69 -14
  146. package/dist/esm/index.web232.js +34 -46
  147. package/dist/esm/index.web233.js +12 -18
  148. package/dist/esm/index.web234.js +8 -2
  149. package/dist/esm/index.web235.js +2 -20
  150. package/dist/esm/index.web236.js +356 -28
  151. package/dist/esm/index.web237.js +852 -6
  152. package/dist/esm/index.web238.js +45 -16
  153. package/dist/esm/index.web239.js +20 -27
  154. package/dist/esm/index.web240.js +2 -8
  155. package/dist/esm/index.web241.js +19 -10
  156. package/dist/esm/index.web242.js +32 -12
  157. package/dist/esm/index.web243.js +6 -9
  158. package/dist/esm/index.web244.js +15 -14
  159. package/dist/esm/index.web245.js +25 -78
  160. package/dist/esm/index.web246.js +8 -2
  161. package/dist/esm/index.web247.js +11 -2
  162. package/dist/esm/index.web248.js +13 -2
  163. package/dist/esm/index.web249.js +8 -2
  164. package/dist/esm/index.web250.js +17 -5
  165. package/dist/esm/index.web251.js +80 -14
  166. package/dist/esm/index.web252.js +2 -79
  167. package/dist/esm/index.web253.js +6 -0
  168. package/dist/esm/index.web254.js +4 -0
  169. package/dist/esm/index.web255.js +4 -0
  170. package/dist/esm/index.web256.js +7 -0
  171. package/dist/esm/index.web257.js +81 -0
  172. package/dist/esm/index.web258.js +17 -0
  173. package/dist/esm/index.web28.js +5 -5
  174. package/dist/esm/index.web29.js +6 -6
  175. package/dist/esm/index.web3.js +1 -1
  176. package/dist/esm/index.web30.js +5 -5
  177. package/dist/esm/index.web31.js +5 -5
  178. package/dist/esm/index.web32.js +5 -5
  179. package/dist/esm/index.web33.js +5 -5
  180. package/dist/esm/index.web34.js +6 -6
  181. package/dist/esm/index.web35.js +5 -5
  182. package/dist/esm/index.web36.js +5 -5
  183. package/dist/esm/index.web37.js +1 -1
  184. package/dist/esm/index.web38.js +5 -5
  185. package/dist/esm/index.web39.js +5 -5
  186. package/dist/esm/index.web4.js +1 -1
  187. package/dist/esm/index.web40.js +6 -6
  188. package/dist/esm/index.web41.js +1 -1
  189. package/dist/esm/index.web42.js +5 -5
  190. package/dist/esm/index.web43.js +5 -5
  191. package/dist/esm/index.web45.js +2 -2
  192. package/dist/esm/index.web46.js +1 -1
  193. package/dist/esm/index.web49.js +4 -4
  194. package/dist/esm/index.web50.js +1 -1
  195. package/dist/esm/index.web52.js +3 -3
  196. package/dist/esm/index.web53.js +3 -3
  197. package/dist/esm/index.web54.js +2 -2
  198. package/dist/esm/index.web55.js +1 -1
  199. package/dist/esm/index.web57.js +3 -3
  200. package/dist/esm/index.web58.js +1 -1
  201. package/dist/esm/index.web59.js +2 -2
  202. package/dist/esm/index.web6.js +1 -1
  203. package/dist/esm/index.web60.js +4 -4
  204. package/dist/esm/index.web61.js +2 -2
  205. package/dist/esm/index.web62.js +3 -3
  206. package/dist/esm/index.web63.js +3 -3
  207. package/dist/esm/index.web64.js +3 -3
  208. package/dist/esm/index.web65.js +5 -5
  209. package/dist/esm/index.web66.js +5 -5
  210. package/dist/esm/index.web67.js +5 -5
  211. package/dist/esm/index.web68.js +5 -5
  212. package/dist/esm/index.web70.js +3 -3
  213. package/dist/esm/index.web71.js +9 -9
  214. package/dist/esm/index.web75.js +2 -2
  215. package/dist/esm/index.web76.js +3 -3
  216. package/dist/esm/index.web77.js +12 -12
  217. package/dist/esm/index.web78.js +1 -1
  218. package/dist/esm/index.web79.js +1 -1
  219. package/dist/esm/index.web80.js +1 -1
  220. package/dist/esm/index.web81.js +55 -19
  221. package/dist/esm/index.web82.js +62 -47
  222. package/dist/esm/index.web83.js +6 -40
  223. package/dist/esm/index.web84.js +17 -17
  224. package/dist/esm/index.web85.js +18 -349
  225. package/dist/esm/index.web86.js +47 -17
  226. package/dist/esm/index.web87.js +35 -127
  227. package/dist/esm/index.web88.js +18 -87
  228. package/dist/esm/index.web89.js +353 -6
  229. package/dist/esm/index.web9.js +1 -1
  230. package/dist/esm/index.web90.js +17 -54
  231. package/dist/esm/index.web91.js +125 -155
  232. package/dist/esm/index.web92.js +82 -61
  233. package/dist/esm/index.web93.js +7 -36
  234. package/dist/esm/index.web94.js +49 -99
  235. package/dist/esm/index.web95.js +156 -36
  236. package/dist/esm/index.web96.js +65 -29
  237. package/dist/esm/index.web97.js +36 -26
  238. package/dist/esm/index.web98.js +106 -45
  239. package/dist/esm/index.web99.js +43 -3
  240. package/dist/native/index.native11.js +1 -1
  241. package/dist/native/index.native110.js +3 -3
  242. package/dist/native/index.native113.js +2 -2
  243. package/dist/native/index.native117.js +3 -3
  244. package/dist/native/index.native129.js +12 -12
  245. package/dist/native/index.native130.js +2 -2
  246. package/dist/native/index.native131.js +13 -373
  247. package/dist/native/index.native132.js +25 -2
  248. package/dist/native/index.native133.js +48 -63
  249. package/dist/native/index.native134.js +189 -177
  250. package/dist/native/index.native135.js +2 -31
  251. package/dist/native/index.native136.js +65 -28
  252. package/dist/native/index.native137.js +360 -12
  253. package/dist/native/index.native138.js +28 -22
  254. package/dist/native/index.native139.js +28 -50
  255. package/dist/native/index.native144.js +2 -2
  256. package/dist/native/index.native146.js +13 -36
  257. package/dist/native/index.native147.js +11 -67
  258. package/dist/native/index.native148.js +36 -5
  259. package/dist/native/index.native149.js +66 -11
  260. package/dist/native/index.native150.js +4 -11
  261. package/dist/native/index.native151.js +7 -7
  262. package/dist/native/index.native158.js +13 -13
  263. package/dist/native/index.native159.js +54 -26
  264. package/dist/native/index.native160.js +6 -7
  265. package/dist/native/index.native161.js +21 -3
  266. package/dist/native/index.native162.js +16 -26
  267. package/dist/native/index.native163.js +45 -8
  268. package/dist/native/index.native164.js +3 -7
  269. package/dist/native/index.native165.js +3 -79
  270. package/dist/native/index.native166.js +32 -25
  271. package/dist/native/index.native167.js +12 -3
  272. package/dist/native/index.native168.js +4 -14
  273. package/dist/native/index.native169.js +28 -4
  274. package/dist/native/index.native170.js +6 -13
  275. package/dist/native/index.native171.js +31 -18
  276. package/dist/native/index.native172.js +9 -57
  277. package/dist/native/index.native173.js +55 -17
  278. package/dist/native/index.native174.js +41 -22
  279. package/dist/native/index.native175.js +127 -8
  280. package/dist/native/index.native176.js +102 -39
  281. package/dist/native/index.native177.js +6 -7
  282. package/dist/native/index.native178.js +3 -21
  283. package/dist/native/index.native179.js +78 -13
  284. package/dist/native/index.native180.js +2 -56
  285. package/dist/native/index.native181.js +2 -7
  286. package/dist/native/index.native182.js +34 -18
  287. package/dist/native/index.native183.js +5 -16
  288. package/dist/native/index.native184.js +31 -42
  289. package/dist/native/index.native185.js +14 -3
  290. package/dist/native/index.native186.js +34 -3
  291. package/dist/native/index.native187.js +17 -33
  292. package/dist/native/index.native188.js +8 -12
  293. package/dist/native/index.native189.js +10 -4
  294. package/dist/native/index.native190.js +11 -28
  295. package/dist/native/index.native191.js +13 -6
  296. package/dist/native/index.native192.js +5 -32
  297. package/dist/native/index.native193.js +5 -13
  298. package/dist/native/index.native194.js +10 -55
  299. package/dist/native/index.native195.js +13 -42
  300. package/dist/native/index.native196.js +26 -126
  301. package/dist/native/index.native197.js +7 -104
  302. package/dist/native/index.native198.js +3 -6
  303. package/dist/native/index.native199.js +28 -3
  304. package/dist/native/index.native200.js +8 -78
  305. package/dist/native/index.native201.js +8 -2
  306. package/dist/native/index.native202.js +80 -2
  307. package/dist/native/index.native203.js +25 -35
  308. package/dist/native/index.native204.js +3 -6
  309. package/dist/native/index.native205.js +14 -34
  310. package/dist/native/index.native206.js +4 -14
  311. package/dist/native/index.native207.js +13 -34
  312. package/dist/native/index.native208.js +18 -17
  313. package/dist/native/index.native209.js +60 -8
  314. package/dist/native/index.native210.js +17 -10
  315. package/dist/native/index.native211.js +23 -11
  316. package/dist/native/index.native212.js +8 -13
  317. package/dist/native/index.native213.js +41 -5
  318. package/dist/native/index.native214.js +8 -5
  319. package/dist/native/index.native215.js +20 -10
  320. package/dist/native/index.native216.js +104 -2
  321. package/dist/native/index.native217.js +77 -107
  322. package/dist/native/index.native218.js +79 -2
  323. package/dist/native/index.native219.js +2 -39
  324. package/dist/native/index.native220.js +109 -2
  325. package/dist/native/index.native221.js +2 -70
  326. package/dist/native/index.native222.js +20 -34
  327. package/dist/native/index.native223.js +10 -15
  328. package/dist/native/index.native224.js +20 -8
  329. package/dist/native/index.native225.js +94 -2
  330. package/dist/native/index.native226.js +21 -361
  331. package/dist/native/index.native227.js +118 -853
  332. package/dist/native/index.native228.js +38 -103
  333. package/dist/native/index.native229.js +2 -79
  334. package/dist/native/index.native230.js +69 -78
  335. package/dist/native/index.native231.js +34 -20
  336. package/dist/native/index.native232.js +15 -10
  337. package/dist/native/index.native233.js +8 -20
  338. package/dist/native/index.native234.js +2 -94
  339. package/dist/native/index.native235.js +361 -21
  340. package/dist/native/index.native236.js +853 -118
  341. package/dist/native/index.native237.js +1 -1
  342. package/dist/native/index.native240.js +5 -5
  343. package/dist/native/index.native241.js +2 -2
  344. package/dist/native/index.native242.js +3 -46
  345. package/dist/native/index.native243.js +46 -3
  346. package/dist/native/index.native244.js +2 -2
  347. package/dist/native/index.native245.js +2 -2
  348. package/dist/native/index.native246.js +2 -2
  349. package/dist/native/index.native248.js +1 -1
  350. package/dist/native/index.native250.js +1 -1
  351. package/dist/native/index.native254.js +1 -1
  352. package/dist/native/index.native256.js +78 -14
  353. package/dist/native/index.native257.js +14 -78
  354. package/dist/native/index.native3.js +1 -1
  355. package/dist/native/index.native79.js +12 -12
  356. package/dist/native/index.native84.js +12 -9
  357. package/dist/native/index.native90.js +4 -2
  358. package/dist/native-types/actions/deletePasskey.d.ts +21 -0
  359. package/dist/native-types/actions/enrollPasskey.d.ts +44 -0
  360. package/dist/native-types/actions/listPasskeys.d.ts +16 -0
  361. package/dist/native-types/actions/verifyPasskey.d.ts +30 -0
  362. package/dist/native-types/errors.d.ts +10 -2
  363. package/dist/native-types/index.web.d.ts +5 -0
  364. package/dist/native-types/mfa/utils.d.ts +3 -3
  365. package/dist/native-types/shared/base64url.d.ts +21 -0
  366. package/dist/native-types/shared/webauthn.d.ts +121 -0
  367. package/dist/native-types/types.d.ts +4 -2
  368. package/dist/native-types/version.d.ts +1 -1
  369. package/dist/types/actions/deletePasskey.d.ts +21 -0
  370. package/dist/types/actions/enrollPasskey.d.ts +44 -0
  371. package/dist/types/actions/listPasskeys.d.ts +16 -0
  372. package/dist/types/actions/verifyPasskey.d.ts +30 -0
  373. package/dist/types/errors.d.ts +10 -2
  374. package/dist/types/index.web.d.ts +5 -0
  375. package/dist/types/mfa/utils.d.ts +3 -3
  376. package/dist/types/shared/base64url.d.ts +21 -0
  377. package/dist/types/shared/webauthn.d.ts +121 -0
  378. package/dist/types/types.d.ts +4 -2
  379. package/dist/types/version.d.ts +1 -1
  380. package/dist/web/index.web.js +110 -100
  381. package/dist/web/index.web10.js +4 -4
  382. package/dist/web/index.web100.js +86 -41
  383. package/dist/web/index.web101.js +31 -13
  384. package/dist/web/index.web102.js +25 -24
  385. package/dist/web/index.web103.js +45 -15
  386. package/dist/web/index.web104.js +3 -25
  387. package/dist/web/index.web105.js +42 -20
  388. package/dist/web/index.web106.js +13 -16
  389. package/dist/web/index.web107.js +23 -28
  390. package/dist/web/index.web108.js +14 -40
  391. package/dist/web/index.web109.js +24 -48
  392. package/dist/web/index.web11.js +1 -1
  393. package/dist/web/index.web110.js +21 -81
  394. package/dist/web/index.web111.js +15 -24
  395. package/dist/web/index.web112.js +28 -158
  396. package/dist/web/index.web113.js +39 -46
  397. package/dist/web/index.web114.js +49 -28
  398. package/dist/web/index.web115.js +77 -68
  399. package/dist/web/index.web116.js +25 -8
  400. package/dist/web/index.web117.js +156 -114
  401. package/dist/web/index.web118.js +30 -119
  402. package/dist/web/index.web119.js +24 -65
  403. package/dist/web/index.web12.js +1 -1
  404. package/dist/web/index.web120.js +72 -26
  405. package/dist/web/index.web121.js +11 -33
  406. package/dist/web/index.web122.js +9 -24
  407. package/dist/web/index.web123.js +100 -47
  408. package/dist/web/index.web124.js +137 -24
  409. package/dist/web/index.web125.js +69 -51
  410. package/dist/web/index.web126.js +26 -20
  411. package/dist/web/index.web127.js +32 -152
  412. package/dist/web/index.web128.js +24 -17
  413. package/dist/web/index.web129.js +63 -21
  414. package/dist/web/index.web13.js +3 -3
  415. package/dist/web/index.web130.js +24 -51
  416. package/dist/web/index.web131.js +48 -374
  417. package/dist/web/index.web132.js +21 -29
  418. package/dist/web/index.web133.js +152 -28
  419. package/dist/web/index.web134.js +379 -2
  420. package/dist/web/index.web135.js +28 -65
  421. package/dist/web/index.web136.js +28 -364
  422. package/dist/web/index.web137.js +2 -947
  423. package/dist/web/index.web138.js +66 -2
  424. package/dist/web/index.web139.js +364 -49
  425. package/dist/web/index.web140.js +16 -26
  426. package/dist/web/index.web141.js +21 -53
  427. package/dist/web/index.web142.js +49 -9
  428. package/dist/web/index.web143.js +5 -2
  429. package/dist/web/index.web144.js +945 -45
  430. package/dist/web/index.web145.js +2 -14
  431. package/dist/web/index.web146.js +48 -11
  432. package/dist/web/index.web147.js +26 -11
  433. package/dist/web/index.web148.js +5 -5
  434. package/dist/web/index.web149.js +48 -5
  435. package/dist/web/index.web15.js +1 -1
  436. package/dist/web/index.web150.js +50 -43
  437. package/dist/web/index.web151.js +10 -14
  438. package/dist/web/index.web152.js +2 -29
  439. package/dist/web/index.web153.js +45 -8
  440. package/dist/web/index.web154.js +13 -3
  441. package/dist/web/index.web155.js +8 -22
  442. package/dist/web/index.web156.js +28 -8
  443. package/dist/web/index.web157.js +6 -6
  444. package/dist/web/index.web158.js +3 -80
  445. package/dist/web/index.web159.js +18 -18
  446. package/dist/web/index.web16.js +1 -1
  447. package/dist/web/index.web160.js +8 -3
  448. package/dist/web/index.web161.js +7 -15
  449. package/dist/web/index.web162.js +80 -4
  450. package/dist/web/index.web163.js +21 -7
  451. package/dist/web/index.web164.js +3 -19
  452. package/dist/web/index.web165.js +8 -54
  453. package/dist/web/index.web166.js +4 -17
  454. package/dist/web/index.web167.js +14 -23
  455. package/dist/web/index.web168.js +19 -8
  456. package/dist/web/index.web169.js +47 -28
  457. package/dist/web/index.web17.js +1 -1
  458. package/dist/web/index.web170.js +17 -7
  459. package/dist/web/index.web171.js +18 -15
  460. package/dist/web/index.web172.js +8 -13
  461. package/dist/web/index.web173.js +40 -53
  462. package/dist/web/index.web174.js +7 -6
  463. package/dist/web/index.web175.js +19 -20
  464. package/dist/web/index.web176.js +11 -16
  465. package/dist/web/index.web177.js +11 -45
  466. package/dist/web/index.web178.js +2 -4
  467. package/dist/web/index.web179.js +2 -4
  468. package/dist/web/index.web18.js +2 -2
  469. package/dist/web/index.web180.js +13 -34
  470. package/dist/web/index.web181.js +53 -10
  471. package/dist/web/index.web182.js +6 -4
  472. package/dist/web/index.web183.js +21 -28
  473. package/dist/web/index.web184.js +17 -6
  474. package/dist/web/index.web185.js +42 -29
  475. package/dist/web/index.web186.js +3 -12
  476. package/dist/web/index.web187.js +3 -55
  477. package/dist/web/index.web188.js +32 -40
  478. package/dist/web/index.web189.js +11 -126
  479. package/dist/web/index.web19.js +2 -2
  480. package/dist/web/index.web190.js +4 -104
  481. package/dist/web/index.web191.js +28 -6
  482. package/dist/web/index.web192.js +7 -3
  483. package/dist/web/index.web193.js +30 -76
  484. package/dist/web/index.web194.js +13 -2
  485. package/dist/web/index.web195.js +56 -2
  486. package/dist/web/index.web196.js +39 -34
  487. package/dist/web/index.web197.js +126 -5
  488. package/dist/web/index.web198.js +101 -31
  489. package/dist/web/index.web199.js +6 -14
  490. package/dist/web/index.web2.js +2 -2
  491. package/dist/web/index.web20.js +7 -7
  492. package/dist/web/index.web200.js +3 -35
  493. package/dist/web/index.web201.js +77 -17
  494. package/dist/web/index.web202.js +2 -9
  495. package/dist/web/index.web203.js +2 -11
  496. package/dist/web/index.web204.js +37 -11
  497. package/dist/web/index.web205.js +6 -13
  498. package/dist/web/index.web206.js +34 -5
  499. package/dist/web/index.web207.js +15 -5
  500. package/dist/web/index.web208.js +34 -10
  501. package/dist/web/index.web209.js +19 -2
  502. package/dist/web/index.web21.js +1 -1
  503. package/dist/web/index.web210.js +9 -2
  504. package/dist/web/index.web211.js +9 -19
  505. package/dist/web/index.web212.js +12 -10
  506. package/dist/web/index.web213.js +14 -20
  507. package/dist/web/index.web214.js +6 -94
  508. package/dist/web/index.web215.js +4 -20
  509. package/dist/web/index.web216.js +11 -118
  510. package/dist/web/index.web217.js +106 -101
  511. package/dist/web/index.web218.js +2 -79
  512. package/dist/web/index.web219.js +2 -79
  513. package/dist/web/index.web220.js +21 -2
  514. package/dist/web/index.web221.js +10 -109
  515. package/dist/web/index.web222.js +20 -2
  516. package/dist/web/index.web223.js +94 -8
  517. package/dist/web/index.web224.js +21 -2
  518. package/dist/web/index.web225.js +110 -353
  519. package/dist/web/index.web226.js +103 -852
  520. package/dist/web/index.web227.js +77 -37
  521. package/dist/web/index.web228.js +79 -2
  522. package/dist/web/index.web229.js +36 -67
  523. package/dist/web/index.web230.js +2 -35
  524. package/dist/web/index.web231.js +69 -14
  525. package/dist/web/index.web232.js +34 -46
  526. package/dist/web/index.web233.js +12 -18
  527. package/dist/web/index.web234.js +8 -2
  528. package/dist/web/index.web235.js +2 -20
  529. package/dist/web/index.web236.js +356 -28
  530. package/dist/web/index.web237.js +852 -6
  531. package/dist/web/index.web238.js +45 -16
  532. package/dist/web/index.web239.js +20 -27
  533. package/dist/web/index.web240.js +2 -8
  534. package/dist/web/index.web241.js +19 -10
  535. package/dist/web/index.web242.js +32 -12
  536. package/dist/web/index.web243.js +6 -9
  537. package/dist/web/index.web244.js +15 -14
  538. package/dist/web/index.web245.js +25 -78
  539. package/dist/web/index.web246.js +8 -2
  540. package/dist/web/index.web247.js +11 -2
  541. package/dist/web/index.web248.js +13 -2
  542. package/dist/web/index.web249.js +8 -2
  543. package/dist/web/index.web250.js +17 -5
  544. package/dist/web/index.web251.js +80 -14
  545. package/dist/web/index.web252.js +2 -79
  546. package/dist/web/index.web253.js +6 -0
  547. package/dist/web/index.web254.js +4 -0
  548. package/dist/web/index.web255.js +4 -0
  549. package/dist/web/index.web256.js +7 -0
  550. package/dist/web/index.web257.js +81 -0
  551. package/dist/web/index.web258.js +17 -0
  552. package/dist/web/index.web28.js +5 -5
  553. package/dist/web/index.web29.js +6 -6
  554. package/dist/web/index.web3.js +1 -1
  555. package/dist/web/index.web30.js +5 -5
  556. package/dist/web/index.web31.js +5 -5
  557. package/dist/web/index.web32.js +5 -5
  558. package/dist/web/index.web33.js +5 -5
  559. package/dist/web/index.web34.js +6 -6
  560. package/dist/web/index.web35.js +5 -5
  561. package/dist/web/index.web36.js +5 -5
  562. package/dist/web/index.web37.js +1 -1
  563. package/dist/web/index.web38.js +5 -5
  564. package/dist/web/index.web39.js +5 -5
  565. package/dist/web/index.web4.js +1 -1
  566. package/dist/web/index.web40.js +6 -6
  567. package/dist/web/index.web41.js +1 -1
  568. package/dist/web/index.web42.js +5 -5
  569. package/dist/web/index.web43.js +5 -5
  570. package/dist/web/index.web45.js +2 -2
  571. package/dist/web/index.web46.js +1 -1
  572. package/dist/web/index.web49.js +4 -4
  573. package/dist/web/index.web50.js +1 -1
  574. package/dist/web/index.web52.js +3 -3
  575. package/dist/web/index.web53.js +3 -3
  576. package/dist/web/index.web54.js +2 -2
  577. package/dist/web/index.web55.js +1 -1
  578. package/dist/web/index.web57.js +3 -3
  579. package/dist/web/index.web58.js +1 -1
  580. package/dist/web/index.web59.js +2 -2
  581. package/dist/web/index.web6.js +1 -1
  582. package/dist/web/index.web60.js +4 -4
  583. package/dist/web/index.web61.js +2 -2
  584. package/dist/web/index.web62.js +3 -3
  585. package/dist/web/index.web63.js +3 -3
  586. package/dist/web/index.web64.js +3 -3
  587. package/dist/web/index.web65.js +5 -5
  588. package/dist/web/index.web66.js +5 -5
  589. package/dist/web/index.web67.js +5 -5
  590. package/dist/web/index.web68.js +5 -5
  591. package/dist/web/index.web70.js +3 -3
  592. package/dist/web/index.web71.js +9 -9
  593. package/dist/web/index.web75.js +2 -2
  594. package/dist/web/index.web76.js +3 -3
  595. package/dist/web/index.web77.js +12 -12
  596. package/dist/web/index.web78.js +1 -1
  597. package/dist/web/index.web79.js +1 -1
  598. package/dist/web/index.web80.js +1 -1
  599. package/dist/web/index.web81.js +55 -19
  600. package/dist/web/index.web82.js +62 -47
  601. package/dist/web/index.web83.js +6 -40
  602. package/dist/web/index.web84.js +17 -17
  603. package/dist/web/index.web85.js +18 -349
  604. package/dist/web/index.web86.js +47 -17
  605. package/dist/web/index.web87.js +35 -127
  606. package/dist/web/index.web88.js +18 -87
  607. package/dist/web/index.web89.js +353 -6
  608. package/dist/web/index.web9.js +1 -1
  609. package/dist/web/index.web90.js +17 -54
  610. package/dist/web/index.web91.js +125 -155
  611. package/dist/web/index.web92.js +82 -61
  612. package/dist/web/index.web93.js +7 -36
  613. package/dist/web/index.web94.js +49 -99
  614. package/dist/web/index.web95.js +156 -36
  615. package/dist/web/index.web96.js +65 -29
  616. package/dist/web/index.web97.js +36 -26
  617. package/dist/web/index.web98.js +106 -45
  618. package/dist/web/index.web99.js +43 -3
  619. package/dist/web-types/actions/deletePasskey.d.ts +21 -0
  620. package/dist/web-types/actions/enrollPasskey.d.ts +44 -0
  621. package/dist/web-types/actions/listPasskeys.d.ts +16 -0
  622. package/dist/web-types/actions/verifyPasskey.d.ts +30 -0
  623. package/dist/web-types/errors.d.ts +10 -2
  624. package/dist/web-types/index.web.d.ts +5 -0
  625. package/dist/web-types/mfa/utils.d.ts +3 -3
  626. package/dist/web-types/shared/base64url.d.ts +21 -0
  627. package/dist/web-types/shared/webauthn.d.ts +121 -0
  628. package/dist/web-types/types.d.ts +4 -2
  629. package/dist/web-types/version.d.ts +1 -1
  630. package/package.json +3 -3
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Encodes binary data to a URL-safe base64 string (base64url), with no padding.
3
+ *
4
+ * URL-safe base64 replaces the standard `+` and `/` characters with `-` and `_`
5
+ * respectively, and omits the `=` padding. This is the encoding WebAuthn uses for
6
+ * binary fields (challenge, credential IDs, etc.) when serialized to JSON.
7
+ *
8
+ * @param data - The binary data to encode, as an ArrayBuffer or Uint8Array.
9
+ * @returns The base64url-encoded string (no padding).
10
+ */
11
+ export declare function encodeBase64url(data: ArrayBuffer | Uint8Array): string;
12
+ /**
13
+ * Decodes a URL-safe base64 string (base64url) to binary data.
14
+ *
15
+ * Accepts input with or without padding, and tolerates the standard base64
16
+ * alphabet as well. Reverses {@link encodeBase64url}.
17
+ *
18
+ * @param base64url - The base64url-encoded string to decode.
19
+ * @returns The decoded bytes as a Uint8Array.
20
+ */
21
+ export declare function decodeBase64url(base64url: string): Uint8Array;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * The message for a passkey ceremony the user dismissed or let expire. `NotAllowedError` covers
3
+ * both, deliberately, so that a site cannot tell a dismissal from a timeout.
4
+ */
5
+ export declare const PASSKEY_PROMPT_DISMISSED = "The passkey prompt was dismissed or timed out.";
6
+ /**
7
+ * A serialized WebAuthn registration (attestation) credential, produced by
8
+ * {@link serializeAttestationResponse}. Binary fields are base64url-encoded so the
9
+ * payload is JSON-safe and can be submitted to the passkey enrollment endpoint.
10
+ */
11
+ export type SerializedAttestationResponse = {
12
+ /** The base64url-encoded credential ID. */
13
+ id: string;
14
+ /** The base64url-encoded raw credential ID. */
15
+ rawId: string;
16
+ /** The credential type, always `"public-key"`. */
17
+ type: string;
18
+ /** Client extension results returned by the authenticator. */
19
+ clientExtensionResults: AuthenticationExtensionsClientOutputs;
20
+ /** The attestation response payload. */
21
+ response: {
22
+ /** The base64url-encoded client data JSON. */
23
+ clientDataJSON: string;
24
+ /** The base64url-encoded attestation object. */
25
+ attestationObject: string;
26
+ /** The authenticator transports, when reported by the authenticator. */
27
+ transports?: string[];
28
+ };
29
+ };
30
+ /**
31
+ * A serialized WebAuthn authentication (assertion) credential, produced by
32
+ * {@link serializeAssertionResponse}. Binary fields are base64url-encoded so the
33
+ * payload is JSON-safe and can be submitted to the passkey verification endpoint.
34
+ */
35
+ export type SerializedAssertionResponse = {
36
+ /** The base64url-encoded credential ID. */
37
+ id: string;
38
+ /** The base64url-encoded raw credential ID. */
39
+ rawId: string;
40
+ /** The credential type, always `"public-key"`. */
41
+ type: string;
42
+ /** Client extension results returned by the authenticator. */
43
+ clientExtensionResults: AuthenticationExtensionsClientOutputs;
44
+ /** The assertion response payload. */
45
+ response: {
46
+ /** The base64url-encoded client data JSON. */
47
+ clientDataJSON: string;
48
+ /** The base64url-encoded authenticator data. */
49
+ authenticatorData: string;
50
+ /** The base64url-encoded assertion signature. */
51
+ signature: string;
52
+ /** The base64url-encoded user handle, when present. */
53
+ userHandle?: string;
54
+ };
55
+ };
56
+ /**
57
+ * The JSON shape of WebAuthn credential creation options as returned by the
58
+ * server. Binary members (`challenge`, `user.id`, `excludeCredentials[].id`) are
59
+ * base64url-encoded strings. Passed opaquely to {@link deserializeCreationOptions}.
60
+ */
61
+ export type CreationOptionsJSON = Record<string, unknown>;
62
+ /**
63
+ * The JSON shape of WebAuthn credential request options as returned by the
64
+ * server. Binary members (`challenge`, `allowCredentials[].id`) are base64url-encoded
65
+ * strings. Passed opaquely to {@link deserializeRequestOptions}.
66
+ */
67
+ export type RequestOptionsJSON = Record<string, unknown>;
68
+ /**
69
+ * Detects whether passkeys (WebAuthn platform authenticators) are usable in the
70
+ * current environment. Returns `false` in non-web environments and when no
71
+ * user-verifying platform authenticator is available.
72
+ *
73
+ * @returns A promise resolving to `true` when passkeys are supported, `false` otherwise.
74
+ */
75
+ export declare function isPasskeySupported(): Promise<boolean>;
76
+ /**
77
+ * Maps a rejected WebAuthn ceremony to an {@link MfaError} with a code callers can branch on,
78
+ * and passes anything it does not recognize through untouched. The browser rejects with a
79
+ * `DOMException` whose message differs per browser and reads like a spec citation, so the
80
+ * recognized failures get copy instead.
81
+ *
82
+ * @param error - The error the browser rejected `navigator.credentials.create()` or `.get()` with.
83
+ * @returns The error to throw, mapped when recognized.
84
+ */
85
+ export declare function mapCeremonyError(error: unknown): unknown;
86
+ /**
87
+ * Serializes a WebAuthn registration credential (the result of
88
+ * `navigator.credentials.create()`) into a JSON-safe object with base64url-encoded
89
+ * binary fields, ready to submit to the passkey enrollment endpoint.
90
+ *
91
+ * @param credential - The PublicKeyCredential returned by `navigator.credentials.create()`.
92
+ * @returns The serialized attestation response.
93
+ */
94
+ export declare function serializeAttestationResponse(credential: PublicKeyCredential): SerializedAttestationResponse;
95
+ /**
96
+ * Serializes a WebAuthn authentication credential (the result of
97
+ * `navigator.credentials.get()`) into a JSON-safe object with base64url-encoded
98
+ * binary fields, ready to submit to the passkey verification endpoint.
99
+ *
100
+ * @param credential - The PublicKeyCredential returned by `navigator.credentials.get()`.
101
+ * @returns The serialized assertion response.
102
+ */
103
+ export declare function serializeAssertionResponse(credential: PublicKeyCredential): SerializedAssertionResponse;
104
+ /**
105
+ * Deserializes server-provided WebAuthn credential creation options (JSON with
106
+ * base64url-encoded binary members) into a {@link PublicKeyCredentialCreationOptions}
107
+ * object with `ArrayBuffer` members, ready to pass to `navigator.credentials.create()`.
108
+ *
109
+ * @param options - The credential creation options JSON from the server (the `publicKey` member).
110
+ * @returns The creation options with binary fields decoded to ArrayBuffers.
111
+ */
112
+ export declare function deserializeCreationOptions(options: CreationOptionsJSON): PublicKeyCredentialCreationOptions;
113
+ /**
114
+ * Deserializes server-provided WebAuthn credential request options (JSON with
115
+ * base64url-encoded binary members) into a {@link PublicKeyCredentialRequestOptions}
116
+ * object with `ArrayBuffer` members, ready to pass to `navigator.credentials.get()`.
117
+ *
118
+ * @param options - The credential request options JSON from the server (the `publicKey` member).
119
+ * @returns The request options with binary fields decoded to ArrayBuffers.
120
+ */
121
+ export declare function deserializeRequestOptions(options: RequestOptionsJSON): PublicKeyCredentialRequestOptions;
@@ -1,4 +1,4 @@
1
- import { SendEvmTransactionWithEndUserAccountBodyNetwork, SendSolanaTransactionWithEndUserAccountBodyNetwork, APIError, APIErrorType, ErrorType, HttpErrorType, EvmUserOperation, EvmCall as EvmUserOperationCall, EvmUserOperationNetwork, EvmUserOperationStatus, OAuth2ProviderType, OAuth2Authentication, TelegramAuthentication, SiweAuthentication, MFAMethods, MfaMethod, EndUserEvmAccount, EndUserSolanaAccount, EndUserEvmSmartAccount, EndUserBtcAccount, CreateEndUserBtcAccountBodyNetwork, UserOperationReceipt, TokenFee, GetEndUserEvmSwapPrice200IssuesAllowance, GetEndUserEvmSwapPrice200IssuesBalance, PaymasterContext } from '@coinbase/cdp-api-client';
1
+ import { SendEvmTransactionWithEndUserAccountBodyNetwork, SendSolanaTransactionWithEndUserAccountBodyNetwork, APIError, APIErrorType, ErrorType, HttpErrorType, EvmUserOperation, EvmCall as EvmUserOperationCall, EvmUserOperationNetwork, EvmUserOperationStatus, OAuth2ProviderType, OAuth2Authentication, TelegramAuthentication, SiweAuthentication, MFAMethods, MfaMethod, PasskeySummary, EndUserEvmAccount, EndUserSolanaAccount, EndUserEvmSmartAccount, EndUserBtcAccount, CreateEndUserBtcAccountBodyNetwork, UserOperationReceipt, TokenFee, GetEndUserEvmSwapPrice200IssuesAllowance, GetEndUserEvmSwapPrice200IssuesBalance, PaymasterContext } from '@coinbase/cdp-api-client';
2
2
  import { TransactionSerializableEIP1559 } from 'viem';
3
3
  export {
4
4
  /** The API error class */
@@ -15,10 +15,12 @@ SendEvmTransactionWithEndUserAccountBodyNetwork,
15
15
  SendSolanaTransactionWithEndUserAccountBodyNetwork,
16
16
  /** The type of OAuth provider to sign in with. */
17
17
  OAuth2ProviderType,
18
- /** MFA method type (totp or sms) */
18
+ /** MFA method type (totp, sms, or passkey) */
19
19
  type MfaMethod,
20
20
  /** MFA methods enrolled for a user */
21
21
  type MFAMethods,
22
+ /** Summary of an enrolled passkey (WebAuthn) credential */
23
+ type PasskeySummary,
22
24
  /** EVM account object with address and createdAt */
23
25
  type EndUserEvmAccount,
24
26
  /** Solana account object with address and createdAt */
@@ -2,4 +2,4 @@
2
2
  * Current version of @coinbase/cdp-core package.
3
3
  * This file is auto-generated by scripts/sync-versions.js
4
4
  */
5
- export declare const VERSION = "0.0.121";
5
+ export declare const VERSION = "0.0.122";
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Deletes a single enrolled passkey (WebAuthn) credential by its credential ID.
3
+ *
4
+ * Last Method Protection: if deleting this passkey would leave the end user with
5
+ * no enrolled MFA methods of any type (no other passkeys, TOTP, or SMS) and the
6
+ * project requires MFA verification on login, the request is rejected with a 403.
7
+ *
8
+ * The signed-in user is refreshed afterwards, so `user.mfaMethods.passkey` and
9
+ * `isEnrolledInMfa(user, "passkey")` reflect the deletion. A `listPasskeys` result you are
10
+ * already holding is not refreshed; re-run it to get the new list.
11
+ *
12
+ * @param credentialId - The base64url-encoded WebAuthn credential ID of the passkey to delete.
13
+ * @example
14
+ * ```typescript
15
+ * const [passkey] = await listPasskeys();
16
+ * await deletePasskey(passkey.credentialId);
17
+ * const remaining = await listPasskeys();
18
+ * ```
19
+ * @returns A promise that resolves once the passkey has been deleted.
20
+ */
21
+ export declare const deletePasskey: (credentialId: string) => Promise<void>;
@@ -0,0 +1,44 @@
1
+ import { User } from '../types.js';
2
+ /**
3
+ * Options for enrolling a passkey (WebAuthn) as an MFA method.
4
+ */
5
+ export type EnrollPasskeyOptions = {
6
+ /** An optional human-friendly name for the passkey (e.g. the device or browser), shown when listing enrolled passkeys. */
7
+ name?: string;
8
+ /** Optional idempotency key for safe retries. */
9
+ idempotencyKey?: string;
10
+ };
11
+ /**
12
+ * Result of enrollPasskey.
13
+ */
14
+ export type EnrollPasskeyResult = {
15
+ /** The updated user with the passkey enrolled. */
16
+ user: User;
17
+ };
18
+ /**
19
+ * Enrolls a passkey (WebAuthn) as an MFA method for the current end user.
20
+ *
21
+ * This runs the full WebAuthn registration ceremony in one call: it initiates
22
+ * enrollment with the server to obtain credential creation options, prompts the
23
+ * browser to create a new credential via `navigator.credentials.create()`, and
24
+ * submits the resulting attestation to the server to complete enrollment.
25
+ *
26
+ * Passkey MFA is supported in web environments only. Call `isPasskeySupported`
27
+ * first to check availability before offering passkey enrollment in your UI.
28
+ *
29
+ * @param options - The options for enrolling the passkey.
30
+ * @param options.name - An optional human-friendly name for the passkey.
31
+ * @param options.idempotencyKey - Optional idempotency key for safe retries.
32
+ * @example
33
+ * ```typescript
34
+ * if (await isPasskeySupported()) {
35
+ * const { user } = await enrollPasskey({ name: "MacBook Pro" });
36
+ * console.log("Passkey enrolled for user:", user.userId);
37
+ * }
38
+ * ```
39
+ * @returns The result containing the updated user.
40
+ * @throws {MfaError} With code `PASSKEY_NOT_SUPPORTED` when passkeys are not available in the current environment.
41
+ * @throws {MfaError} With code `CANCELLED` when the user dismisses the passkey prompt or it times out.
42
+ * @throws {MfaError} With code `PASSKEY_ALREADY_ENROLLED` when this device already holds a passkey for the account.
43
+ */
44
+ export declare const enrollPasskey: (options?: EnrollPasskeyOptions) => Promise<EnrollPasskeyResult>;
@@ -0,0 +1,16 @@
1
+ import { PasskeySummary } from '@coinbase/cdp-api-client';
2
+ /**
3
+ * Lists the passkey (WebAuthn) credentials enrolled by the current end user.
4
+ *
5
+ * Never returns the COSE public key or any other sensitive credential material.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const passkeys = await listPasskeys();
10
+ * for (const passkey of passkeys) {
11
+ * console.log(passkey.name, passkey.credentialId, passkey.enrolledAt);
12
+ * }
13
+ * ```
14
+ * @returns A promise resolving to the list of enrolled passkey summaries.
15
+ */
16
+ export declare const listPasskeys: () => Promise<PasskeySummary[]>;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Options for verifying a passkey (WebAuthn).
3
+ */
4
+ export type VerifyPasskeyOptions = {
5
+ /** Optional idempotency key for safe retries. */
6
+ idempotencyKey?: string;
7
+ };
8
+ /**
9
+ * Completes an MFA verification using an enrolled passkey (WebAuthn).
10
+ *
11
+ * This runs the full WebAuthn authentication ceremony in one call: it initiates
12
+ * verification with the server to obtain credential request options, prompts the
13
+ * browser for an assertion via `navigator.credentials.get()`, and submits the
14
+ * resulting assertion to the server. After successful verification, any pending
15
+ * operation that was waiting for MFA will automatically continue.
16
+ *
17
+ * Passkey MFA is supported in web environments only. Call `isPasskeySupported`
18
+ * first to check availability before offering passkey verification in your UI.
19
+ *
20
+ * @param options - The options for the verification.
21
+ * @param options.idempotencyKey - Optional idempotency key for safe retries.
22
+ * @example
23
+ * ```typescript
24
+ * await verifyPasskey();
25
+ * ```
26
+ * @returns A promise that resolves if passkey verification is successful.
27
+ * @throws {MfaError} With code `PASSKEY_NOT_SUPPORTED` when passkeys are not available in the current environment.
28
+ * @throws {MfaError} With code `CANCELLED` when the user dismisses the passkey prompt or it times out.
29
+ */
30
+ export declare const verifyPasskey: (options?: VerifyPasskeyOptions) => Promise<void>;
@@ -63,7 +63,11 @@ export type MfaErrorCode =
63
63
  /** No MFA listener is registered to handle verification. */
64
64
  | "LISTENER_REQUIRED"
65
65
  /** MFA listeners are registered but none matched the trigger value. */
66
- | "NO_LISTENER_MATCHED";
66
+ | "NO_LISTENER_MATCHED"
67
+ /** Passkeys (WebAuthn) are not supported in the current environment. */
68
+ | "PASSKEY_NOT_SUPPORTED"
69
+ /** This device already holds a passkey for this account, so it cannot enroll another. */
70
+ | "PASSKEY_ALREADY_ENROLLED";
67
71
  /**
68
72
  * Error thrown when an MFA operation fails.
69
73
  */
@@ -77,8 +81,12 @@ export declare class MfaError extends Error {
77
81
  *
78
82
  * @param code - The error code identifying the type of MFA error.
79
83
  * @param message - The error message.
84
+ * @param options - Additional error options.
85
+ * @param options.cause - The underlying error this one was mapped from, when there is one.
80
86
  */
81
- constructor(code: MfaErrorCode, message: string);
87
+ constructor(code: MfaErrorCode, message: string, options?: {
88
+ cause?: unknown;
89
+ });
82
90
  }
83
91
  /**
84
92
  * Error codes for swap-related errors returned by the backend.
@@ -49,6 +49,10 @@ export { submitMfaEnrollment, type SubmitMfaEnrollmentOptions, type SubmitMfaEnr
49
49
  export { initiateMfaVerification } from './actions/initiateMfaVerification.js';
50
50
  export { submitMfaVerification, type SubmitMfaVerificationOptions, } from './actions/submitMfaVerification.js';
51
51
  export { cancelMfaVerification } from './actions/cancelMfaVerification.js';
52
+ export { enrollPasskey, type EnrollPasskeyOptions, type EnrollPasskeyResult, } from './actions/enrollPasskey.js';
53
+ export { verifyPasskey, type VerifyPasskeyOptions } from './actions/verifyPasskey.js';
54
+ export { listPasskeys } from './actions/listPasskeys.js';
55
+ export { deletePasskey } from './actions/deletePasskey.js';
52
56
  export { getEnabledMfaMethods, getEnrolledMfaMethods, isEnrolledInMfa, isMfaProtectedAction, isMfaRequired, MFA_PROTECTED_ACTIONS, MFA_PROTECTED_FUNCTIONS, type MfaProtectedAction, type MfaListener, type MfaVerificationContext, } from './mfa/index.js';
53
57
  export { registerMfaListener, type MfaListenerOptions } from './mfa/state.web.js';
54
58
  export * from './auth/authManager.js';
@@ -66,3 +70,4 @@ export * from './secureIframe/index.js';
66
70
  export { createEvmKeyExportIframe, createSolanaKeyExportIframe, type CreateKeyExportIframeOptions, type CreateKeyExportIframeResult, type SecureIframeStatusDetails, } from './actions/createKeyExportIframe.js';
67
71
  export { getConfig } from './state.js';
68
72
  export { toTransactionSigner } from './solana-kit/toTransactionSigner.js';
73
+ export { isPasskeySupported } from './shared/webauthn.js';
@@ -3,13 +3,13 @@ import { User, MfaMethod } from '../types.js';
3
3
  * Gets the list of MFA methods that the user has enrolled in.
4
4
  *
5
5
  * @param user - The user object.
6
- * @returns An array of enrolled MFA methods ('totp', 'sms', or both).
6
+ * @returns An array of enrolled MFA methods, any of 'totp', 'sms', and 'passkey'.
7
7
  *
8
8
  * @example
9
9
  * ```typescript
10
10
  * const user = await getCurrentUser();
11
11
  * const methods = getEnrolledMfaMethods(user);
12
- * // methods = ['totp', 'sms']
12
+ * // methods = ['totp', 'passkey']
13
13
  *
14
14
  * if (methods.length > 1) {
15
15
  * // Prompt user to choose which method to use
@@ -56,7 +56,7 @@ export declare function isEnrolledInMfa(user: User, method?: MfaMethod): boolean
56
56
  * const config = getMfaConfigState();
57
57
  * if (config) {
58
58
  * const methods = getEnabledMfaMethods(config);
59
- * // methods = ['totp', 'sms']
59
+ * // methods = ['totp', 'passkey']
60
60
  * }
61
61
  * ```
62
62
  */
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Encodes binary data to a URL-safe base64 string (base64url), with no padding.
3
+ *
4
+ * URL-safe base64 replaces the standard `+` and `/` characters with `-` and `_`
5
+ * respectively, and omits the `=` padding. This is the encoding WebAuthn uses for
6
+ * binary fields (challenge, credential IDs, etc.) when serialized to JSON.
7
+ *
8
+ * @param data - The binary data to encode, as an ArrayBuffer or Uint8Array.
9
+ * @returns The base64url-encoded string (no padding).
10
+ */
11
+ export declare function encodeBase64url(data: ArrayBuffer | Uint8Array): string;
12
+ /**
13
+ * Decodes a URL-safe base64 string (base64url) to binary data.
14
+ *
15
+ * Accepts input with or without padding, and tolerates the standard base64
16
+ * alphabet as well. Reverses {@link encodeBase64url}.
17
+ *
18
+ * @param base64url - The base64url-encoded string to decode.
19
+ * @returns The decoded bytes as a Uint8Array.
20
+ */
21
+ export declare function decodeBase64url(base64url: string): Uint8Array;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * The message for a passkey ceremony the user dismissed or let expire. `NotAllowedError` covers
3
+ * both, deliberately, so that a site cannot tell a dismissal from a timeout.
4
+ */
5
+ export declare const PASSKEY_PROMPT_DISMISSED = "The passkey prompt was dismissed or timed out.";
6
+ /**
7
+ * A serialized WebAuthn registration (attestation) credential, produced by
8
+ * {@link serializeAttestationResponse}. Binary fields are base64url-encoded so the
9
+ * payload is JSON-safe and can be submitted to the passkey enrollment endpoint.
10
+ */
11
+ export type SerializedAttestationResponse = {
12
+ /** The base64url-encoded credential ID. */
13
+ id: string;
14
+ /** The base64url-encoded raw credential ID. */
15
+ rawId: string;
16
+ /** The credential type, always `"public-key"`. */
17
+ type: string;
18
+ /** Client extension results returned by the authenticator. */
19
+ clientExtensionResults: AuthenticationExtensionsClientOutputs;
20
+ /** The attestation response payload. */
21
+ response: {
22
+ /** The base64url-encoded client data JSON. */
23
+ clientDataJSON: string;
24
+ /** The base64url-encoded attestation object. */
25
+ attestationObject: string;
26
+ /** The authenticator transports, when reported by the authenticator. */
27
+ transports?: string[];
28
+ };
29
+ };
30
+ /**
31
+ * A serialized WebAuthn authentication (assertion) credential, produced by
32
+ * {@link serializeAssertionResponse}. Binary fields are base64url-encoded so the
33
+ * payload is JSON-safe and can be submitted to the passkey verification endpoint.
34
+ */
35
+ export type SerializedAssertionResponse = {
36
+ /** The base64url-encoded credential ID. */
37
+ id: string;
38
+ /** The base64url-encoded raw credential ID. */
39
+ rawId: string;
40
+ /** The credential type, always `"public-key"`. */
41
+ type: string;
42
+ /** Client extension results returned by the authenticator. */
43
+ clientExtensionResults: AuthenticationExtensionsClientOutputs;
44
+ /** The assertion response payload. */
45
+ response: {
46
+ /** The base64url-encoded client data JSON. */
47
+ clientDataJSON: string;
48
+ /** The base64url-encoded authenticator data. */
49
+ authenticatorData: string;
50
+ /** The base64url-encoded assertion signature. */
51
+ signature: string;
52
+ /** The base64url-encoded user handle, when present. */
53
+ userHandle?: string;
54
+ };
55
+ };
56
+ /**
57
+ * The JSON shape of WebAuthn credential creation options as returned by the
58
+ * server. Binary members (`challenge`, `user.id`, `excludeCredentials[].id`) are
59
+ * base64url-encoded strings. Passed opaquely to {@link deserializeCreationOptions}.
60
+ */
61
+ export type CreationOptionsJSON = Record<string, unknown>;
62
+ /**
63
+ * The JSON shape of WebAuthn credential request options as returned by the
64
+ * server. Binary members (`challenge`, `allowCredentials[].id`) are base64url-encoded
65
+ * strings. Passed opaquely to {@link deserializeRequestOptions}.
66
+ */
67
+ export type RequestOptionsJSON = Record<string, unknown>;
68
+ /**
69
+ * Detects whether passkeys (WebAuthn platform authenticators) are usable in the
70
+ * current environment. Returns `false` in non-web environments and when no
71
+ * user-verifying platform authenticator is available.
72
+ *
73
+ * @returns A promise resolving to `true` when passkeys are supported, `false` otherwise.
74
+ */
75
+ export declare function isPasskeySupported(): Promise<boolean>;
76
+ /**
77
+ * Maps a rejected WebAuthn ceremony to an {@link MfaError} with a code callers can branch on,
78
+ * and passes anything it does not recognize through untouched. The browser rejects with a
79
+ * `DOMException` whose message differs per browser and reads like a spec citation, so the
80
+ * recognized failures get copy instead.
81
+ *
82
+ * @param error - The error the browser rejected `navigator.credentials.create()` or `.get()` with.
83
+ * @returns The error to throw, mapped when recognized.
84
+ */
85
+ export declare function mapCeremonyError(error: unknown): unknown;
86
+ /**
87
+ * Serializes a WebAuthn registration credential (the result of
88
+ * `navigator.credentials.create()`) into a JSON-safe object with base64url-encoded
89
+ * binary fields, ready to submit to the passkey enrollment endpoint.
90
+ *
91
+ * @param credential - The PublicKeyCredential returned by `navigator.credentials.create()`.
92
+ * @returns The serialized attestation response.
93
+ */
94
+ export declare function serializeAttestationResponse(credential: PublicKeyCredential): SerializedAttestationResponse;
95
+ /**
96
+ * Serializes a WebAuthn authentication credential (the result of
97
+ * `navigator.credentials.get()`) into a JSON-safe object with base64url-encoded
98
+ * binary fields, ready to submit to the passkey verification endpoint.
99
+ *
100
+ * @param credential - The PublicKeyCredential returned by `navigator.credentials.get()`.
101
+ * @returns The serialized assertion response.
102
+ */
103
+ export declare function serializeAssertionResponse(credential: PublicKeyCredential): SerializedAssertionResponse;
104
+ /**
105
+ * Deserializes server-provided WebAuthn credential creation options (JSON with
106
+ * base64url-encoded binary members) into a {@link PublicKeyCredentialCreationOptions}
107
+ * object with `ArrayBuffer` members, ready to pass to `navigator.credentials.create()`.
108
+ *
109
+ * @param options - The credential creation options JSON from the server (the `publicKey` member).
110
+ * @returns The creation options with binary fields decoded to ArrayBuffers.
111
+ */
112
+ export declare function deserializeCreationOptions(options: CreationOptionsJSON): PublicKeyCredentialCreationOptions;
113
+ /**
114
+ * Deserializes server-provided WebAuthn credential request options (JSON with
115
+ * base64url-encoded binary members) into a {@link PublicKeyCredentialRequestOptions}
116
+ * object with `ArrayBuffer` members, ready to pass to `navigator.credentials.get()`.
117
+ *
118
+ * @param options - The credential request options JSON from the server (the `publicKey` member).
119
+ * @returns The request options with binary fields decoded to ArrayBuffers.
120
+ */
121
+ export declare function deserializeRequestOptions(options: RequestOptionsJSON): PublicKeyCredentialRequestOptions;
@@ -1,4 +1,4 @@
1
- import { SendEvmTransactionWithEndUserAccountBodyNetwork, SendSolanaTransactionWithEndUserAccountBodyNetwork, APIError, APIErrorType, ErrorType, HttpErrorType, EvmUserOperation, EvmCall as EvmUserOperationCall, EvmUserOperationNetwork, EvmUserOperationStatus, OAuth2ProviderType, OAuth2Authentication, TelegramAuthentication, SiweAuthentication, MFAMethods, MfaMethod, EndUserEvmAccount, EndUserSolanaAccount, EndUserEvmSmartAccount, EndUserBtcAccount, CreateEndUserBtcAccountBodyNetwork, UserOperationReceipt, TokenFee, GetEndUserEvmSwapPrice200IssuesAllowance, GetEndUserEvmSwapPrice200IssuesBalance, PaymasterContext } from '@coinbase/cdp-api-client';
1
+ import { SendEvmTransactionWithEndUserAccountBodyNetwork, SendSolanaTransactionWithEndUserAccountBodyNetwork, APIError, APIErrorType, ErrorType, HttpErrorType, EvmUserOperation, EvmCall as EvmUserOperationCall, EvmUserOperationNetwork, EvmUserOperationStatus, OAuth2ProviderType, OAuth2Authentication, TelegramAuthentication, SiweAuthentication, MFAMethods, MfaMethod, PasskeySummary, EndUserEvmAccount, EndUserSolanaAccount, EndUserEvmSmartAccount, EndUserBtcAccount, CreateEndUserBtcAccountBodyNetwork, UserOperationReceipt, TokenFee, GetEndUserEvmSwapPrice200IssuesAllowance, GetEndUserEvmSwapPrice200IssuesBalance, PaymasterContext } from '@coinbase/cdp-api-client';
2
2
  import { TransactionSerializableEIP1559 } from 'viem';
3
3
  export {
4
4
  /** The API error class */
@@ -15,10 +15,12 @@ SendEvmTransactionWithEndUserAccountBodyNetwork,
15
15
  SendSolanaTransactionWithEndUserAccountBodyNetwork,
16
16
  /** The type of OAuth provider to sign in with. */
17
17
  OAuth2ProviderType,
18
- /** MFA method type (totp or sms) */
18
+ /** MFA method type (totp, sms, or passkey) */
19
19
  type MfaMethod,
20
20
  /** MFA methods enrolled for a user */
21
21
  type MFAMethods,
22
+ /** Summary of an enrolled passkey (WebAuthn) credential */
23
+ type PasskeySummary,
22
24
  /** EVM account object with address and createdAt */
23
25
  type EndUserEvmAccount,
24
26
  /** Solana account object with address and createdAt */
@@ -2,4 +2,4 @@
2
2
  * Current version of @coinbase/cdp-core package.
3
3
  * This file is auto-generated by scripts/sync-versions.js
4
4
  */
5
- export declare const VERSION = "0.0.121";
5
+ export declare const VERSION = "0.0.122";