@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,192 +1,278 @@
1
- import { logOutEndUser as l, refreshAccessToken as c, registerTemporaryWalletSecret as o } from "@coinbase/cdp-api-client";
2
- import { SignJWT as u } from "./index.native20.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.native7.js";
3
+ import { toAuthState as m } from "./index.native14.js";
4
+ import { withAuth as i } from "./index.native15.js";
5
+ import { MockAuthManager as K } from "./index.native16.js";
6
+ import { mockUser as p } from "./index.native17.js";
7
+ import { getPlatformServices as f, getPlatformCrypto as D } from "./index.native5.js";
8
+ import { isChainSupportedForCDPSends as _ } from "./index.native18.js";
9
+ import { getConfig as t, setCoreAuthManager as w, getCoreAuthManager as n, setConfig as z } from "./index.native19.js";
3
10
  import "viem";
4
- import { toAuthState as S } from "./index.native13.js";
5
- import { getPlatformCrypto as n } from "./index.native4.js";
6
- import { sortKeys as w } from "./index.native17.js";
7
- const h = 60 * 1e3;
8
- class A {
9
- projectId;
10
- authState = null;
11
- walletSecret = null;
12
- authStateChangeCallbacks = [];
13
- initPromise = null;
14
- /**
15
- * Initializes the token manager.
16
- *
17
- * @param projectId - The project ID.
18
- */
19
- constructor(t) {
20
- this.projectId = t, this.initPromise = this._doInitialize();
11
+ import { serializeTransaction as y } from "./index.native20.js";
12
+ const Y = async (e) => {
13
+ if (!e.projectId)
14
+ throw new Error("Project ID is required");
15
+ let r;
16
+ try {
17
+ r = t().projectId !== e.projectId;
18
+ } catch {
19
+ r = !0;
21
20
  }
22
- /**
23
- * Gets the current user, or null if there is no user signed in.
24
- *
25
- * @returns The current user.
26
- */
27
- async getUser() {
28
- return this.authState?.user ?? null;
21
+ if (z(e), t().useMock) {
22
+ w(new K(t().projectId));
23
+ return;
29
24
  }
30
- /**
31
- * Returns whether the user is signed in - i.e., whether there is an unexpired
32
- * access token and user.
33
- *
34
- * @returns True if the user is signed in, false otherwise.
35
- */
36
- async isSignedIn() {
37
- return this.authState ? Promise.resolve(this.authState.expiresAt > Date.now()) : Promise.resolve(!1);
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;
38
35
  }
39
- /**
40
- * Signs out the user, clearing all authentication state.
41
- */
42
- async signOut() {
43
- try {
44
- await l(this.projectId);
45
- } catch {
46
- } finally {
47
- await this.clearAuthState();
48
- }
49
- }
50
- /**
51
- * Adds a callback to be called when the auth state changes.
52
- *
53
- * @param callback - The function to call when the auth state changes.
54
- */
55
- addAuthStateChangeCallback(t) {
56
- this.authStateChangeCallbacks.push(t), t(this.authState?.user ?? null);
36
+ if (A({
37
+ debugging: t().debugging,
38
+ basePath: t().basePath,
39
+ refreshTokenStorage: s
40
+ }), r) {
41
+ const a = new b(t().projectId);
42
+ w(a), S(a);
57
43
  }
58
- /**
59
- * Gets the access token, refreshing it if it is expired. Returns null if the user is not
60
- * signed in.
61
- *
62
- * @returns The access token.
63
- */
64
- async getToken() {
65
- return this.shouldRefreshToken() && await this.refreshAccessToken(), this.authState?.accessToken ?? null;
44
+ await n().ensureInitialized();
45
+ }, Z = async (e) => l({
46
+ email: e.email,
47
+ type: "email"
48
+ }), ee = async (e) => l({
49
+ phoneNumber: e.phoneNumber,
50
+ type: "sms"
51
+ }), te = async (e) => v(
52
+ e,
53
+ "Mock email OTP verified",
54
+ (r, s) => U(r, s)
55
+ ), re = async (e) => v(
56
+ e,
57
+ "Mock SMS OTP verified",
58
+ (r, s) => M(r, s)
59
+ ), se = async () => n().getUser(), ne = async () => n().isSignedIn(), ae = async () => {
60
+ if (t().useMock) {
61
+ await n().signOut();
62
+ return;
66
63
  }
67
- /**
68
- * Gets the currently registered wallet secret ID. Rejects if the user is not signed in.
69
- *
70
- * @returns The wallet secret ID.
71
- */
72
- async getWalletSecretId() {
73
- if (!await this.isSignedIn())
74
- throw new Error("Cannot get wallet secret ID if the user is not signed in");
75
- return this.shouldRefreshWalletSecret() && await this.refreshWalletSecret(), this.walletSecret.walletSecretId;
64
+ if (!await n().isSignedIn())
65
+ throw new Error("User not signed in");
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
76
  }
77
- /**
78
- * Gets the X-Wallet-Auth header. Rejects if the user is not signed in.
79
- *
80
- * @param options - The options for the request.
81
- * @param options.requestMethod - The HTTP method of the request.
82
- * @param options.requestHost - The host of the request.
83
- * @param options.requestPath - The path of the request.
84
- * @param options.requestData - The data of the request.
85
- * @returns The X-Wallet-Auth header.
86
- */
87
- async getXWalletAuth(t) {
88
- if (!await this.isSignedIn())
89
- throw new Error("Cannot get X-Wallet-Auth header if the user is not signed in");
90
- 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]
93
- };
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)));
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, {
81
+ hash: e.hash,
82
+ address: e.evmAccount,
83
+ walletSecretId: s
84
+ })).signature
85
+ })), ue = async (e) => t().useMock ? { signedTransaction: "0x0" } : i(e, n(), async ({ user: r, walletSecretId: s }) => {
86
+ const a = y(e.transaction);
87
+ return {
88
+ signedTransaction: (await P(
89
+ t().projectId,
90
+ r.userId,
91
+ {
92
+ transaction: a,
93
+ address: e.evmAccount,
94
+ walletSecretId: s
95
+ }
96
+ )).signedTransaction
97
+ };
98
+ }), de = async (e) => {
99
+ if (!_(e.network))
100
+ throw new Error(`Chain ${e.network} is not supported by the CDP Apis`);
101
+ if (t().useMock)
102
+ return { transactionHash: "0x0" };
103
+ const r = y(e.transaction);
104
+ return i(e, n(), async ({ user: s, walletSecretId: a }) => ({
105
+ transactionHash: (await j(
106
+ t().projectId,
107
+ s.userId,
108
+ {
109
+ transaction: r,
110
+ address: e.evmAccount,
111
+ walletSecretId: a,
112
+ network: e.network
113
+ }
114
+ )).transactionHash
115
+ }));
116
+ }, me = async (e) => t().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: r, walletSecretId: s }) => ({
117
+ signature: (await C(t().projectId, r.userId, {
118
+ message: e.message,
119
+ address: e.evmAccount,
120
+ walletSecretId: s
121
+ })).signature
122
+ })), ge = async (e) => t().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: r, walletSecretId: s }) => ({
123
+ signature: (await O(t().projectId, r.userId, {
124
+ typedData: e.typedData,
125
+ address: e.evmAccount,
126
+ walletSecretId: s
127
+ })).signature
128
+ })), he = async (e) => t().useMock ? {
129
+ userOperationHash: "0x1234567890123456789012345678901234567890123456789012345678901234"
130
+ } : i(e, n(), async ({ user: r, walletSecretId: s }) => ({
131
+ userOperationHash: (await x(
132
+ t().projectId,
133
+ r.userId,
134
+ e.evmSmartAccount,
135
+ {
136
+ network: e.network,
137
+ calls: e.calls.map((c) => ({
138
+ to: c.to,
139
+ value: String(c.value ?? 0n),
140
+ data: c.data ?? "0x"
141
+ })),
142
+ walletSecretId: s,
143
+ useCdpPaymaster: e.useCdpPaymaster ?? !1,
144
+ paymasterUrl: e.paymasterUrl
97
145
  }
98
- return await new u(s).setProtectedHeader({ alg: "ES256", typ: "JWT" }).setIssuedAt(a).setNotBefore(a).setJti(r.generateRandomId()).sign(this.walletSecret.keyPair.privateKey);
99
- }
100
- /**
101
- * Sets the authentication state.
102
- *
103
- * @param authState - The authentication state.
104
- */
105
- async setAuthState(t) {
106
- this.authState = t, this.authStateChangeCallbacks.forEach((e) => e(this.authState?.user ?? null));
107
- }
108
- /**
109
- * Clears the authentication state.
110
- */
111
- async clearAuthState() {
112
- this.authState = null, this.walletSecret = null, this.authStateChangeCallbacks.forEach((t) => t(null));
113
- }
114
- /**
115
- * Ensures the AuthManager is initialized before proceeding.
116
- * If initialization is already in progress, waits for it to complete.
117
- */
118
- async ensureInitialized() {
119
- if (this.initPromise) {
120
- await this.initPromise;
121
- return;
146
+ )).userOpHash
147
+ })), pe = async (e) => t().useMock ? {
148
+ userOpHash: e.userOperationHash,
149
+ network: e.network,
150
+ calls: [
151
+ {
152
+ to: "0x1234567890123456789012345678901234567890",
153
+ value: "0",
154
+ data: "0x"
122
155
  }
123
- throw new Error("AuthManager not initialized");
124
- }
125
- /**
126
- * Internal async initialization logic.
127
- */
128
- async _doInitialize() {
156
+ ],
157
+ status: "complete",
158
+ transactionHash: "0x9876543210987654321098765432109876543210987654321098765432109876",
159
+ receipts: []
160
+ } : i(e, n(), async ({ user: r }) => await H(
161
+ t().projectId,
162
+ r.userId,
163
+ e.evmSmartAccount,
164
+ e.userOperationHash
165
+ )), we = async (e) => {
166
+ if (t().useMock)
167
+ return {
168
+ privateKey: "mock-private-key"
169
+ };
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, {
173
+ address: e.evmAccount,
174
+ walletSecretId: c,
175
+ exportEncryptionKey: s.publicKeyBase64
176
+ });
177
+ return {
178
+ privateKey: await r.decryptWithPrivateKey(
179
+ s.privateKey,
180
+ o.encryptedPrivateKey
181
+ )
182
+ };
183
+ });
184
+ }, l = async (e) => {
185
+ if (t().useMock)
186
+ return {
187
+ message: "Mock sign in initiated",
188
+ flowId: "mock-flow-id"
189
+ };
190
+ if (await n().isSignedIn())
191
+ throw new Error("User is already authenticated. Please sign out first.");
192
+ const s = await k(t().projectId, e);
193
+ return {
194
+ flowId: s.flowId,
195
+ message: s.message
196
+ };
197
+ }, v = async (e, r, s) => {
198
+ if (t().useMock)
199
+ return await n().setAuthState({
200
+ accessToken: "mock-access-token",
201
+ expiresAt: Date.now() + 1e3 * 60 * 60 * 24,
202
+ user: p
203
+ }), {
204
+ message: r,
205
+ user: p,
206
+ isNewUser: !1
207
+ };
208
+ if (await n().isSignedIn())
209
+ throw new Error("User is already authenticated. Please sign out first.");
210
+ const c = await s(t().projectId, {
211
+ flowId: e.flowId,
212
+ otp: e.otp
213
+ });
214
+ let o = m(c.accessToken, c.validUntil, c.endUser);
215
+ if (await n().setAuthState(o), !o.user.evmAccounts || o.user.evmAccounts.length === 0)
129
216
  try {
130
- await this.refreshAccessToken();
131
- } catch (t) {
132
- console.warn("Failed to refresh access token during initialization:", t);
217
+ const u = await n().getWalletSecretId();
218
+ let d = await E(t().projectId, o.user.userId, {
219
+ walletSecretId: u
220
+ });
221
+ if (t().createAccountOnLogin === "evm-smart") {
222
+ const [I] = d.evmAccounts;
223
+ d = await h(
224
+ t().projectId,
225
+ o.user.userId,
226
+ {
227
+ owner: I,
228
+ enableSpendPermissions: !1
229
+ // Defaulting to false until the feature is ready.
230
+ }
231
+ );
232
+ }
233
+ o = m(c.accessToken, c.validUntil, d), await n().setAuthState(o);
234
+ } catch (u) {
235
+ throw new Error(`Failed to create EVM account: ${u}`);
133
236
  }
134
- }
135
- /**
136
- * Returns whether the token should be refreshed.
137
- *
138
- * @returns True if the token should be refreshed, false otherwise.
139
- */
140
- shouldRefreshToken() {
141
- return !(this.authState && this.authState.expiresAt > Date.now() + h);
142
- }
143
- /**
144
- * Refreshes the access token and transitions the auth state accordingly.
145
- * If a refresh is already in progress, it will wait for that refresh to complete.
146
- *
147
- * @returns The new access token.
148
- */
149
- async refreshAccessToken() {
237
+ if (t().createAccountOnLogin === "evm-smart" && (!o.user.evmSmartAccounts || o.user.evmSmartAccounts.length === 0))
150
238
  try {
151
- const t = await c(this.projectId, {
152
- grantType: "refresh_token"
153
- }), e = S(
154
- t.accessToken,
155
- t.validUntil,
156
- t.endUser
239
+ const [u] = o.user.evmAccounts, d = await h(
240
+ t().projectId,
241
+ o.user.userId,
242
+ {
243
+ owner: u,
244
+ enableSpendPermissions: !1
245
+ // Defaulting to false until the feature is ready.
246
+ }
157
247
  );
158
- await this.setAuthState(e);
159
- } catch {
160
- await this.signOut();
248
+ o = m(c.accessToken, c.validUntil, d), await n().setAuthState(o);
249
+ } catch (u) {
250
+ throw new Error(`Failed to create EVM Smart Account: ${u}`);
161
251
  }
162
- }
163
- /**
164
- * Returns whether the wallet secret should be refreshed.
165
- *
166
- * @returns True if the wallet secret should be refreshed, false otherwise.
167
- */
168
- shouldRefreshWalletSecret() {
169
- return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() + h);
170
- }
171
- /**
172
- * Refreshes the wallet secret. Assumes the user is signed in.
173
- *
174
- * @returns The wallet secret.
175
- */
176
- 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 };
179
- try {
180
- await o(this.projectId, this.authState.user.userId, {
181
- walletSecretId: e,
182
- publicKey: a.publicKeyBase64,
183
- validUntil: s
184
- });
185
- } catch (i) {
186
- throw this.walletSecret = null, i;
187
- }
188
- }
189
- }
252
+ const g = await n().getUser();
253
+ return {
254
+ message: c.message,
255
+ user: g,
256
+ isNewUser: c.isNewEndUser
257
+ };
258
+ };
190
259
  export {
191
- A as AuthManager
260
+ we as exportEvmAccount,
261
+ ce as getAccessToken,
262
+ se as getCurrentUser,
263
+ pe as getUserOperation,
264
+ Y as initialize,
265
+ ne as isSignedIn,
266
+ oe as onAuthStateChange,
267
+ de as sendEvmTransaction,
268
+ he as sendUserOperation,
269
+ ie as signEvmHash,
270
+ me as signEvmMessage,
271
+ ue as signEvmTransaction,
272
+ ge as signEvmTypedData,
273
+ Z as signInWithEmail,
274
+ ee as signInWithSms,
275
+ ae as signOut,
276
+ te as verifyEmailOTP,
277
+ re as verifySmsOTP
192
278
  };
@@ -1,45 +1,17 @@
1
- import { BaseError as t } from "./index.native53.js";
2
- function i(n) {
3
- const r = Object.entries(n).map(([a, e]) => e === void 0 || e === !1 ? null : [a, e]).filter(Boolean), o = r.reduce((a, [e]) => Math.max(a, e.length), 0);
4
- return r.map(([a, e]) => ` ${`${a}:`.padEnd(o + 1)} ${e}`).join(`
5
- `);
6
- }
7
- class c extends t {
8
- constructor({ v: r }) {
9
- super(`Invalid \`v\` value "${r}". Expected 27 or 28.`, {
10
- name: "InvalidLegacyVError"
11
- });
12
- }
13
- }
14
- class d extends t {
15
- constructor({ transaction: r }) {
16
- super("Cannot infer a transaction type from provided transaction.", {
17
- metaMessages: [
18
- "Provided Transaction:",
19
- "{",
20
- i(r),
21
- "}",
22
- "",
23
- "To infer the type, either provide:",
24
- "- a `type` to the Transaction, or",
25
- "- an EIP-1559 Transaction with `maxFeePerGas`, or",
26
- "- an EIP-2930 Transaction with `gasPrice` & `accessList`, or",
27
- "- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or",
28
- "- an EIP-7702 Transaction with `authorizationList`, or",
29
- "- a Legacy Transaction with `gasPrice`"
30
- ],
31
- name: "InvalidSerializableTransactionError"
32
- });
33
- }
34
- }
35
- class l extends t {
36
- constructor({ storageKey: r }) {
37
- super(`Size for storage key "${r}" is invalid. Expected 32 bytes. Got ${Math.floor((r.length - 2) / 2)} bytes.`, { name: "InvalidStorageKeySizeError" });
38
- }
1
+ import { InvalidSerializableTransactionError as f } from "./index.native61.js";
2
+ function d(e) {
3
+ if (e.type)
4
+ return e.type;
5
+ if (typeof e.authorizationList < "u")
6
+ return "eip7702";
7
+ if (typeof e.blobs < "u" || typeof e.blobVersionedHashes < "u" || typeof e.maxFeePerBlobGas < "u" || typeof e.sidecars < "u")
8
+ return "eip4844";
9
+ if (typeof e.maxFeePerGas < "u" || typeof e.maxPriorityFeePerGas < "u")
10
+ return "eip1559";
11
+ if (typeof e.gasPrice < "u")
12
+ return typeof e.accessList < "u" ? "eip2930" : "legacy";
13
+ throw new f({ transaction: e });
39
14
  }
40
15
  export {
41
- c as InvalidLegacyVError,
42
- d as InvalidSerializableTransactionError,
43
- l as InvalidStorageKeySizeError,
44
- i as prettyPrint
16
+ d as getTransactionType
45
17
  };
@@ -1,81 +1,45 @@
1
- import { versionedHashVersionKzg as c } from "./index.native62.js";
2
- import { maxUint256 as m } from "./index.native63.js";
3
- import { InvalidAddressError as s } from "./index.native64.js";
4
- import { BaseError as h } from "./index.native53.js";
5
- import { EmptyBlobError as P, InvalidVersionedHashSizeError as p, InvalidVersionedHashVersionError as x } from "./index.native65.js";
6
- import { InvalidChainIdError as n } from "./index.native66.js";
7
- import { FeeCapTooHighError as w, TipAboveFeeCapError as E } from "./index.native67.js";
8
- import { isAddress as f } from "./index.native38.js";
9
- import { size as F } from "./index.native43.js";
10
- import { slice as I } from "./index.native44.js";
11
- import { hexToNumber as G } from "./index.native49.js";
12
- function C(t) {
13
- const { authorizationList: e } = t;
14
- if (e)
15
- for (const o of e) {
16
- const { chainId: r } = o, i = o.address;
17
- if (!f(i))
18
- throw new s({ address: i });
19
- if (r < 0)
20
- throw new n({ chainId: r });
21
- }
22
- d(t);
1
+ import { BaseError as t } from "./index.native54.js";
2
+ function i(n) {
3
+ const r = Object.entries(n).map(([a, e]) => e === void 0 || e === !1 ? null : [a, e]).filter(Boolean), o = r.reduce((a, [e]) => Math.max(a, e.length), 0);
4
+ return r.map(([a, e]) => ` ${`${a}:`.padEnd(o + 1)} ${e}`).join(`
5
+ `);
23
6
  }
24
- function L(t) {
25
- const { blobVersionedHashes: e } = t;
26
- if (e) {
27
- if (e.length === 0)
28
- throw new P();
29
- for (const o of e) {
30
- const r = F(o), i = G(I(o, 0, 1));
31
- if (r !== 32)
32
- throw new p({ hash: o, size: r });
33
- if (i !== c)
34
- throw new x({
35
- hash: o,
36
- version: i
37
- });
38
- }
7
+ class c extends t {
8
+ constructor({ v: r }) {
9
+ super(`Invalid \`v\` value "${r}". Expected 27 or 28.`, {
10
+ name: "InvalidLegacyVError"
11
+ });
39
12
  }
40
- d(t);
41
13
  }
42
- function d(t) {
43
- const { chainId: e, maxPriorityFeePerGas: o, maxFeePerGas: r, to: i } = t;
44
- if (e <= 0)
45
- throw new n({ chainId: e });
46
- if (i && !f(i))
47
- throw new s({ address: i });
48
- if (r && r > m)
49
- throw new w({ maxFeePerGas: r });
50
- if (o && r && o > r)
51
- throw new E({ maxFeePerGas: r, maxPriorityFeePerGas: o });
52
- }
53
- function B(t) {
54
- const { chainId: e, maxPriorityFeePerGas: o, gasPrice: r, maxFeePerGas: i, to: a } = t;
55
- if (e <= 0)
56
- throw new n({ chainId: e });
57
- if (a && !f(a))
58
- throw new s({ address: a });
59
- if (o || i)
60
- throw new h("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");
61
- if (r && r > m)
62
- throw new w({ maxFeePerGas: r });
14
+ class d extends t {
15
+ constructor({ transaction: r }) {
16
+ super("Cannot infer a transaction type from provided transaction.", {
17
+ metaMessages: [
18
+ "Provided Transaction:",
19
+ "{",
20
+ i(r),
21
+ "}",
22
+ "",
23
+ "To infer the type, either provide:",
24
+ "- a `type` to the Transaction, or",
25
+ "- an EIP-1559 Transaction with `maxFeePerGas`, or",
26
+ "- an EIP-2930 Transaction with `gasPrice` & `accessList`, or",
27
+ "- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or",
28
+ "- an EIP-7702 Transaction with `authorizationList`, or",
29
+ "- a Legacy Transaction with `gasPrice`"
30
+ ],
31
+ name: "InvalidSerializableTransactionError"
32
+ });
33
+ }
63
34
  }
64
- function K(t) {
65
- const { chainId: e, maxPriorityFeePerGas: o, gasPrice: r, maxFeePerGas: i, to: a } = t;
66
- if (a && !f(a))
67
- throw new s({ address: a });
68
- if (typeof e < "u" && e <= 0)
69
- throw new n({ chainId: e });
70
- if (o || i)
71
- throw new h("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");
72
- if (r && r > m)
73
- throw new w({ maxFeePerGas: r });
35
+ class l extends t {
36
+ constructor({ storageKey: r }) {
37
+ super(`Size for storage key "${r}" is invalid. Expected 32 bytes. Got ${Math.floor((r.length - 2) / 2)} bytes.`, { name: "InvalidStorageKeySizeError" });
38
+ }
74
39
  }
75
40
  export {
76
- d as assertTransactionEIP1559,
77
- B as assertTransactionEIP2930,
78
- L as assertTransactionEIP4844,
79
- C as assertTransactionEIP7702,
80
- K as assertTransactionLegacy
41
+ c as InvalidLegacyVError,
42
+ d as InvalidSerializableTransactionError,
43
+ l as InvalidStorageKeySizeError,
44
+ i as prettyPrint
81
45
  };