@coinbase/cdp-core 0.0.124 → 0.0.126

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 (569) hide show
  1. package/README.md +1 -1
  2. package/dist/esm/index.web10.js +4 -3
  3. package/dist/esm/index.web101.js +7 -6
  4. package/dist/esm/index.web102.js +11 -10
  5. package/dist/esm/index.web105.js +5 -4
  6. package/dist/esm/index.web106.js +8 -7
  7. package/dist/esm/index.web113.js +22 -20
  8. package/dist/esm/index.web114.js +19 -24
  9. package/dist/esm/index.web115.js +25 -15
  10. package/dist/esm/index.web116.js +13 -23
  11. package/dist/esm/index.web117.js +23 -20
  12. package/dist/esm/index.web122.js +7 -6
  13. package/dist/esm/index.web123.js +2 -2
  14. package/dist/esm/index.web126.js +1 -1
  15. package/dist/esm/index.web13.js +7 -7
  16. package/dist/esm/index.web130.js +4 -3
  17. package/dist/esm/index.web132.js +3 -2
  18. package/dist/esm/index.web134.js +1 -1
  19. package/dist/esm/index.web137.js +1 -1
  20. package/dist/esm/index.web138.js +1 -1
  21. package/dist/esm/index.web139.js +1 -1
  22. package/dist/esm/index.web142.js +12 -12
  23. package/dist/esm/index.web143.js +12 -12
  24. package/dist/esm/index.web144.js +1 -1
  25. package/dist/esm/index.web145.js +1 -1
  26. package/dist/esm/index.web147.js +1 -1
  27. package/dist/esm/index.web149.js +4 -4
  28. package/dist/esm/index.web152.js +1 -1
  29. package/dist/esm/index.web153.js +1 -1
  30. package/dist/esm/index.web154.js +5 -5
  31. package/dist/esm/index.web155.js +46 -11
  32. package/dist/esm/index.web156.js +4 -11
  33. package/dist/esm/index.web157.js +11 -53
  34. package/dist/esm/index.web158.js +11 -10
  35. package/dist/esm/index.web159.js +55 -2
  36. package/dist/esm/index.web160.js +11 -45
  37. package/dist/esm/index.web161.js +2 -14
  38. package/dist/esm/index.web162.js +45 -5
  39. package/dist/esm/index.web163.js +12 -46
  40. package/dist/esm/index.web164.js +2 -15
  41. package/dist/esm/index.web165.js +2 -29
  42. package/dist/esm/index.web166.js +15 -7
  43. package/dist/esm/index.web167.js +29 -3
  44. package/dist/esm/index.web168.js +7 -28
  45. package/dist/esm/index.web169.js +3 -8
  46. package/dist/esm/index.web170.js +29 -7
  47. package/dist/esm/index.web171.js +8 -80
  48. package/dist/esm/index.web172.js +7 -28
  49. package/dist/esm/index.web173.js +81 -3
  50. package/dist/esm/index.web174.js +19 -5
  51. package/dist/esm/index.web175.js +3 -4
  52. package/dist/esm/index.web176.js +5 -3
  53. package/dist/esm/index.web177.js +4 -19
  54. package/dist/esm/index.web178.js +6 -52
  55. package/dist/esm/index.web179.js +19 -17
  56. package/dist/esm/index.web180.js +57 -18
  57. package/dist/esm/index.web181.js +17 -8
  58. package/dist/esm/index.web182.js +19 -38
  59. package/dist/esm/index.web183.js +8 -7
  60. package/dist/esm/index.web184.js +40 -17
  61. package/dist/esm/index.web185.js +8 -2
  62. package/dist/esm/index.web186.js +21 -2
  63. package/dist/esm/index.web2.js +2 -2
  64. package/dist/esm/index.web20.js +1 -1
  65. package/dist/esm/index.web202.js +1 -1
  66. package/dist/esm/index.web204.js +1 -1
  67. package/dist/esm/index.web205.js +2 -2
  68. package/dist/esm/index.web207.js +1 -1
  69. package/dist/esm/index.web208.js +2 -2
  70. package/dist/esm/index.web21.js +1 -1
  71. package/dist/esm/index.web216.js +2 -2
  72. package/dist/esm/index.web219.js +1 -1
  73. package/dist/esm/index.web22.js +1 -1
  74. package/dist/esm/index.web220.js +1 -1
  75. package/dist/esm/index.web224.js +39 -2
  76. package/dist/esm/index.web225.js +2 -109
  77. package/dist/esm/index.web226.js +70 -2
  78. package/dist/esm/index.web227.js +33 -102
  79. package/dist/esm/index.web228.js +12 -76
  80. package/dist/esm/index.web229.js +7 -78
  81. package/dist/esm/index.web230.js +2 -21
  82. package/dist/esm/index.web231.js +361 -10
  83. package/dist/esm/index.web232.js +853 -20
  84. package/dist/esm/index.web233.js +2 -94
  85. package/dist/esm/index.web234.js +109 -21
  86. package/dist/esm/index.web235.js +2 -118
  87. package/dist/esm/index.web236.js +103 -38
  88. package/dist/esm/index.web237.js +79 -2
  89. package/dist/esm/index.web238.js +78 -69
  90. package/dist/esm/index.web239.js +20 -34
  91. package/dist/esm/index.web240.js +10 -15
  92. package/dist/esm/index.web241.js +20 -8
  93. package/dist/esm/index.web242.js +94 -2
  94. package/dist/esm/index.web243.js +21 -361
  95. package/dist/esm/index.web244.js +118 -853
  96. package/dist/esm/index.web245.js +14 -40
  97. package/dist/esm/index.web246.js +2 -21
  98. package/dist/esm/index.web247.js +20 -2
  99. package/dist/esm/index.web248.js +31 -18
  100. package/dist/esm/index.web249.js +6 -32
  101. package/dist/esm/index.web250.js +2 -7
  102. package/dist/esm/index.web251.js +2 -4
  103. package/dist/esm/index.web252.js +2 -18
  104. package/dist/esm/index.web253.js +4 -28
  105. package/dist/esm/index.web254.js +46 -7
  106. package/dist/esm/index.web255.js +18 -11
  107. package/dist/esm/index.web256.js +28 -13
  108. package/dist/esm/index.web257.js +8 -10
  109. package/dist/esm/index.web258.js +11 -17
  110. package/dist/esm/index.web259.js +12 -80
  111. package/dist/esm/index.web260.js +10 -2
  112. package/dist/esm/index.web261.js +17 -2
  113. package/dist/esm/index.web262.js +81 -2
  114. package/dist/esm/index.web264.js +78 -14
  115. package/dist/esm/index.web265.js +14 -78
  116. package/dist/esm/index.web29.js +3 -2
  117. package/dist/esm/index.web3.js +1 -1
  118. package/dist/esm/index.web30.js +3 -2
  119. package/dist/esm/index.web31.js +7 -6
  120. package/dist/esm/index.web32.js +6 -5
  121. package/dist/esm/index.web33.js +3 -2
  122. package/dist/esm/index.web34.js +9 -8
  123. package/dist/esm/index.web35.js +3 -2
  124. package/dist/esm/index.web36.js +3 -2
  125. package/dist/esm/index.web37.js +3 -2
  126. package/dist/esm/index.web39.js +3 -2
  127. package/dist/esm/index.web4.js +49 -48
  128. package/dist/esm/index.web40.js +10 -9
  129. package/dist/esm/index.web41.js +17 -14
  130. package/dist/esm/index.web43.js +9 -8
  131. package/dist/esm/index.web44.js +3 -2
  132. package/dist/esm/index.web47.js +1 -1
  133. package/dist/esm/index.web50.js +4 -3
  134. package/dist/esm/index.web51.js +1 -1
  135. package/dist/esm/index.web53.js +2 -2
  136. package/dist/esm/index.web54.js +2 -2
  137. package/dist/esm/index.web55.js +2 -2
  138. package/dist/esm/index.web56.js +1 -1
  139. package/dist/esm/index.web61.js +1 -1
  140. package/dist/esm/index.web62.js +1 -1
  141. package/dist/esm/index.web63.js +1 -1
  142. package/dist/esm/index.web64.js +2 -2
  143. package/dist/esm/index.web65.js +2 -2
  144. package/dist/esm/index.web66.js +10 -9
  145. package/dist/esm/index.web67.js +7 -6
  146. package/dist/esm/index.web68.js +7 -6
  147. package/dist/esm/index.web69.js +8 -7
  148. package/dist/esm/index.web71.js +2 -2
  149. package/dist/esm/index.web72.js +2 -2
  150. package/dist/esm/index.web75.js +3 -2
  151. package/dist/esm/index.web76.js +3 -2
  152. package/dist/esm/index.web77.js +3 -2
  153. package/dist/esm/index.web79.js +5 -4
  154. package/dist/esm/index.web82.js +1 -1
  155. package/dist/esm/index.web83.js +33 -22
  156. package/dist/esm/index.web84.js +32 -21
  157. package/dist/esm/index.web85.js +15 -13
  158. package/dist/esm/index.web86.js +30 -24
  159. package/dist/esm/index.web88.js +69 -50
  160. package/dist/esm/index.web89.js +59 -44
  161. package/dist/esm/index.web9.js +1 -1
  162. package/dist/esm/index.web93.js +40 -32
  163. package/dist/esm/index.web94.js +65 -31
  164. package/dist/esm/index.web96.js +1 -1
  165. package/dist/esm/index.web98.js +6 -5
  166. package/dist/native/index.native100.js +11 -10
  167. package/dist/native/index.native101.js +11 -10
  168. package/dist/native/index.native109.js +1 -1
  169. package/dist/native/index.native11.js +1 -1
  170. package/dist/native/index.native111.js +22 -20
  171. package/dist/native/index.native112.js +19 -24
  172. package/dist/native/index.native113.js +25 -15
  173. package/dist/native/index.native114.js +13 -23
  174. package/dist/native/index.native115.js +23 -20
  175. package/dist/native/index.native118.js +3 -3
  176. package/dist/native/index.native12.js +4 -3
  177. package/dist/native/index.native120.js +7 -6
  178. package/dist/native/index.native121.js +2 -2
  179. package/dist/native/index.native124.js +1 -1
  180. package/dist/native/index.native125.js +3 -3
  181. package/dist/native/index.native127.js +4 -3
  182. package/dist/native/index.native129.js +3 -2
  183. package/dist/native/index.native131.js +1 -1
  184. package/dist/native/index.native134.js +1 -1
  185. package/dist/native/index.native135.js +1 -1
  186. package/dist/native/index.native136.js +1 -1
  187. package/dist/native/index.native137.js +12 -12
  188. package/dist/native/index.native138.js +16 -105
  189. package/dist/native/index.native139.js +18 -372
  190. package/dist/native/index.native140.js +50 -28
  191. package/dist/native/index.native141.js +105 -27
  192. package/dist/native/index.native142.js +76 -2
  193. package/dist/native/index.native143.js +349 -38
  194. package/dist/native/index.native144.js +28 -364
  195. package/dist/native/index.native145.js +28 -16
  196. package/dist/native/index.native146.js +2 -25
  197. package/dist/native/index.native147.js +63 -48
  198. package/dist/native/index.native148.js +360 -940
  199. package/dist/native/index.native149.js +945 -2
  200. package/dist/native/index.native15.js +7 -7
  201. package/dist/native/index.native150.js +2 -50
  202. package/dist/native/index.native151.js +49 -26
  203. package/dist/native/index.native152.js +27 -5
  204. package/dist/native/index.native153.js +5 -48
  205. package/dist/native/index.native154.js +47 -4
  206. package/dist/native/index.native155.js +53 -11
  207. package/dist/native/index.native156.js +10 -11
  208. package/dist/native/index.native157.js +2 -36
  209. package/dist/native/index.native158.js +43 -66
  210. package/dist/native/index.native159.js +13 -13
  211. package/dist/native/index.native160.js +4 -27
  212. package/dist/native/index.native161.js +12 -7
  213. package/dist/native/index.native162.js +11 -3
  214. package/dist/native/index.native163.js +2 -28
  215. package/dist/native/index.native164.js +2 -9
  216. package/dist/native/index.native165.js +36 -8
  217. package/dist/native/index.native166.js +64 -76
  218. package/dist/native/index.native167.js +61 -25
  219. package/dist/native/index.native168.js +14 -3
  220. package/dist/native/index.native169.js +19 -5
  221. package/dist/native/index.native170.js +7 -4
  222. package/dist/native/index.native171.js +3 -13
  223. package/dist/native/index.native172.js +25 -16
  224. package/dist/native/index.native173.js +8 -60
  225. package/dist/native/index.native174.js +7 -17
  226. package/dist/native/index.native175.js +78 -21
  227. package/dist/native/index.native176.js +28 -8
  228. package/dist/native/index.native177.js +3 -41
  229. package/dist/native/index.native178.js +15 -7
  230. package/dist/native/index.native179.js +4 -20
  231. package/dist/native/index.native180.js +14 -54
  232. package/dist/native/index.native181.js +19 -10
  233. package/dist/native/index.native182.js +62 -2
  234. package/dist/native/index.native183.js +18 -45
  235. package/dist/native/index.native184.js +23 -13
  236. package/dist/native/index.native185.js +9 -2
  237. package/dist/native/index.native186.js +43 -2
  238. package/dist/native/index.native187.js +7 -13
  239. package/dist/native/index.native188.js +19 -54
  240. package/dist/native/index.native189.js +13 -6
  241. package/dist/native/index.native190.js +54 -20
  242. package/dist/native/index.native191.js +6 -17
  243. package/dist/native/index.native192.js +20 -44
  244. package/dist/native/index.native193.js +17 -3
  245. package/dist/native/index.native194.js +45 -3
  246. package/dist/native/index.native195.js +3 -34
  247. package/dist/native/index.native196.js +3 -12
  248. package/dist/native/index.native197.js +34 -4
  249. package/dist/native/index.native198.js +11 -27
  250. package/dist/native/index.native199.js +4 -6
  251. package/dist/native/index.native2.js +2 -2
  252. package/dist/native/index.native200.js +25 -29
  253. package/dist/native/index.native201.js +6 -12
  254. package/dist/native/index.native202.js +31 -54
  255. package/dist/native/index.native203.js +11 -41
  256. package/dist/native/index.native204.js +54 -126
  257. package/dist/native/index.native205.js +38 -100
  258. package/dist/native/index.native206.js +127 -6
  259. package/dist/native/index.native207.js +105 -3
  260. package/dist/native/index.native208.js +6 -78
  261. package/dist/native/index.native209.js +3 -2
  262. package/dist/native/index.native210.js +79 -2
  263. package/dist/native/index.native211.js +2 -38
  264. package/dist/native/index.native212.js +2 -7
  265. package/dist/native/index.native213.js +32 -29
  266. package/dist/native/index.native214.js +6 -14
  267. package/dist/native/index.native215.js +30 -30
  268. package/dist/native/index.native216.js +14 -18
  269. package/dist/native/index.native217.js +34 -8
  270. package/dist/native/index.native218.js +17 -9
  271. package/dist/native/index.native219.js +8 -11
  272. package/dist/native/index.native22.js +1 -1
  273. package/dist/native/index.native220.js +10 -13
  274. package/dist/native/index.native221.js +11 -5
  275. package/dist/native/index.native222.js +14 -5
  276. package/dist/native/index.native223.js +5 -10
  277. package/dist/native/index.native224.js +5 -39
  278. package/dist/native/index.native225.js +11 -2
  279. package/dist/native/index.native226.js +20 -69
  280. package/dist/native/index.native227.js +10 -35
  281. package/dist/native/index.native228.js +19 -14
  282. package/dist/native/index.native229.js +94 -8
  283. package/dist/native/index.native23.js +1 -1
  284. package/dist/native/index.native230.js +21 -2
  285. package/dist/native/index.native231.js +110 -353
  286. package/dist/native/index.native232.js +105 -849
  287. package/dist/native/index.native233.js +2 -2
  288. package/dist/native/index.native234.js +2 -109
  289. package/dist/native/index.native235.js +8 -2
  290. package/dist/native/index.native236.js +2 -104
  291. package/dist/native/index.native237.js +353 -71
  292. package/dist/native/index.native238.js +852 -78
  293. package/dist/native/index.native239.js +38 -20
  294. package/dist/native/index.native24.js +1 -1
  295. package/dist/native/index.native240.js +2 -10
  296. package/dist/native/index.native241.js +70 -20
  297. package/dist/native/index.native242.js +34 -93
  298. package/dist/native/index.native243.js +14 -20
  299. package/dist/native/index.native244.js +98 -112
  300. package/dist/native/index.native245.js +79 -2
  301. package/dist/native/index.native246.js +79 -2
  302. package/dist/native/index.native247.js +21 -2
  303. package/dist/native/index.native248.js +2 -21
  304. package/dist/native/index.native249.js +20 -2
  305. package/dist/native/index.native250.js +31 -18
  306. package/dist/native/index.native251.js +6 -32
  307. package/dist/native/index.native252.js +46 -6
  308. package/dist/native/index.native253.js +10 -3
  309. package/dist/native/index.native254.js +3 -46
  310. package/dist/native/index.native255.js +2 -18
  311. package/dist/native/index.native256.js +2 -28
  312. package/dist/native/index.native257.js +2 -8
  313. package/dist/native/index.native258.js +18 -11
  314. package/dist/native/index.native259.js +28 -13
  315. package/dist/native/index.native260.js +8 -10
  316. package/dist/native/index.native261.js +11 -17
  317. package/dist/native/index.native262.js +12 -80
  318. package/dist/native/index.native263.js +10 -5
  319. package/dist/native/index.native264.js +13 -75
  320. package/dist/native/index.native265.js +80 -14
  321. package/dist/native/index.native266.js +7 -0
  322. package/dist/native/index.native267.js +17 -0
  323. package/dist/native/index.native268.js +81 -0
  324. package/dist/native/index.native3.js +1 -1
  325. package/dist/native/index.native31.js +3 -2
  326. package/dist/native/index.native32.js +6 -5
  327. package/dist/native/index.native33.js +3 -2
  328. package/dist/native/index.native34.js +6 -5
  329. package/dist/native/index.native35.js +3 -2
  330. package/dist/native/index.native36.js +3 -2
  331. package/dist/native/index.native37.js +3 -2
  332. package/dist/native/index.native38.js +3 -2
  333. package/dist/native/index.native39.js +6 -5
  334. package/dist/native/index.native41.js +3 -2
  335. package/dist/native/index.native42.js +3 -2
  336. package/dist/native/index.native43.js +15 -12
  337. package/dist/native/index.native45.js +6 -5
  338. package/dist/native/index.native46.js +11 -10
  339. package/dist/native/index.native49.js +1 -1
  340. package/dist/native/index.native52.js +10 -9
  341. package/dist/native/index.native53.js +1 -1
  342. package/dist/native/index.native55.js +2 -2
  343. package/dist/native/index.native56.js +2 -2
  344. package/dist/native/index.native57.js +2 -2
  345. package/dist/native/index.native58.js +1 -1
  346. package/dist/native/index.native63.js +1 -1
  347. package/dist/native/index.native64.js +1 -1
  348. package/dist/native/index.native65.js +1 -1
  349. package/dist/native/index.native66.js +2 -2
  350. package/dist/native/index.native67.js +2 -2
  351. package/dist/native/index.native68.js +7 -6
  352. package/dist/native/index.native69.js +6 -5
  353. package/dist/native/index.native70.js +3 -2
  354. package/dist/native/index.native71.js +7 -6
  355. package/dist/native/index.native73.js +2 -2
  356. package/dist/native/index.native74.js +2 -2
  357. package/dist/native/index.native77.js +3 -2
  358. package/dist/native/index.native78.js +3 -2
  359. package/dist/native/index.native79.js +3 -2
  360. package/dist/native/index.native81.js +5 -4
  361. package/dist/native/index.native84.js +1 -1
  362. package/dist/native/index.native85.js +31 -21
  363. package/dist/native/index.native86.js +30 -20
  364. package/dist/native/index.native87.js +15 -13
  365. package/dist/native/index.native88.js +30 -24
  366. package/dist/native/index.native90.js +46 -45
  367. package/dist/native/index.native92.js +40 -32
  368. package/dist/native/index.native93.js +65 -31
  369. package/dist/native/index.native94.js +1 -1
  370. package/dist/native/index.native96.js +6 -5
  371. package/dist/native/index.native99.js +10 -9
  372. package/dist/native-types/actions/initiateMfaVerification.d.ts +10 -3
  373. package/dist/native-types/actions/submitMfaVerification.d.ts +6 -0
  374. package/dist/native-types/actions/verifyPasskey.d.ts +7 -1
  375. package/dist/native-types/auth/oAuthManager.d.ts +1 -1
  376. package/dist/native-types/errors.d.ts +3 -1
  377. package/dist/native-types/index.d.ts +1 -0
  378. package/dist/native-types/mfa/index.d.ts +1 -1
  379. package/dist/native-types/mfa/protectedActions.d.ts +34 -0
  380. package/dist/native-types/mfa/state.d.ts +21 -1
  381. package/dist/native-types/mfa/withMfa.d.ts +22 -3
  382. package/dist/native-types/version.d.ts +1 -1
  383. package/dist/types/actions/initiateMfaVerification.d.ts +10 -3
  384. package/dist/types/actions/submitMfaVerification.d.ts +6 -0
  385. package/dist/types/actions/verifyPasskey.d.ts +7 -1
  386. package/dist/types/auth/oAuthManager.d.ts +1 -1
  387. package/dist/types/errors.d.ts +3 -1
  388. package/dist/types/index.d.ts +1 -0
  389. package/dist/types/mfa/index.d.ts +1 -1
  390. package/dist/types/mfa/protectedActions.d.ts +34 -0
  391. package/dist/types/mfa/state.d.ts +21 -1
  392. package/dist/types/mfa/withMfa.d.ts +22 -3
  393. package/dist/types/version.d.ts +1 -1
  394. package/dist/web/index.web10.js +4 -3
  395. package/dist/web/index.web101.js +7 -6
  396. package/dist/web/index.web102.js +11 -10
  397. package/dist/web/index.web105.js +5 -4
  398. package/dist/web/index.web106.js +8 -7
  399. package/dist/web/index.web113.js +22 -20
  400. package/dist/web/index.web114.js +19 -24
  401. package/dist/web/index.web115.js +25 -15
  402. package/dist/web/index.web116.js +13 -23
  403. package/dist/web/index.web117.js +23 -20
  404. package/dist/web/index.web122.js +7 -6
  405. package/dist/web/index.web123.js +2 -2
  406. package/dist/web/index.web126.js +1 -1
  407. package/dist/web/index.web13.js +7 -7
  408. package/dist/web/index.web130.js +4 -3
  409. package/dist/web/index.web132.js +3 -2
  410. package/dist/web/index.web134.js +1 -1
  411. package/dist/web/index.web137.js +1 -1
  412. package/dist/web/index.web138.js +1 -1
  413. package/dist/web/index.web139.js +1 -1
  414. package/dist/web/index.web142.js +12 -12
  415. package/dist/web/index.web143.js +12 -12
  416. package/dist/web/index.web144.js +1 -1
  417. package/dist/web/index.web145.js +1 -1
  418. package/dist/web/index.web147.js +1 -1
  419. package/dist/web/index.web149.js +4 -4
  420. package/dist/web/index.web152.js +1 -1
  421. package/dist/web/index.web153.js +1 -1
  422. package/dist/web/index.web154.js +5 -5
  423. package/dist/web/index.web155.js +46 -11
  424. package/dist/web/index.web156.js +4 -11
  425. package/dist/web/index.web157.js +11 -53
  426. package/dist/web/index.web158.js +11 -10
  427. package/dist/web/index.web159.js +55 -2
  428. package/dist/web/index.web160.js +11 -45
  429. package/dist/web/index.web161.js +2 -14
  430. package/dist/web/index.web162.js +45 -5
  431. package/dist/web/index.web163.js +12 -46
  432. package/dist/web/index.web164.js +2 -15
  433. package/dist/web/index.web165.js +2 -29
  434. package/dist/web/index.web166.js +15 -7
  435. package/dist/web/index.web167.js +29 -3
  436. package/dist/web/index.web168.js +7 -28
  437. package/dist/web/index.web169.js +3 -8
  438. package/dist/web/index.web170.js +29 -7
  439. package/dist/web/index.web171.js +8 -80
  440. package/dist/web/index.web172.js +7 -28
  441. package/dist/web/index.web173.js +81 -3
  442. package/dist/web/index.web174.js +19 -5
  443. package/dist/web/index.web175.js +3 -4
  444. package/dist/web/index.web176.js +5 -3
  445. package/dist/web/index.web177.js +4 -19
  446. package/dist/web/index.web178.js +6 -52
  447. package/dist/web/index.web179.js +19 -17
  448. package/dist/web/index.web180.js +57 -18
  449. package/dist/web/index.web181.js +17 -8
  450. package/dist/web/index.web182.js +19 -38
  451. package/dist/web/index.web183.js +8 -7
  452. package/dist/web/index.web184.js +40 -17
  453. package/dist/web/index.web185.js +8 -2
  454. package/dist/web/index.web186.js +21 -2
  455. package/dist/web/index.web2.js +2 -2
  456. package/dist/web/index.web20.js +1 -1
  457. package/dist/web/index.web202.js +1 -1
  458. package/dist/web/index.web204.js +1 -1
  459. package/dist/web/index.web205.js +2 -2
  460. package/dist/web/index.web207.js +1 -1
  461. package/dist/web/index.web208.js +2 -2
  462. package/dist/web/index.web21.js +1 -1
  463. package/dist/web/index.web216.js +2 -2
  464. package/dist/web/index.web219.js +1 -1
  465. package/dist/web/index.web22.js +1 -1
  466. package/dist/web/index.web220.js +1 -1
  467. package/dist/web/index.web224.js +39 -2
  468. package/dist/web/index.web225.js +2 -109
  469. package/dist/web/index.web226.js +70 -2
  470. package/dist/web/index.web227.js +33 -102
  471. package/dist/web/index.web228.js +12 -76
  472. package/dist/web/index.web229.js +7 -78
  473. package/dist/web/index.web230.js +2 -21
  474. package/dist/web/index.web231.js +361 -10
  475. package/dist/web/index.web232.js +853 -20
  476. package/dist/web/index.web233.js +2 -94
  477. package/dist/web/index.web234.js +109 -21
  478. package/dist/web/index.web235.js +2 -118
  479. package/dist/web/index.web236.js +103 -38
  480. package/dist/web/index.web237.js +79 -2
  481. package/dist/web/index.web238.js +78 -69
  482. package/dist/web/index.web239.js +20 -34
  483. package/dist/web/index.web240.js +10 -15
  484. package/dist/web/index.web241.js +20 -8
  485. package/dist/web/index.web242.js +94 -2
  486. package/dist/web/index.web243.js +21 -361
  487. package/dist/web/index.web244.js +118 -853
  488. package/dist/web/index.web245.js +14 -40
  489. package/dist/web/index.web246.js +2 -21
  490. package/dist/web/index.web247.js +20 -2
  491. package/dist/web/index.web248.js +31 -18
  492. package/dist/web/index.web249.js +6 -32
  493. package/dist/web/index.web250.js +2 -7
  494. package/dist/web/index.web251.js +2 -4
  495. package/dist/web/index.web252.js +2 -18
  496. package/dist/web/index.web253.js +4 -28
  497. package/dist/web/index.web254.js +46 -7
  498. package/dist/web/index.web255.js +18 -11
  499. package/dist/web/index.web256.js +28 -13
  500. package/dist/web/index.web257.js +8 -10
  501. package/dist/web/index.web258.js +11 -17
  502. package/dist/web/index.web259.js +12 -80
  503. package/dist/web/index.web260.js +10 -2
  504. package/dist/web/index.web261.js +17 -2
  505. package/dist/web/index.web262.js +81 -2
  506. package/dist/web/index.web264.js +78 -14
  507. package/dist/web/index.web265.js +14 -78
  508. package/dist/web/index.web29.js +3 -2
  509. package/dist/web/index.web3.js +1 -1
  510. package/dist/web/index.web30.js +3 -2
  511. package/dist/web/index.web31.js +7 -6
  512. package/dist/web/index.web32.js +6 -5
  513. package/dist/web/index.web33.js +3 -2
  514. package/dist/web/index.web34.js +9 -8
  515. package/dist/web/index.web35.js +3 -2
  516. package/dist/web/index.web36.js +3 -2
  517. package/dist/web/index.web37.js +3 -2
  518. package/dist/web/index.web39.js +3 -2
  519. package/dist/web/index.web4.js +49 -48
  520. package/dist/web/index.web40.js +10 -9
  521. package/dist/web/index.web41.js +17 -14
  522. package/dist/web/index.web43.js +9 -8
  523. package/dist/web/index.web44.js +3 -2
  524. package/dist/web/index.web47.js +1 -1
  525. package/dist/web/index.web50.js +4 -3
  526. package/dist/web/index.web51.js +1 -1
  527. package/dist/web/index.web53.js +2 -2
  528. package/dist/web/index.web54.js +2 -2
  529. package/dist/web/index.web55.js +2 -2
  530. package/dist/web/index.web56.js +1 -1
  531. package/dist/web/index.web61.js +1 -1
  532. package/dist/web/index.web62.js +1 -1
  533. package/dist/web/index.web63.js +1 -1
  534. package/dist/web/index.web64.js +2 -2
  535. package/dist/web/index.web65.js +2 -2
  536. package/dist/web/index.web66.js +10 -9
  537. package/dist/web/index.web67.js +7 -6
  538. package/dist/web/index.web68.js +7 -6
  539. package/dist/web/index.web69.js +8 -7
  540. package/dist/web/index.web71.js +2 -2
  541. package/dist/web/index.web72.js +2 -2
  542. package/dist/web/index.web75.js +3 -2
  543. package/dist/web/index.web76.js +3 -2
  544. package/dist/web/index.web77.js +3 -2
  545. package/dist/web/index.web79.js +5 -4
  546. package/dist/web/index.web82.js +1 -1
  547. package/dist/web/index.web83.js +33 -22
  548. package/dist/web/index.web84.js +32 -21
  549. package/dist/web/index.web85.js +15 -13
  550. package/dist/web/index.web86.js +30 -24
  551. package/dist/web/index.web88.js +69 -50
  552. package/dist/web/index.web89.js +59 -44
  553. package/dist/web/index.web9.js +1 -1
  554. package/dist/web/index.web93.js +40 -32
  555. package/dist/web/index.web94.js +65 -31
  556. package/dist/web/index.web96.js +1 -1
  557. package/dist/web/index.web98.js +6 -5
  558. package/dist/web-types/actions/initiateMfaVerification.d.ts +10 -3
  559. package/dist/web-types/actions/submitMfaVerification.d.ts +6 -0
  560. package/dist/web-types/actions/verifyPasskey.d.ts +7 -1
  561. package/dist/web-types/auth/oAuthManager.d.ts +1 -1
  562. package/dist/web-types/errors.d.ts +3 -1
  563. package/dist/web-types/index.d.ts +1 -0
  564. package/dist/web-types/mfa/index.d.ts +1 -1
  565. package/dist/web-types/mfa/protectedActions.d.ts +34 -0
  566. package/dist/web-types/mfa/state.d.ts +21 -1
  567. package/dist/web-types/mfa/withMfa.d.ts +22 -3
  568. package/dist/web-types/version.d.ts +1 -1
  569. package/package.json +7 -7
@@ -4,6 +4,12 @@
4
4
  export type VerifyPasskeyOptions = {
5
5
  /** Optional idempotency key for safe retries. */
6
6
  idempotencyKey?: string;
7
+ /**
8
+ * Opaque challenge handle from the MFA listener's context, required when the
9
+ * project's `verificationScope` is `request`; ignored under `session`. Never
10
+ * inspected — pass through the value received from the listener unchanged.
11
+ */
12
+ challengeId?: string;
7
13
  };
8
14
  /**
9
15
  * Completes an MFA verification using an enrolled passkey (WebAuthn).
@@ -23,7 +29,7 @@ export type VerifyPasskeyOptions = {
23
29
  * ```typescript
24
30
  * await verifyPasskey();
25
31
  * ```
26
- * @returns A promise that resolves if passkey verification is successful.
32
+ * @returns A promise that resolves once MFA verification is complete.
27
33
  * @throws {MfaError} With code `PASSKEY_NOT_SUPPORTED` when passkeys are not available in the current environment.
28
34
  * @throws {MfaError} With code `CANCELLED` when the user dismisses the passkey prompt or it times out.
29
35
  */
@@ -1,5 +1,5 @@
1
- import { OAuthFlowState, OnOAuthStateChangeFn } from '../types.js';
2
1
  import { IOAuthManager } from './types.js';
2
+ import { OAuthFlowState, OnOAuthStateChangeFn } from '../types.js';
3
3
  /**
4
4
  * Manages the OAuth flow state and related callbacks.
5
5
  */
@@ -67,7 +67,9 @@ export type MfaErrorCode =
67
67
  /** Passkeys (WebAuthn) are not supported in the current environment. */
68
68
  | "PASSKEY_NOT_SUPPORTED"
69
69
  /** This device already holds a passkey for this account, so it cannot enroll another. */
70
- | "PASSKEY_ALREADY_ENROLLED";
70
+ | "PASSKEY_ALREADY_ENROLLED"
71
+ /** MFA cannot be verified ahead of time because the project verifies per request. */
72
+ | "REQUEST_SCOPE_UNSUPPORTED";
71
73
  /**
72
74
  * Error thrown when an MFA operation fails.
73
75
  */
@@ -50,6 +50,7 @@ export { getMfaConfigState, getProjectConfigState } from './state.js';
50
50
  export { recordMfaEnrollmentPrompted, type RecordMfaEnrollmentPromptedResult, } from './actions/recordMfaEnrollmentPrompted.js';
51
51
  export { initiateMfaEnrollment, type InitiateMfaEnrollmentResult, type InitiateMfaOptions, type InitiateTotpMfaOptions, type InitiateSmsMfaOptions, type InitiateTotpMfaResult, type InitiateSmsMfaResult, } from './actions/initiateMfaEnrollment.js';
52
52
  export { submitMfaEnrollment, type SubmitMfaEnrollmentOptions, type SubmitMfaEnrollmentResult, } from './actions/submitMfaEnrollment.js';
53
+ export { enrollPasskey, type EnrollPasskeyOptions, type EnrollPasskeyResult, } from './actions/enrollPasskey.js';
53
54
  export { initiateMfaVerification, type InitiateMfaVerificationOptions, } from './actions/initiateMfaVerification.js';
54
55
  export { submitMfaVerification, type SubmitMfaVerificationOptions, } from './actions/submitMfaVerification.js';
55
56
  export { cancelMfaVerification } from './actions/cancelMfaVerification.js';
@@ -1,4 +1,4 @@
1
1
  export { hasPendingMfaVerification, resolvePendingMfaVerification, rejectPendingMfaVerification, triggerMfaVerification, type MfaListener, type MfaVerificationContext, } from './state.js';
2
2
  export { getEnabledMfaMethods, getEnrolledMfaMethods, isEnrolledInMfa } from './utils.js';
3
- export { withMfa, ensureMfaVerified, isMfaRequired } from './withMfa.js';
3
+ export { withMfa, ensureMfaVerified, isMfaRequired, isRequestScope } from './withMfa.js';
4
4
  export { MFA_PROTECTED_ACTIONS, MFA_PROTECTED_FUNCTIONS, isMfaProtectedAction, type MfaProtectedAction, } from './protectedActions.js';
@@ -1,6 +1,23 @@
1
+ import { createDelegation } from '../actions/createDelegation.js';
2
+ import { createDelegationForAccount } from '../actions/createDelegationForAccount.js';
1
3
  import { createEvmKeyExportIframe, createSolanaKeyExportIframe } from '../actions/createKeyExportIframe.js';
4
+ import { revokeDelegation } from '../actions/revokeDelegation.js';
5
+ import { revokeDelegationForAccount } from '../actions/revokeDelegationForAccount.js';
2
6
  import { SignEvmHashOptions, SignEvmHashResult, SignEvmTransactionOptions, SignEvmTransactionResult, SignSolanaTransactionOptions, SignSolanaTransactionResult, SendEvmTransactionOptions, SendEvmTransactionResult, SendSolanaTransactionOptions, SendSolanaTransactionResult, SignEvmMessageOptions, SignSolanaMessageOptions, SignSolanaMessageResult, SignEvmTypedDataOptions, SignEvmTypedDataResult, SendUserOperationOptions, SendUserOperationResult, ExportEvmAccountOptions, ExportEvmAccountResult, ExportSolanaAccountOptions, ExportSolanaAccountResult } from '../types.js';
3
7
  import { SignBitcoinHashOptions, SignBitcoinHashResult } from '../actions/signBitcoinHash.js';
8
+ import { AdjustBorrowPositionOptions, AdjustBorrowPositionResult } from '../actions/adjustBorrowPosition.js';
9
+ import { CloseBorrowPositionOptions, CloseBorrowPositionResult } from '../actions/closeBorrowPosition.js';
10
+ import { CreateBorrowPositionOptions, CreateBorrowPositionResult } from '../actions/createBorrowPosition.js';
11
+ import { CreateSpendPermissionOptions, CreateSpendPermissionResult } from '../actions/createSpendPermission.js';
12
+ import { EnableSpendPermissionsOptions, EnableSpendPermissionsResult } from '../actions/enableSpendPermissions.js';
13
+ import { ExecuteSwapOptions, ExecuteSwapResult } from '../actions/executeSwap.js';
14
+ import { RevokeSpendPermissionOptions, RevokeSpendPermissionResult } from '../actions/revokeSpendPermission.js';
15
+ import { SendEvmEoaUsdcOptions, SendEvmEoaUsdcResult } from '../actions/sendEvmEoaUsdc.js';
16
+ import { SendEvmSmartAccountUsdcOptions, SendEvmSmartAccountUsdcResult } from '../actions/sendEvmSmartAccountUsdc.js';
17
+ import { SendSolanaUsdcOptions, SendSolanaUsdcResult } from '../actions/sendSolanaUsdc.js';
18
+ import { EnrollPasskeyOptions, EnrollPasskeyResult } from '../actions/enrollPasskey.js';
19
+ import { InitiateMfaOptions, InitiateMfaEnrollmentResult } from '../actions/initiateMfaEnrollment.js';
20
+ import { SubmitMfaEnrollmentOptions, SubmitMfaEnrollmentResult } from '../actions/submitMfaEnrollment.js';
4
21
  /**
5
22
  * Map of MFA-protected functions to ensure type safety.
6
23
  * If a function is renamed, the import will fail and this file won't compile.
@@ -22,6 +39,23 @@ export declare const MFA_PROTECTED_FUNCTIONS: {
22
39
  readonly signBitcoinHash: (options: SignBitcoinHashOptions) => Promise< SignBitcoinHashResult>;
23
40
  readonly createEvmKeyExportIframe: typeof createEvmKeyExportIframe;
24
41
  readonly createSolanaKeyExportIframe: typeof createSolanaKeyExportIframe;
42
+ readonly adjustBorrowPosition: (options: AdjustBorrowPositionOptions) => Promise< AdjustBorrowPositionResult>;
43
+ readonly closeBorrowPosition: (options: CloseBorrowPositionOptions) => Promise< CloseBorrowPositionResult>;
44
+ readonly createBorrowPosition: (options: CreateBorrowPositionOptions) => Promise< CreateBorrowPositionResult>;
45
+ readonly createDelegation: typeof createDelegation;
46
+ readonly createDelegationForAccount: typeof createDelegationForAccount;
47
+ readonly createSpendPermission: (options: CreateSpendPermissionOptions) => Promise< CreateSpendPermissionResult>;
48
+ readonly enableSpendPermissions: (options: EnableSpendPermissionsOptions) => Promise< EnableSpendPermissionsResult>;
49
+ readonly executeSwap: (options: ExecuteSwapOptions) => Promise< ExecuteSwapResult>;
50
+ readonly revokeDelegation: typeof revokeDelegation;
51
+ readonly revokeDelegationForAccount: typeof revokeDelegationForAccount;
52
+ readonly revokeSpendPermission: (options: RevokeSpendPermissionOptions) => Promise< RevokeSpendPermissionResult>;
53
+ readonly sendEvmEoaUsdc: (options: SendEvmEoaUsdcOptions) => Promise< SendEvmEoaUsdcResult>;
54
+ readonly sendEvmSmartAccountUsdc: (options: SendEvmSmartAccountUsdcOptions) => Promise< SendEvmSmartAccountUsdcResult>;
55
+ readonly sendSolanaUsdc: (options: SendSolanaUsdcOptions) => Promise< SendSolanaUsdcResult>;
56
+ readonly enrollPasskey: (options?: EnrollPasskeyOptions) => Promise< EnrollPasskeyResult>;
57
+ readonly initiateMfaEnrollment: (options: InitiateMfaOptions) => Promise< InitiateMfaEnrollmentResult>;
58
+ readonly submitMfaEnrollment: (options: SubmitMfaEnrollmentOptions) => Promise< SubmitMfaEnrollmentResult>;
25
59
  };
26
60
  /**
27
61
  * List of action names that require MFA verification when the user is enrolled.
@@ -5,6 +5,12 @@ import { MfaMethod } from '@coinbase/cdp-api-client';
5
5
  export type MfaVerificationContext = {
6
6
  /** The MFA methods the user has enrolled in. */
7
7
  methods: MfaMethod[];
8
+ /**
9
+ * Opaque challenge handle from the `X-Mfa-Challenge-Id` response header,
10
+ * present when the project's `verificationScope` is `request`. Passed through
11
+ * unexamined to `initiateMfaVerification`/`submitMfaVerification`.
12
+ */
13
+ challengeId?: string;
8
14
  };
9
15
  /**
10
16
  * Listener function called when MFA verification is required.
@@ -96,10 +102,15 @@ export declare const hasRegisteredMfaListeners: () => boolean;
96
102
  *
97
103
  * @param {MfaMethod[]} methods - The MFA methods available for verification.
98
104
  * @param {unknown} [trigger] - Optional opaque trigger value used by listener predicates.
105
+ * @param {object} [context] - Optional opaque request-scope context
106
+ * merged into the listener's {@link MfaVerificationContext}. Passed through unexamined.
107
+ * @param {string} [context.challengeId] - Opaque challenge handle, passed through unexamined.
99
108
  * @returns {Promise<void>} A Promise that resolves when MFA is complete.
100
109
  * @internal
101
110
  */
102
- export declare const triggerMfaVerification: (methods: MfaMethod[], trigger?: unknown) => Promise<void>;
111
+ export declare const triggerMfaVerification: (methods: MfaMethod[], trigger?: unknown, context?: {
112
+ challengeId?: string;
113
+ }) => Promise<void>;
103
114
  /**
104
115
  * Resolves the pending MFA verification Promise.
105
116
  * Called internally after successful MFA submission.
@@ -115,6 +126,15 @@ export declare const resolvePendingMfaVerification: () => void;
115
126
  * @internal
116
127
  */
117
128
  export declare const rejectPendingMfaVerification: (error: Error) => void;
129
+ /**
130
+ * Returns the challenge handle for the pending verification, if the server
131
+ * minted one. MFA actions default to this so request-scope projects work
132
+ * without every UI having to thread the handle back from its listener.
133
+ *
134
+ * @returns {string | undefined} The pending challenge ID, or undefined under session scope.
135
+ * @internal
136
+ */
137
+ export declare const getPendingMfaChallengeId: () => string | undefined;
118
138
  /**
119
139
  * Checks if there's a pending MFA verification.
120
140
  *
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Whether the project verifies MFA per request rather than per session.
3
+ *
4
+ * @returns True when the project's verification scope is `request`.
5
+ * @internal
6
+ */
7
+ export declare const isRequestScope: () => boolean;
1
8
  /**
2
9
  * Wraps an async operation to handle MFA verification automatically.
3
10
  *
@@ -8,6 +15,13 @@
8
15
  * If the operation fails with an `mfa_required` error from the API, it will also
9
16
  * trigger the MFA handler and retry the operation after successful verification.
10
17
  *
18
+ * The operation must issue exactly one protected request and must build it from values
19
+ * computed before the thunk runs. A request-scope approval is bound to a digest of the
20
+ * request that earned it and is spent once, so the retry is only allowed through as a
21
+ * byte-identical replay. A salt, timestamp or WebAuthn credential generated inside the
22
+ * thunk changes that digest and the server rejects the retry too. Two protected requests
23
+ * therefore need two wrappers, one each, not one wrapper around both.
24
+ *
11
25
  * @param operation - The async operation to wrap.
12
26
  * @returns The result of the operation.
13
27
  * @internal
@@ -21,6 +35,12 @@ export declare function withMfa<T>(operation: () => Promise<T>): Promise<T>;
21
35
  * MFA-protected action will trigger the registered MFA verification handler.
22
36
  *
23
37
  * Use this to pre-warn users or show UI hints before they start a sensitive flow.
38
+ * Do not use it to verify ahead of the action: MFA-protected actions prompt and
39
+ * retry on their own, and under `request` scope the challenge only exists once
40
+ * the action has been attempted.
41
+ *
42
+ * Under `request` scope this returns true for any enrolled user, because every
43
+ * protected call is verified individually.
24
44
  *
25
45
  * @returns True if MFA verification will be required for the next sensitive action.
26
46
  *
@@ -28,11 +48,10 @@ export declare function withMfa<T>(operation: () => Promise<T>): Promise<T>;
28
48
  * ```typescript
29
49
  * import { isMfaRequired, signEvmHash } from '@coinbase/cdp-core';
30
50
  * async function handleSign() {
31
- * // prompt mfa before calling the sign hash function
32
51
  * if (isMfaRequired()) {
33
- * await ensureMfaVerified(); // User will be prompted
52
+ * showHint("You'll be asked to verify before signing.");
34
53
  * }
35
- * await signEvmHash({ ... }); // MFA handled automatically by withMfa
54
+ * await signEvmHash({ ... }); // Prompts for MFA and retries automatically
36
55
  * }
37
56
  * ```
38
57
  */
@@ -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.124";
5
+ export declare const VERSION = "0.0.126";
@@ -1,4 +1,4 @@
1
- import { MfaMethod } from '@coinbase/cdp-api-client';
1
+ import { InitiateMfaVerificationResponseWrapper, MfaMethod } from '@coinbase/cdp-api-client';
2
2
  /**
3
3
  * Request parameters for initiating MFA verification.
4
4
  */
@@ -7,6 +7,12 @@ export type InitiateMfaVerificationOptions = {
7
7
  mfaMethod: MfaMethod;
8
8
  /** Optional idempotency key for safe retries. */
9
9
  idempotencyKey?: string;
10
+ /**
11
+ * Opaque challenge handle from the MFA listener's context, required when the
12
+ * project's `verificationScope` is `request`; ignored under `session`. Never
13
+ * inspected — pass through the value received from the listener unchanged.
14
+ */
15
+ challengeId?: string;
10
16
  };
11
17
  /**
12
18
  * Initiates an MFA verification flow for operations requiring MFA.
@@ -28,6 +34,7 @@ export type InitiateMfaVerificationOptions = {
28
34
  * await initiateMfaVerification({ mfaMethod: "sms" });
29
35
  * // SMS sent to user's phone - prompt for code
30
36
  * ```
31
- * @returns A promise that resolves if MFA initiation is successful.
37
+ * @returns A promise that resolves with the initiate response (opaque under `session`
38
+ * scope, where it resolves to `{}`) once MFA initiation is successful.
32
39
  */
33
- export declare const initiateMfaVerification: (options: InitiateMfaVerificationOptions) => Promise<void>;
40
+ export declare const initiateMfaVerification: (options: InitiateMfaVerificationOptions) => Promise<InitiateMfaVerificationResponseWrapper | void>;
@@ -8,6 +8,12 @@ export type SubmitMfaVerificationOptions = {
8
8
  mfaCode: string;
9
9
  /** Optional idempotency key for safe retries. */
10
10
  idempotencyKey?: string;
11
+ /**
12
+ * Opaque challenge handle from the MFA listener's context, required when the
13
+ * project's `verificationScope` is `request`; ignored under `session`. Never
14
+ * inspected — pass through the value received from the listener unchanged.
15
+ */
16
+ challengeId?: string;
11
17
  };
12
18
  /**
13
19
  * Submits an MFA code to complete the verification process.
@@ -4,6 +4,12 @@
4
4
  export type VerifyPasskeyOptions = {
5
5
  /** Optional idempotency key for safe retries. */
6
6
  idempotencyKey?: string;
7
+ /**
8
+ * Opaque challenge handle from the MFA listener's context, required when the
9
+ * project's `verificationScope` is `request`; ignored under `session`. Never
10
+ * inspected — pass through the value received from the listener unchanged.
11
+ */
12
+ challengeId?: string;
7
13
  };
8
14
  /**
9
15
  * Completes an MFA verification using an enrolled passkey (WebAuthn).
@@ -23,7 +29,7 @@ export type VerifyPasskeyOptions = {
23
29
  * ```typescript
24
30
  * await verifyPasskey();
25
31
  * ```
26
- * @returns A promise that resolves if passkey verification is successful.
32
+ * @returns A promise that resolves once MFA verification is complete.
27
33
  * @throws {MfaError} With code `PASSKEY_NOT_SUPPORTED` when passkeys are not available in the current environment.
28
34
  * @throws {MfaError} With code `CANCELLED` when the user dismisses the passkey prompt or it times out.
29
35
  */
@@ -1,5 +1,5 @@
1
- import { OAuthFlowState, OnOAuthStateChangeFn } from '../types.js';
2
1
  import { IOAuthManager } from './types.js';
2
+ import { OAuthFlowState, OnOAuthStateChangeFn } from '../types.js';
3
3
  /**
4
4
  * Manages the OAuth flow state and related callbacks.
5
5
  */
@@ -67,7 +67,9 @@ export type MfaErrorCode =
67
67
  /** Passkeys (WebAuthn) are not supported in the current environment. */
68
68
  | "PASSKEY_NOT_SUPPORTED"
69
69
  /** This device already holds a passkey for this account, so it cannot enroll another. */
70
- | "PASSKEY_ALREADY_ENROLLED";
70
+ | "PASSKEY_ALREADY_ENROLLED"
71
+ /** MFA cannot be verified ahead of time because the project verifies per request. */
72
+ | "REQUEST_SCOPE_UNSUPPORTED";
71
73
  /**
72
74
  * Error thrown when an MFA operation fails.
73
75
  */
@@ -50,6 +50,7 @@ export { getMfaConfigState, getProjectConfigState } from './state.js';
50
50
  export { recordMfaEnrollmentPrompted, type RecordMfaEnrollmentPromptedResult, } from './actions/recordMfaEnrollmentPrompted.js';
51
51
  export { initiateMfaEnrollment, type InitiateMfaEnrollmentResult, type InitiateMfaOptions, type InitiateTotpMfaOptions, type InitiateSmsMfaOptions, type InitiateTotpMfaResult, type InitiateSmsMfaResult, } from './actions/initiateMfaEnrollment.js';
52
52
  export { submitMfaEnrollment, type SubmitMfaEnrollmentOptions, type SubmitMfaEnrollmentResult, } from './actions/submitMfaEnrollment.js';
53
+ export { enrollPasskey, type EnrollPasskeyOptions, type EnrollPasskeyResult, } from './actions/enrollPasskey.js';
53
54
  export { initiateMfaVerification, type InitiateMfaVerificationOptions, } from './actions/initiateMfaVerification.js';
54
55
  export { submitMfaVerification, type SubmitMfaVerificationOptions, } from './actions/submitMfaVerification.js';
55
56
  export { cancelMfaVerification } from './actions/cancelMfaVerification.js';
@@ -1,4 +1,4 @@
1
1
  export { hasPendingMfaVerification, resolvePendingMfaVerification, rejectPendingMfaVerification, triggerMfaVerification, type MfaListener, type MfaVerificationContext, } from './state.js';
2
2
  export { getEnabledMfaMethods, getEnrolledMfaMethods, isEnrolledInMfa } from './utils.js';
3
- export { withMfa, ensureMfaVerified, isMfaRequired } from './withMfa.js';
3
+ export { withMfa, ensureMfaVerified, isMfaRequired, isRequestScope } from './withMfa.js';
4
4
  export { MFA_PROTECTED_ACTIONS, MFA_PROTECTED_FUNCTIONS, isMfaProtectedAction, type MfaProtectedAction, } from './protectedActions.js';
@@ -1,6 +1,23 @@
1
+ import { createDelegation } from '../actions/createDelegation.js';
2
+ import { createDelegationForAccount } from '../actions/createDelegationForAccount.js';
1
3
  import { createEvmKeyExportIframe, createSolanaKeyExportIframe } from '../actions/createKeyExportIframe.js';
4
+ import { revokeDelegation } from '../actions/revokeDelegation.js';
5
+ import { revokeDelegationForAccount } from '../actions/revokeDelegationForAccount.js';
2
6
  import { SignEvmHashOptions, SignEvmHashResult, SignEvmTransactionOptions, SignEvmTransactionResult, SignSolanaTransactionOptions, SignSolanaTransactionResult, SendEvmTransactionOptions, SendEvmTransactionResult, SendSolanaTransactionOptions, SendSolanaTransactionResult, SignEvmMessageOptions, SignSolanaMessageOptions, SignSolanaMessageResult, SignEvmTypedDataOptions, SignEvmTypedDataResult, SendUserOperationOptions, SendUserOperationResult, ExportEvmAccountOptions, ExportEvmAccountResult, ExportSolanaAccountOptions, ExportSolanaAccountResult } from '../types.js';
3
7
  import { SignBitcoinHashOptions, SignBitcoinHashResult } from '../actions/signBitcoinHash.js';
8
+ import { AdjustBorrowPositionOptions, AdjustBorrowPositionResult } from '../actions/adjustBorrowPosition.js';
9
+ import { CloseBorrowPositionOptions, CloseBorrowPositionResult } from '../actions/closeBorrowPosition.js';
10
+ import { CreateBorrowPositionOptions, CreateBorrowPositionResult } from '../actions/createBorrowPosition.js';
11
+ import { CreateSpendPermissionOptions, CreateSpendPermissionResult } from '../actions/createSpendPermission.js';
12
+ import { EnableSpendPermissionsOptions, EnableSpendPermissionsResult } from '../actions/enableSpendPermissions.js';
13
+ import { ExecuteSwapOptions, ExecuteSwapResult } from '../actions/executeSwap.js';
14
+ import { RevokeSpendPermissionOptions, RevokeSpendPermissionResult } from '../actions/revokeSpendPermission.js';
15
+ import { SendEvmEoaUsdcOptions, SendEvmEoaUsdcResult } from '../actions/sendEvmEoaUsdc.js';
16
+ import { SendEvmSmartAccountUsdcOptions, SendEvmSmartAccountUsdcResult } from '../actions/sendEvmSmartAccountUsdc.js';
17
+ import { SendSolanaUsdcOptions, SendSolanaUsdcResult } from '../actions/sendSolanaUsdc.js';
18
+ import { EnrollPasskeyOptions, EnrollPasskeyResult } from '../actions/enrollPasskey.js';
19
+ import { InitiateMfaOptions, InitiateMfaEnrollmentResult } from '../actions/initiateMfaEnrollment.js';
20
+ import { SubmitMfaEnrollmentOptions, SubmitMfaEnrollmentResult } from '../actions/submitMfaEnrollment.js';
4
21
  /**
5
22
  * Map of MFA-protected functions to ensure type safety.
6
23
  * If a function is renamed, the import will fail and this file won't compile.
@@ -22,6 +39,23 @@ export declare const MFA_PROTECTED_FUNCTIONS: {
22
39
  readonly signBitcoinHash: (options: SignBitcoinHashOptions) => Promise< SignBitcoinHashResult>;
23
40
  readonly createEvmKeyExportIframe: typeof createEvmKeyExportIframe;
24
41
  readonly createSolanaKeyExportIframe: typeof createSolanaKeyExportIframe;
42
+ readonly adjustBorrowPosition: (options: AdjustBorrowPositionOptions) => Promise< AdjustBorrowPositionResult>;
43
+ readonly closeBorrowPosition: (options: CloseBorrowPositionOptions) => Promise< CloseBorrowPositionResult>;
44
+ readonly createBorrowPosition: (options: CreateBorrowPositionOptions) => Promise< CreateBorrowPositionResult>;
45
+ readonly createDelegation: typeof createDelegation;
46
+ readonly createDelegationForAccount: typeof createDelegationForAccount;
47
+ readonly createSpendPermission: (options: CreateSpendPermissionOptions) => Promise< CreateSpendPermissionResult>;
48
+ readonly enableSpendPermissions: (options: EnableSpendPermissionsOptions) => Promise< EnableSpendPermissionsResult>;
49
+ readonly executeSwap: (options: ExecuteSwapOptions) => Promise< ExecuteSwapResult>;
50
+ readonly revokeDelegation: typeof revokeDelegation;
51
+ readonly revokeDelegationForAccount: typeof revokeDelegationForAccount;
52
+ readonly revokeSpendPermission: (options: RevokeSpendPermissionOptions) => Promise< RevokeSpendPermissionResult>;
53
+ readonly sendEvmEoaUsdc: (options: SendEvmEoaUsdcOptions) => Promise< SendEvmEoaUsdcResult>;
54
+ readonly sendEvmSmartAccountUsdc: (options: SendEvmSmartAccountUsdcOptions) => Promise< SendEvmSmartAccountUsdcResult>;
55
+ readonly sendSolanaUsdc: (options: SendSolanaUsdcOptions) => Promise< SendSolanaUsdcResult>;
56
+ readonly enrollPasskey: (options?: EnrollPasskeyOptions) => Promise< EnrollPasskeyResult>;
57
+ readonly initiateMfaEnrollment: (options: InitiateMfaOptions) => Promise< InitiateMfaEnrollmentResult>;
58
+ readonly submitMfaEnrollment: (options: SubmitMfaEnrollmentOptions) => Promise< SubmitMfaEnrollmentResult>;
25
59
  };
26
60
  /**
27
61
  * List of action names that require MFA verification when the user is enrolled.
@@ -5,6 +5,12 @@ import { MfaMethod } from '@coinbase/cdp-api-client';
5
5
  export type MfaVerificationContext = {
6
6
  /** The MFA methods the user has enrolled in. */
7
7
  methods: MfaMethod[];
8
+ /**
9
+ * Opaque challenge handle from the `X-Mfa-Challenge-Id` response header,
10
+ * present when the project's `verificationScope` is `request`. Passed through
11
+ * unexamined to `initiateMfaVerification`/`submitMfaVerification`.
12
+ */
13
+ challengeId?: string;
8
14
  };
9
15
  /**
10
16
  * Listener function called when MFA verification is required.
@@ -96,10 +102,15 @@ export declare const hasRegisteredMfaListeners: () => boolean;
96
102
  *
97
103
  * @param {MfaMethod[]} methods - The MFA methods available for verification.
98
104
  * @param {unknown} [trigger] - Optional opaque trigger value used by listener predicates.
105
+ * @param {object} [context] - Optional opaque request-scope context
106
+ * merged into the listener's {@link MfaVerificationContext}. Passed through unexamined.
107
+ * @param {string} [context.challengeId] - Opaque challenge handle, passed through unexamined.
99
108
  * @returns {Promise<void>} A Promise that resolves when MFA is complete.
100
109
  * @internal
101
110
  */
102
- export declare const triggerMfaVerification: (methods: MfaMethod[], trigger?: unknown) => Promise<void>;
111
+ export declare const triggerMfaVerification: (methods: MfaMethod[], trigger?: unknown, context?: {
112
+ challengeId?: string;
113
+ }) => Promise<void>;
103
114
  /**
104
115
  * Resolves the pending MFA verification Promise.
105
116
  * Called internally after successful MFA submission.
@@ -115,6 +126,15 @@ export declare const resolvePendingMfaVerification: () => void;
115
126
  * @internal
116
127
  */
117
128
  export declare const rejectPendingMfaVerification: (error: Error) => void;
129
+ /**
130
+ * Returns the challenge handle for the pending verification, if the server
131
+ * minted one. MFA actions default to this so request-scope projects work
132
+ * without every UI having to thread the handle back from its listener.
133
+ *
134
+ * @returns {string | undefined} The pending challenge ID, or undefined under session scope.
135
+ * @internal
136
+ */
137
+ export declare const getPendingMfaChallengeId: () => string | undefined;
118
138
  /**
119
139
  * Checks if there's a pending MFA verification.
120
140
  *
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Whether the project verifies MFA per request rather than per session.
3
+ *
4
+ * @returns True when the project's verification scope is `request`.
5
+ * @internal
6
+ */
7
+ export declare const isRequestScope: () => boolean;
1
8
  /**
2
9
  * Wraps an async operation to handle MFA verification automatically.
3
10
  *
@@ -8,6 +15,13 @@
8
15
  * If the operation fails with an `mfa_required` error from the API, it will also
9
16
  * trigger the MFA handler and retry the operation after successful verification.
10
17
  *
18
+ * The operation must issue exactly one protected request and must build it from values
19
+ * computed before the thunk runs. A request-scope approval is bound to a digest of the
20
+ * request that earned it and is spent once, so the retry is only allowed through as a
21
+ * byte-identical replay. A salt, timestamp or WebAuthn credential generated inside the
22
+ * thunk changes that digest and the server rejects the retry too. Two protected requests
23
+ * therefore need two wrappers, one each, not one wrapper around both.
24
+ *
11
25
  * @param operation - The async operation to wrap.
12
26
  * @returns The result of the operation.
13
27
  * @internal
@@ -21,6 +35,12 @@ export declare function withMfa<T>(operation: () => Promise<T>): Promise<T>;
21
35
  * MFA-protected action will trigger the registered MFA verification handler.
22
36
  *
23
37
  * Use this to pre-warn users or show UI hints before they start a sensitive flow.
38
+ * Do not use it to verify ahead of the action: MFA-protected actions prompt and
39
+ * retry on their own, and under `request` scope the challenge only exists once
40
+ * the action has been attempted.
41
+ *
42
+ * Under `request` scope this returns true for any enrolled user, because every
43
+ * protected call is verified individually.
24
44
  *
25
45
  * @returns True if MFA verification will be required for the next sensitive action.
26
46
  *
@@ -28,11 +48,10 @@ export declare function withMfa<T>(operation: () => Promise<T>): Promise<T>;
28
48
  * ```typescript
29
49
  * import { isMfaRequired, signEvmHash } from '@coinbase/cdp-core';
30
50
  * async function handleSign() {
31
- * // prompt mfa before calling the sign hash function
32
51
  * if (isMfaRequired()) {
33
- * await ensureMfaVerified(); // User will be prompted
52
+ * showHint("You'll be asked to verify before signing.");
34
53
  * }
35
- * await signEvmHash({ ... }); // MFA handled automatically by withMfa
54
+ * await signEvmHash({ ... }); // Prompts for MFA and retries automatically
36
55
  * }
37
56
  * ```
38
57
  */
@@ -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.124";
5
+ export declare const VERSION = "0.0.126";
@@ -1,4 +1,4 @@
1
- import { setCookieDomain as p, configureCdpApiClient as C, setAuthManager as S, getProjectConfig as M, APIError as m, getMfaConfig as v } from "@coinbase/cdp-api-client";
1
+ import { setCookieDomain as p, configureCdpApiClient as C, setAuthManager as S, getProjectConfig as v, APIError as m, getMfaConfig as M } from "@coinbase/cdp-api-client";
2
2
  import { Analytics as d } from "./index.web2.js";
3
3
  import "./index.web3.js";
4
4
  import { createAuthManager as w } from "./index.web129.js";
@@ -24,6 +24,7 @@ const H = async (t) => {
24
24
  enabled: !1,
25
25
  totpConfig: { enabled: !1 },
26
26
  smsConfig: { enabled: !1 },
27
+ verificationScope: "session",
27
28
  verificationWindowSeconds: 300,
28
29
  promptEnrollmentOnLogin: !1,
29
30
  requireVerificationOnLogin: !1,
@@ -89,7 +90,7 @@ const H = async (t) => {
89
90
  }
90
91
  let s = null;
91
92
  try {
92
- s = await M(t.projectId);
93
+ s = await v(t.projectId);
93
94
  } catch (e) {
94
95
  (!(e instanceof m) || e.statusCode !== 404) && console.warn("Failed to get project config", e);
95
96
  }
@@ -98,7 +99,7 @@ const H = async (t) => {
98
99
  O().ensureInitialized(),
99
100
  (async () => {
100
101
  try {
101
- return await v(t.projectId);
102
+ return await M(t.projectId);
102
103
  } catch (e) {
103
104
  return (!(e instanceof m) || e.statusCode !== 404) && console.warn("Failed to get MFA config", e), null;
104
105
  }
@@ -2,20 +2,21 @@ import { createStore as a } from "zustand";
2
2
  import { subscribeWithSelector as c, persist as d, createJSONStorage as h } from "./index.web124.js";
3
3
  import { EventEmitter as f } from "./index.web125.js";
4
4
  import "./index.web126.js";
5
+ import { createProvider as u } from "./index.web127.js";
5
6
  import "viem";
6
7
  import "@coinbase/cdp-api-client";
7
- import { getPlatformStorage as u } from "./index.web5.js";
8
- import { createProvider as g } from "./index.web127.js";
8
+ import { getPlatformStorage as g } from "./index.web5.js";
9
9
  import { onAuthStateChange as l } from "./index.web27.js";
10
10
  import "./index.web2.js";
11
11
  import "./index.web3.js";
12
12
  import "jose";
13
13
  import "./index.web110.js";
14
14
  import "./index.web104.js";
15
+ import "./index.web113.js";
15
16
  import "./index.web111.js";
16
17
  import "@solana/web3.js";
17
18
  import "bs58";
18
- function j(e) {
19
+ function k(e) {
19
20
  if (e.chains.length === 0)
20
21
  throw new Error("At least one chain must be configured");
21
22
  if (!e.transports)
@@ -23,7 +24,7 @@ function j(e) {
23
24
  const o = e.chains, s = e.transports;
24
25
  if (o.length === 0)
25
26
  throw new Error("No chains found in configuration");
26
- const m = new f(), i = u(), p = {
27
+ const m = new f(), i = g(), p = {
27
28
  getItem: (t) => i.getItem(t),
28
29
  setItem: (t, r) => i.setItem(t, r),
29
30
  removeItem: (t) => i.removeItem(t)
@@ -47,12 +48,12 @@ function j(e) {
47
48
  return n.persist.rehydrate(), l((t) => {
48
49
  n.getState().setUser(t);
49
50
  }), {
50
- provider: g(m, n, {
51
+ provider: u(m, n, {
51
52
  chains: o,
52
53
  transports: s
53
54
  })
54
55
  };
55
56
  }
56
57
  export {
57
- j as createCDPEmbeddedWallet
58
+ k as createCDPEmbeddedWallet
58
59
  };
@@ -7,6 +7,7 @@ import "jose";
7
7
  import "./index.web110.js";
8
8
  import { getCurrentUser as u } from "./index.web21.js";
9
9
  import "./index.web104.js";
10
+ import "./index.web113.js";
10
11
  import "./index.web111.js";
11
12
  import "@solana/web3.js";
12
13
  import "bs58";
@@ -77,7 +78,7 @@ const p = /* @__PURE__ */ new Set([
77
78
  "wallet_getCallsStatus",
78
79
  "wallet_getCapabilities"
79
80
  ]);
80
- function O(e, { chains: t }) {
81
+ function S(e, { chains: t }) {
81
82
  const { method: r, params: o } = e;
82
83
  if (typeof r != "string" || r.length === 0)
83
84
  throw new c(
@@ -110,7 +111,7 @@ async function d() {
110
111
  );
111
112
  return e;
112
113
  }
113
- async function S(e) {
114
+ async function R(e) {
114
115
  const t = await d(), r = e.toLowerCase(), o = t.evmAccountObjects?.some(
115
116
  (i) => i.address.toLowerCase() === r
116
117
  ), a = t.evmSmartAccountObjects?.some(
@@ -123,7 +124,7 @@ async function S(e) {
123
124
  );
124
125
  return t;
125
126
  }
126
- async function R(e) {
127
+ async function g(e) {
127
128
  const t = await d(), r = e.toLowerCase();
128
129
  if (!t.evmAccountObjects?.some((o) => o.address.toLowerCase() === r))
129
130
  throw new s(
@@ -132,7 +133,7 @@ async function R(e) {
132
133
  );
133
134
  return t;
134
135
  }
135
- async function g(e) {
136
+ async function z(e) {
136
137
  const t = await d(), r = e.toLowerCase();
137
138
  if (!t.evmSmartAccountObjects?.some(
138
139
  (o) => o.address.toLowerCase() === r
@@ -143,7 +144,7 @@ async function g(e) {
143
144
  );
144
145
  return t;
145
146
  }
146
- async function z() {
147
+ async function U() {
147
148
  const e = await d();
148
149
  if (!e.evmSmartAccountObjects?.[0])
149
150
  throw new s(
@@ -156,10 +157,10 @@ export {
156
157
  s as EIP1193ProviderError,
157
158
  c as RPCRequestError,
158
159
  n as STANDARD_ERROR_CODES,
159
- O as validateRequest,
160
+ S as validateRequest,
160
161
  d as validateUserConnected,
161
- z as validateUserHasEvmSmartAccount,
162
- S as validateUserOwnsAddress,
163
- R as validateUserOwnsEOA,
164
- g as validateUserOwnsSmartAccount
162
+ U as validateUserHasEvmSmartAccount,
163
+ R as validateUserOwnsAddress,
164
+ g as validateUserOwnsEOA,
165
+ z as validateUserOwnsSmartAccount
165
166
  };