@coinbase/cdp-core 0.0.31 → 0.0.33

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 (274) hide show
  1. package/dist/esm/index.native.js +40 -38
  2. package/dist/esm/index.native10.js +115 -21
  3. package/dist/esm/index.native100.js +6 -9
  4. package/dist/esm/index.native101.js +11 -13
  5. package/dist/esm/index.native102.js +11 -8
  6. package/dist/esm/index.native103.js +7 -14
  7. package/dist/esm/index.native104.js +16 -80
  8. package/dist/esm/index.native105.js +79 -11
  9. package/dist/esm/index.native106.js +12 -35
  10. package/dist/esm/index.native107.js +35 -41
  11. package/dist/esm/index.native108.js +38 -75
  12. package/dist/esm/index.native109.js +81 -0
  13. package/dist/esm/index.native11.js +20 -30
  14. package/dist/esm/index.native12.js +30 -7
  15. package/dist/esm/index.native13.js +9 -15
  16. package/dist/esm/index.native14.js +14 -15
  17. package/dist/esm/index.native15.js +13 -116
  18. package/dist/esm/index.native16.js +116 -11
  19. package/dist/esm/index.native17.js +14 -42
  20. package/dist/esm/index.native18.js +42 -20
  21. package/dist/esm/index.native19.js +20 -172
  22. package/dist/esm/index.native2.js +3 -3
  23. package/dist/esm/index.native20.js +170 -39
  24. package/dist/esm/index.native21.js +41 -49
  25. package/dist/esm/index.native22.js +47 -70
  26. package/dist/esm/index.native23.js +69 -23
  27. package/dist/esm/index.native24.js +22 -156
  28. package/dist/esm/index.native25.js +157 -45
  29. package/dist/esm/index.native26.js +43 -245
  30. package/dist/esm/index.native27.js +247 -53
  31. package/dist/esm/index.native28.js +56 -17
  32. package/dist/esm/index.native29.js +15 -21
  33. package/dist/esm/index.native3.js +40 -30
  34. package/dist/esm/index.native30.js +21 -49
  35. package/dist/esm/index.native31.js +50 -8
  36. package/dist/esm/index.native32.js +8 -17
  37. package/dist/esm/index.native33.js +16 -44
  38. package/dist/esm/index.native34.js +45 -13
  39. package/dist/esm/index.native35.js +13 -55
  40. package/dist/esm/index.native36.js +55 -6
  41. package/dist/esm/index.native37.js +6 -21
  42. package/dist/esm/index.native38.js +21 -11
  43. package/dist/esm/index.native39.js +11 -3
  44. package/dist/esm/index.native4.js +67 -21
  45. package/dist/esm/index.native40.js +3 -3
  46. package/dist/esm/index.native41.js +3 -34
  47. package/dist/esm/index.native42.js +32 -10
  48. package/dist/esm/index.native43.js +12 -4
  49. package/dist/esm/index.native44.js +4 -28
  50. package/dist/esm/index.native45.js +28 -6
  51. package/dist/esm/index.native46.js +6 -24
  52. package/dist/esm/index.native47.js +24 -16
  53. package/dist/esm/index.native48.js +16 -54
  54. package/dist/esm/index.native49.js +53 -22
  55. package/dist/esm/index.native5.js +21 -254
  56. package/dist/esm/index.native50.js +23 -11
  57. package/dist/esm/index.native51.js +10 -26
  58. package/dist/esm/index.native52.js +26 -41
  59. package/dist/esm/index.native53.js +41 -54
  60. package/dist/esm/index.native54.js +54 -126
  61. package/dist/esm/index.native55.js +126 -11
  62. package/dist/esm/index.native56.js +9 -101
  63. package/dist/esm/index.native57.js +104 -6
  64. package/dist/esm/index.native58.js +7 -3
  65. package/dist/esm/index.native59.js +3 -15
  66. package/dist/esm/index.native6.js +262 -176
  67. package/dist/esm/index.native60.js +14 -42
  68. package/dist/esm/index.native61.js +38 -74
  69. package/dist/esm/index.native62.js +79 -2
  70. package/dist/esm/index.native63.js +2 -2
  71. package/dist/esm/index.native64.js +2 -13
  72. package/dist/esm/index.native65.js +8 -33
  73. package/dist/esm/index.native66.js +36 -5
  74. package/dist/esm/index.native67.js +5 -33
  75. package/dist/esm/index.native68.js +34 -8
  76. package/dist/esm/index.native69.js +8 -10
  77. package/dist/esm/index.native7.js +213 -115
  78. package/dist/esm/index.native70.js +10 -11
  79. package/dist/esm/index.native71.js +11 -13
  80. package/dist/esm/index.native72.js +13 -18
  81. package/dist/esm/index.native73.js +18 -5
  82. package/dist/esm/index.native74.js +6 -5
  83. package/dist/esm/index.native75.js +5 -11
  84. package/dist/esm/index.native76.js +10 -54
  85. package/dist/esm/index.native77.js +54 -10
  86. package/dist/esm/index.native78.js +11 -2
  87. package/dist/esm/index.native79.js +2 -45
  88. package/dist/esm/index.native8.js +115 -137
  89. package/dist/esm/index.native80.js +44 -13
  90. package/dist/esm/index.native81.js +14 -2
  91. package/dist/esm/index.native82.js +1 -1
  92. package/dist/esm/index.native83.js +2 -20
  93. package/dist/esm/index.native84.js +103 -79
  94. package/dist/esm/index.native85.js +18 -102
  95. package/dist/esm/index.native86.js +79 -32
  96. package/dist/esm/index.native87.js +32 -6
  97. package/dist/esm/index.native88.js +6 -78
  98. package/dist/esm/index.native89.js +2 -2
  99. package/dist/esm/index.native9.js +138 -113
  100. package/dist/esm/index.native90.js +3 -3
  101. package/dist/esm/index.native92.js +3 -3
  102. package/dist/esm/index.native93.js +1 -1
  103. package/dist/esm/index.native94.js +3 -3
  104. package/dist/esm/index.native95.js +79 -10
  105. package/dist/esm/index.native96.js +10 -5
  106. package/dist/esm/index.native97.js +5 -18
  107. package/dist/esm/index.native98.js +18 -28
  108. package/dist/esm/index.native99.js +26 -6
  109. package/dist/esm/index.web100.js +13 -28
  110. package/dist/esm/index.web101.js +10 -8
  111. package/dist/esm/index.web102.js +17 -11
  112. package/dist/esm/index.web103.js +80 -12
  113. package/dist/esm/index.web104.js +13 -10
  114. package/dist/esm/index.web105.js +36 -17
  115. package/dist/esm/index.web106.js +40 -79
  116. package/dist/esm/index.web26.js +1 -1
  117. package/dist/esm/index.web5.js +131 -109
  118. package/dist/esm/index.web6.js +65 -38
  119. package/dist/esm/index.web75.js +6 -6
  120. package/dist/esm/index.web84.js +1 -1
  121. package/dist/esm/index.web87.js +21 -10
  122. package/dist/esm/index.web88.js +10 -21
  123. package/dist/esm/index.web89.js +19 -9
  124. package/dist/esm/index.web90.js +89 -15
  125. package/dist/esm/index.web91.js +19 -92
  126. package/dist/esm/index.web92.js +115 -18
  127. package/dist/esm/index.web93.js +73 -112
  128. package/dist/esm/index.web94.js +10 -79
  129. package/dist/esm/index.web96.js +18 -13
  130. package/dist/esm/index.web97.js +27 -35
  131. package/dist/esm/index.web98.js +7 -41
  132. package/dist/esm/index.web99.js +11 -18
  133. package/dist/native/index.native.js +40 -38
  134. package/dist/native/index.native10.js +115 -21
  135. package/dist/native/index.native100.js +6 -9
  136. package/dist/native/index.native101.js +11 -13
  137. package/dist/native/index.native102.js +11 -8
  138. package/dist/native/index.native103.js +7 -14
  139. package/dist/native/index.native104.js +16 -80
  140. package/dist/native/index.native105.js +79 -11
  141. package/dist/native/index.native106.js +12 -35
  142. package/dist/native/index.native107.js +35 -41
  143. package/dist/native/index.native108.js +38 -75
  144. package/dist/native/index.native109.js +81 -0
  145. package/dist/native/index.native11.js +20 -30
  146. package/dist/native/index.native12.js +30 -7
  147. package/dist/native/index.native13.js +9 -15
  148. package/dist/native/index.native14.js +14 -15
  149. package/dist/native/index.native15.js +13 -116
  150. package/dist/native/index.native16.js +116 -11
  151. package/dist/native/index.native17.js +14 -42
  152. package/dist/native/index.native18.js +42 -20
  153. package/dist/native/index.native19.js +20 -172
  154. package/dist/native/index.native2.js +3 -3
  155. package/dist/native/index.native20.js +170 -39
  156. package/dist/native/index.native21.js +41 -49
  157. package/dist/native/index.native22.js +47 -70
  158. package/dist/native/index.native23.js +69 -23
  159. package/dist/native/index.native24.js +22 -156
  160. package/dist/native/index.native25.js +157 -45
  161. package/dist/native/index.native26.js +43 -245
  162. package/dist/native/index.native27.js +247 -53
  163. package/dist/native/index.native28.js +56 -17
  164. package/dist/native/index.native29.js +15 -21
  165. package/dist/native/index.native3.js +40 -30
  166. package/dist/native/index.native30.js +21 -49
  167. package/dist/native/index.native31.js +50 -8
  168. package/dist/native/index.native32.js +8 -17
  169. package/dist/native/index.native33.js +16 -44
  170. package/dist/native/index.native34.js +45 -13
  171. package/dist/native/index.native35.js +13 -55
  172. package/dist/native/index.native36.js +55 -6
  173. package/dist/native/index.native37.js +6 -21
  174. package/dist/native/index.native38.js +21 -11
  175. package/dist/native/index.native39.js +11 -3
  176. package/dist/native/index.native4.js +67 -21
  177. package/dist/native/index.native40.js +3 -3
  178. package/dist/native/index.native41.js +3 -34
  179. package/dist/native/index.native42.js +32 -10
  180. package/dist/native/index.native43.js +12 -4
  181. package/dist/native/index.native44.js +4 -28
  182. package/dist/native/index.native45.js +28 -6
  183. package/dist/native/index.native46.js +6 -24
  184. package/dist/native/index.native47.js +24 -16
  185. package/dist/native/index.native48.js +16 -54
  186. package/dist/native/index.native49.js +53 -22
  187. package/dist/native/index.native5.js +21 -254
  188. package/dist/native/index.native50.js +23 -11
  189. package/dist/native/index.native51.js +10 -26
  190. package/dist/native/index.native52.js +26 -41
  191. package/dist/native/index.native53.js +41 -54
  192. package/dist/native/index.native54.js +54 -126
  193. package/dist/native/index.native55.js +126 -11
  194. package/dist/native/index.native56.js +9 -101
  195. package/dist/native/index.native57.js +104 -6
  196. package/dist/native/index.native58.js +7 -3
  197. package/dist/native/index.native59.js +3 -15
  198. package/dist/native/index.native6.js +262 -176
  199. package/dist/native/index.native60.js +14 -42
  200. package/dist/native/index.native61.js +38 -74
  201. package/dist/native/index.native62.js +79 -2
  202. package/dist/native/index.native63.js +2 -2
  203. package/dist/native/index.native64.js +2 -13
  204. package/dist/native/index.native65.js +8 -33
  205. package/dist/native/index.native66.js +36 -5
  206. package/dist/native/index.native67.js +5 -33
  207. package/dist/native/index.native68.js +34 -8
  208. package/dist/native/index.native69.js +8 -10
  209. package/dist/native/index.native7.js +213 -115
  210. package/dist/native/index.native70.js +10 -11
  211. package/dist/native/index.native71.js +11 -13
  212. package/dist/native/index.native72.js +13 -18
  213. package/dist/native/index.native73.js +18 -5
  214. package/dist/native/index.native74.js +6 -5
  215. package/dist/native/index.native75.js +5 -11
  216. package/dist/native/index.native76.js +10 -54
  217. package/dist/native/index.native77.js +54 -10
  218. package/dist/native/index.native78.js +11 -2
  219. package/dist/native/index.native79.js +2 -45
  220. package/dist/native/index.native8.js +115 -137
  221. package/dist/native/index.native80.js +44 -13
  222. package/dist/native/index.native81.js +14 -2
  223. package/dist/native/index.native82.js +1 -1
  224. package/dist/native/index.native83.js +2 -20
  225. package/dist/native/index.native84.js +103 -79
  226. package/dist/native/index.native85.js +18 -102
  227. package/dist/native/index.native86.js +79 -32
  228. package/dist/native/index.native87.js +32 -6
  229. package/dist/native/index.native88.js +6 -78
  230. package/dist/native/index.native89.js +2 -2
  231. package/dist/native/index.native9.js +138 -113
  232. package/dist/native/index.native90.js +3 -3
  233. package/dist/native/index.native92.js +3 -3
  234. package/dist/native/index.native93.js +1 -1
  235. package/dist/native/index.native94.js +3 -3
  236. package/dist/native/index.native95.js +79 -10
  237. package/dist/native/index.native96.js +10 -5
  238. package/dist/native/index.native97.js +5 -18
  239. package/dist/native/index.native98.js +18 -28
  240. package/dist/native/index.native99.js +26 -6
  241. package/dist/native-types/auth/authManager.d.ts +3 -0
  242. package/dist/native-types/platform/native/secureStorage.d.ts +2 -0
  243. package/dist/native-types/platform/types.d.ts +7 -0
  244. package/dist/types/auth/authManager.d.ts +3 -0
  245. package/dist/types/platform/native/secureStorage.d.ts +2 -0
  246. package/dist/types/platform/types.d.ts +7 -0
  247. package/dist/web/index.web100.js +13 -28
  248. package/dist/web/index.web101.js +10 -8
  249. package/dist/web/index.web102.js +17 -11
  250. package/dist/web/index.web103.js +80 -12
  251. package/dist/web/index.web104.js +13 -10
  252. package/dist/web/index.web105.js +36 -17
  253. package/dist/web/index.web106.js +40 -79
  254. package/dist/web/index.web26.js +1 -1
  255. package/dist/web/index.web5.js +131 -109
  256. package/dist/web/index.web6.js +65 -38
  257. package/dist/web/index.web75.js +6 -6
  258. package/dist/web/index.web84.js +1 -1
  259. package/dist/web/index.web87.js +21 -10
  260. package/dist/web/index.web88.js +10 -21
  261. package/dist/web/index.web89.js +19 -9
  262. package/dist/web/index.web90.js +89 -15
  263. package/dist/web/index.web91.js +19 -92
  264. package/dist/web/index.web92.js +115 -18
  265. package/dist/web/index.web93.js +73 -112
  266. package/dist/web/index.web94.js +10 -79
  267. package/dist/web/index.web96.js +18 -13
  268. package/dist/web/index.web97.js +27 -35
  269. package/dist/web/index.web98.js +7 -41
  270. package/dist/web/index.web99.js +11 -18
  271. package/dist/web-types/auth/authManager.d.ts +3 -0
  272. package/dist/web-types/platform/native/secureStorage.d.ts +2 -0
  273. package/dist/web-types/platform/types.d.ts +7 -0
  274. package/package.json +8 -4
@@ -1,123 +1,145 @@
1
- import { configureCdpApiClient as A, setAuthManager as v, initiateAuthentication as S, createEndUserEvmAccount as E, createEndUserEvmSmartAccount as p, verifyEmailAuthentication as k, verifySmsAuthentication as U, signEvmHashWithEndUserAccount as M, signEvmTransactionWithEndUserAccount as T, sendEvmTransactionWithEndUserAccount as P, signEvmMessageWithEndUserAccount as j, signEvmTypedDataWithEndUserAccount as C, sendUserOperationWithEndUserAccount as O, getUserOperationWithEndUserAccount as x, exportEndUserEvmAccount as H } from "@coinbase/cdp-api-client";
2
- import { AuthManager as W } from "./index.web6.js";
1
+ import { configureCdpApiClient as A, setAuthManager as S, initiateAuthentication as k, createEndUserEvmAccount as E, createEndUserEvmSmartAccount as h, verifyEmailAuthentication as U, verifySmsAuthentication as M, signEvmHashWithEndUserAccount as T, signEvmTransactionWithEndUserAccount as P, sendEvmTransactionWithEndUserAccount as j, signEvmMessageWithEndUserAccount as C, signEvmTypedDataWithEndUserAccount as O, sendUserOperationWithEndUserAccount as x, getUserOperationWithEndUserAccount as H, exportEndUserEvmAccount as W } from "@coinbase/cdp-api-client";
2
+ import { AuthManager as b } from "./index.web6.js";
3
3
  import { toAuthState as m } from "./index.web12.js";
4
- import { withAuth as o } from "./index.web13.js";
5
- import { MockAuthManager as b } from "./index.web14.js";
6
- import { mockUser as h } from "./index.web15.js";
7
- import { getPlatformCrypto as K } from "./index.web2.js";
8
- import { isChainSupportedForCDPSends as D } from "./index.web16.js";
9
- import { getConfig as t, setCoreAuthManager as w, getCoreAuthManager as s, setConfig as z } from "./index.web17.js";
4
+ import { withAuth as i } from "./index.web13.js";
5
+ import { MockAuthManager as K } from "./index.web14.js";
6
+ import { mockUser as p } from "./index.web15.js";
7
+ import { getPlatformServices as f, getPlatformCrypto as D } from "./index.web2.js";
8
+ import { isChainSupportedForCDPSends as _ } from "./index.web16.js";
9
+ import { getConfig as t, setCoreAuthManager as w, getCoreAuthManager as n, setConfig as z } from "./index.web17.js";
10
10
  import "viem";
11
11
  import { serializeTransaction as y } from "./index.web18.js";
12
12
  const Y = async (e) => {
13
13
  if (!e.projectId)
14
14
  throw new Error("Project ID is required");
15
- let n;
15
+ let r;
16
16
  try {
17
- n = t().projectId !== e.projectId;
17
+ r = t().projectId !== e.projectId;
18
18
  } catch {
19
- n = !0;
19
+ r = !0;
20
20
  }
21
21
  if (z(e), t().useMock) {
22
- w(new b(t().projectId));
22
+ w(new K(t().projectId));
23
23
  return;
24
24
  }
25
+ let s;
26
+ try {
27
+ const a = f();
28
+ s = a.secureStorage ? {
29
+ getRefreshToken: () => a.secureStorage.getItem("cdp_refresh_token"),
30
+ setRefreshToken: (c) => a.secureStorage.setItem("cdp_refresh_token", c),
31
+ removeRefreshToken: () => a.secureStorage.removeItem("cdp_refresh_token")
32
+ } : void 0;
33
+ } catch {
34
+ s = void 0;
35
+ }
25
36
  if (A({
26
37
  debugging: t().debugging,
27
- basePath: t().basePath
28
- }), n) {
29
- const r = new W(t().projectId);
30
- w(r), v(r);
38
+ basePath: t().basePath,
39
+ refreshTokenStorage: s
40
+ }), r) {
41
+ const a = new b(t().projectId);
42
+ w(a), S(a);
31
43
  }
32
- await s().ensureInitialized();
44
+ await n().ensureInitialized();
33
45
  }, Z = async (e) => l({
34
46
  email: e.email,
35
47
  type: "email"
36
- }), _ = async (e) => l({
48
+ }), ee = async (e) => l({
37
49
  phoneNumber: e.phoneNumber,
38
50
  type: "sms"
39
- }), ee = async (e) => f(
51
+ }), te = async (e) => v(
40
52
  e,
41
53
  "Mock email OTP verified",
42
- (n, r) => k(n, r)
43
- ), te = async (e) => f(
54
+ (r, s) => U(r, s)
55
+ ), re = async (e) => v(
44
56
  e,
45
57
  "Mock SMS OTP verified",
46
- (n, r) => U(n, r)
47
- ), re = async () => s().getUser(), ne = async () => s().isSignedIn(), se = async () => {
58
+ (r, s) => M(r, s)
59
+ ), se = async () => n().getUser(), ne = async () => n().isSignedIn(), ae = async () => {
48
60
  if (t().useMock) {
49
- await s().signOut();
61
+ await n().signOut();
50
62
  return;
51
63
  }
52
- if (!await s().isSignedIn())
64
+ if (!await n().isSignedIn())
53
65
  throw new Error("User not signed in");
54
- await s().signOut();
55
- }, ae = async () => s().getToken(), ce = (e) => {
56
- s().addAuthStateChangeCallback(e);
57
- }, ie = async (e) => t().useMock ? { signature: "0x0" } : o(e, s(), async ({ user: n, walletSecretId: r }) => ({
58
- signature: (await M(t().projectId, n.userId, {
66
+ await n().signOut();
67
+ try {
68
+ const r = f();
69
+ if (r.secureStorage)
70
+ try {
71
+ await r.secureStorage.removeItem("cdp_refresh_token");
72
+ } catch (s) {
73
+ console.warn("Failed to clear stored refresh token:", s);
74
+ }
75
+ } catch {
76
+ }
77
+ }, ce = async () => n().getToken(), oe = (e) => {
78
+ n().addAuthStateChangeCallback(e);
79
+ }, ie = async (e) => t().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: r, walletSecretId: s }) => ({
80
+ signature: (await T(t().projectId, r.userId, {
59
81
  hash: e.hash,
60
82
  address: e.evmAccount,
61
- walletSecretId: r
83
+ walletSecretId: s
62
84
  })).signature
63
- })), oe = async (e) => t().useMock ? { signedTransaction: "0x0" } : o(e, s(), async ({ user: n, walletSecretId: r }) => {
64
- const i = y(e.transaction);
85
+ })), ue = async (e) => t().useMock ? { signedTransaction: "0x0" } : i(e, n(), async ({ user: r, walletSecretId: s }) => {
86
+ const a = y(e.transaction);
65
87
  return {
66
- signedTransaction: (await T(
88
+ signedTransaction: (await P(
67
89
  t().projectId,
68
- n.userId,
90
+ r.userId,
69
91
  {
70
- transaction: i,
92
+ transaction: a,
71
93
  address: e.evmAccount,
72
- walletSecretId: r
94
+ walletSecretId: s
73
95
  }
74
96
  )).signedTransaction
75
97
  };
76
- }), ue = async (e) => {
77
- if (!D(e.network))
98
+ }), de = async (e) => {
99
+ if (!_(e.network))
78
100
  throw new Error(`Chain ${e.network} is not supported by the CDP Apis`);
79
101
  if (t().useMock)
80
102
  return { transactionHash: "0x0" };
81
- const n = y(e.transaction);
82
- return o(e, s(), async ({ user: r, walletSecretId: i }) => ({
83
- transactionHash: (await P(
103
+ const r = y(e.transaction);
104
+ return i(e, n(), async ({ user: s, walletSecretId: a }) => ({
105
+ transactionHash: (await j(
84
106
  t().projectId,
85
- r.userId,
107
+ s.userId,
86
108
  {
87
- transaction: n,
109
+ transaction: r,
88
110
  address: e.evmAccount,
89
- walletSecretId: i,
111
+ walletSecretId: a,
90
112
  network: e.network
91
113
  }
92
114
  )).transactionHash
93
115
  }));
94
- }, de = async (e) => t().useMock ? { signature: "0x0" } : o(e, s(), async ({ user: n, walletSecretId: r }) => ({
95
- signature: (await j(t().projectId, n.userId, {
116
+ }, me = async (e) => t().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: r, walletSecretId: s }) => ({
117
+ signature: (await C(t().projectId, r.userId, {
96
118
  message: e.message,
97
119
  address: e.evmAccount,
98
- walletSecretId: r
120
+ walletSecretId: s
99
121
  })).signature
100
- })), me = async (e) => t().useMock ? { signature: "0x0" } : o(e, s(), async ({ user: n, walletSecretId: r }) => ({
101
- signature: (await C(t().projectId, n.userId, {
122
+ })), ge = async (e) => t().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: r, walletSecretId: s }) => ({
123
+ signature: (await O(t().projectId, r.userId, {
102
124
  typedData: e.typedData,
103
125
  address: e.evmAccount,
104
- walletSecretId: r
126
+ walletSecretId: s
105
127
  })).signature
106
- })), ge = async (e) => t().useMock ? {
128
+ })), he = async (e) => t().useMock ? {
107
129
  userOperationHash: "0x1234567890123456789012345678901234567890123456789012345678901234"
108
- } : o(e, s(), async ({ user: n, walletSecretId: r }) => ({
109
- userOperationHash: (await O(
130
+ } : i(e, n(), async ({ user: r, walletSecretId: s }) => ({
131
+ userOperationHash: (await x(
110
132
  t().projectId,
111
- n.userId,
133
+ r.userId,
112
134
  e.evmSmartAccount,
113
135
  {
114
136
  network: e.network,
115
- calls: e.calls.map((a) => ({
116
- to: a.to,
117
- value: String(a.value ?? 0n),
118
- data: a.data ?? "0x"
137
+ calls: e.calls.map((c) => ({
138
+ to: c.to,
139
+ value: String(c.value ?? 0n),
140
+ data: c.data ?? "0x"
119
141
  })),
120
- walletSecretId: r,
142
+ walletSecretId: s,
121
143
  useCdpPaymaster: e.useCdpPaymaster ?? !1,
122
144
  paymasterUrl: e.paymasterUrl
123
145
  }
@@ -135,27 +157,27 @@ const Y = async (e) => {
135
157
  status: "complete",
136
158
  transactionHash: "0x9876543210987654321098765432109876543210987654321098765432109876",
137
159
  receipts: []
138
- } : o(e, s(), async ({ user: n }) => await x(
160
+ } : i(e, n(), async ({ user: r }) => await H(
139
161
  t().projectId,
140
- n.userId,
162
+ r.userId,
141
163
  e.evmSmartAccount,
142
164
  e.userOperationHash
143
- )), he = async (e) => {
165
+ )), we = async (e) => {
144
166
  if (t().useMock)
145
167
  return {
146
168
  privateKey: "mock-private-key"
147
169
  };
148
- const n = K(), r = await n.createExportKeyPair();
149
- return o(e, s(), async ({ user: i, walletSecretId: a }) => {
150
- const c = await H(t().projectId, i.userId, {
170
+ const r = D(), s = await r.createExportKeyPair();
171
+ return i(e, n(), async ({ user: a, walletSecretId: c }) => {
172
+ const o = await W(t().projectId, a.userId, {
151
173
  address: e.evmAccount,
152
- walletSecretId: a,
153
- exportEncryptionKey: r.publicKeyBase64
174
+ walletSecretId: c,
175
+ exportEncryptionKey: s.publicKeyBase64
154
176
  });
155
177
  return {
156
- privateKey: await n.decryptWithPrivateKey(
157
- r.privateKey,
158
- c.encryptedPrivateKey
178
+ privateKey: await r.decryptWithPrivateKey(
179
+ s.privateKey,
180
+ o.encryptedPrivateKey
159
181
  )
160
182
  };
161
183
  });
@@ -165,42 +187,42 @@ const Y = async (e) => {
165
187
  message: "Mock sign in initiated",
166
188
  flowId: "mock-flow-id"
167
189
  };
168
- if (await s().isSignedIn())
190
+ if (await n().isSignedIn())
169
191
  throw new Error("User is already authenticated. Please sign out first.");
170
- const r = await S(t().projectId, e);
192
+ const s = await k(t().projectId, e);
171
193
  return {
172
- flowId: r.flowId,
173
- message: r.message
194
+ flowId: s.flowId,
195
+ message: s.message
174
196
  };
175
- }, f = async (e, n, r) => {
197
+ }, v = async (e, r, s) => {
176
198
  if (t().useMock)
177
- return await s().setAuthState({
199
+ return await n().setAuthState({
178
200
  accessToken: "mock-access-token",
179
201
  expiresAt: Date.now() + 1e3 * 60 * 60 * 24,
180
- user: h
202
+ user: p
181
203
  }), {
182
- message: n,
183
- user: h,
204
+ message: r,
205
+ user: p,
184
206
  isNewUser: !1
185
207
  };
186
- if (await s().isSignedIn())
208
+ if (await n().isSignedIn())
187
209
  throw new Error("User is already authenticated. Please sign out first.");
188
- const a = await r(t().projectId, {
210
+ const c = await s(t().projectId, {
189
211
  flowId: e.flowId,
190
212
  otp: e.otp
191
213
  });
192
- let c = m(a.accessToken, a.validUntil, a.endUser);
193
- if (await s().setAuthState(c), !c.user.evmAccounts || c.user.evmAccounts.length === 0)
214
+ let o = m(c.accessToken, c.validUntil, c.endUser);
215
+ if (await n().setAuthState(o), !o.user.evmAccounts || o.user.evmAccounts.length === 0)
194
216
  try {
195
- const u = await s().getWalletSecretId();
196
- let d = await E(t().projectId, c.user.userId, {
217
+ const u = await n().getWalletSecretId();
218
+ let d = await E(t().projectId, o.user.userId, {
197
219
  walletSecretId: u
198
220
  });
199
221
  if (t().createAccountOnLogin === "evm-smart") {
200
222
  const [I] = d.evmAccounts;
201
- d = await p(
223
+ d = await h(
202
224
  t().projectId,
203
- c.user.userId,
225
+ o.user.userId,
204
226
  {
205
227
  owner: I,
206
228
  enableSpendPermissions: !1
@@ -208,49 +230,49 @@ const Y = async (e) => {
208
230
  }
209
231
  );
210
232
  }
211
- c = m(a.accessToken, a.validUntil, d), await s().setAuthState(c);
233
+ o = m(c.accessToken, c.validUntil, d), await n().setAuthState(o);
212
234
  } catch (u) {
213
235
  throw new Error(`Failed to create EVM account: ${u}`);
214
236
  }
215
- if (t().createAccountOnLogin === "evm-smart" && (!c.user.evmSmartAccounts || c.user.evmSmartAccounts.length === 0))
237
+ if (t().createAccountOnLogin === "evm-smart" && (!o.user.evmSmartAccounts || o.user.evmSmartAccounts.length === 0))
216
238
  try {
217
- const [u] = c.user.evmAccounts, d = await p(
239
+ const [u] = o.user.evmAccounts, d = await h(
218
240
  t().projectId,
219
- c.user.userId,
241
+ o.user.userId,
220
242
  {
221
243
  owner: u,
222
244
  enableSpendPermissions: !1
223
245
  // Defaulting to false until the feature is ready.
224
246
  }
225
247
  );
226
- c = m(a.accessToken, a.validUntil, d), await s().setAuthState(c);
248
+ o = m(c.accessToken, c.validUntil, d), await n().setAuthState(o);
227
249
  } catch (u) {
228
250
  throw new Error(`Failed to create EVM Smart Account: ${u}`);
229
251
  }
230
- const g = await s().getUser();
252
+ const g = await n().getUser();
231
253
  return {
232
- message: a.message,
254
+ message: c.message,
233
255
  user: g,
234
- isNewUser: a.isNewEndUser
256
+ isNewUser: c.isNewEndUser
235
257
  };
236
258
  };
237
259
  export {
238
- he as exportEvmAccount,
239
- ae as getAccessToken,
240
- re as getCurrentUser,
260
+ we as exportEvmAccount,
261
+ ce as getAccessToken,
262
+ se as getCurrentUser,
241
263
  pe as getUserOperation,
242
264
  Y as initialize,
243
265
  ne as isSignedIn,
244
- ce as onAuthStateChange,
245
- ue as sendEvmTransaction,
246
- ge as sendUserOperation,
266
+ oe as onAuthStateChange,
267
+ de as sendEvmTransaction,
268
+ he as sendUserOperation,
247
269
  ie as signEvmHash,
248
- de as signEvmMessage,
249
- oe as signEvmTransaction,
250
- me as signEvmTypedData,
270
+ me as signEvmMessage,
271
+ ue as signEvmTransaction,
272
+ ge as signEvmTypedData,
251
273
  Z as signInWithEmail,
252
- _ as signInWithSms,
253
- se as signOut,
254
- ee as verifyEmailOTP,
255
- te as verifySmsOTP
274
+ ee as signInWithSms,
275
+ ae as signOut,
276
+ te as verifyEmailOTP,
277
+ re as verifySmsOTP
256
278
  };
@@ -1,23 +1,24 @@
1
1
  import { logOutEndUser as l, refreshAccessToken as c, registerTemporaryWalletSecret as o } from "@coinbase/cdp-api-client";
2
2
  import { SignJWT as u } from "./index.web19.js";
3
3
  import "viem";
4
- import { toAuthState as S } from "./index.web12.js";
4
+ import { toAuthState as f } from "./index.web12.js";
5
5
  import { getPlatformCrypto as n } from "./index.web2.js";
6
- import { sortKeys as w } from "./index.web16.js";
7
- const h = 60 * 1e3;
8
- class A {
6
+ import { sortKeys as S } from "./index.web16.js";
7
+ const i = 60 * 1e3;
8
+ class p {
9
9
  projectId;
10
10
  authState = null;
11
11
  walletSecret = null;
12
12
  authStateChangeCallbacks = [];
13
13
  initPromise = null;
14
+ refreshTimeout = null;
14
15
  /**
15
16
  * Initializes the token manager.
16
17
  *
17
18
  * @param projectId - The project ID.
18
19
  */
19
- constructor(t) {
20
- this.projectId = t, this.initPromise = this._doInitialize();
20
+ constructor(e) {
21
+ this.projectId = e, this.initPromise = this._doInitialize();
21
22
  }
22
23
  /**
23
24
  * Gets the current user, or null if there is no user signed in.
@@ -29,12 +30,20 @@ class A {
29
30
  }
30
31
  /**
31
32
  * Returns whether the user is signed in - i.e., whether there is an unexpired
32
- * access token and user.
33
+ * access token and user. Attempts to refresh the token if it's expired.
33
34
  *
34
35
  * @returns True if the user is signed in, false otherwise.
35
36
  */
36
37
  async isSignedIn() {
37
- return this.authState ? Promise.resolve(this.authState.expiresAt > Date.now()) : Promise.resolve(!1);
38
+ if (!this.authState)
39
+ return !1;
40
+ if (this.authState.expiresAt > Date.now() + i)
41
+ return !0;
42
+ try {
43
+ return await this.getToken() !== null;
44
+ } catch {
45
+ return !1;
46
+ }
38
47
  }
39
48
  /**
40
49
  * Signs out the user, clearing all authentication state.
@@ -52,8 +61,8 @@ class A {
52
61
  *
53
62
  * @param callback - The function to call when the auth state changes.
54
63
  */
55
- addAuthStateChangeCallback(t) {
56
- this.authStateChangeCallbacks.push(t), t(this.authState?.user ?? null);
64
+ addAuthStateChangeCallback(e) {
65
+ this.authStateChangeCallbacks.push(e), e(this.authState?.user ?? null);
57
66
  }
58
67
  /**
59
68
  * Gets the access token, refreshing it if it is expired. Returns null if the user is not
@@ -84,32 +93,32 @@ class A {
84
93
  * @param options.requestData - The data of the request.
85
94
  * @returns The X-Wallet-Auth header.
86
95
  */
87
- async getXWalletAuth(t) {
96
+ async getXWalletAuth(e) {
88
97
  if (!await this.isSignedIn())
89
98
  throw new Error("Cannot get X-Wallet-Auth header if the user is not signed in");
90
99
  this.shouldRefreshWalletSecret() && await this.refreshWalletSecret();
91
- const e = `${t.requestMethod} ${t.requestHost}${t.requestPath}`, a = Math.floor(Date.now() / 1e3), r = n(), s = {
92
- uris: [e]
100
+ const t = `${e.requestMethod} ${e.requestHost}${e.requestPath}`, r = Math.floor(Date.now() / 1e3), s = n(), a = {
101
+ uris: [t]
93
102
  };
94
- if (t.requestData && Object.keys(t.requestData).length > 0) {
95
- const i = w(t.requestData);
96
- s.reqHash = await r.hash(new TextEncoder().encode(JSON.stringify(i)));
103
+ if (e.requestData && Object.keys(e.requestData).length > 0) {
104
+ const h = S(e.requestData);
105
+ a.reqHash = await s.hash(new TextEncoder().encode(JSON.stringify(h)));
97
106
  }
98
- return await new u(s).setProtectedHeader({ alg: "ES256", typ: "JWT" }).setIssuedAt(a).setNotBefore(a).setJti(r.generateRandomId()).sign(this.walletSecret.keyPair.privateKey);
107
+ return await new u(a).setProtectedHeader({ alg: "ES256", typ: "JWT" }).setIssuedAt(r).setNotBefore(r).setJti(s.generateRandomId()).sign(this.walletSecret.keyPair.privateKey);
99
108
  }
100
109
  /**
101
110
  * Sets the authentication state.
102
111
  *
103
112
  * @param authState - The authentication state.
104
113
  */
105
- async setAuthState(t) {
106
- this.authState = t, this.authStateChangeCallbacks.forEach((e) => e(this.authState?.user ?? null));
114
+ async setAuthState(e) {
115
+ this.authState = e, this.authStateChangeCallbacks.forEach((t) => t(this.authState?.user ?? null)), this.scheduleTokenRefresh();
107
116
  }
108
117
  /**
109
118
  * Clears the authentication state.
110
119
  */
111
120
  async clearAuthState() {
112
- this.authState = null, this.walletSecret = null, this.authStateChangeCallbacks.forEach((t) => t(null));
121
+ this.authState = null, this.walletSecret = null, this.cancelTokenRefresh(), this.authStateChangeCallbacks.forEach((e) => e(null));
113
122
  }
114
123
  /**
115
124
  * Ensures the AuthManager is initialized before proceeding.
@@ -128,8 +137,8 @@ class A {
128
137
  async _doInitialize() {
129
138
  try {
130
139
  await this.refreshAccessToken();
131
- } catch (t) {
132
- console.warn("Failed to refresh access token during initialization:", t);
140
+ } catch (e) {
141
+ console.warn("Failed to refresh access token during initialization:", e);
133
142
  }
134
143
  }
135
144
  /**
@@ -138,7 +147,7 @@ class A {
138
147
  * @returns True if the token should be refreshed, false otherwise.
139
148
  */
140
149
  shouldRefreshToken() {
141
- return !(this.authState && this.authState.expiresAt > Date.now() + h);
150
+ return !(this.authState && this.authState.expiresAt > Date.now() + i);
142
151
  }
143
152
  /**
144
153
  * Refreshes the access token and transitions the auth state accordingly.
@@ -148,14 +157,14 @@ class A {
148
157
  */
149
158
  async refreshAccessToken() {
150
159
  try {
151
- const t = await c(this.projectId, {
160
+ const e = await c(this.projectId, {
152
161
  grantType: "refresh_token"
153
- }), e = S(
154
- t.accessToken,
155
- t.validUntil,
156
- t.endUser
162
+ }), t = f(
163
+ e.accessToken,
164
+ e.validUntil,
165
+ e.endUser
157
166
  );
158
- await this.setAuthState(e);
167
+ await this.setAuthState(t);
159
168
  } catch {
160
169
  await this.signOut();
161
170
  }
@@ -166,7 +175,7 @@ class A {
166
175
  * @returns True if the wallet secret should be refreshed, false otherwise.
167
176
  */
168
177
  shouldRefreshWalletSecret() {
169
- return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() + h);
178
+ return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() + i);
170
179
  }
171
180
  /**
172
181
  * Refreshes the wallet secret. Assumes the user is signed in.
@@ -174,19 +183,37 @@ class A {
174
183
  * @returns The wallet secret.
175
184
  */
176
185
  async refreshWalletSecret() {
177
- const t = n(), e = this.walletSecret?.walletSecretId ?? t.generateRandomId(), a = this.walletSecret?.keyPair ?? await t.createKeyPair(), r = this.authState.expiresAt, s = new Date(r).toISOString();
178
- this.walletSecret = { walletSecretId: e, keyPair: a, expiresAt: r };
186
+ const e = n(), t = this.walletSecret?.walletSecretId ?? e.generateRandomId(), r = this.walletSecret?.keyPair ?? await e.createKeyPair(), s = this.authState.expiresAt, a = new Date(s).toISOString();
187
+ this.walletSecret = { walletSecretId: t, keyPair: r, expiresAt: s };
179
188
  try {
180
189
  await o(this.projectId, this.authState.user.userId, {
181
- walletSecretId: e,
182
- publicKey: a.publicKeyBase64,
183
- validUntil: s
190
+ walletSecretId: t,
191
+ publicKey: r.publicKeyBase64,
192
+ validUntil: a
184
193
  });
185
- } catch (i) {
186
- throw this.walletSecret = null, i;
194
+ } catch (h) {
195
+ throw this.walletSecret = null, h;
187
196
  }
188
197
  }
198
+ /**
199
+ * Schedules a token refresh to occur exactly when shouldRefreshToken() would return true.
200
+ * Uses the same REFRESH_CREDENTIALS_BUFFER_MS timing as the rest of the auth system.
201
+ */
202
+ scheduleTokenRefresh() {
203
+ if (this.cancelTokenRefresh(), !this.authState)
204
+ return;
205
+ const t = this.authState.expiresAt - i - Date.now();
206
+ t <= 0 || (this.refreshTimeout = setTimeout(async () => {
207
+ await this.refreshAccessToken(), this.scheduleTokenRefresh();
208
+ }, t));
209
+ }
210
+ /**
211
+ * Cancels any scheduled token refresh.
212
+ */
213
+ cancelTokenRefresh() {
214
+ this.refreshTimeout && (clearTimeout(this.refreshTimeout), this.refreshTimeout = null);
215
+ }
189
216
  }
190
217
  export {
191
- A as AuthManager
218
+ p as AuthManager
192
219
  };
@@ -1,11 +1,11 @@
1
- import { encode as d } from "./index.web88.js";
2
- import y from "./index.web89.js";
3
- import b from "./index.web90.js";
1
+ import { encode as d } from "./index.web87.js";
2
+ import y from "./index.web88.js";
3
+ import b from "./index.web89.js";
4
4
  import { JWSInvalid as r } from "./index.web28.js";
5
5
  import { encoder as s, concat as u, decoder as h } from "./index.web76.js";
6
- import g from "./index.web91.js";
7
- import H from "./index.web92.js";
8
- import P from "./index.web93.js";
6
+ import g from "./index.web90.js";
7
+ import H from "./index.web91.js";
8
+ import P from "./index.web92.js";
9
9
  class x {
10
10
  #r;
11
11
  #e;
@@ -1,4 +1,4 @@
1
- import { HashMD as D, SHA256_IV as b, Chi as g, Maj as p } from "./index.web94.js";
1
+ import { HashMD as D, SHA256_IV as b, Chi as g, Maj as p } from "./index.web93.js";
2
2
  import { createHasher as u, clean as C, rotr as i } from "./index.web83.js";
3
3
  const B = /* @__PURE__ */ Uint32Array.from([
4
4
  1116352408,
@@ -1,12 +1,23 @@
1
- import { contracts as o } from "./index.web96.js";
2
- import { formatters as r } from "./index.web97.js";
3
- import { serializers as t } from "./index.web98.js";
4
- const e = {
5
- blockTime: 2e3,
6
- contracts: o,
7
- formatters: r,
8
- serializers: t
9
- };
1
+ import { encoder as t, decoder as o } from "./index.web76.js";
2
+ import { encodeBase64 as c, decodeBase64 as a } from "./index.web96.js";
3
+ function i(r) {
4
+ if (Uint8Array.fromBase64)
5
+ return Uint8Array.fromBase64(typeof r == "string" ? r : o.decode(r), {
6
+ alphabet: "base64url"
7
+ });
8
+ let e = r;
9
+ e instanceof Uint8Array && (e = o.decode(e)), e = e.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
10
+ try {
11
+ return a(e);
12
+ } catch {
13
+ throw new TypeError("The input to be decoded is not correctly encoded.");
14
+ }
15
+ }
16
+ function p(r) {
17
+ let e = r;
18
+ return typeof e == "string" && (e = t.encode(e)), Uint8Array.prototype.toBase64 ? e.toBase64({ alphabet: "base64url", omitPadding: !0 }) : c(e).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
19
+ }
10
20
  export {
11
- e as chainConfig
21
+ i as decode,
22
+ p as encode
12
23
  };