@coinbase/cdp-core 0.0.16 → 0.0.17

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.
@@ -1,43 +1,162 @@
1
- import { CompactSign as i } from "./index70.js";
2
- import { JWTInvalid as r } from "./index71.js";
3
- import { JWTClaimsBuilder as n } from "./index72.js";
4
- class d {
5
- #s;
6
- #t;
7
- constructor(t = {}) {
8
- this.#t = new n(t);
9
- }
10
- setIssuer(t) {
11
- return this.#t.iss = t, this;
12
- }
13
- setSubject(t) {
14
- return this.#t.sub = t, this;
15
- }
16
- setAudience(t) {
17
- return this.#t.aud = t, this;
18
- }
19
- setJti(t) {
20
- return this.#t.jti = t, this;
21
- }
22
- setNotBefore(t) {
23
- return this.#t.nbf = t, this;
24
- }
25
- setExpirationTime(t) {
26
- return this.#t.exp = t, this;
27
- }
28
- setIssuedAt(t) {
29
- return this.#t.iat = t, this;
30
- }
31
- setProtectedHeader(t) {
32
- return this.#s = t, this;
33
- }
34
- async sign(t, e) {
35
- const s = new i(this.#t.data());
36
- if (s.setProtectedHeader(this.#s), Array.isArray(this.#s?.crit) && this.#s.crit.includes("b64") && this.#s.b64 === !1)
37
- throw new r("JWTs MUST NOT use unencoded payload");
38
- return s.sign(t, e);
1
+ const H = (m) => (h, n, r) => {
2
+ const s = r.subscribe;
3
+ return r.subscribe = (c, i, a) => {
4
+ let l = c;
5
+ if (i) {
6
+ const g = a?.equalityFn || Object.is;
7
+ let v = c(r.getState());
8
+ l = (f) => {
9
+ const u = c(f);
10
+ if (!g(v, u)) {
11
+ const y = v;
12
+ i(v = u, y);
13
+ }
14
+ }, a?.fireImmediately && i(v, v);
15
+ }
16
+ return s(l);
17
+ }, m(h, n, r);
18
+ }, R = H;
19
+ function F(m, h) {
20
+ let n;
21
+ try {
22
+ n = m();
23
+ } catch {
24
+ return;
39
25
  }
26
+ return {
27
+ getItem: (s) => {
28
+ var e;
29
+ const c = (a) => a === null ? null : JSON.parse(a, void 0), i = (e = n.getItem(s)) != null ? e : null;
30
+ return i instanceof Promise ? i.then(c) : c(i);
31
+ },
32
+ setItem: (s, e) => n.setItem(s, JSON.stringify(e, void 0)),
33
+ removeItem: (s) => n.removeItem(s)
34
+ };
40
35
  }
36
+ const p = (m) => (h) => {
37
+ try {
38
+ const n = m(h);
39
+ return n instanceof Promise ? n : {
40
+ then(r) {
41
+ return p(r)(n);
42
+ },
43
+ catch(r) {
44
+ return this;
45
+ }
46
+ };
47
+ } catch (n) {
48
+ return {
49
+ then(r) {
50
+ return this;
51
+ },
52
+ catch(r) {
53
+ return p(r)(n);
54
+ }
55
+ };
56
+ }
57
+ }, O = (m, h) => (n, r, s) => {
58
+ let e = {
59
+ storage: F(() => localStorage),
60
+ partialize: (t) => t,
61
+ version: 0,
62
+ merge: (t, S) => ({
63
+ ...S,
64
+ ...t
65
+ }),
66
+ ...h
67
+ }, c = !1;
68
+ const i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
69
+ let l = e.storage;
70
+ if (!l)
71
+ return m(
72
+ (...t) => {
73
+ console.warn(
74
+ `[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`
75
+ ), n(...t);
76
+ },
77
+ r,
78
+ s
79
+ );
80
+ const g = () => {
81
+ const t = e.partialize({ ...r() });
82
+ return l.setItem(e.name, {
83
+ state: t,
84
+ version: e.version
85
+ });
86
+ }, v = s.setState;
87
+ s.setState = (t, S) => {
88
+ v(t, S), g();
89
+ };
90
+ const f = m(
91
+ (...t) => {
92
+ n(...t), g();
93
+ },
94
+ r,
95
+ s
96
+ );
97
+ s.getInitialState = () => f;
98
+ let u;
99
+ const y = () => {
100
+ var t, S;
101
+ if (!l) return;
102
+ c = !1, i.forEach((o) => {
103
+ var d;
104
+ return o((d = r()) != null ? d : f);
105
+ });
106
+ const b = ((S = e.onRehydrateStorage) == null ? void 0 : S.call(e, (t = r()) != null ? t : f)) || void 0;
107
+ return p(l.getItem.bind(l))(e.name).then((o) => {
108
+ if (o)
109
+ if (typeof o.version == "number" && o.version !== e.version) {
110
+ if (e.migrate) {
111
+ const d = e.migrate(
112
+ o.state,
113
+ o.version
114
+ );
115
+ return d instanceof Promise ? d.then((I) => [!0, I]) : [!0, d];
116
+ }
117
+ console.error(
118
+ "State loaded from storage couldn't be migrated since no migrate function was provided"
119
+ );
120
+ } else
121
+ return [!1, o.state];
122
+ return [!1, void 0];
123
+ }).then((o) => {
124
+ var d;
125
+ const [I, _] = o;
126
+ if (u = e.merge(
127
+ _,
128
+ (d = r()) != null ? d : f
129
+ ), n(u, !0), I)
130
+ return g();
131
+ }).then(() => {
132
+ b?.(u, void 0), u = r(), c = !0, a.forEach((o) => o(u));
133
+ }).catch((o) => {
134
+ b?.(void 0, o);
135
+ });
136
+ };
137
+ return s.persist = {
138
+ setOptions: (t) => {
139
+ e = {
140
+ ...e,
141
+ ...t
142
+ }, t.storage && (l = t.storage);
143
+ },
144
+ clearStorage: () => {
145
+ l?.removeItem(e.name);
146
+ },
147
+ getOptions: () => e,
148
+ rehydrate: () => y(),
149
+ hasHydrated: () => c,
150
+ onHydrate: (t) => (i.add(t), () => {
151
+ i.delete(t);
152
+ }),
153
+ onFinishHydration: (t) => (a.add(t), () => {
154
+ a.delete(t);
155
+ })
156
+ }, e.skipHydration || y(), u || f;
157
+ }, w = O;
41
158
  export {
42
- d as SignJWT
159
+ F as createJSONStorage,
160
+ w as persist,
161
+ R as subscribeWithSelector
43
162
  };
@@ -1,19 +1,50 @@
1
- async function n() {
2
- const e = await window.crypto.subtle.generateKey(
3
- {
4
- name: "ECDSA",
5
- namedCurve: "P-256"
6
- // secp256r1
7
- },
8
- !1,
9
- // Do not allow key export.
10
- ["sign", "verify"]
11
- // Key usages
12
- ), r = await window.crypto.subtle.exportKey("spki", e.publicKey), t = new Uint8Array(r), a = btoa(
13
- Array.from(t).map((i) => String.fromCharCode(i)).join("")
14
- );
15
- return { privateKey: e.privateKey, publicKeyBase64: a };
1
+ class n {
2
+ events = {};
3
+ /**
4
+ * Add an event listener.
5
+ *
6
+ * @param event - The name of the event to listen for.
7
+ * @param listener - The function to call when the event is emitted.
8
+ */
9
+ on(e, s) {
10
+ this.events[e] || (this.events[e] = []), this.events[e].push(s);
11
+ }
12
+ /**
13
+ * Remove an event listener.
14
+ *
15
+ * @param event - The name of the event to remove the listener from.
16
+ * @param listener - The function to remove from the event listeners.
17
+ */
18
+ removeListener(e, s) {
19
+ if (!this.events[e])
20
+ return;
21
+ const t = this.events[e].indexOf(s);
22
+ t > -1 && this.events[e].splice(t, 1);
23
+ }
24
+ /**
25
+ * Emit an event.
26
+ *
27
+ * @param event - The name of the event to emit.
28
+ * @param args - The arguments to pass to the event listeners.
29
+ */
30
+ emit(e, ...s) {
31
+ this.events[e] && this.events[e].forEach((t) => {
32
+ try {
33
+ t(...s);
34
+ } catch (i) {
35
+ console.error(`Error in event listener for ${e}:`, i);
36
+ }
37
+ });
38
+ }
39
+ /**
40
+ * Remove all listeners for an event.
41
+ *
42
+ * @param event - The name of the event to remove all listeners from. If not provided, removes all listeners for all events.
43
+ */
44
+ removeAllListeners(e) {
45
+ e ? delete this.events[e] : this.events = {};
46
+ }
16
47
  }
17
48
  export {
18
- n as createKeyPair
49
+ n as EventEmitter
19
50
  };
@@ -1,7 +1,155 @@
1
- async function t() {
2
- const r = new Uint8Array(16);
3
- return window.crypto.getRandomValues(r), Array.from(r, (n) => n.toString(16).padStart(2, "0")).join("");
1
+ import { Hex as y } from "ox";
2
+ import { createWalletClient as I } from "viem";
3
+ import { signEvmTypedData as E, signEvmHash as S, getCurrentUser as f, signOut as P, sendEvmTransaction as R, signEvmTransaction as T, signEvmMessage as A } from "./index2.js";
4
+ import "@coinbase/cdp-api-client";
5
+ import "./index3.js";
6
+ import { validateUserOwnsAddress as m, EIP1193ProviderError as l, STANDARD_ERROR_CODES as s, RPCRequestError as o, validateUserHasEvmAccount as x, validateUserConnected as C } from "./index4.js";
7
+ import "zustand";
8
+ import { isChainIdSupportedForCDPSends as D, chainIdToNameMapping as b } from "./index13.js";
9
+ function g(e) {
10
+ return {
11
+ to: e.to,
12
+ data: e.data,
13
+ value: e.value ? BigInt(e.value) : void 0,
14
+ nonce: e.nonce ? Number(e.nonce) : void 0,
15
+ gas: e.gas ? BigInt(e.gas) : void 0,
16
+ maxFeePerGas: e.maxFeePerGas ? BigInt(e.maxFeePerGas) : void 0,
17
+ maxPriorityFeePerGas: e.maxPriorityFeePerGas ? BigInt(e.maxPriorityFeePerGas) : void 0,
18
+ type: "eip1559"
19
+ };
20
+ }
21
+ async function M() {
22
+ return (await f())?.evmAccounts || [];
23
+ }
24
+ async function _(e, n) {
25
+ const a = await C();
26
+ return e.emit("connect", {
27
+ chainId: y.fromNumber(n.getState().chainId)
28
+ }), a.evmAccounts || [];
29
+ }
30
+ async function k(e) {
31
+ const [n, a] = e;
32
+ await m(a);
33
+ const t = Buffer.from(n.slice(2), "hex").toString();
34
+ try {
35
+ return (await A({
36
+ evmAccount: a,
37
+ message: t
38
+ })).signature;
39
+ } catch (c) {
40
+ throw new l(
41
+ s.provider.userRejectedRequest,
42
+ c instanceof Error ? c.message : "Signing failed"
43
+ );
44
+ }
45
+ }
46
+ async function z(e) {
47
+ const [n, a] = e;
48
+ await m(n);
49
+ try {
50
+ return (await E({
51
+ evmAccount: n,
52
+ typedData: JSON.parse(a)
53
+ })).signature;
54
+ } catch (t) {
55
+ throw new l(
56
+ s.provider.userRejectedRequest,
57
+ t instanceof Error ? t.message : "Signing failed"
58
+ );
59
+ }
60
+ }
61
+ async function J(e, n, a) {
62
+ const [t] = e;
63
+ if (!t || typeof t != "object")
64
+ throw new o(
65
+ s.rpc.invalidParams,
66
+ "Transaction parameter must be an object"
67
+ );
68
+ if (!t.to)
69
+ throw new o(
70
+ s.rpc.invalidParams,
71
+ "Transaction must include 'to' field"
72
+ );
73
+ const d = (await x()).evmAccounts?.[0], u = n.getState(), i = t.chainId ? Number(t.chainId) : u.chainId;
74
+ if (!d)
75
+ throw new o(
76
+ s.rpc.invalidParams,
77
+ "User does not have an EVM account"
78
+ );
79
+ if (D(i))
80
+ try {
81
+ return (await R({
82
+ evmAccount: d,
83
+ transaction: { ...g(t), chainId: i },
84
+ network: b[i]
85
+ })).transactionHash;
86
+ } catch (r) {
87
+ throw console.log("Transaction failed", r), new o(
88
+ s.rpc.transactionRejected,
89
+ r instanceof Error ? r.message : "Transaction failed"
90
+ );
91
+ }
92
+ else
93
+ try {
94
+ const r = I({
95
+ // Safe as we check before calling this handler that chainId is configured
96
+ chain: u.chains.find((h) => h.id === i),
97
+ transport: a[i],
98
+ account: d
99
+ }), p = u.chains.find((h) => h.id === i), w = await r.prepareTransactionRequest({
100
+ ...g(t),
101
+ chain: p
102
+ }), v = await T({
103
+ evmAccount: d,
104
+ transaction: {
105
+ ...w,
106
+ type: "eip1559"
107
+ }
108
+ });
109
+ return await r.sendRawTransaction({
110
+ serializedTransaction: v.signedTransaction
111
+ });
112
+ } catch (r) {
113
+ throw new o(
114
+ s.rpc.transactionRejected,
115
+ r instanceof Error ? r.message : "Transaction failed"
116
+ );
117
+ }
118
+ }
119
+ async function V(e) {
120
+ const [n, a] = e;
121
+ await m(a);
122
+ try {
123
+ return (await S({
124
+ evmAccount: a,
125
+ hash: n
126
+ })).signature;
127
+ } catch (t) {
128
+ throw new l(
129
+ s.provider.userRejectedRequest,
130
+ t instanceof Error ? t.message : "Signing failed"
131
+ );
132
+ }
133
+ }
134
+ async function W(e) {
135
+ return `0x${e.getState().chainId.toString(16)}`;
136
+ }
137
+ async function $() {
138
+ await f() && await P();
139
+ }
140
+ function K(e, n) {
141
+ const a = Number.parseInt(e[0].chainId, 16);
142
+ n.getState().setChainId(a);
4
143
  }
5
144
  export {
6
- t as generateRandomId
145
+ M as handleAccounts,
146
+ W as handleChainId,
147
+ $ as handleDisconnect,
148
+ V as handleEthSign,
149
+ k as handlePersonalSign,
150
+ _ as handleRequestAccounts,
151
+ J as handleSendTransaction,
152
+ z as handleSignTypedData,
153
+ K as handleSwitchEthereumChain,
154
+ g as shimProviderTxRequest
7
155
  };
@@ -1,16 +1,16 @@
1
- import { configureCdpApiClient as p, setAuthManager as w, initiateAuthentication as h, verifyEmailAuthentication as y, createEndUserEvmAccount as f, signEvmHashWithEndUserAccount as I, signEvmTransactionWithEndUserAccount as l, sendEvmTransactionWithEndUserAccount as v, signEvmMessageWithEndUserAccount as A, signEvmTypedDataWithEndUserAccount as E, exportEndUserEvmAccount as k } from "@coinbase/cdp-api-client";
2
- import { AuthManager as M } from "./index6.js";
1
+ import { configureCdpApiClient as w, setAuthManager as h, initiateAuthentication as y, verifyEmailAuthentication as f, createEndUserEvmAccount as I, signEvmHashWithEndUserAccount as l, signEvmTransactionWithEndUserAccount as A, sendEvmTransactionWithEndUserAccount as v, signEvmMessageWithEndUserAccount as E, signEvmTypedDataWithEndUserAccount as k, exportEndUserEvmAccount as M } from "@coinbase/cdp-api-client";
2
+ import { AuthManager as S } from "./index6.js";
3
3
  import { toAuthState as u } from "./index7.js";
4
4
  import { withAuth as i } from "./index8.js";
5
- import { createExportKeyPair as S } from "./index9.js";
6
- import { decryptWithPrivateKey as U } from "./index10.js";
7
- import { MockAuthManager as C } from "./index11.js";
5
+ import { createExportKeyPair as U } from "./index9.js";
6
+ import { decryptWithPrivateKey as C } from "./index10.js";
7
+ import { MockAuthManager as T } from "./index11.js";
8
8
  import { mockUser as d } from "./index12.js";
9
- import { isChainSupportedForCDPSends as T } from "./index13.js";
10
- import { getConfig as r, setCoreAuthManager as g, getCoreAuthManager as n, setConfig as j } from "./index14.js";
9
+ import { isChainSupportedForCDPSends as j } from "./index13.js";
10
+ import { getConfig as r, setCoreAuthManager as g, getCoreAuthManager as n, setConfig as P } from "./index14.js";
11
11
  import "viem";
12
12
  import { serializeTransaction as m } from "./index15.js";
13
- const q = async (e) => {
13
+ const B = async (e) => {
14
14
  if (!e.projectId)
15
15
  throw new Error("Project ID is required");
16
16
  let s;
@@ -19,19 +19,19 @@ const q = async (e) => {
19
19
  } catch {
20
20
  s = !0;
21
21
  }
22
- if (j(e), r().useMock) {
23
- g(new C(r().projectId));
22
+ if (P(e), r().useMock) {
23
+ g(new T(r().projectId));
24
24
  return;
25
25
  }
26
- if (p({
26
+ if (w({
27
27
  debugging: r().debugging,
28
28
  basePath: r().basePath
29
29
  }), s) {
30
- const t = new M(r().projectId);
31
- g(t), w(t);
30
+ const t = new S(r().projectId);
31
+ g(t), h(t);
32
32
  }
33
33
  await n().ensureInitialized();
34
- }, B = async (e) => {
34
+ }, V = async (e) => {
35
35
  if (r().useMock)
36
36
  return {
37
37
  message: "Mock sign in initiated",
@@ -39,7 +39,7 @@ const q = async (e) => {
39
39
  };
40
40
  if (await n().isSignedIn())
41
41
  throw new Error("User is already authenticated. Please sign out first.");
42
- const t = await h(r().projectId, {
42
+ const t = await y(r().projectId, {
43
43
  email: e.email,
44
44
  type: "email"
45
45
  });
@@ -47,7 +47,7 @@ const q = async (e) => {
47
47
  flowId: t.flowId,
48
48
  message: t.message
49
49
  };
50
- }, V = async (e) => {
50
+ }, G = async (e) => {
51
51
  if (r().useMock)
52
52
  return await n().setAuthState({
53
53
  accessToken: "mock-access-token",
@@ -60,28 +60,27 @@ const q = async (e) => {
60
60
  };
61
61
  if (await n().isSignedIn())
62
62
  throw new Error("User is already authenticated. Please sign out first.");
63
- const t = await y(r().projectId, {
63
+ const t = await f(r().projectId, {
64
64
  flowId: e.flowId,
65
65
  otp: e.otp
66
66
  });
67
67
  let a = u(t.accessToken, t.validUntil, t.endUser);
68
- if (!a.user.evmAccounts || a.user.evmAccounts.length === 0)
68
+ if (await n().setAuthState(a), !a.user.evmAccounts || a.user.evmAccounts.length === 0)
69
69
  try {
70
- const o = await f(r().projectId, a.user.userId, {
71
- walletSecretId: await n().getWalletSecretId(a)
70
+ const o = await n().getWalletSecretId(), p = await I(r().projectId, a.user.userId, {
71
+ walletSecretId: o
72
72
  });
73
- a = u(t.accessToken, t.validUntil, o);
73
+ a = u(t.accessToken, t.validUntil, p), await n().setAuthState(a);
74
74
  } catch (o) {
75
75
  throw new Error(`Failed to create EVM account: ${o}`);
76
76
  }
77
- await n().setAuthState(a);
78
77
  const c = await n().getUser();
79
78
  return {
80
79
  message: t.message,
81
80
  user: c,
82
81
  isNewUser: t.isNewEndUser
83
82
  };
84
- }, G = async () => n().getUser(), J = async () => n().isSignedIn(), L = async () => {
83
+ }, J = async () => n().getUser(), L = async () => n().isSignedIn(), Q = async () => {
85
84
  if (r().useMock) {
86
85
  await n().signOut();
87
86
  return;
@@ -89,18 +88,18 @@ const q = async (e) => {
89
88
  if (!await n().isSignedIn())
90
89
  throw new Error("User not signed in");
91
90
  await n().signOut();
92
- }, Q = (e) => {
91
+ }, R = (e) => {
93
92
  n().addAuthStateChangeCallback(e);
94
- }, R = async (e) => r().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: s, walletSecretId: t }) => ({
95
- signature: (await I(r().projectId, s.userId, {
93
+ }, X = async (e) => r().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: s, walletSecretId: t }) => ({
94
+ signature: (await l(r().projectId, s.userId, {
96
95
  hash: e.hash,
97
96
  address: e.evmAccount,
98
97
  walletSecretId: t
99
98
  })).signature
100
- })), X = async (e) => r().useMock ? { signedTransaction: "0x0" } : i(e, n(), async ({ user: s, walletSecretId: t }) => {
99
+ })), Y = async (e) => r().useMock ? { signedTransaction: "0x0" } : i(e, n(), async ({ user: s, walletSecretId: t }) => {
101
100
  const a = m(e.transaction);
102
101
  return {
103
- signedTransaction: (await l(
102
+ signedTransaction: (await A(
104
103
  r().projectId,
105
104
  s.userId,
106
105
  {
@@ -110,8 +109,8 @@ const q = async (e) => {
110
109
  }
111
110
  )).signedTransaction
112
111
  };
113
- }), Y = async (e) => {
114
- if (!T(e.network))
112
+ }), Z = async (e) => {
113
+ if (!j(e.network))
115
114
  throw new Error(`Chain ${e.network} is not supported by the CDP Apis`);
116
115
  if (r().useMock)
117
116
  return { transactionHash: "0x0" };
@@ -128,32 +127,32 @@ const q = async (e) => {
128
127
  }
129
128
  )).transactionHash
130
129
  }));
131
- }, Z = async (e) => r().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: s, walletSecretId: t }) => ({
132
- signature: (await A(r().projectId, s.userId, {
130
+ }, _ = async (e) => r().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: s, walletSecretId: t }) => ({
131
+ signature: (await E(r().projectId, s.userId, {
133
132
  message: e.message,
134
133
  address: e.evmAccount,
135
134
  walletSecretId: t
136
135
  })).signature
137
- })), _ = async (e) => r().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: s, walletSecretId: t }) => ({
138
- signature: (await E(r().projectId, s.userId, {
136
+ })), ee = async (e) => r().useMock ? { signature: "0x0" } : i(e, n(), async ({ user: s, walletSecretId: t }) => ({
137
+ signature: (await k(r().projectId, s.userId, {
139
138
  typedData: e.typedData,
140
139
  address: e.evmAccount,
141
140
  walletSecretId: t
142
141
  })).signature
143
- })), ee = async (e) => {
142
+ })), te = async (e) => {
144
143
  if (r().useMock)
145
144
  return {
146
145
  privateKey: "mock-private-key"
147
146
  };
148
- const s = await S();
147
+ const s = await U();
149
148
  return i(e, n(), async ({ user: t, walletSecretId: a }) => {
150
- const c = await k(r().projectId, t.userId, {
149
+ const c = await M(r().projectId, t.userId, {
151
150
  address: e.evmAccount,
152
151
  walletSecretId: a,
153
152
  exportEncryptionKey: s.publicKeyBase64
154
153
  });
155
154
  return {
156
- privateKey: await U(
155
+ privateKey: await C(
157
156
  s.privateKey,
158
157
  c.encryptedPrivateKey
159
158
  )
@@ -161,17 +160,17 @@ const q = async (e) => {
161
160
  });
162
161
  };
163
162
  export {
164
- ee as exportEvmAccount,
165
- G as getCurrentUser,
166
- q as initialize,
167
- J as isSignedIn,
168
- Q as onAuthStateChange,
169
- Y as sendEvmTransaction,
170
- R as signEvmHash,
171
- Z as signEvmMessage,
172
- X as signEvmTransaction,
173
- _ as signEvmTypedData,
174
- B as signInWithEmail,
175
- L as signOut,
176
- V as verifyEmailOTP
163
+ te as exportEvmAccount,
164
+ J as getCurrentUser,
165
+ B as initialize,
166
+ L as isSignedIn,
167
+ R as onAuthStateChange,
168
+ Z as sendEvmTransaction,
169
+ X as signEvmHash,
170
+ _ as signEvmMessage,
171
+ Y as signEvmTransaction,
172
+ ee as signEvmTypedData,
173
+ V as signInWithEmail,
174
+ Q as signOut,
175
+ G as verifyEmailOTP
177
176
  };