@coinbase/cdp-core 0.0.107 → 0.0.108

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 (648) hide show
  1. package/dist/esm/index.web.js +219 -213
  2. package/dist/esm/index.web10.js +116 -11
  3. package/dist/esm/index.web100.js +25 -15
  4. package/dist/esm/index.web101.js +13 -23
  5. package/dist/esm/index.web102.js +23 -20
  6. package/dist/esm/index.web103.js +21 -16
  7. package/dist/esm/index.web104.js +16 -29
  8. package/dist/esm/index.web105.js +29 -40
  9. package/dist/esm/index.web106.js +41 -49
  10. package/dist/esm/index.web107.js +47 -80
  11. package/dist/esm/index.web108.js +79 -23
  12. package/dist/esm/index.web109.js +22 -156
  13. package/dist/esm/index.web11.js +7 -7
  14. package/dist/esm/index.web110.js +157 -45
  15. package/dist/esm/index.web111.js +48 -28
  16. package/dist/esm/index.web112.js +26 -71
  17. package/dist/esm/index.web113.js +71 -7
  18. package/dist/esm/index.web114.js +6 -93
  19. package/dist/esm/index.web115.js +74 -115
  20. package/dist/esm/index.web116.js +110 -42
  21. package/dist/esm/index.web117.js +67 -25
  22. package/dist/esm/index.web118.js +25 -22
  23. package/dist/esm/index.web119.js +23 -23
  24. package/dist/esm/index.web12.js +12 -80
  25. package/dist/esm/index.web120.js +24 -65
  26. package/dist/esm/index.web121.js +61 -47
  27. package/dist/esm/index.web122.js +44 -14
  28. package/dist/esm/index.web123.js +20 -152
  29. package/dist/esm/index.web124.js +149 -373
  30. package/dist/esm/index.web125.js +379 -2
  31. package/dist/esm/index.web126.js +2 -68
  32. package/dist/esm/index.web127.js +37 -336
  33. package/dist/esm/index.web128.js +360 -12
  34. package/dist/esm/index.web129.js +28 -22
  35. package/dist/esm/index.web13.js +76 -30
  36. package/dist/esm/index.web130.js +28 -50
  37. package/dist/esm/index.web131.js +16 -28
  38. package/dist/esm/index.web132.js +22 -28
  39. package/dist/esm/index.web133.js +50 -944
  40. package/dist/esm/index.web134.js +945 -2
  41. package/dist/esm/index.web135.js +2 -50
  42. package/dist/esm/index.web136.js +49 -26
  43. package/dist/esm/index.web137.js +27 -5
  44. package/dist/esm/index.web138.js +5 -48
  45. package/dist/esm/index.web139.js +47 -4
  46. package/dist/esm/index.web14.js +34 -14
  47. package/dist/esm/index.web140.js +1 -1
  48. package/dist/esm/index.web141.js +2 -2
  49. package/dist/esm/index.web142.js +4 -54
  50. package/dist/esm/index.web143.js +14 -10
  51. package/dist/esm/index.web144.js +29 -2
  52. package/dist/esm/index.web145.js +8 -45
  53. package/dist/esm/index.web146.js +3 -13
  54. package/dist/esm/index.web147.js +21 -7
  55. package/dist/esm/index.web148.js +8 -28
  56. package/dist/esm/index.web149.js +6 -6
  57. package/dist/esm/index.web15.js +11 -7
  58. package/dist/esm/index.web150.js +80 -3
  59. package/dist/esm/index.web151.js +17 -17
  60. package/dist/esm/index.web152.js +3 -8
  61. package/dist/esm/index.web153.js +15 -7
  62. package/dist/esm/index.web154.js +4 -80
  63. package/dist/esm/index.web155.js +6 -20
  64. package/dist/esm/index.web156.js +19 -3
  65. package/dist/esm/index.web157.js +54 -8
  66. package/dist/esm/index.web158.js +17 -4
  67. package/dist/esm/index.web159.js +23 -14
  68. package/dist/esm/index.web16.js +7 -7
  69. package/dist/esm/index.web160.js +8 -19
  70. package/dist/esm/index.web161.js +28 -47
  71. package/dist/esm/index.web162.js +7 -17
  72. package/dist/esm/index.web163.js +15 -18
  73. package/dist/esm/index.web164.js +54 -8
  74. package/dist/esm/index.web165.js +10 -42
  75. package/dist/esm/index.web166.js +2 -8
  76. package/dist/esm/index.web167.js +44 -20
  77. package/dist/esm/index.web168.js +13 -13
  78. package/dist/esm/index.web169.js +13 -55
  79. package/dist/esm/index.web17.js +10 -30
  80. package/dist/esm/index.web170.js +55 -6
  81. package/dist/esm/index.web171.js +6 -21
  82. package/dist/esm/index.web172.js +20 -16
  83. package/dist/esm/index.web173.js +16 -44
  84. package/dist/esm/index.web174.js +45 -3
  85. package/dist/esm/index.web175.js +3 -3
  86. package/dist/esm/index.web176.js +3 -34
  87. package/dist/esm/index.web177.js +32 -10
  88. package/dist/esm/index.web178.js +12 -4
  89. package/dist/esm/index.web179.js +4 -28
  90. package/dist/esm/index.web18.js +22 -27
  91. package/dist/esm/index.web180.js +28 -6
  92. package/dist/esm/index.web181.js +6 -32
  93. package/dist/esm/index.web182.js +31 -11
  94. package/dist/esm/index.web183.js +10 -53
  95. package/dist/esm/index.web184.js +54 -41
  96. package/dist/esm/index.web185.js +42 -127
  97. package/dist/esm/index.web186.js +125 -102
  98. package/dist/esm/index.web187.js +104 -6
  99. package/dist/esm/index.web188.js +7 -3
  100. package/dist/esm/index.web189.js +3 -79
  101. package/dist/esm/index.web19.js +29 -47
  102. package/dist/esm/index.web190.js +79 -2
  103. package/dist/esm/index.web191.js +2 -2
  104. package/dist/esm/index.web192.js +2 -38
  105. package/dist/esm/index.web193.js +36 -5
  106. package/dist/esm/index.web194.js +5 -33
  107. package/dist/esm/index.web195.js +34 -14
  108. package/dist/esm/index.web196.js +14 -34
  109. package/dist/esm/index.web197.js +33 -17
  110. package/dist/esm/index.web198.js +18 -8
  111. package/dist/esm/index.web199.js +8 -10
  112. package/dist/esm/index.web2.js +2 -2
  113. package/dist/esm/index.web20.js +53 -6
  114. package/dist/esm/index.web200.js +10 -11
  115. package/dist/esm/index.web201.js +11 -13
  116. package/dist/esm/index.web202.js +13 -5
  117. package/dist/esm/index.web203.js +6 -5
  118. package/dist/esm/index.web204.js +5 -11
  119. package/dist/esm/index.web205.js +11 -2
  120. package/dist/esm/index.web206.js +2 -2
  121. package/dist/esm/index.web207.js +2 -2
  122. package/dist/esm/index.web208.js +101 -106
  123. package/dist/esm/index.web209.js +79 -2
  124. package/dist/esm/index.web21.js +6 -4
  125. package/dist/esm/index.web210.js +78 -103
  126. package/dist/esm/index.web211.js +2 -79
  127. package/dist/esm/index.web212.js +108 -78
  128. package/dist/esm/index.web213.js +2 -21
  129. package/dist/esm/index.web214.js +8 -10
  130. package/dist/esm/index.web215.js +2 -20
  131. package/dist/esm/index.web216.js +360 -85
  132. package/dist/esm/index.web217.js +827 -21
  133. package/dist/esm/index.web218.js +38 -117
  134. package/dist/esm/index.web219.js +2 -8
  135. package/dist/esm/index.web22.js +4 -12
  136. package/dist/esm/index.web220.js +70 -2
  137. package/dist/esm/index.web221.js +30 -364
  138. package/dist/esm/index.web222.js +14 -826
  139. package/dist/esm/index.web223.js +20 -38
  140. package/dist/esm/index.web224.js +10 -2
  141. package/dist/esm/index.web225.js +20 -70
  142. package/dist/esm/index.web226.js +93 -34
  143. package/dist/esm/index.web227.js +20 -14
  144. package/dist/esm/index.web228.js +115 -18
  145. package/dist/esm/index.web229.js +21 -2
  146. package/dist/esm/index.web23.js +12 -4
  147. package/dist/esm/index.web230.js +2 -20
  148. package/dist/esm/index.web231.js +18 -31
  149. package/dist/esm/index.web232.js +32 -6
  150. package/dist/esm/index.web233.js +6 -46
  151. package/dist/esm/index.web234.js +47 -2
  152. package/dist/esm/index.web235.js +4 -2
  153. package/dist/esm/index.web236.js +2 -2
  154. package/dist/esm/index.web237.js +2 -18
  155. package/dist/esm/index.web238.js +2 -28
  156. package/dist/esm/index.web239.js +18 -8
  157. package/dist/esm/index.web24.js +3 -3
  158. package/dist/esm/index.web240.js +26 -9
  159. package/dist/esm/index.web241.js +8 -13
  160. package/dist/esm/index.web242.js +11 -10
  161. package/dist/esm/index.web243.js +11 -15
  162. package/dist/esm/index.web244.js +9 -80
  163. package/dist/esm/index.web245.js +15 -2
  164. package/dist/esm/index.web246.js +81 -5
  165. package/dist/esm/index.web247.js +5 -79
  166. package/dist/esm/index.web248.js +1 -1
  167. package/dist/esm/index.web249.js +81 -0
  168. package/dist/esm/index.web25.js +5 -7
  169. package/dist/esm/index.web26.js +3 -3
  170. package/dist/esm/index.web27.js +6 -27
  171. package/dist/esm/index.web28.js +21 -25
  172. package/dist/esm/index.web29.js +25 -21
  173. package/dist/esm/index.web3.js +1 -1
  174. package/dist/esm/index.web30.js +16 -16
  175. package/dist/esm/index.web31.js +17 -17
  176. package/dist/esm/index.web32.js +17 -17
  177. package/dist/esm/index.web33.js +22 -31
  178. package/dist/esm/index.web34.js +31 -24
  179. package/dist/esm/index.web35.js +17 -25
  180. package/dist/esm/index.web36.js +36 -24
  181. package/dist/esm/index.web37.js +24 -40
  182. package/dist/esm/index.web38.js +30 -37
  183. package/dist/esm/index.web39.js +42 -41
  184. package/dist/esm/index.web4.js +65 -26
  185. package/dist/esm/index.web40.js +47 -40
  186. package/dist/esm/index.web41.js +39 -31
  187. package/dist/esm/index.web42.js +31 -5
  188. package/dist/esm/index.web43.js +7 -44
  189. package/dist/esm/index.web44.js +43 -16
  190. package/dist/esm/index.web45.js +15 -19
  191. package/dist/esm/index.web46.js +8 -8
  192. package/dist/esm/index.web47.js +15 -49
  193. package/dist/esm/index.web48.js +49 -15
  194. package/dist/esm/index.web49.js +14 -21
  195. package/dist/esm/index.web5.js +24 -88
  196. package/dist/esm/index.web50.js +25 -29
  197. package/dist/esm/index.web51.js +26 -53
  198. package/dist/esm/index.web52.js +53 -29
  199. package/dist/esm/index.web53.js +32 -12
  200. package/dist/esm/index.web54.js +14 -25
  201. package/dist/esm/index.web55.js +25 -22
  202. package/dist/esm/index.web56.js +21 -9
  203. package/dist/esm/index.web57.js +9 -15
  204. package/dist/esm/index.web58.js +12 -19
  205. package/dist/esm/index.web59.js +22 -10
  206. package/dist/esm/index.web6.js +86 -47
  207. package/dist/esm/index.web60.js +10 -16
  208. package/dist/esm/index.web61.js +15 -31
  209. package/dist/esm/index.web62.js +22 -24
  210. package/dist/esm/index.web63.js +34 -38
  211. package/dist/esm/index.web64.js +34 -32
  212. package/dist/esm/index.web65.js +24 -26
  213. package/dist/esm/index.web66.js +33 -34
  214. package/dist/esm/index.web67.js +39 -115
  215. package/dist/esm/index.web68.js +114 -46
  216. package/dist/esm/index.web69.js +48 -85
  217. package/dist/esm/index.web7.js +46 -51
  218. package/dist/esm/index.web70.js +85 -19
  219. package/dist/esm/index.web71.js +17 -8
  220. package/dist/esm/index.web72.js +11 -36
  221. package/dist/esm/index.web73.js +36 -31
  222. package/dist/esm/index.web74.js +24 -58
  223. package/dist/esm/index.web75.js +62 -22
  224. package/dist/esm/index.web76.js +23 -15
  225. package/dist/esm/index.web77.js +15 -33
  226. package/dist/esm/index.web78.js +33 -6
  227. package/dist/esm/index.web79.js +7 -47
  228. package/dist/esm/index.web8.js +57 -2
  229. package/dist/esm/index.web80.js +1 -1
  230. package/dist/esm/index.web81.js +3 -3
  231. package/dist/esm/index.web82.js +14 -14
  232. package/dist/esm/index.web83.js +17 -332
  233. package/dist/esm/index.web84.js +327 -13
  234. package/dist/esm/index.web85.js +18 -132
  235. package/dist/esm/index.web86.js +132 -86
  236. package/dist/esm/index.web87.js +86 -6
  237. package/dist/esm/index.web88.js +6 -55
  238. package/dist/esm/index.web89.js +47 -148
  239. package/dist/esm/index.web9.js +2 -118
  240. package/dist/esm/index.web90.js +149 -60
  241. package/dist/esm/index.web91.js +67 -34
  242. package/dist/esm/index.web92.js +35 -90
  243. package/dist/esm/index.web93.js +80 -33
  244. package/dist/esm/index.web94.js +41 -30
  245. package/dist/esm/index.web95.js +31 -17
  246. package/dist/esm/index.web96.js +18 -45
  247. package/dist/esm/index.web97.js +45 -3
  248. package/dist/esm/index.web98.js +3 -44
  249. package/dist/esm/index.web99.js +41 -22
  250. package/dist/native/index.native108.js +3 -3
  251. package/dist/native/index.native11.js +1 -1
  252. package/dist/native/index.native115.js +3 -3
  253. package/dist/native/index.native126.js +12 -12
  254. package/dist/native/index.native127.js +2 -2
  255. package/dist/native/index.native128.js +373 -13
  256. package/dist/native/index.native129.js +28 -22
  257. package/dist/native/index.native130.js +28 -50
  258. package/dist/native/index.native131.js +13 -373
  259. package/dist/native/index.native132.js +25 -2
  260. package/dist/native/index.native133.js +48 -63
  261. package/dist/native/index.native134.js +2 -367
  262. package/dist/native/index.native135.js +65 -28
  263. package/dist/native/index.native136.js +364 -28
  264. package/dist/native/index.native139.js +1 -1
  265. package/dist/native/index.native140.js +1 -1
  266. package/dist/native/index.native141.js +2 -2
  267. package/dist/native/index.native143.js +1 -1
  268. package/dist/native/index.native144.js +2 -2
  269. package/dist/native/index.native145.js +35 -55
  270. package/dist/native/index.native146.js +67 -10
  271. package/dist/native/index.native147.js +14 -2
  272. package/dist/native/index.native148.js +27 -44
  273. package/dist/native/index.native149.js +7 -13
  274. package/dist/native/index.native150.js +3 -4
  275. package/dist/native/index.native151.js +28 -35
  276. package/dist/native/index.native152.js +8 -67
  277. package/dist/native/index.native153.js +7 -13
  278. package/dist/native/index.native154.js +78 -54
  279. package/dist/native/index.native155.js +27 -6
  280. package/dist/native/index.native156.js +3 -21
  281. package/dist/native/index.native157.js +14 -17
  282. package/dist/native/index.native158.js +4 -45
  283. package/dist/native/index.native159.js +13 -3
  284. package/dist/native/index.native160.js +19 -3
  285. package/dist/native/index.native161.js +57 -31
  286. package/dist/native/index.native162.js +17 -12
  287. package/dist/native/index.native163.js +23 -4
  288. package/dist/native/index.native164.js +8 -28
  289. package/dist/native/index.native165.js +41 -6
  290. package/dist/native/index.native166.js +7 -32
  291. package/dist/native/index.native167.js +19 -11
  292. package/dist/native/index.native168.js +52 -53
  293. package/dist/native/index.native169.js +10 -42
  294. package/dist/native/index.native170.js +2 -128
  295. package/dist/native/index.native171.js +45 -105
  296. package/dist/native/index.native172.js +13 -6
  297. package/dist/native/index.native173.js +5 -3
  298. package/dist/native/index.native174.js +2 -79
  299. package/dist/native/index.native175.js +2 -2
  300. package/dist/native/index.native176.js +14 -2
  301. package/dist/native/index.native177.js +51 -33
  302. package/dist/native/index.native178.js +6 -6
  303. package/dist/native/index.native179.js +19 -32
  304. package/dist/native/index.native180.js +17 -14
  305. package/dist/native/index.native181.js +41 -30
  306. package/dist/native/index.native182.js +3 -18
  307. package/dist/native/index.native183.js +3 -8
  308. package/dist/native/index.native184.js +33 -9
  309. package/dist/native/index.native185.js +12 -11
  310. package/dist/native/index.native186.js +4 -13
  311. package/dist/native/index.native187.js +28 -5
  312. package/dist/native/index.native188.js +7 -5
  313. package/dist/native/index.native189.js +32 -10
  314. package/dist/native/index.native190.js +13 -2
  315. package/dist/native/index.native191.js +56 -2
  316. package/dist/native/index.native192.js +42 -13
  317. package/dist/native/index.native193.js +126 -26
  318. package/dist/native/index.native194.js +104 -7
  319. package/dist/native/index.native195.js +6 -3
  320. package/dist/native/index.native196.js +3 -28
  321. package/dist/native/index.native197.js +78 -8
  322. package/dist/native/index.native198.js +2 -8
  323. package/dist/native/index.native199.js +2 -80
  324. package/dist/native/index.native200.js +35 -25
  325. package/dist/native/index.native201.js +6 -3
  326. package/dist/native/index.native202.js +34 -14
  327. package/dist/native/index.native203.js +14 -4
  328. package/dist/native/index.native204.js +34 -13
  329. package/dist/native/index.native205.js +17 -18
  330. package/dist/native/index.native206.js +8 -60
  331. package/dist/native/index.native207.js +10 -17
  332. package/dist/native/index.native208.js +11 -23
  333. package/dist/native/index.native209.js +13 -8
  334. package/dist/native/index.native210.js +5 -41
  335. package/dist/native/index.native211.js +5 -8
  336. package/dist/native/index.native212.js +10 -20
  337. package/dist/native/index.native213.js +103 -7
  338. package/dist/native/index.native214.js +79 -2
  339. package/dist/native/index.native215.js +78 -368
  340. package/dist/native/index.native216.js +7 -826
  341. package/dist/native/index.native217.js +2 -39
  342. package/dist/native/index.native218.js +369 -2
  343. package/dist/native/index.native219.js +826 -69
  344. package/dist/native/index.native220.js +37 -33
  345. package/dist/native/index.native221.js +2 -15
  346. package/dist/native/index.native222.js +69 -103
  347. package/dist/native/index.native223.js +32 -76
  348. package/dist/native/index.native224.js +14 -78
  349. package/dist/native/index.native225.js +2 -2
  350. package/dist/native/index.native226.js +3 -3
  351. package/dist/native/index.native228.js +3 -3
  352. package/dist/native/index.native229.js +1 -1
  353. package/dist/native/index.native230.js +3 -3
  354. package/dist/native/index.native234.js +1 -1
  355. package/dist/native/index.native237.js +5 -5
  356. package/dist/native/index.native238.js +2 -2
  357. package/dist/native/index.native239.js +47 -2
  358. package/dist/native/index.native240.js +4 -2
  359. package/dist/native/index.native241.js +2 -2
  360. package/dist/native/index.native242.js +2 -4
  361. package/dist/native/index.native243.js +2 -18
  362. package/dist/native/index.native244.js +18 -28
  363. package/dist/native/index.native245.js +26 -6
  364. package/dist/native/index.native246.js +6 -9
  365. package/dist/native/index.native247.js +11 -13
  366. package/dist/native/index.native248.js +11 -8
  367. package/dist/native/index.native249.js +7 -14
  368. package/dist/native/index.native250.js +16 -80
  369. package/dist/native/index.native251.js +79 -45
  370. package/dist/native/index.native253.js +14 -78
  371. package/dist/native/index.native254.js +78 -14
  372. package/dist/native/index.native3.js +1 -1
  373. package/dist/native/index.native7.js +9 -9
  374. package/dist/native/index.native82.js +56 -41
  375. package/dist/native-types/errors.d.ts +3 -1
  376. package/dist/native-types/index.d.ts +2 -1
  377. package/dist/native-types/index.native.d.ts +2 -1
  378. package/dist/native-types/index.web.d.ts +2 -1
  379. package/dist/native-types/mfa/index.d.ts +1 -1
  380. package/dist/native-types/mfa/state.d.ts +58 -38
  381. package/dist/native-types/mfa/state.web.d.ts +62 -0
  382. package/dist/native-types/version.d.ts +1 -1
  383. package/dist/types/errors.d.ts +3 -1
  384. package/dist/types/index.d.ts +2 -1
  385. package/dist/types/index.native.d.ts +2 -1
  386. package/dist/types/index.web.d.ts +2 -1
  387. package/dist/types/mfa/index.d.ts +1 -1
  388. package/dist/types/mfa/state.d.ts +58 -38
  389. package/dist/types/mfa/state.web.d.ts +62 -0
  390. package/dist/types/version.d.ts +1 -1
  391. package/dist/web/index.web.js +219 -213
  392. package/dist/web/index.web10.js +116 -11
  393. package/dist/web/index.web100.js +25 -15
  394. package/dist/web/index.web101.js +13 -23
  395. package/dist/web/index.web102.js +23 -20
  396. package/dist/web/index.web103.js +21 -16
  397. package/dist/web/index.web104.js +16 -29
  398. package/dist/web/index.web105.js +29 -40
  399. package/dist/web/index.web106.js +41 -49
  400. package/dist/web/index.web107.js +47 -80
  401. package/dist/web/index.web108.js +79 -23
  402. package/dist/web/index.web109.js +22 -156
  403. package/dist/web/index.web11.js +7 -7
  404. package/dist/web/index.web110.js +157 -45
  405. package/dist/web/index.web111.js +48 -28
  406. package/dist/web/index.web112.js +26 -71
  407. package/dist/web/index.web113.js +71 -7
  408. package/dist/web/index.web114.js +6 -93
  409. package/dist/web/index.web115.js +74 -115
  410. package/dist/web/index.web116.js +110 -42
  411. package/dist/web/index.web117.js +67 -25
  412. package/dist/web/index.web118.js +25 -22
  413. package/dist/web/index.web119.js +23 -23
  414. package/dist/web/index.web12.js +12 -80
  415. package/dist/web/index.web120.js +24 -65
  416. package/dist/web/index.web121.js +61 -47
  417. package/dist/web/index.web122.js +44 -14
  418. package/dist/web/index.web123.js +20 -152
  419. package/dist/web/index.web124.js +149 -373
  420. package/dist/web/index.web125.js +379 -2
  421. package/dist/web/index.web126.js +2 -68
  422. package/dist/web/index.web127.js +37 -336
  423. package/dist/web/index.web128.js +360 -12
  424. package/dist/web/index.web129.js +28 -22
  425. package/dist/web/index.web13.js +76 -30
  426. package/dist/web/index.web130.js +28 -50
  427. package/dist/web/index.web131.js +16 -28
  428. package/dist/web/index.web132.js +22 -28
  429. package/dist/web/index.web133.js +50 -944
  430. package/dist/web/index.web134.js +945 -2
  431. package/dist/web/index.web135.js +2 -50
  432. package/dist/web/index.web136.js +49 -26
  433. package/dist/web/index.web137.js +27 -5
  434. package/dist/web/index.web138.js +5 -48
  435. package/dist/web/index.web139.js +47 -4
  436. package/dist/web/index.web14.js +34 -14
  437. package/dist/web/index.web140.js +1 -1
  438. package/dist/web/index.web141.js +2 -2
  439. package/dist/web/index.web142.js +4 -54
  440. package/dist/web/index.web143.js +14 -10
  441. package/dist/web/index.web144.js +29 -2
  442. package/dist/web/index.web145.js +8 -45
  443. package/dist/web/index.web146.js +3 -13
  444. package/dist/web/index.web147.js +21 -7
  445. package/dist/web/index.web148.js +8 -28
  446. package/dist/web/index.web149.js +6 -6
  447. package/dist/web/index.web15.js +11 -7
  448. package/dist/web/index.web150.js +80 -3
  449. package/dist/web/index.web151.js +17 -17
  450. package/dist/web/index.web152.js +3 -8
  451. package/dist/web/index.web153.js +15 -7
  452. package/dist/web/index.web154.js +4 -80
  453. package/dist/web/index.web155.js +6 -20
  454. package/dist/web/index.web156.js +19 -3
  455. package/dist/web/index.web157.js +54 -8
  456. package/dist/web/index.web158.js +17 -4
  457. package/dist/web/index.web159.js +23 -14
  458. package/dist/web/index.web16.js +7 -7
  459. package/dist/web/index.web160.js +8 -19
  460. package/dist/web/index.web161.js +28 -47
  461. package/dist/web/index.web162.js +7 -17
  462. package/dist/web/index.web163.js +15 -18
  463. package/dist/web/index.web164.js +54 -8
  464. package/dist/web/index.web165.js +10 -42
  465. package/dist/web/index.web166.js +2 -8
  466. package/dist/web/index.web167.js +44 -20
  467. package/dist/web/index.web168.js +13 -13
  468. package/dist/web/index.web169.js +13 -55
  469. package/dist/web/index.web17.js +10 -30
  470. package/dist/web/index.web170.js +55 -6
  471. package/dist/web/index.web171.js +6 -21
  472. package/dist/web/index.web172.js +20 -16
  473. package/dist/web/index.web173.js +16 -44
  474. package/dist/web/index.web174.js +45 -3
  475. package/dist/web/index.web175.js +3 -3
  476. package/dist/web/index.web176.js +3 -34
  477. package/dist/web/index.web177.js +32 -10
  478. package/dist/web/index.web178.js +12 -4
  479. package/dist/web/index.web179.js +4 -28
  480. package/dist/web/index.web18.js +22 -27
  481. package/dist/web/index.web180.js +28 -6
  482. package/dist/web/index.web181.js +6 -32
  483. package/dist/web/index.web182.js +31 -11
  484. package/dist/web/index.web183.js +10 -53
  485. package/dist/web/index.web184.js +54 -41
  486. package/dist/web/index.web185.js +42 -127
  487. package/dist/web/index.web186.js +125 -102
  488. package/dist/web/index.web187.js +104 -6
  489. package/dist/web/index.web188.js +7 -3
  490. package/dist/web/index.web189.js +3 -79
  491. package/dist/web/index.web19.js +29 -47
  492. package/dist/web/index.web190.js +79 -2
  493. package/dist/web/index.web191.js +2 -2
  494. package/dist/web/index.web192.js +2 -38
  495. package/dist/web/index.web193.js +36 -5
  496. package/dist/web/index.web194.js +5 -33
  497. package/dist/web/index.web195.js +34 -14
  498. package/dist/web/index.web196.js +14 -34
  499. package/dist/web/index.web197.js +33 -17
  500. package/dist/web/index.web198.js +18 -8
  501. package/dist/web/index.web199.js +8 -10
  502. package/dist/web/index.web2.js +2 -2
  503. package/dist/web/index.web20.js +53 -6
  504. package/dist/web/index.web200.js +10 -11
  505. package/dist/web/index.web201.js +11 -13
  506. package/dist/web/index.web202.js +13 -5
  507. package/dist/web/index.web203.js +6 -5
  508. package/dist/web/index.web204.js +5 -11
  509. package/dist/web/index.web205.js +11 -2
  510. package/dist/web/index.web206.js +2 -2
  511. package/dist/web/index.web207.js +2 -2
  512. package/dist/web/index.web208.js +101 -106
  513. package/dist/web/index.web209.js +79 -2
  514. package/dist/web/index.web21.js +6 -4
  515. package/dist/web/index.web210.js +78 -103
  516. package/dist/web/index.web211.js +2 -79
  517. package/dist/web/index.web212.js +108 -78
  518. package/dist/web/index.web213.js +2 -21
  519. package/dist/web/index.web214.js +8 -10
  520. package/dist/web/index.web215.js +2 -20
  521. package/dist/web/index.web216.js +360 -85
  522. package/dist/web/index.web217.js +827 -21
  523. package/dist/web/index.web218.js +38 -117
  524. package/dist/web/index.web219.js +2 -8
  525. package/dist/web/index.web22.js +4 -12
  526. package/dist/web/index.web220.js +70 -2
  527. package/dist/web/index.web221.js +30 -364
  528. package/dist/web/index.web222.js +14 -826
  529. package/dist/web/index.web223.js +20 -38
  530. package/dist/web/index.web224.js +10 -2
  531. package/dist/web/index.web225.js +20 -70
  532. package/dist/web/index.web226.js +93 -34
  533. package/dist/web/index.web227.js +20 -14
  534. package/dist/web/index.web228.js +115 -18
  535. package/dist/web/index.web229.js +21 -2
  536. package/dist/web/index.web23.js +12 -4
  537. package/dist/web/index.web230.js +2 -20
  538. package/dist/web/index.web231.js +18 -31
  539. package/dist/web/index.web232.js +32 -6
  540. package/dist/web/index.web233.js +6 -46
  541. package/dist/web/index.web234.js +47 -2
  542. package/dist/web/index.web235.js +4 -2
  543. package/dist/web/index.web236.js +2 -2
  544. package/dist/web/index.web237.js +2 -18
  545. package/dist/web/index.web238.js +2 -28
  546. package/dist/web/index.web239.js +18 -8
  547. package/dist/web/index.web24.js +3 -3
  548. package/dist/web/index.web240.js +26 -9
  549. package/dist/web/index.web241.js +8 -13
  550. package/dist/web/index.web242.js +11 -10
  551. package/dist/web/index.web243.js +11 -15
  552. package/dist/web/index.web244.js +9 -80
  553. package/dist/web/index.web245.js +15 -2
  554. package/dist/web/index.web246.js +81 -5
  555. package/dist/web/index.web247.js +5 -79
  556. package/dist/web/index.web248.js +1 -1
  557. package/dist/web/index.web249.js +81 -0
  558. package/dist/web/index.web25.js +5 -7
  559. package/dist/web/index.web26.js +3 -3
  560. package/dist/web/index.web27.js +6 -27
  561. package/dist/web/index.web28.js +21 -25
  562. package/dist/web/index.web29.js +25 -21
  563. package/dist/web/index.web3.js +1 -1
  564. package/dist/web/index.web30.js +16 -16
  565. package/dist/web/index.web31.js +17 -17
  566. package/dist/web/index.web32.js +17 -17
  567. package/dist/web/index.web33.js +22 -31
  568. package/dist/web/index.web34.js +31 -24
  569. package/dist/web/index.web35.js +17 -25
  570. package/dist/web/index.web36.js +36 -24
  571. package/dist/web/index.web37.js +24 -40
  572. package/dist/web/index.web38.js +30 -37
  573. package/dist/web/index.web39.js +42 -41
  574. package/dist/web/index.web4.js +65 -26
  575. package/dist/web/index.web40.js +47 -40
  576. package/dist/web/index.web41.js +39 -31
  577. package/dist/web/index.web42.js +31 -5
  578. package/dist/web/index.web43.js +7 -44
  579. package/dist/web/index.web44.js +43 -16
  580. package/dist/web/index.web45.js +15 -19
  581. package/dist/web/index.web46.js +8 -8
  582. package/dist/web/index.web47.js +15 -49
  583. package/dist/web/index.web48.js +49 -15
  584. package/dist/web/index.web49.js +14 -21
  585. package/dist/web/index.web5.js +24 -88
  586. package/dist/web/index.web50.js +25 -29
  587. package/dist/web/index.web51.js +26 -53
  588. package/dist/web/index.web52.js +53 -29
  589. package/dist/web/index.web53.js +32 -12
  590. package/dist/web/index.web54.js +14 -25
  591. package/dist/web/index.web55.js +25 -22
  592. package/dist/web/index.web56.js +21 -9
  593. package/dist/web/index.web57.js +9 -15
  594. package/dist/web/index.web58.js +12 -19
  595. package/dist/web/index.web59.js +22 -10
  596. package/dist/web/index.web6.js +86 -47
  597. package/dist/web/index.web60.js +10 -16
  598. package/dist/web/index.web61.js +15 -31
  599. package/dist/web/index.web62.js +22 -24
  600. package/dist/web/index.web63.js +34 -38
  601. package/dist/web/index.web64.js +34 -32
  602. package/dist/web/index.web65.js +24 -26
  603. package/dist/web/index.web66.js +33 -34
  604. package/dist/web/index.web67.js +39 -115
  605. package/dist/web/index.web68.js +114 -46
  606. package/dist/web/index.web69.js +48 -85
  607. package/dist/web/index.web7.js +46 -51
  608. package/dist/web/index.web70.js +85 -19
  609. package/dist/web/index.web71.js +17 -8
  610. package/dist/web/index.web72.js +11 -36
  611. package/dist/web/index.web73.js +36 -31
  612. package/dist/web/index.web74.js +24 -58
  613. package/dist/web/index.web75.js +62 -22
  614. package/dist/web/index.web76.js +23 -15
  615. package/dist/web/index.web77.js +15 -33
  616. package/dist/web/index.web78.js +33 -6
  617. package/dist/web/index.web79.js +7 -47
  618. package/dist/web/index.web8.js +57 -2
  619. package/dist/web/index.web80.js +1 -1
  620. package/dist/web/index.web81.js +3 -3
  621. package/dist/web/index.web82.js +14 -14
  622. package/dist/web/index.web83.js +17 -332
  623. package/dist/web/index.web84.js +327 -13
  624. package/dist/web/index.web85.js +18 -132
  625. package/dist/web/index.web86.js +132 -86
  626. package/dist/web/index.web87.js +86 -6
  627. package/dist/web/index.web88.js +6 -55
  628. package/dist/web/index.web89.js +47 -148
  629. package/dist/web/index.web9.js +2 -118
  630. package/dist/web/index.web90.js +149 -60
  631. package/dist/web/index.web91.js +67 -34
  632. package/dist/web/index.web92.js +35 -90
  633. package/dist/web/index.web93.js +80 -33
  634. package/dist/web/index.web94.js +41 -30
  635. package/dist/web/index.web95.js +31 -17
  636. package/dist/web/index.web96.js +18 -45
  637. package/dist/web/index.web97.js +45 -3
  638. package/dist/web/index.web98.js +3 -44
  639. package/dist/web/index.web99.js +41 -22
  640. package/dist/web-types/errors.d.ts +3 -1
  641. package/dist/web-types/index.d.ts +2 -1
  642. package/dist/web-types/index.native.d.ts +2 -1
  643. package/dist/web-types/index.web.d.ts +2 -1
  644. package/dist/web-types/mfa/index.d.ts +1 -1
  645. package/dist/web-types/mfa/state.d.ts +58 -38
  646. package/dist/web-types/mfa/state.web.d.ts +62 -0
  647. package/dist/web-types/version.d.ts +1 -1
  648. package/package.json +2 -2
@@ -1,335 +1,20 @@
1
- import { logOutEndUser as f, refreshAccessToken as d, registerTemporaryWalletSecret as S, APIError as m } from "@coinbase/cdp-api-client";
2
- import { Analytics as h } from "./index.web2.js";
3
- import "./index.web3.js";
4
- import "jose";
5
- import { SignJWT as w } from "./index.web105.js";
6
- import { toAuthState as y } from "./index.web99.js";
7
- import "viem";
8
- import { getPlatformCrypto as c } from "./index.web4.js";
9
- import { sortKeys as p } from "./index.web96.js";
10
- import { getCoreOAuthManager as g } from "./index.web72.js";
11
- const l = 60 * 1e3, k = {
12
- maxRetries: 3,
13
- baseDelayMs: 1e3,
14
- maxDelayMs: 1e4
15
- };
16
- function T(t, e, s) {
17
- const n = e * Math.pow(2, t), i = Math.random() * 0.3 * n;
18
- return Math.min(n + i, s);
19
- }
20
- function R(t) {
21
- return new Promise((e) => setTimeout(e, t));
22
- }
23
- function _(t) {
24
- if (t instanceof TypeError && t.message.includes("fetch"))
1
+ import { registerMfaListener as r } from "./index.web4.js";
2
+ const o = /* @__PURE__ */ new Set(), f = (t) => typeof t == "object" && t !== null && typeof t.nodeType == "number", p = (t, i) => {
3
+ const e = i?.scope;
4
+ if (!e)
5
+ return r(t);
6
+ o.add(e);
7
+ const c = r(t, { matches: (s) => {
8
+ if (!f(s) || !e.contains(s)) return !1;
9
+ for (const n of o)
10
+ if (n !== e && e.contains(n) && n !== e && n.contains(s))
11
+ return !1;
25
12
  return !0;
26
- if (t instanceof m) {
27
- if (t.statusCode >= 500 && t.statusCode < 600 || t.statusCode === 408 || t.statusCode === 429)
28
- return !0;
29
- if (t.statusCode === 401)
30
- return !1;
31
- }
32
- if (t instanceof Error) {
33
- const e = t.message.toLowerCase();
34
- if (e.includes("network") || e.includes("timeout") || e.includes("econnrefused") || e.includes("enotfound") || e.includes("socket"))
35
- return !0;
36
- }
37
- return !1;
38
- }
39
- class v {
40
- projectId;
41
- authState = null;
42
- walletSecret = null;
43
- authStateChangeCallbacks = [];
44
- initPromise = null;
45
- refreshTimeout = null;
46
- refreshWalletSecretPromise = null;
47
- /**
48
- * Initializes the token manager.
49
- *
50
- * @param projectId - The project ID.
51
- */
52
- constructor(e) {
53
- this.projectId = e, this.initPromise = this._doInitialize();
54
- }
55
- /**
56
- * Gets the current user, or null if there is no user signed in.
57
- *
58
- * @returns The current user.
59
- */
60
- getUser() {
61
- return this.authState?.user ?? null;
62
- }
63
- /**
64
- * Returns whether the user is signed in - i.e., whether there is an unexpired
65
- * access token and user. Attempts to refresh the token if it's expired.
66
- *
67
- * @returns True if the user is signed in, false otherwise.
68
- */
69
- async isSignedIn() {
70
- if (!this.authState)
71
- return !1;
72
- if (this.authState.expiresAt > Date.now() + l)
73
- return !0;
74
- try {
75
- return await this.getToken() !== null;
76
- } catch {
77
- return !1;
78
- }
79
- }
80
- /**
81
- * Signs out the user, clearing all authentication state.
82
- */
83
- async signOut() {
84
- try {
85
- await f(this.projectId);
86
- } catch {
87
- } finally {
88
- await this.clearAuthState();
89
- }
90
- }
91
- /**
92
- * Adds a callback to be called when the auth state changes.
93
- *
94
- * @param callback - The function to call when the auth state changes.
95
- */
96
- addAuthStateChangeCallback(e) {
97
- this.authStateChangeCallbacks.push(e), e(this.authState?.user ?? null);
98
- }
99
- /**
100
- * Gets the access token, refreshing it if it is expired. Returns null if the user is not
101
- * signed in.
102
- *
103
- * @param options - The options for getting the token.
104
- * @param options.forceRefresh - Whether to force a refresh of the token.
105
- * @returns The access token.
106
- */
107
- async getToken(e) {
108
- return (e?.forceRefresh || this.shouldRefreshToken()) && await this.refreshAccessToken(e?.forceRefresh ? "force" : "on_demand"), this.authState?.accessToken ?? null;
109
- }
110
- /**
111
- * Gets the expiration time of the access token, or null if the user is not signed in.
112
- *
113
- * @returns The expiration time of the access token.
114
- */
115
- async getTokenExpiration() {
116
- return this.authState?.expiresAt ?? null;
117
- }
118
- /**
119
- * Gets the currently registered wallet secret ID. Rejects if the user is not signed in.
120
- *
121
- * @returns The wallet secret ID.
122
- */
123
- async getWalletSecretId() {
124
- if (!await this.isSignedIn())
125
- throw new Error("Cannot get wallet secret ID if the user is not signed in");
126
- return this.shouldRefreshWalletSecret() && await this.refreshWalletSecret(), this.walletSecret.walletSecretId;
127
- }
128
- /**
129
- * Gets the X-Wallet-Auth header. Rejects if the user is not signed in.
130
- *
131
- * @param options - The options for the request.
132
- * @param options.requestMethod - The HTTP method of the request.
133
- * @param options.requestHost - The host of the request.
134
- * @param options.requestPath - The path of the request.
135
- * @param options.requestData - The data of the request.
136
- * @returns The X-Wallet-Auth header.
137
- */
138
- async getXWalletAuth(e) {
139
- if (!await this.isSignedIn())
140
- throw new Error("Cannot get X-Wallet-Auth header if the user is not signed in");
141
- this.shouldRefreshWalletSecret() && await this.refreshWalletSecret();
142
- const s = `${e.requestMethod} ${e.requestHost}${e.requestPath}`, n = Math.floor(Date.now() / 1e3), i = c(), r = {
143
- uris: [s]
144
- };
145
- if (e.requestData && Object.keys(e.requestData).length > 0) {
146
- const a = p(e.requestData);
147
- r.reqHash = await i.hash(new TextEncoder().encode(JSON.stringify(a)));
148
- }
149
- return await new w(r).setProtectedHeader({ alg: "ES256", typ: "JWT" }).setIssuedAt(n).setNotBefore(n).setJti(i.generateRandomId()).sign(this.walletSecret.keyPair.privateKey);
150
- }
151
- /**
152
- * Gets the authentication state.
153
- *
154
- * @returns The authentication state.
155
- */
156
- getAuthState() {
157
- return this.authState;
158
- }
159
- /**
160
- * Sets the authentication state.
161
- *
162
- * @param authState - The authentication state.
163
- */
164
- async setAuthState(e) {
165
- this.authState = e, h.endUserIdentifier = e.user.userId, this.authStateChangeCallbacks.forEach((s) => s(this.authState?.user ?? null)), this.scheduleTokenRefresh();
166
- }
167
- /**
168
- * Clears the authentication state.
169
- */
170
- async clearAuthState() {
171
- this.authState = null, this.walletSecret = null, h.endUserIdentifier = "", this.cancelTokenRefresh(), this.authStateChangeCallbacks.forEach((e) => e(null));
172
- }
173
- /**
174
- * Ensures the AuthManager is initialized before proceeding.
175
- * If initialization is already in progress, waits for it to complete.
176
- */
177
- async ensureInitialized() {
178
- if (this.initPromise) {
179
- await this.initPromise;
180
- return;
181
- }
182
- throw new Error("AuthManager not initialized");
183
- }
184
- /**
185
- * Internal async initialization logic.
186
- */
187
- async _doInitialize() {
188
- try {
189
- await this.refreshAccessToken("init"), await g().handleOAuthCode();
190
- } catch (e) {
191
- console.warn("Failed to refresh access token during initialization:", e);
192
- }
193
- }
194
- /**
195
- * Returns whether the token should be refreshed.
196
- *
197
- * @returns True if the token should be refreshed, false otherwise.
198
- */
199
- shouldRefreshToken() {
200
- return !(this.authState && this.authState.expiresAt > Date.now() + l);
201
- }
202
- /**
203
- * Refreshes the access token and transitions the auth state accordingly.
204
- * If a refresh is already in progress, it will wait for that refresh to complete.
205
- * Retries with exponential backoff on transient failures only. Unauthorized error
206
- * short-circuit immediately since retrying won't help.
207
- *
208
- * @param trigger - The trigger for the refresh.
209
- *
210
- * @returns The new access token.
211
- */
212
- async refreshAccessToken(e = "on_demand") {
213
- const { maxRetries: s, baseDelayMs: n, maxDelayMs: i } = k;
214
- h.sendSessionRefreshEvent({
215
- name: "refresh_token_start",
216
- trigger: e
217
- });
218
- for (let r = 0; r <= s; r++)
219
- try {
220
- const a = await d(this.projectId, {
221
- grantType: "refresh_token"
222
- }), o = y(
223
- a.accessToken,
224
- a.validUntil,
225
- a.endUser
226
- );
227
- await this.setAuthState(o), h.sendSessionRefreshEvent({
228
- name: "refresh_token_success",
229
- trigger: e,
230
- attempt: r
231
- });
232
- return;
233
- } catch (a) {
234
- const o = a instanceof Error ? a.message : String(a);
235
- if (!_(a)) {
236
- h.sendSessionRefreshEvent({
237
- name: "refresh_token_failure",
238
- trigger: e,
239
- attempt: r,
240
- error_type: "non_transient",
241
- error_message: o
242
- }), await this.signOut();
243
- return;
244
- }
245
- if (r === s) {
246
- h.sendSessionRefreshEvent({
247
- name: "refresh_token_exhausted",
248
- trigger: e,
249
- attempt: r,
250
- error_type: "transient",
251
- error_message: o
252
- });
253
- return;
254
- }
255
- h.sendSessionRefreshEvent({
256
- name: "refresh_token_retry",
257
- trigger: e,
258
- attempt: r,
259
- error_type: "transient",
260
- error_message: o
261
- });
262
- const u = T(r, n, i);
263
- await R(u);
264
- }
265
- }
266
- /**
267
- * Schedules a token refresh to occur exactly when shouldRefreshToken() would return true.
268
- * Uses the same REFRESH_CREDENTIALS_BUFFER_MS timing as the rest of the auth system.
269
- */
270
- scheduleTokenRefresh() {
271
- if (this.cancelTokenRefresh(), !this.authState)
272
- return;
273
- const s = this.authState.expiresAt - l - Date.now();
274
- s <= 0 || (h.sendSessionRefreshEvent({
275
- name: "refresh_token_scheduled",
276
- time_until_refresh_ms: s
277
- }), this.refreshTimeout = setTimeout(async () => {
278
- await this.refreshAccessToken("scheduled"), this.scheduleTokenRefresh();
279
- }, s));
280
- }
281
- /**
282
- * Cancels any scheduled token refresh.
283
- */
284
- cancelTokenRefresh() {
285
- this.refreshTimeout && (clearTimeout(this.refreshTimeout), this.refreshTimeout = null);
286
- }
287
- /**
288
- * Returns whether the wallet secret should be refreshed.
289
- *
290
- * @returns True if the wallet secret should be refreshed, false otherwise.
291
- */
292
- shouldRefreshWalletSecret() {
293
- return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() + l);
294
- }
295
- /**
296
- * Refreshes the wallet secret. Assumes the user is signed in.
297
- * Concurrent callers share the same in-flight registration to avoid
298
- * racing on `this.walletSecret` (e.g. React Strict Mode double-fire).
299
- *
300
- * @returns A promise that resolves when the wallet secret is registered.
301
- */
302
- async refreshWalletSecret() {
303
- if (this.refreshWalletSecretPromise)
304
- return this.refreshWalletSecretPromise;
305
- this.refreshWalletSecretPromise = this._doRefreshWalletSecret();
306
- try {
307
- await this.refreshWalletSecretPromise;
308
- } finally {
309
- this.refreshWalletSecretPromise = null;
310
- }
311
- }
312
- /**
313
- * Internal wallet secret refresh logic.
314
- */
315
- async _doRefreshWalletSecret() {
316
- const e = c(), s = this.walletSecret?.walletSecretId ?? e.generateRandomId(), n = this.walletSecret?.keyPair ?? await e.createKeyPair(), i = this.authState.expiresAt, r = new Date(i).toISOString();
317
- this.walletSecret = { walletSecretId: s, keyPair: n, expiresAt: i };
318
- try {
319
- await S(
320
- this.authState.user.userId,
321
- {
322
- walletSecretId: s,
323
- publicKey: n.publicKeyBase64,
324
- validUntil: r
325
- },
326
- { projectID: this.projectId }
327
- );
328
- } catch (a) {
329
- throw this.walletSecret = null, a;
330
- }
331
- }
332
- }
13
+ } });
14
+ return () => {
15
+ o.delete(e), c();
16
+ };
17
+ };
333
18
  export {
334
- v as AuthManager
19
+ p as registerMfaListener
335
20
  };
@@ -1,21 +1,335 @@
1
- import { APIError as c, ErrorType as u, HttpErrorType as E, OAuth2ProviderType as a, SendEvmTransactionWithEndUserAccountBodyNetwork as d, SendSolanaTransactionWithEndUserAccountBodyNetwork as p } from "@coinbase/cdp-api-client";
1
+ import { logOutEndUser as f, refreshAccessToken as d, registerTemporaryWalletSecret as S, APIError as m } from "@coinbase/cdp-api-client";
2
+ import { Analytics as h } from "./index.web2.js";
3
+ import "./index.web3.js";
4
+ import "jose";
5
+ import { SignJWT as w } from "./index.web106.js";
6
+ import { toAuthState as y } from "./index.web100.js";
2
7
  import "viem";
3
- class e extends Error {
8
+ import { getPlatformCrypto as c } from "./index.web5.js";
9
+ import { sortKeys as p } from "./index.web97.js";
10
+ import { getCoreOAuthManager as g } from "./index.web73.js";
11
+ const l = 60 * 1e3, k = {
12
+ maxRetries: 3,
13
+ baseDelayMs: 1e3,
14
+ maxDelayMs: 1e4
15
+ };
16
+ function T(t, e, s) {
17
+ const n = e * Math.pow(2, t), i = Math.random() * 0.3 * n;
18
+ return Math.min(n + i, s);
19
+ }
20
+ function R(t) {
21
+ return new Promise((e) => setTimeout(e, t));
22
+ }
23
+ function _(t) {
24
+ if (t instanceof TypeError && t.message.includes("fetch"))
25
+ return !0;
26
+ if (t instanceof m) {
27
+ if (t.statusCode >= 500 && t.statusCode < 600 || t.statusCode === 408 || t.statusCode === 429)
28
+ return !0;
29
+ if (t.statusCode === 401)
30
+ return !1;
31
+ }
32
+ if (t instanceof Error) {
33
+ const e = t.message.toLowerCase();
34
+ if (e.includes("network") || e.includes("timeout") || e.includes("econnrefused") || e.includes("enotfound") || e.includes("socket"))
35
+ return !0;
36
+ }
37
+ return !1;
38
+ }
39
+ class v {
40
+ projectId;
41
+ authState = null;
42
+ walletSecret = null;
43
+ authStateChangeCallbacks = [];
44
+ initPromise = null;
45
+ refreshTimeout = null;
46
+ refreshWalletSecretPromise = null;
47
+ /**
48
+ * Initializes the token manager.
49
+ *
50
+ * @param projectId - The project ID.
51
+ */
52
+ constructor(e) {
53
+ this.projectId = e, this.initPromise = this._doInitialize();
54
+ }
55
+ /**
56
+ * Gets the current user, or null if there is no user signed in.
57
+ *
58
+ * @returns The current user.
59
+ */
60
+ getUser() {
61
+ return this.authState?.user ?? null;
62
+ }
63
+ /**
64
+ * Returns whether the user is signed in - i.e., whether there is an unexpired
65
+ * access token and user. Attempts to refresh the token if it's expired.
66
+ *
67
+ * @returns True if the user is signed in, false otherwise.
68
+ */
69
+ async isSignedIn() {
70
+ if (!this.authState)
71
+ return !1;
72
+ if (this.authState.expiresAt > Date.now() + l)
73
+ return !0;
74
+ try {
75
+ return await this.getToken() !== null;
76
+ } catch {
77
+ return !1;
78
+ }
79
+ }
80
+ /**
81
+ * Signs out the user, clearing all authentication state.
82
+ */
83
+ async signOut() {
84
+ try {
85
+ await f(this.projectId);
86
+ } catch {
87
+ } finally {
88
+ await this.clearAuthState();
89
+ }
90
+ }
91
+ /**
92
+ * Adds a callback to be called when the auth state changes.
93
+ *
94
+ * @param callback - The function to call when the auth state changes.
95
+ */
96
+ addAuthStateChangeCallback(e) {
97
+ this.authStateChangeCallbacks.push(e), e(this.authState?.user ?? null);
98
+ }
99
+ /**
100
+ * Gets the access token, refreshing it if it is expired. Returns null if the user is not
101
+ * signed in.
102
+ *
103
+ * @param options - The options for getting the token.
104
+ * @param options.forceRefresh - Whether to force a refresh of the token.
105
+ * @returns The access token.
106
+ */
107
+ async getToken(e) {
108
+ return (e?.forceRefresh || this.shouldRefreshToken()) && await this.refreshAccessToken(e?.forceRefresh ? "force" : "on_demand"), this.authState?.accessToken ?? null;
109
+ }
110
+ /**
111
+ * Gets the expiration time of the access token, or null if the user is not signed in.
112
+ *
113
+ * @returns The expiration time of the access token.
114
+ */
115
+ async getTokenExpiration() {
116
+ return this.authState?.expiresAt ?? null;
117
+ }
118
+ /**
119
+ * Gets the currently registered wallet secret ID. Rejects if the user is not signed in.
120
+ *
121
+ * @returns The wallet secret ID.
122
+ */
123
+ async getWalletSecretId() {
124
+ if (!await this.isSignedIn())
125
+ throw new Error("Cannot get wallet secret ID if the user is not signed in");
126
+ return this.shouldRefreshWalletSecret() && await this.refreshWalletSecret(), this.walletSecret.walletSecretId;
127
+ }
128
+ /**
129
+ * Gets the X-Wallet-Auth header. Rejects if the user is not signed in.
130
+ *
131
+ * @param options - The options for the request.
132
+ * @param options.requestMethod - The HTTP method of the request.
133
+ * @param options.requestHost - The host of the request.
134
+ * @param options.requestPath - The path of the request.
135
+ * @param options.requestData - The data of the request.
136
+ * @returns The X-Wallet-Auth header.
137
+ */
138
+ async getXWalletAuth(e) {
139
+ if (!await this.isSignedIn())
140
+ throw new Error("Cannot get X-Wallet-Auth header if the user is not signed in");
141
+ this.shouldRefreshWalletSecret() && await this.refreshWalletSecret();
142
+ const s = `${e.requestMethod} ${e.requestHost}${e.requestPath}`, n = Math.floor(Date.now() / 1e3), i = c(), r = {
143
+ uris: [s]
144
+ };
145
+ if (e.requestData && Object.keys(e.requestData).length > 0) {
146
+ const a = p(e.requestData);
147
+ r.reqHash = await i.hash(new TextEncoder().encode(JSON.stringify(a)));
148
+ }
149
+ return await new w(r).setProtectedHeader({ alg: "ES256", typ: "JWT" }).setIssuedAt(n).setNotBefore(n).setJti(i.generateRandomId()).sign(this.walletSecret.keyPair.privateKey);
150
+ }
151
+ /**
152
+ * Gets the authentication state.
153
+ *
154
+ * @returns The authentication state.
155
+ */
156
+ getAuthState() {
157
+ return this.authState;
158
+ }
159
+ /**
160
+ * Sets the authentication state.
161
+ *
162
+ * @param authState - The authentication state.
163
+ */
164
+ async setAuthState(e) {
165
+ this.authState = e, h.endUserIdentifier = e.user.userId, this.authStateChangeCallbacks.forEach((s) => s(this.authState?.user ?? null)), this.scheduleTokenRefresh();
166
+ }
167
+ /**
168
+ * Clears the authentication state.
169
+ */
170
+ async clearAuthState() {
171
+ this.authState = null, this.walletSecret = null, h.endUserIdentifier = "", this.cancelTokenRefresh(), this.authStateChangeCallbacks.forEach((e) => e(null));
172
+ }
173
+ /**
174
+ * Ensures the AuthManager is initialized before proceeding.
175
+ * If initialization is already in progress, waits for it to complete.
176
+ */
177
+ async ensureInitialized() {
178
+ if (this.initPromise) {
179
+ await this.initPromise;
180
+ return;
181
+ }
182
+ throw new Error("AuthManager not initialized");
183
+ }
184
+ /**
185
+ * Internal async initialization logic.
186
+ */
187
+ async _doInitialize() {
188
+ try {
189
+ await this.refreshAccessToken("init"), await g().handleOAuthCode();
190
+ } catch (e) {
191
+ console.warn("Failed to refresh access token during initialization:", e);
192
+ }
193
+ }
194
+ /**
195
+ * Returns whether the token should be refreshed.
196
+ *
197
+ * @returns True if the token should be refreshed, false otherwise.
198
+ */
199
+ shouldRefreshToken() {
200
+ return !(this.authState && this.authState.expiresAt > Date.now() + l);
201
+ }
202
+ /**
203
+ * Refreshes the access token and transitions the auth state accordingly.
204
+ * If a refresh is already in progress, it will wait for that refresh to complete.
205
+ * Retries with exponential backoff on transient failures only. Unauthorized error
206
+ * short-circuit immediately since retrying won't help.
207
+ *
208
+ * @param trigger - The trigger for the refresh.
209
+ *
210
+ * @returns The new access token.
211
+ */
212
+ async refreshAccessToken(e = "on_demand") {
213
+ const { maxRetries: s, baseDelayMs: n, maxDelayMs: i } = k;
214
+ h.sendSessionRefreshEvent({
215
+ name: "refresh_token_start",
216
+ trigger: e
217
+ });
218
+ for (let r = 0; r <= s; r++)
219
+ try {
220
+ const a = await d(this.projectId, {
221
+ grantType: "refresh_token"
222
+ }), o = y(
223
+ a.accessToken,
224
+ a.validUntil,
225
+ a.endUser
226
+ );
227
+ await this.setAuthState(o), h.sendSessionRefreshEvent({
228
+ name: "refresh_token_success",
229
+ trigger: e,
230
+ attempt: r
231
+ });
232
+ return;
233
+ } catch (a) {
234
+ const o = a instanceof Error ? a.message : String(a);
235
+ if (!_(a)) {
236
+ h.sendSessionRefreshEvent({
237
+ name: "refresh_token_failure",
238
+ trigger: e,
239
+ attempt: r,
240
+ error_type: "non_transient",
241
+ error_message: o
242
+ }), await this.signOut();
243
+ return;
244
+ }
245
+ if (r === s) {
246
+ h.sendSessionRefreshEvent({
247
+ name: "refresh_token_exhausted",
248
+ trigger: e,
249
+ attempt: r,
250
+ error_type: "transient",
251
+ error_message: o
252
+ });
253
+ return;
254
+ }
255
+ h.sendSessionRefreshEvent({
256
+ name: "refresh_token_retry",
257
+ trigger: e,
258
+ attempt: r,
259
+ error_type: "transient",
260
+ error_message: o
261
+ });
262
+ const u = T(r, n, i);
263
+ await R(u);
264
+ }
265
+ }
266
+ /**
267
+ * Schedules a token refresh to occur exactly when shouldRefreshToken() would return true.
268
+ * Uses the same REFRESH_CREDENTIALS_BUFFER_MS timing as the rest of the auth system.
269
+ */
270
+ scheduleTokenRefresh() {
271
+ if (this.cancelTokenRefresh(), !this.authState)
272
+ return;
273
+ const s = this.authState.expiresAt - l - Date.now();
274
+ s <= 0 || (h.sendSessionRefreshEvent({
275
+ name: "refresh_token_scheduled",
276
+ time_until_refresh_ms: s
277
+ }), this.refreshTimeout = setTimeout(async () => {
278
+ await this.refreshAccessToken("scheduled"), this.scheduleTokenRefresh();
279
+ }, s));
280
+ }
4
281
  /**
5
- * Creates a new CustomAuthError.
282
+ * Cancels any scheduled token refresh.
283
+ */
284
+ cancelTokenRefresh() {
285
+ this.refreshTimeout && (clearTimeout(this.refreshTimeout), this.refreshTimeout = null);
286
+ }
287
+ /**
288
+ * Returns whether the wallet secret should be refreshed.
289
+ *
290
+ * @returns True if the wallet secret should be refreshed, false otherwise.
291
+ */
292
+ shouldRefreshWalletSecret() {
293
+ return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() + l);
294
+ }
295
+ /**
296
+ * Refreshes the wallet secret. Assumes the user is signed in.
297
+ * Concurrent callers share the same in-flight registration to avoid
298
+ * racing on `this.walletSecret` (e.g. React Strict Mode double-fire).
6
299
  *
7
- * @param message - The error message.
300
+ * @returns A promise that resolves when the wallet secret is registered.
301
+ */
302
+ async refreshWalletSecret() {
303
+ if (this.refreshWalletSecretPromise)
304
+ return this.refreshWalletSecretPromise;
305
+ this.refreshWalletSecretPromise = this._doRefreshWalletSecret();
306
+ try {
307
+ await this.refreshWalletSecretPromise;
308
+ } finally {
309
+ this.refreshWalletSecretPromise = null;
310
+ }
311
+ }
312
+ /**
313
+ * Internal wallet secret refresh logic.
8
314
  */
9
- constructor(r) {
10
- super(r), this.name = "CustomAuthError";
315
+ async _doRefreshWalletSecret() {
316
+ const e = c(), s = this.walletSecret?.walletSecretId ?? e.generateRandomId(), n = this.walletSecret?.keyPair ?? await e.createKeyPair(), i = this.authState.expiresAt, r = new Date(i).toISOString();
317
+ this.walletSecret = { walletSecretId: s, keyPair: n, expiresAt: i };
318
+ try {
319
+ await S(
320
+ this.authState.user.userId,
321
+ {
322
+ walletSecretId: s,
323
+ publicKey: n.publicKeyBase64,
324
+ validUntil: r
325
+ },
326
+ { projectID: this.projectId }
327
+ );
328
+ } catch (a) {
329
+ throw this.walletSecret = null, a;
330
+ }
11
331
  }
12
332
  }
13
333
  export {
14
- c as APIError,
15
- e as CustomAuthError,
16
- u as ErrorType,
17
- E as HttpErrorType,
18
- a as OAuth2ProviderType,
19
- d as SendEvmTransactionWithEndUserAccountBodyNetwork,
20
- p as SendSolanaTransactionWithEndUserAccountBodyNetwork
334
+ v as AuthManager
21
335
  };