@cedros/login-react 0.0.40 → 0.0.42
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.
- package/dist/{AuthenticationSettings-BF_7Ea6Z.js → AuthenticationSettings-CheE3j7w.js} +1 -1
- package/dist/{AuthenticationSettings-BF_7Ea6Z.js.map → AuthenticationSettings-CheE3j7w.js.map} +1 -1
- package/dist/{AuthenticationSettings-Dk1LX0CK.cjs → AuthenticationSettings-Dl41GbJL.cjs} +1 -1
- package/dist/{AuthenticationSettings-Dk1LX0CK.cjs.map → AuthenticationSettings-Dl41GbJL.cjs.map} +1 -1
- package/dist/{AuthenticationSettings-DUXpyiJ5.js → AuthenticationSettings-DwSxgjbH.js} +1 -1
- package/dist/{AuthenticationSettings-DUXpyiJ5.js.map → AuthenticationSettings-DwSxgjbH.js.map} +1 -1
- package/dist/{AuthenticationSettings-BMDrCVSf.cjs → AuthenticationSettings-JxHsBst9.cjs} +1 -1
- package/dist/{AuthenticationSettings-BMDrCVSf.cjs.map → AuthenticationSettings-JxHsBst9.cjs.map} +1 -1
- package/dist/AutosaveStatus-BMXjH1XN.cjs +1 -0
- package/dist/AutosaveStatus-BMXjH1XN.cjs.map +1 -0
- package/dist/{AutosaveStatus-CSZsp6w7.js → AutosaveStatus-DNuCl59W.js} +798 -319
- package/dist/AutosaveStatus-DNuCl59W.js.map +1 -0
- package/dist/{CreditSystemSettings-CLImarX-.cjs → CreditSystemSettings-BVgl6uUg.cjs} +1 -1
- package/dist/{CreditSystemSettings-CLImarX-.cjs.map → CreditSystemSettings-BVgl6uUg.cjs.map} +1 -1
- package/dist/{CreditSystemSettings-Buu7Y-7I.js → CreditSystemSettings-C-ksysSx.js} +12 -7
- package/dist/CreditSystemSettings-C-ksysSx.js.map +1 -0
- package/dist/{CreditSystemSettings-Cj21_Ug8.js → CreditSystemSettings-HSdF2_CY.js} +1 -1
- package/dist/{CreditSystemSettings-Cj21_Ug8.js.map → CreditSystemSettings-HSdF2_CY.js.map} +1 -1
- package/dist/CreditSystemSettings-LvA8rb17.cjs +1 -0
- package/dist/CreditSystemSettings-LvA8rb17.cjs.map +1 -0
- package/dist/EmailRegisterForm-p2X5QP58.js +750 -0
- package/dist/EmailRegisterForm-p2X5QP58.js.map +1 -0
- package/dist/EmailRegisterForm-xFb6MaVA.cjs +1 -0
- package/dist/EmailRegisterForm-xFb6MaVA.cjs.map +1 -0
- package/dist/{EmailSettings-CmxxnrA9.js → EmailSettings-Cy1cuVUq.js} +1 -1
- package/dist/{EmailSettings-CmxxnrA9.js.map → EmailSettings-Cy1cuVUq.js.map} +1 -1
- package/dist/EmailSettings-DC_zT4nI.cjs +1 -0
- package/dist/EmailSettings-DC_zT4nI.cjs.map +1 -0
- package/dist/{EmailSettings-9sdEAONl.cjs → EmailSettings-QBMzpbxv.cjs} +1 -1
- package/dist/{EmailSettings-9sdEAONl.cjs.map → EmailSettings-QBMzpbxv.cjs.map} +1 -1
- package/dist/EmailSettings-hIhJzux0.js +86 -0
- package/dist/EmailSettings-hIhJzux0.js.map +1 -0
- package/dist/{EmbeddedWalletSettings-DGq-kXbw.cjs → EmbeddedWalletSettings-4qC9KBwh.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-DGq-kXbw.cjs.map → EmbeddedWalletSettings-4qC9KBwh.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-BuLN_Uqc.cjs → EmbeddedWalletSettings-C81QQMWz.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-BuLN_Uqc.cjs.map → EmbeddedWalletSettings-C81QQMWz.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-CHkkCjyR.js → EmbeddedWalletSettings-CvvTnRvt.js} +1 -1
- package/dist/{EmbeddedWalletSettings-CHkkCjyR.js.map → EmbeddedWalletSettings-CvvTnRvt.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-M-D5N0eY.js → EmbeddedWalletSettings-Cwiug0vR.js} +1 -1
- package/dist/{EmbeddedWalletSettings-M-D5N0eY.js.map → EmbeddedWalletSettings-Cwiug0vR.js.map} +1 -1
- package/dist/GoogleLoginButton-2zNTIKMm.cjs +1 -0
- package/dist/GoogleLoginButton-2zNTIKMm.cjs.map +1 -0
- package/dist/{GoogleLoginButton-qf4A_A3G.js → GoogleLoginButton-C1WNu7W3.js} +41 -40
- package/dist/GoogleLoginButton-C1WNu7W3.js.map +1 -0
- package/dist/LoadingSpinner-6vml-zwr.js.map +1 -1
- package/dist/LoadingSpinner-d6sSxgQN.cjs.map +1 -1
- package/dist/{PermissionsSection-DNzOL1xW.js → PermissionsSection-BDDiEfho.js} +69 -61
- package/dist/{PermissionsSection-DNzOL1xW.js.map → PermissionsSection-BDDiEfho.js.map} +1 -1
- package/dist/PermissionsSection-CSB_Ikj9.cjs +1 -0
- package/dist/{PermissionsSection-DEMVp7X3.cjs.map → PermissionsSection-CSB_Ikj9.cjs.map} +1 -1
- package/dist/{ServerSettings-CMmH5pZv.cjs → ServerSettings-BV0SipW1.cjs} +1 -1
- package/dist/{ServerSettings-CMmH5pZv.cjs.map → ServerSettings-BV0SipW1.cjs.map} +1 -1
- package/dist/{ServerSettings-DfimU7ay.cjs → ServerSettings-Bf7gFE8r.cjs} +1 -1
- package/dist/{ServerSettings-DfimU7ay.cjs.map → ServerSettings-Bf7gFE8r.cjs.map} +1 -1
- package/dist/{ServerSettings-qxi8aZO7.js → ServerSettings-DPqHtsgV.js} +1 -1
- package/dist/{ServerSettings-qxi8aZO7.js.map → ServerSettings-DPqHtsgV.js.map} +1 -1
- package/dist/{ServerSettings-DQemMrNv.js → ServerSettings-Sfr0CG6K.js} +1 -1
- package/dist/{ServerSettings-DQemMrNv.js.map → ServerSettings-Sfr0CG6K.js.map} +1 -1
- package/dist/SolanaLoginButton-CqdzSSeJ.cjs +1 -0
- package/dist/SolanaLoginButton-CqdzSSeJ.cjs.map +1 -0
- package/dist/{SolanaLoginButton-B04dib6X.js → SolanaLoginButton-CyeX35eU.js} +41 -40
- package/dist/SolanaLoginButton-CyeX35eU.js.map +1 -0
- package/dist/{TeamSection-CoMXyFtz.js → TeamSection-BhsBEckR.js} +1 -1
- package/dist/{TeamSection-CoMXyFtz.js.map → TeamSection-BhsBEckR.js.map} +1 -1
- package/dist/{TeamSection-DopbZClq.cjs → TeamSection-DLxtRmta.cjs} +1 -1
- package/dist/{TeamSection-DopbZClq.cjs.map → TeamSection-DLxtRmta.cjs.map} +1 -1
- package/dist/{UsersSection-C7aRNkK2.cjs → UsersSection-BEKfbhQ4.cjs} +1 -1
- package/dist/{UsersSection-C7aRNkK2.cjs.map → UsersSection-BEKfbhQ4.cjs.map} +1 -1
- package/dist/{UsersSection--PAE1XRh.js → UsersSection-DbGkmxty.js} +1 -1
- package/dist/{UsersSection--PAE1XRh.js.map → UsersSection-DbGkmxty.js.map} +1 -1
- package/dist/{WebhookSettings-B6Y3Tnjv.cjs → WebhookSettings-BPCKv5Or.cjs} +1 -1
- package/dist/{WebhookSettings-B6Y3Tnjv.cjs.map → WebhookSettings-BPCKv5Or.cjs.map} +1 -1
- package/dist/{WebhookSettings-8QAqvkkO.js → WebhookSettings-CMROMCFT.js} +1 -1
- package/dist/{WebhookSettings-8QAqvkkO.js.map → WebhookSettings-CMROMCFT.js.map} +1 -1
- package/dist/{WebhookSettings-0sgWRI3U.cjs → WebhookSettings-Cj-iELGa.cjs} +1 -1
- package/dist/{WebhookSettings-0sgWRI3U.cjs.map → WebhookSettings-Cj-iELGa.cjs.map} +1 -1
- package/dist/{WebhookSettings-B8hAwhZ2.js → WebhookSettings-D4mKAWAg.js} +1 -1
- package/dist/{WebhookSettings-B8hAwhZ2.js.map → WebhookSettings-D4mKAWAg.js.map} +1 -1
- package/dist/admin-only.cjs +1 -1
- package/dist/admin-only.js +1 -1
- package/dist/email-only.cjs +1 -1
- package/dist/email-only.d.ts +7 -1
- package/dist/email-only.js +2 -2
- package/dist/google-only.cjs +1 -1
- package/dist/google-only.d.ts +6 -0
- package/dist/google-only.js +2 -2
- package/dist/index.cjs +13 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +414 -4
- package/dist/index.js +6070 -4807
- package/dist/index.js.map +1 -1
- package/dist/login-react.css +1 -1
- package/dist/plugin-BHGg7ius.cjs +1 -0
- package/dist/plugin-BHGg7ius.cjs.map +1 -0
- package/dist/{plugin-C_NDZ2-D.js → plugin-CK2d7aP5.js} +3 -2
- package/dist/plugin-CK2d7aP5.js.map +1 -0
- package/dist/solana-only.cjs +1 -1
- package/dist/solana-only.d.ts +6 -0
- package/dist/solana-only.js +2 -2
- package/dist/useAuth-B1yS_YiD.cjs +1 -0
- package/dist/{useAuth-U5CYsHEU.cjs.map → useAuth-B1yS_YiD.cjs.map} +1 -1
- package/dist/{useAuth-C-Vw-ggy.js → useAuth-l-itM5am.js} +440 -433
- package/dist/{useAuth-C-Vw-ggy.js.map → useAuth-l-itM5am.js.map} +1 -1
- package/dist/useUsersStatsSummary-9HQDKBU5.js +1879 -0
- package/dist/useUsersStatsSummary-9HQDKBU5.js.map +1 -0
- package/dist/useUsersStatsSummary-DiRC8sGs.cjs +1 -0
- package/dist/useUsersStatsSummary-DiRC8sGs.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/AutosaveStatus-BKsCIvPj.cjs +0 -1
- package/dist/AutosaveStatus-BKsCIvPj.cjs.map +0 -1
- package/dist/AutosaveStatus-CSZsp6w7.js.map +0 -1
- package/dist/CreditSystemSettings-Buu7Y-7I.js.map +0 -1
- package/dist/CreditSystemSettings-C2HkyMXy.cjs +0 -1
- package/dist/CreditSystemSettings-C2HkyMXy.cjs.map +0 -1
- package/dist/EmailRegisterForm-CNjYrqU6.cjs +0 -1
- package/dist/EmailRegisterForm-CNjYrqU6.cjs.map +0 -1
- package/dist/EmailRegisterForm-D2VaJouj.js +0 -750
- package/dist/EmailRegisterForm-D2VaJouj.js.map +0 -1
- package/dist/EmailSettings-DRfOF0Sf.js +0 -78
- package/dist/EmailSettings-DRfOF0Sf.js.map +0 -1
- package/dist/EmailSettings-eLlzzI5D.cjs +0 -1
- package/dist/EmailSettings-eLlzzI5D.cjs.map +0 -1
- package/dist/GoogleLoginButton-JtRViYWS.cjs +0 -1
- package/dist/GoogleLoginButton-JtRViYWS.cjs.map +0 -1
- package/dist/GoogleLoginButton-qf4A_A3G.js.map +0 -1
- package/dist/PermissionsSection-DEMVp7X3.cjs +0 -1
- package/dist/SolanaLoginButton-B04dib6X.js.map +0 -1
- package/dist/SolanaLoginButton-nSJHVFpZ.cjs +0 -1
- package/dist/SolanaLoginButton-nSJHVFpZ.cjs.map +0 -1
- package/dist/plugin-CUxpAjL-.cjs +0 -1
- package/dist/plugin-CUxpAjL-.cjs.map +0 -1
- package/dist/plugin-C_NDZ2-D.js.map +0 -1
- package/dist/useAuth-U5CYsHEU.cjs +0 -1
- package/dist/useUsersStatsSummary-5DJwzntC.js +0 -1246
- package/dist/useUsersStatsSummary-5DJwzntC.js.map +0 -1
- package/dist/useUsersStatsSummary-DgKaUIfs.cjs +0 -1
- package/dist/useUsersStatsSummary-DgKaUIfs.cjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useEffect as
|
|
1
|
+
import { jsx as ie, jsxs as Ke } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as x, useState as F, useRef as N, useCallback as d, useMemo as Y } from "react";
|
|
3
3
|
import { A as He, a as Je, C as Me } from "./LoadingSpinner-6vml-zwr.js";
|
|
4
|
-
import { A as pe, g as
|
|
4
|
+
import { A as pe, g as re, a as ye, h as P, u as ke } from "./useCedrosLogin-CFfID-0i.js";
|
|
5
5
|
let q = 0;
|
|
6
6
|
function Ve({ theme: e, themeOverrides: A }) {
|
|
7
|
-
|
|
7
|
+
x(() => {
|
|
8
8
|
if (typeof document > "u" || typeof window > "u")
|
|
9
9
|
return;
|
|
10
10
|
const t = document.documentElement;
|
|
@@ -15,8 +15,8 @@ function Ve({ theme: e, themeOverrides: A }) {
|
|
|
15
15
|
const n = /* @__PURE__ */ new Map();
|
|
16
16
|
return A && Object.entries(A).forEach(([o, a]) => {
|
|
17
17
|
if (a) {
|
|
18
|
-
const
|
|
19
|
-
n.set(o,
|
|
18
|
+
const C = t.style.getPropertyValue(o);
|
|
19
|
+
n.set(o, C), t.style.setProperty(o, a);
|
|
20
20
|
}
|
|
21
21
|
}), () => {
|
|
22
22
|
r && (q--, q === 0 && t.classList.remove("cedros-dark")), n.forEach((o, a) => {
|
|
@@ -25,7 +25,7 @@ function Ve({ theme: e, themeOverrides: A }) {
|
|
|
25
25
|
};
|
|
26
26
|
}, [e, A]);
|
|
27
27
|
}
|
|
28
|
-
const
|
|
28
|
+
const Pe = {
|
|
29
29
|
email: !0,
|
|
30
30
|
google: !0,
|
|
31
31
|
apple: !0,
|
|
@@ -33,29 +33,29 @@ const Ne = {
|
|
|
33
33
|
webauthn: !0,
|
|
34
34
|
instantLink: !0
|
|
35
35
|
};
|
|
36
|
-
function
|
|
37
|
-
const [i, r] =
|
|
38
|
-
return
|
|
39
|
-
if (!A ||
|
|
40
|
-
|
|
36
|
+
function Ne(e, A, t) {
|
|
37
|
+
const [i, r] = F(null), [n, o] = F(), [a, C] = F(), [s, p] = F(), [y, Q] = F(), [m, U] = F(), [c, B] = F(), [u, b] = F(A), k = N(!1);
|
|
38
|
+
return x(() => {
|
|
39
|
+
if (!A || k.current) return;
|
|
40
|
+
k.current = !0, new pe({
|
|
41
41
|
baseUrl: e,
|
|
42
42
|
timeoutMs: t ?? 5e3,
|
|
43
43
|
retryAttempts: 1
|
|
44
|
-
}).get("/features", { credentials: "omit" }).then((
|
|
44
|
+
}).get("/features", { credentials: "omit" }).then((h) => {
|
|
45
45
|
r({
|
|
46
|
-
email:
|
|
47
|
-
google:
|
|
48
|
-
apple:
|
|
49
|
-
solana:
|
|
50
|
-
webauthn:
|
|
51
|
-
instantLink:
|
|
52
|
-
}), o(
|
|
46
|
+
email: h.email,
|
|
47
|
+
google: h.google,
|
|
48
|
+
apple: h.apple,
|
|
49
|
+
solana: h.solana,
|
|
50
|
+
webauthn: h.webauthn,
|
|
51
|
+
instantLink: h.instantLink
|
|
52
|
+
}), o(h.googleClientId), C(h.appleClientId), p(h.usernameEnabled), Q(h.walletEnrollEnabled), U(h.showRecoveryEnabled), B(h.socialButtonOrder);
|
|
53
53
|
}).catch(() => {
|
|
54
|
-
r(
|
|
54
|
+
r(Pe);
|
|
55
55
|
}).finally(() => {
|
|
56
|
-
|
|
56
|
+
b(!1);
|
|
57
57
|
});
|
|
58
|
-
}, [A, e, t]), { features: i, googleClientId: n, appleClientId: a, usernameEnabled: s, walletEnrollEnabled: y, showRecoveryEnabled:
|
|
58
|
+
}, [A, e, t]), { features: i, googleClientId: n, appleClientId: a, usernameEnabled: s, walletEnrollEnabled: y, showRecoveryEnabled: m, socialButtonOrder: c, isLoading: u };
|
|
59
59
|
}
|
|
60
60
|
const Ye = "cedros_tokens", Oe = 6e4;
|
|
61
61
|
class xe {
|
|
@@ -310,18 +310,18 @@ function Le({
|
|
|
310
310
|
callbacks: t,
|
|
311
311
|
requestTimeoutMs: i
|
|
312
312
|
}) {
|
|
313
|
-
const [r, n] =
|
|
313
|
+
const [r, n] = F(null), [o, a] = F("idle"), C = N(null), s = N(null), p = N(t), y = N(!0), Q = N(null), m = N(() => Promise.resolve()), U = N(() => {
|
|
314
314
|
});
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
}, [t]),
|
|
315
|
+
x(() => {
|
|
316
|
+
p.current = t;
|
|
317
|
+
}, [t]), x(() => (y.current = !0, () => {
|
|
318
318
|
y.current = !1;
|
|
319
319
|
}), []);
|
|
320
|
-
const
|
|
321
|
-
y.current && n(
|
|
322
|
-
}, []),
|
|
323
|
-
y.current && a(
|
|
324
|
-
}, []),
|
|
320
|
+
const c = d((f) => {
|
|
321
|
+
y.current && n(f);
|
|
322
|
+
}, []), B = d((f) => {
|
|
323
|
+
y.current && a(f);
|
|
324
|
+
}, []), u = Y(
|
|
325
325
|
() => ({
|
|
326
326
|
storage: A?.storage ?? "cookie",
|
|
327
327
|
autoRefresh: A?.autoRefresh ?? !0,
|
|
@@ -337,231 +337,231 @@ function Le({
|
|
|
337
337
|
A?.allowWebStorage
|
|
338
338
|
]
|
|
339
339
|
);
|
|
340
|
-
|
|
341
|
-
const
|
|
342
|
-
allowWebStorage:
|
|
340
|
+
x(() => {
|
|
341
|
+
const f = new xe(u.storage, u.persistKey, {
|
|
342
|
+
allowWebStorage: u.allowWebStorage
|
|
343
343
|
});
|
|
344
|
-
return
|
|
345
|
-
|
|
344
|
+
return C.current = f, u.autoRefresh && f.setRefreshCallback(() => m.current()), f.setSessionExpiredCallback(() => U.current()), u.syncTabs && (s.current = new Te()), () => {
|
|
345
|
+
f.destroy(), C.current = null, s.current?.close();
|
|
346
346
|
};
|
|
347
347
|
}, [
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
348
|
+
u.storage,
|
|
349
|
+
u.syncTabs,
|
|
350
|
+
u.persistKey,
|
|
351
|
+
u.allowWebStorage,
|
|
352
|
+
u.autoRefresh
|
|
353
353
|
]);
|
|
354
|
-
const
|
|
355
|
-
if (
|
|
356
|
-
return
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
let
|
|
360
|
-
const
|
|
361
|
-
|
|
354
|
+
const b = d(async () => {
|
|
355
|
+
if (Q.current)
|
|
356
|
+
return Q.current;
|
|
357
|
+
const f = C.current?.getRefreshToken(), S = !!f, G = re(), H = {};
|
|
358
|
+
S && (H["Content-Type"] = "application/json"), G && (H["X-CSRF-Token"] = G);
|
|
359
|
+
let K, J;
|
|
360
|
+
const V = new Promise((M, L) => {
|
|
361
|
+
K = M, J = L;
|
|
362
362
|
});
|
|
363
|
-
|
|
364
|
-
const
|
|
363
|
+
Q.current = V, (async () => {
|
|
364
|
+
const M = new AbortController(), L = i ?? 1e4, Ge = window.setTimeout(() => M.abort(), L);
|
|
365
365
|
try {
|
|
366
|
-
const
|
|
366
|
+
const W = await fetch(`${e}/refresh`, {
|
|
367
367
|
method: "POST",
|
|
368
368
|
headers: Object.keys(H).length > 0 ? H : void 0,
|
|
369
369
|
credentials: "include",
|
|
370
|
-
body:
|
|
371
|
-
signal:
|
|
370
|
+
body: S ? JSON.stringify({ refreshToken: f }) : void 0,
|
|
371
|
+
signal: M.signal
|
|
372
372
|
});
|
|
373
|
-
if (!
|
|
373
|
+
if (!W.ok)
|
|
374
374
|
throw new Error("Token refresh failed");
|
|
375
|
-
const
|
|
376
|
-
if (
|
|
377
|
-
if (!Re(
|
|
375
|
+
const te = await W.json();
|
|
376
|
+
if (te.tokens) {
|
|
377
|
+
if (!Re(te.tokens))
|
|
378
378
|
throw new Error("Invalid token response structure");
|
|
379
|
-
|
|
380
|
-
} else if (
|
|
379
|
+
C.current?.setTokens(te.tokens);
|
|
380
|
+
} else if (u.storage !== "cookie")
|
|
381
381
|
throw new Error("Token refresh failed");
|
|
382
|
-
s.current?.broadcastRefresh(),
|
|
383
|
-
} catch (
|
|
384
|
-
throw J(
|
|
382
|
+
s.current?.broadcastRefresh(), K();
|
|
383
|
+
} catch (W) {
|
|
384
|
+
throw J(W), W;
|
|
385
385
|
} finally {
|
|
386
386
|
window.clearTimeout(Ge);
|
|
387
387
|
}
|
|
388
388
|
})().catch(() => {
|
|
389
389
|
});
|
|
390
390
|
try {
|
|
391
|
-
await
|
|
391
|
+
await V;
|
|
392
392
|
} finally {
|
|
393
|
-
|
|
393
|
+
Q.current = null;
|
|
394
394
|
}
|
|
395
|
-
}, [e,
|
|
396
|
-
if (
|
|
397
|
-
const
|
|
398
|
-
if (
|
|
399
|
-
return { Authorization: `Bearer ${
|
|
400
|
-
}, [
|
|
401
|
-
|
|
402
|
-
}, [
|
|
403
|
-
|
|
404
|
-
const
|
|
405
|
-
(
|
|
406
|
-
const
|
|
407
|
-
J && Object.assign(
|
|
408
|
-
const
|
|
409
|
-
return
|
|
410
|
-
promise: fetch(
|
|
395
|
+
}, [e, u.storage, i]), k = d(() => {
|
|
396
|
+
if (u.storage === "cookie") return;
|
|
397
|
+
const f = C.current?.getAccessToken();
|
|
398
|
+
if (f)
|
|
399
|
+
return { Authorization: `Bearer ${f}` };
|
|
400
|
+
}, [u.storage]), E = d(() => {
|
|
401
|
+
C.current?.clear(), c(null), B("unauthenticated"), p.current?.onSessionExpired?.();
|
|
402
|
+
}, [B, c]);
|
|
403
|
+
m.current = b, U.current = E;
|
|
404
|
+
const h = d(
|
|
405
|
+
(f) => {
|
|
406
|
+
const S = new AbortController(), G = i ?? 1e4, H = window.setTimeout(() => S.abort(), G), K = {}, J = k();
|
|
407
|
+
J && Object.assign(K, J);
|
|
408
|
+
const V = re();
|
|
409
|
+
return V && (K["X-CSRF-Token"] = V), {
|
|
410
|
+
promise: fetch(f, {
|
|
411
411
|
credentials: "include",
|
|
412
|
-
headers: Object.keys(
|
|
413
|
-
signal:
|
|
412
|
+
headers: Object.keys(K).length > 0 ? K : void 0,
|
|
413
|
+
signal: S.signal
|
|
414
414
|
}),
|
|
415
415
|
cleanup: () => window.clearTimeout(H)
|
|
416
416
|
};
|
|
417
417
|
},
|
|
418
|
-
[
|
|
419
|
-
), g =
|
|
420
|
-
const
|
|
418
|
+
[k, i]
|
|
419
|
+
), g = d(async () => {
|
|
420
|
+
const f = h(`${e}/user`);
|
|
421
421
|
try {
|
|
422
|
-
const
|
|
423
|
-
if (
|
|
424
|
-
const
|
|
425
|
-
if (_(
|
|
426
|
-
|
|
422
|
+
const S = await f.promise;
|
|
423
|
+
if (S.ok) {
|
|
424
|
+
const G = await S.json();
|
|
425
|
+
if (_(G)) {
|
|
426
|
+
c(G.user), B("authenticated");
|
|
427
427
|
return;
|
|
428
428
|
}
|
|
429
429
|
}
|
|
430
|
-
if (
|
|
430
|
+
if (S.status === 401 && u.autoRefresh) {
|
|
431
431
|
try {
|
|
432
|
-
await
|
|
432
|
+
await b();
|
|
433
433
|
} catch {
|
|
434
|
-
|
|
434
|
+
E();
|
|
435
435
|
return;
|
|
436
436
|
}
|
|
437
|
-
const
|
|
437
|
+
const G = h(`${e}/user`);
|
|
438
438
|
try {
|
|
439
|
-
const H = await
|
|
439
|
+
const H = await G.promise;
|
|
440
440
|
if (H.ok) {
|
|
441
|
-
const
|
|
442
|
-
if (_(
|
|
443
|
-
|
|
441
|
+
const K = await H.json();
|
|
442
|
+
if (_(K)) {
|
|
443
|
+
c(K.user), B("authenticated");
|
|
444
444
|
return;
|
|
445
445
|
}
|
|
446
446
|
}
|
|
447
447
|
} finally {
|
|
448
|
-
|
|
448
|
+
G.cleanup();
|
|
449
449
|
}
|
|
450
450
|
}
|
|
451
|
-
|
|
451
|
+
c(null), B("unauthenticated");
|
|
452
452
|
} catch {
|
|
453
|
-
|
|
453
|
+
c(null), B("unauthenticated");
|
|
454
454
|
} finally {
|
|
455
|
-
|
|
455
|
+
f.cleanup();
|
|
456
456
|
}
|
|
457
457
|
}, [
|
|
458
458
|
e,
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
459
|
+
u.autoRefresh,
|
|
460
|
+
b,
|
|
461
|
+
h,
|
|
462
|
+
E,
|
|
463
|
+
B,
|
|
464
|
+
c
|
|
465
465
|
]);
|
|
466
|
-
|
|
467
|
-
!s.current || !
|
|
468
|
-
switch (
|
|
466
|
+
x(() => {
|
|
467
|
+
!s.current || !u.syncTabs || s.current.setCallback((f) => {
|
|
468
|
+
switch (f.type) {
|
|
469
469
|
case "login":
|
|
470
|
-
|
|
470
|
+
c(f.user), B("authenticated");
|
|
471
471
|
break;
|
|
472
472
|
case "logout":
|
|
473
|
-
|
|
473
|
+
c(null), B("unauthenticated"), C.current?.clear();
|
|
474
474
|
break;
|
|
475
475
|
case "refresh":
|
|
476
476
|
g();
|
|
477
477
|
break;
|
|
478
478
|
default:
|
|
479
|
-
console.warn("[Cedros Login] Unhandled tab sync event:",
|
|
479
|
+
console.warn("[Cedros Login] Unhandled tab sync event:", f);
|
|
480
480
|
}
|
|
481
481
|
});
|
|
482
|
-
}, [
|
|
483
|
-
const
|
|
482
|
+
}, [u.syncTabs, g, B, c]), x(() => {
|
|
483
|
+
const f = new AbortController(), S = i ?? 1e4, G = window.setTimeout(() => f.abort(), S);
|
|
484
484
|
return (async () => {
|
|
485
|
-
|
|
485
|
+
B("loading");
|
|
486
486
|
try {
|
|
487
|
-
const
|
|
487
|
+
const K = await fetch(`${e}/user`, {
|
|
488
488
|
credentials: "include",
|
|
489
|
-
headers:
|
|
490
|
-
signal:
|
|
489
|
+
headers: k(),
|
|
490
|
+
signal: f.signal
|
|
491
491
|
});
|
|
492
|
-
if (
|
|
493
|
-
const J = await
|
|
492
|
+
if (K.ok) {
|
|
493
|
+
const J = await K.json();
|
|
494
494
|
if (_(J)) {
|
|
495
|
-
|
|
495
|
+
c(J.user), B("authenticated");
|
|
496
496
|
return;
|
|
497
497
|
}
|
|
498
498
|
}
|
|
499
|
-
if (
|
|
499
|
+
if (K.status === 401 && u.autoRefresh) {
|
|
500
500
|
try {
|
|
501
|
-
await
|
|
501
|
+
await b();
|
|
502
502
|
} catch {
|
|
503
|
-
|
|
503
|
+
E();
|
|
504
504
|
return;
|
|
505
505
|
}
|
|
506
506
|
const J = await fetch(`${e}/user`, {
|
|
507
507
|
credentials: "include",
|
|
508
|
-
headers:
|
|
509
|
-
signal:
|
|
508
|
+
headers: k(),
|
|
509
|
+
signal: f.signal
|
|
510
510
|
});
|
|
511
511
|
if (J.ok) {
|
|
512
|
-
const
|
|
513
|
-
if (_(
|
|
514
|
-
|
|
512
|
+
const V = await J.json();
|
|
513
|
+
if (_(V)) {
|
|
514
|
+
c(V.user), B("authenticated");
|
|
515
515
|
return;
|
|
516
516
|
}
|
|
517
517
|
}
|
|
518
518
|
}
|
|
519
|
-
|
|
519
|
+
c(null), B("unauthenticated");
|
|
520
520
|
} catch {
|
|
521
|
-
|
|
521
|
+
c(null), B("unauthenticated");
|
|
522
522
|
}
|
|
523
523
|
})(), () => {
|
|
524
|
-
window.clearTimeout(
|
|
524
|
+
window.clearTimeout(G), f.abort();
|
|
525
525
|
};
|
|
526
526
|
}, [
|
|
527
527
|
e,
|
|
528
|
-
|
|
529
|
-
|
|
528
|
+
u.autoRefresh,
|
|
529
|
+
b,
|
|
530
|
+
k,
|
|
530
531
|
E,
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
Q,
|
|
532
|
+
B,
|
|
533
|
+
c,
|
|
534
534
|
i
|
|
535
535
|
]);
|
|
536
|
-
const I =
|
|
537
|
-
(
|
|
538
|
-
|
|
536
|
+
const I = d(
|
|
537
|
+
(f, S) => {
|
|
538
|
+
c(f), B("authenticated"), S && C.current?.setTokens(S), y.current && s.current?.broadcastLogin(f);
|
|
539
539
|
},
|
|
540
|
-
[
|
|
541
|
-
), l =
|
|
542
|
-
const
|
|
540
|
+
[c, B]
|
|
541
|
+
), l = d(async () => {
|
|
542
|
+
const f = re(), S = new AbortController(), G = i ?? 1e4, H = window.setTimeout(() => S.abort(), G);
|
|
543
543
|
try {
|
|
544
544
|
await fetch(`${e}/logout`, {
|
|
545
545
|
method: "POST",
|
|
546
546
|
headers: {
|
|
547
|
-
...
|
|
548
|
-
...
|
|
547
|
+
...f ? { "X-CSRF-Token": f } : {},
|
|
548
|
+
...k() ?? {}
|
|
549
549
|
},
|
|
550
550
|
credentials: "include",
|
|
551
|
-
signal:
|
|
551
|
+
signal: S.signal
|
|
552
552
|
});
|
|
553
553
|
} catch {
|
|
554
554
|
} finally {
|
|
555
|
-
window.clearTimeout(H),
|
|
555
|
+
window.clearTimeout(H), c(null), B("unauthenticated"), C.current?.clear(), s.current?.broadcastLogout(), p.current?.onLogout?.();
|
|
556
556
|
}
|
|
557
|
-
}, [e,
|
|
557
|
+
}, [e, k, c, B, i]), w = d(() => C.current?.getAccessToken() ?? null, []);
|
|
558
558
|
return {
|
|
559
559
|
user: r,
|
|
560
560
|
authState: o,
|
|
561
561
|
handleLoginSuccess: I,
|
|
562
562
|
logout: l,
|
|
563
563
|
refreshUser: g,
|
|
564
|
-
getAccessToken:
|
|
564
|
+
getAccessToken: w
|
|
565
565
|
};
|
|
566
566
|
}
|
|
567
567
|
const Xe = {
|
|
@@ -621,7 +621,7 @@ function tA(e) {
|
|
|
621
621
|
throw new Error(`Invalid PRF salt length: expected 32, got ${e.length}`);
|
|
622
622
|
return e;
|
|
623
623
|
}
|
|
624
|
-
function
|
|
624
|
+
function X(e) {
|
|
625
625
|
return new Uint8Array(e);
|
|
626
626
|
}
|
|
627
627
|
function ee(e) {
|
|
@@ -661,7 +661,7 @@ function et(...e) {
|
|
|
661
661
|
async function rA(e) {
|
|
662
662
|
return crypto.subtle.importKey(
|
|
663
663
|
"raw",
|
|
664
|
-
|
|
664
|
+
X(e),
|
|
665
665
|
{ name: "AES-GCM", length: 256 },
|
|
666
666
|
!1,
|
|
667
667
|
// not extractable
|
|
@@ -670,9 +670,9 @@ async function rA(e) {
|
|
|
670
670
|
}
|
|
671
671
|
async function nA(e, A, t) {
|
|
672
672
|
const i = t ?? iA(), r = await rA(A), n = await crypto.subtle.encrypt(
|
|
673
|
-
{ name: "AES-GCM", iv:
|
|
673
|
+
{ name: "AES-GCM", iv: X(i) },
|
|
674
674
|
r,
|
|
675
|
-
|
|
675
|
+
X(e)
|
|
676
676
|
);
|
|
677
677
|
return {
|
|
678
678
|
ciphertext: new Uint8Array(n),
|
|
@@ -709,7 +709,7 @@ function oA(e) {
|
|
|
709
709
|
async function sA(e, A, t, i = 32) {
|
|
710
710
|
const r = await crypto.subtle.importKey(
|
|
711
711
|
"raw",
|
|
712
|
-
|
|
712
|
+
X(e),
|
|
713
713
|
"HKDF",
|
|
714
714
|
!1,
|
|
715
715
|
["deriveBits"]
|
|
@@ -717,9 +717,9 @@ async function sA(e, A, t, i = 32) {
|
|
|
717
717
|
{
|
|
718
718
|
name: "HKDF",
|
|
719
719
|
hash: "SHA-256",
|
|
720
|
-
salt:
|
|
720
|
+
salt: X(A ?? new Uint8Array(32)),
|
|
721
721
|
// Zero salt if not provided
|
|
722
|
-
info:
|
|
722
|
+
info: X(n)
|
|
723
723
|
},
|
|
724
724
|
r,
|
|
725
725
|
i * 8
|
|
@@ -750,34 +750,34 @@ async function IA() {
|
|
|
750
750
|
return !1;
|
|
751
751
|
}
|
|
752
752
|
}
|
|
753
|
-
function
|
|
753
|
+
function R(e, A, t, i) {
|
|
754
754
|
function r(n) {
|
|
755
755
|
return n instanceof t ? n : new t(function(o) {
|
|
756
756
|
o(n);
|
|
757
757
|
});
|
|
758
758
|
}
|
|
759
759
|
return new (t || (t = Promise))(function(n, o) {
|
|
760
|
-
function a(
|
|
760
|
+
function a(p) {
|
|
761
761
|
try {
|
|
762
|
-
s(i.next(
|
|
762
|
+
s(i.next(p));
|
|
763
763
|
} catch (y) {
|
|
764
764
|
o(y);
|
|
765
765
|
}
|
|
766
766
|
}
|
|
767
|
-
function
|
|
767
|
+
function C(p) {
|
|
768
768
|
try {
|
|
769
|
-
s(i.throw(
|
|
769
|
+
s(i.throw(p));
|
|
770
770
|
} catch (y) {
|
|
771
771
|
o(y);
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
|
-
function s(
|
|
775
|
-
|
|
774
|
+
function s(p) {
|
|
775
|
+
p.done ? n(p.value) : r(p.value).then(a, C);
|
|
776
776
|
}
|
|
777
777
|
s((i = i.apply(e, [])).next());
|
|
778
778
|
});
|
|
779
779
|
}
|
|
780
|
-
class
|
|
780
|
+
class D {
|
|
781
781
|
constructor() {
|
|
782
782
|
this.mutex = Promise.resolve();
|
|
783
783
|
}
|
|
@@ -789,7 +789,7 @@ class F {
|
|
|
789
789
|
});
|
|
790
790
|
}
|
|
791
791
|
dispatch(A) {
|
|
792
|
-
return
|
|
792
|
+
return R(this, void 0, void 0, function* () {
|
|
793
793
|
const t = yield this.lock();
|
|
794
794
|
try {
|
|
795
795
|
return yield Promise.resolve(A());
|
|
@@ -799,11 +799,11 @@ class F {
|
|
|
799
799
|
});
|
|
800
800
|
}
|
|
801
801
|
}
|
|
802
|
-
var
|
|
802
|
+
var ne;
|
|
803
803
|
function aA() {
|
|
804
804
|
return typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global;
|
|
805
805
|
}
|
|
806
|
-
const
|
|
806
|
+
const le = aA(), oe = (ne = le.Buffer) !== null && ne !== void 0 ? ne : null, gA = le.TextEncoder ? new le.TextEncoder() : null;
|
|
807
807
|
function Fe(e, A) {
|
|
808
808
|
return (e & 15) + (e >> 6 | e >> 3 & 8) << 4 | (A & 15) + (A >> 6 | A >> 3 & 8);
|
|
809
809
|
}
|
|
@@ -825,7 +825,7 @@ function lA(e, A) {
|
|
|
825
825
|
return !0;
|
|
826
826
|
}
|
|
827
827
|
const we = 87, Qe = 48;
|
|
828
|
-
function
|
|
828
|
+
function ce(e, A, t) {
|
|
829
829
|
let i = 0;
|
|
830
830
|
for (let r = 0; r < t; r++) {
|
|
831
831
|
let n = A[r] >>> 4;
|
|
@@ -833,12 +833,12 @@ function Ce(e, A, t) {
|
|
|
833
833
|
}
|
|
834
834
|
return String.fromCharCode.apply(null, e);
|
|
835
835
|
}
|
|
836
|
-
const
|
|
836
|
+
const T = oe !== null ? (e) => {
|
|
837
837
|
if (typeof e == "string") {
|
|
838
|
-
const A =
|
|
838
|
+
const A = oe.from(e, "utf8");
|
|
839
839
|
return new Uint8Array(A.buffer, A.byteOffset, A.length);
|
|
840
840
|
}
|
|
841
|
-
if (
|
|
841
|
+
if (oe.isBuffer(e))
|
|
842
842
|
return new Uint8Array(e.buffer, e.byteOffset, e.length);
|
|
843
843
|
if (ArrayBuffer.isView(e))
|
|
844
844
|
return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
|
|
@@ -849,21 +849,21 @@ const v = se !== null ? (e) => {
|
|
|
849
849
|
if (ArrayBuffer.isView(e))
|
|
850
850
|
return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
|
|
851
851
|
throw new Error("Invalid data type!");
|
|
852
|
-
},
|
|
853
|
-
for (let e = 0; e <
|
|
854
|
-
|
|
852
|
+
}, O = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Z = new Uint8Array(256);
|
|
853
|
+
for (let e = 0; e < O.length; e++)
|
|
854
|
+
Z[O.charCodeAt(e)] = e;
|
|
855
855
|
function Be(e, A = !0) {
|
|
856
856
|
const t = e.length, i = t % 3, r = [], n = t - i;
|
|
857
857
|
for (let o = 0; o < n; o += 3) {
|
|
858
|
-
const a = (e[o] << 16 & 16711680) + (e[o + 1] << 8 & 65280) + (e[o + 2] & 255),
|
|
859
|
-
r.push(
|
|
858
|
+
const a = (e[o] << 16 & 16711680) + (e[o + 1] << 8 & 65280) + (e[o + 2] & 255), C = O.charAt(a >> 18 & 63) + O.charAt(a >> 12 & 63) + O.charAt(a >> 6 & 63) + O.charAt(a & 63);
|
|
859
|
+
r.push(C);
|
|
860
860
|
}
|
|
861
861
|
if (i === 1) {
|
|
862
|
-
const o = e[t - 1], a =
|
|
863
|
-
r.push(`${a}${
|
|
862
|
+
const o = e[t - 1], a = O.charAt(o >> 2), C = O.charAt(o << 4 & 63);
|
|
863
|
+
r.push(`${a}${C}`), A && r.push("==");
|
|
864
864
|
} else if (i === 2) {
|
|
865
|
-
const o = (e[t - 2] << 8) + e[t - 1], a =
|
|
866
|
-
r.push(`${a}${
|
|
865
|
+
const o = (e[t - 2] << 8) + e[t - 1], a = O.charAt(o >> 10), C = O.charAt(o >> 4 & 63), s = O.charAt(o << 2 & 63);
|
|
866
|
+
r.push(`${a}${C}${s}`), A && r.push("=");
|
|
867
867
|
}
|
|
868
868
|
return r.join("");
|
|
869
869
|
}
|
|
@@ -876,29 +876,29 @@ function CA(e) {
|
|
|
876
876
|
const A = cA(e), t = e.length, i = new Uint8Array(A);
|
|
877
877
|
let r = 0;
|
|
878
878
|
for (let n = 0; n < t; n += 4) {
|
|
879
|
-
const o =
|
|
880
|
-
i[r] = o << 2 | a >> 4, r += 1, i[r] = (a & 15) << 4 |
|
|
879
|
+
const o = Z[e.charCodeAt(n)], a = Z[e.charCodeAt(n + 1)], C = Z[e.charCodeAt(n + 2)], s = Z[e.charCodeAt(n + 3)];
|
|
880
|
+
i[r] = o << 2 | a >> 4, r += 1, i[r] = (a & 15) << 4 | C >> 2, r += 1, i[r] = (C & 3) << 6 | s & 63, r += 1;
|
|
881
881
|
}
|
|
882
882
|
return i;
|
|
883
883
|
}
|
|
884
|
-
const $ = 16 * 1024,
|
|
884
|
+
const $ = 16 * 1024, j = 4, hA = new D(), se = /* @__PURE__ */ new Map();
|
|
885
885
|
function me(e, A) {
|
|
886
|
-
return
|
|
886
|
+
return R(this, void 0, void 0, function* () {
|
|
887
887
|
let t = null, i = null, r = !1;
|
|
888
888
|
if (typeof WebAssembly > "u")
|
|
889
889
|
throw new Error("WebAssembly is not supported in this environment!");
|
|
890
890
|
const n = (g, I = 0) => {
|
|
891
891
|
i.set(g, I);
|
|
892
|
-
}, o = () => i, a = () => t.exports,
|
|
892
|
+
}, o = () => i, a = () => t.exports, C = (g) => {
|
|
893
893
|
t.exports.Hash_SetMemorySize(g);
|
|
894
894
|
const I = t.exports.Hash_GetBuffer(), l = t.exports.memory.buffer;
|
|
895
895
|
i = new Uint8Array(l, I, g);
|
|
896
|
-
}, s = () => new DataView(t.exports.memory.buffer).getUint32(t.exports.STATE_SIZE, !0),
|
|
897
|
-
if (!
|
|
896
|
+
}, s = () => new DataView(t.exports.memory.buffer).getUint32(t.exports.STATE_SIZE, !0), p = hA.dispatch(() => R(this, void 0, void 0, function* () {
|
|
897
|
+
if (!se.has(e.name)) {
|
|
898
898
|
const I = CA(e.data), l = WebAssembly.compile(I);
|
|
899
|
-
|
|
899
|
+
se.set(e.name, l);
|
|
900
900
|
}
|
|
901
|
-
const g = yield
|
|
901
|
+
const g = yield se.get(e.name);
|
|
902
902
|
t = yield WebAssembly.instantiate(g, {
|
|
903
903
|
// env: {
|
|
904
904
|
// emscripten_memcpy_big: (dest, src, num) => {
|
|
@@ -913,86 +913,86 @@ function me(e, A) {
|
|
|
913
913
|
// },
|
|
914
914
|
// },
|
|
915
915
|
});
|
|
916
|
-
})), y = () =>
|
|
917
|
-
t || (yield
|
|
916
|
+
})), y = () => R(this, void 0, void 0, function* () {
|
|
917
|
+
t || (yield p);
|
|
918
918
|
const g = t.exports.Hash_GetBuffer(), I = t.exports.memory.buffer;
|
|
919
919
|
i = new Uint8Array(I, g, $);
|
|
920
|
-
}),
|
|
920
|
+
}), Q = (g = null) => {
|
|
921
921
|
r = !0, t.exports.Hash_Init(g);
|
|
922
|
-
},
|
|
922
|
+
}, m = (g) => {
|
|
923
923
|
let I = 0;
|
|
924
924
|
for (; I < g.length; ) {
|
|
925
925
|
const l = g.subarray(I, I + $);
|
|
926
926
|
I += l.length, i.set(l), t.exports.Hash_Update(l.length);
|
|
927
927
|
}
|
|
928
|
-
},
|
|
928
|
+
}, U = (g) => {
|
|
929
929
|
if (!r)
|
|
930
930
|
throw new Error("update() called before init()");
|
|
931
|
-
const I =
|
|
932
|
-
|
|
933
|
-
},
|
|
931
|
+
const I = T(g);
|
|
932
|
+
m(I);
|
|
933
|
+
}, c = new Uint8Array(A * 2), B = (g, I = null) => {
|
|
934
934
|
if (!r)
|
|
935
935
|
throw new Error("digest() called before init()");
|
|
936
|
-
return r = !1, t.exports.Hash_Final(I), g === "binary" ? i.slice(0, A) :
|
|
937
|
-
},
|
|
936
|
+
return r = !1, t.exports.Hash_Final(I), g === "binary" ? i.slice(0, A) : ce(c, i, A);
|
|
937
|
+
}, u = () => {
|
|
938
938
|
if (!r)
|
|
939
939
|
throw new Error("save() can only be called after init() and before digest()");
|
|
940
|
-
const g = t.exports.Hash_GetState(), I = s(), l = t.exports.memory.buffer,
|
|
941
|
-
return Ue(
|
|
942
|
-
},
|
|
940
|
+
const g = t.exports.Hash_GetState(), I = s(), l = t.exports.memory.buffer, w = new Uint8Array(l, g, I), f = new Uint8Array(j + I);
|
|
941
|
+
return Ue(f, e.hash), f.set(w, j), f;
|
|
942
|
+
}, b = (g) => {
|
|
943
943
|
if (!(g instanceof Uint8Array))
|
|
944
944
|
throw new Error("load() expects an Uint8Array generated by save()");
|
|
945
|
-
const I = t.exports.Hash_GetState(), l = s(),
|
|
946
|
-
if (g.length !==
|
|
947
|
-
throw new Error(`Bad state length (expected ${
|
|
948
|
-
if (!lA(e.hash, g.subarray(0,
|
|
945
|
+
const I = t.exports.Hash_GetState(), l = s(), w = j + l, f = t.exports.memory.buffer;
|
|
946
|
+
if (g.length !== w)
|
|
947
|
+
throw new Error(`Bad state length (expected ${w} bytes, got ${g.length})`);
|
|
948
|
+
if (!lA(e.hash, g.subarray(0, j)))
|
|
949
949
|
throw new Error("This state was written by an incompatible hash implementation");
|
|
950
|
-
const
|
|
951
|
-
new Uint8Array(
|
|
952
|
-
},
|
|
953
|
-
let
|
|
950
|
+
const S = g.subarray(j);
|
|
951
|
+
new Uint8Array(f, I, l).set(S), r = !0;
|
|
952
|
+
}, k = (g) => typeof g == "string" ? g.length < $ / 4 : g.byteLength < $;
|
|
953
|
+
let E = k;
|
|
954
954
|
switch (e.name) {
|
|
955
955
|
case "argon2":
|
|
956
956
|
case "scrypt":
|
|
957
|
-
|
|
957
|
+
E = () => !0;
|
|
958
958
|
break;
|
|
959
959
|
case "blake2b":
|
|
960
960
|
case "blake2s":
|
|
961
|
-
|
|
961
|
+
E = (g, I) => I <= 512 && k(g);
|
|
962
962
|
break;
|
|
963
963
|
case "blake3":
|
|
964
|
-
|
|
964
|
+
E = (g, I) => I === 0 && k(g);
|
|
965
965
|
break;
|
|
966
966
|
case "xxhash64":
|
|
967
967
|
// cannot simplify
|
|
968
968
|
case "xxhash3":
|
|
969
969
|
case "xxhash128":
|
|
970
970
|
case "crc64":
|
|
971
|
-
|
|
971
|
+
E = () => !1;
|
|
972
972
|
break;
|
|
973
973
|
}
|
|
974
|
-
const
|
|
975
|
-
if (!
|
|
976
|
-
return
|
|
977
|
-
const
|
|
978
|
-
return i.set(
|
|
974
|
+
const h = (g, I = null, l = null) => {
|
|
975
|
+
if (!E(g, I))
|
|
976
|
+
return Q(I), U(g), B("hex", l);
|
|
977
|
+
const w = T(g);
|
|
978
|
+
return i.set(w), t.exports.Hash_Calculate(w.length, I, l), ce(c, i, A);
|
|
979
979
|
};
|
|
980
980
|
return yield y(), {
|
|
981
981
|
getMemory: o,
|
|
982
982
|
writeMemory: n,
|
|
983
983
|
getExports: a,
|
|
984
|
-
setMemorySize:
|
|
985
|
-
init:
|
|
986
|
-
update:
|
|
987
|
-
digest:
|
|
988
|
-
save:
|
|
989
|
-
load:
|
|
990
|
-
calculate:
|
|
984
|
+
setMemorySize: C,
|
|
985
|
+
init: Q,
|
|
986
|
+
update: U,
|
|
987
|
+
digest: B,
|
|
988
|
+
save: u,
|
|
989
|
+
load: b,
|
|
990
|
+
calculate: h,
|
|
991
991
|
hashLength: A
|
|
992
992
|
};
|
|
993
993
|
});
|
|
994
994
|
}
|
|
995
|
-
new
|
|
995
|
+
new D();
|
|
996
996
|
var fA = "argon2", uA = "AGFzbQEAAAABKQVgAX8Bf2AAAX9gEH9/f39/f39/f39/f39/f38AYAR/f39/AGACf38AAwYFAAECAwQFBgEBAoCAAgYIAX8BQZCoBAsHQQQGbWVtb3J5AgASSGFzaF9TZXRNZW1vcnlTaXplAAAOSGFzaF9HZXRCdWZmZXIAAQ5IYXNoX0NhbGN1bGF0ZQAECvEyBVgBAn9BACEBAkAgAEEAKAKICCICRg0AAkAgACACayIAQRB2IABBgIB8cSAASWoiAEAAQX9HDQBB/wHADwtBACEBQQBBACkDiAggAEEQdK18NwOICAsgAcALcAECfwJAQQAoAoAIIgANAEEAPwBBEHQiADYCgAhBACgCiAgiAUGAgCBGDQACQEGAgCAgAWsiAEEQdiAAQYCAfHEgAElqIgBAAEF/Rw0AQQAPC0EAQQApA4gIIABBEHStfDcDiAhBACgCgAghAAsgAAvcDgECfiAAIAQpAwAiECAAKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAMIBAgDCkDAIVCIIkiEDcDACAIIBAgCCkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgBCAQIAQpAwCFQiiJIhA3AwAgACAQIAApAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAwgECAMKQMAhUIwiSIQNwMAIAggECAIKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAEIBAgBCkDAIVCAYk3AwAgASAFKQMAIhAgASkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDSAQIA0pAwCFQiCJIhA3AwAgCSAQIAkpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAUgECAFKQMAhUIoiSIQNwMAIAEgECABKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACANIBAgDSkDAIVCMIkiEDcDACAJIBAgCSkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBSAQIAUpAwCFQgGJNwMAIAIgBikDACIQIAIpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIA4gECAOKQMAhUIgiSIQNwMAIAogECAKKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAGIBAgBikDAIVCKIkiEDcDACACIBAgAikDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgDiAQIA4pAwCFQjCJIhA3AwAgCiAQIAopAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAYgECAGKQMAhUIBiTcDACADIAcpAwAiECADKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAPIBAgDykDAIVCIIkiEDcDACALIBAgCykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgByAQIAcpAwCFQiiJIhA3AwAgAyAQIAMpAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIA8gECAPKQMAhUIwiSIQNwMAIAsgECALKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgACAFKQMAIhAgACkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDyAQIA8pAwCFQiCJIhA3AwAgCiAQIAopAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAUgECAFKQMAhUIoiSIQNwMAIAAgECAAKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAPIBAgDykDAIVCMIkiEDcDACAKIBAgCikDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBSAQIAUpAwCFQgGJNwMAIAEgBikDACIQIAEpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAwgECAMKQMAhUIgiSIQNwMAIAsgECALKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAGIBAgBikDAIVCKIkiEDcDACABIBAgASkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgDCAQIAwpAwCFQjCJIhA3AwAgCyAQIAspAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAYgECAGKQMAhUIBiTcDACACIAcpAwAiECACKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACANIBAgDSkDAIVCIIkiEDcDACAIIBAgCCkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgByAQIAcpAwCFQiiJIhA3AwAgAiAQIAIpAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIA0gECANKQMAhUIwiSIQNwMAIAggECAIKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgAyAEKQMAIhAgAykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDiAQIA4pAwCFQiCJIhA3AwAgCSAQIAkpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAQgECAEKQMAhUIoiSIQNwMAIAMgECADKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAOIBAgDikDAIVCMIkiEDcDACAJIBAgCSkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBCAQIAQpAwCFQgGJNwMAC98aAQN/QQAhBEEAIAIpAwAgASkDAIU3A5AIQQAgAikDCCABKQMIhTcDmAhBACACKQMQIAEpAxCFNwOgCEEAIAIpAxggASkDGIU3A6gIQQAgAikDICABKQMghTcDsAhBACACKQMoIAEpAyiFNwO4CEEAIAIpAzAgASkDMIU3A8AIQQAgAikDOCABKQM4hTcDyAhBACACKQNAIAEpA0CFNwPQCEEAIAIpA0ggASkDSIU3A9gIQQAgAikDUCABKQNQhTcD4AhBACACKQNYIAEpA1iFNwPoCEEAIAIpA2AgASkDYIU3A/AIQQAgAikDaCABKQNohTcD+AhBACACKQNwIAEpA3CFNwOACUEAIAIpA3ggASkDeIU3A4gJQQAgAikDgAEgASkDgAGFNwOQCUEAIAIpA4gBIAEpA4gBhTcDmAlBACACKQOQASABKQOQAYU3A6AJQQAgAikDmAEgASkDmAGFNwOoCUEAIAIpA6ABIAEpA6ABhTcDsAlBACACKQOoASABKQOoAYU3A7gJQQAgAikDsAEgASkDsAGFNwPACUEAIAIpA7gBIAEpA7gBhTcDyAlBACACKQPAASABKQPAAYU3A9AJQQAgAikDyAEgASkD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", wA = "e4cdc523", QA = {
|
|
997
997
|
name: fA,
|
|
998
998
|
data: uA,
|
|
@@ -1002,19 +1002,19 @@ var fA = "argon2", uA = "AGFzbQEAAAABKQVgAX8Bf2AAAX9gEH9/f39/f39/f39/f39/f38AYAR
|
|
|
1002
1002
|
data: dA,
|
|
1003
1003
|
hash: EA
|
|
1004
1004
|
};
|
|
1005
|
-
new
|
|
1005
|
+
new D();
|
|
1006
1006
|
function de(e) {
|
|
1007
1007
|
return !Number.isInteger(e) || e < 8 || e > 512 || e % 8 !== 0 ? new Error("Invalid variant! Valid values: 8, 16, ..., 512") : null;
|
|
1008
1008
|
}
|
|
1009
1009
|
function yA(e, A) {
|
|
1010
1010
|
return e | A << 16;
|
|
1011
1011
|
}
|
|
1012
|
-
function
|
|
1012
|
+
function Ce(e = 512, A = null) {
|
|
1013
1013
|
if (de(e))
|
|
1014
1014
|
return Promise.reject(de(e));
|
|
1015
1015
|
let t = null, i = e;
|
|
1016
1016
|
if (A !== null) {
|
|
1017
|
-
if (t =
|
|
1017
|
+
if (t = T(A), t.length > 64)
|
|
1018
1018
|
return Promise.reject(new Error("Max key length is 64 bytes"));
|
|
1019
1019
|
i = yA(e, t.length);
|
|
1020
1020
|
}
|
|
@@ -1043,24 +1043,24 @@ function kA(e, A, t) {
|
|
|
1043
1043
|
return `$argon2${A.hashType}$v=19$${i}$${Be(e, !1)}$${Be(t, !1)}`;
|
|
1044
1044
|
}
|
|
1045
1045
|
const Ee = new DataView(new ArrayBuffer(4));
|
|
1046
|
-
function
|
|
1046
|
+
function v(e) {
|
|
1047
1047
|
return Ee.setInt32(0, e, !0), new Uint8Array(Ee.buffer);
|
|
1048
1048
|
}
|
|
1049
|
-
function
|
|
1050
|
-
return
|
|
1049
|
+
function Ie(e, A, t) {
|
|
1050
|
+
return R(this, void 0, void 0, function* () {
|
|
1051
1051
|
if (t <= 64) {
|
|
1052
|
-
const
|
|
1053
|
-
return
|
|
1052
|
+
const C = yield Ce(t * 8);
|
|
1053
|
+
return C.update(v(t)), C.update(A), C.digest("binary");
|
|
1054
1054
|
}
|
|
1055
1055
|
const i = Math.ceil(t / 32) - 2, r = new Uint8Array(t);
|
|
1056
|
-
e.init(), e.update(
|
|
1056
|
+
e.init(), e.update(v(t)), e.update(A);
|
|
1057
1057
|
let n = e.digest("binary");
|
|
1058
1058
|
r.set(n.subarray(0, 32), 0);
|
|
1059
|
-
for (let
|
|
1060
|
-
e.init(), e.update(n), n = e.digest("binary"), r.set(n.subarray(0, 32),
|
|
1059
|
+
for (let C = 1; C < i; C++)
|
|
1060
|
+
e.init(), e.update(n), n = e.digest("binary"), r.set(n.subarray(0, 32), C * 32);
|
|
1061
1061
|
const o = t - 32 * i;
|
|
1062
1062
|
let a;
|
|
1063
|
-
return o === 64 ? (a = e, a.init()) : a = yield
|
|
1063
|
+
return o === 64 ? (a = e, a.init()) : a = yield Ce(o * 8), a.update(n), n = a.digest("binary"), r.set(n.subarray(0, o), i * 32), r;
|
|
1064
1064
|
});
|
|
1065
1065
|
}
|
|
1066
1066
|
function SA(e) {
|
|
@@ -1074,30 +1074,30 @@ function SA(e) {
|
|
|
1074
1074
|
}
|
|
1075
1075
|
}
|
|
1076
1076
|
function DA(e) {
|
|
1077
|
-
return
|
|
1077
|
+
return R(this, void 0, void 0, function* () {
|
|
1078
1078
|
var A;
|
|
1079
|
-
const { parallelism: t, iterations: i, hashLength: r } = e, n =
|
|
1079
|
+
const { parallelism: t, iterations: i, hashLength: r } = e, n = T(e.password), o = T(e.salt), a = 19, C = SA(e.hashType), { memorySize: s } = e, p = T((A = e.secret) !== null && A !== void 0 ? A : ""), [y, Q] = yield Promise.all([
|
|
1080
1080
|
me(QA, 1024),
|
|
1081
|
-
|
|
1081
|
+
Ce(512)
|
|
1082
1082
|
]);
|
|
1083
1083
|
y.setMemorySize(s * 1024 + 1024);
|
|
1084
|
-
const
|
|
1085
|
-
|
|
1086
|
-
const
|
|
1087
|
-
|
|
1088
|
-
for (let
|
|
1089
|
-
|
|
1090
|
-
let g =
|
|
1091
|
-
y.writeMemory(I, g * 1024), g += 1,
|
|
1084
|
+
const m = new Uint8Array(24), U = new DataView(m.buffer);
|
|
1085
|
+
U.setInt32(0, t, !0), U.setInt32(4, r, !0), U.setInt32(8, s, !0), U.setInt32(12, i, !0), U.setInt32(16, a, !0), U.setInt32(20, C, !0), y.writeMemory(m, s * 1024), Q.init(), Q.update(m), Q.update(v(n.length)), Q.update(n), Q.update(v(o.length)), Q.update(o), Q.update(v(p.length)), Q.update(p), Q.update(v(0));
|
|
1086
|
+
const B = Math.floor(s / (t * 4)) * 4, u = new Uint8Array(72), b = Q.digest("binary");
|
|
1087
|
+
u.set(b);
|
|
1088
|
+
for (let h = 0; h < t; h++) {
|
|
1089
|
+
u.set(v(0), 64), u.set(v(h), 68);
|
|
1090
|
+
let g = h * B, I = yield Ie(Q, u, 1024);
|
|
1091
|
+
y.writeMemory(I, g * 1024), g += 1, u.set(v(1), 64), I = yield Ie(Q, u, 1024), y.writeMemory(I, g * 1024);
|
|
1092
1092
|
}
|
|
1093
|
-
const
|
|
1094
|
-
Ue(
|
|
1095
|
-
const
|
|
1093
|
+
const k = new Uint8Array(1024);
|
|
1094
|
+
Ue(k, y.calculate(new Uint8Array([]), s));
|
|
1095
|
+
const E = yield Ie(Q, k, r);
|
|
1096
1096
|
if (e.outputType === "hex") {
|
|
1097
|
-
const
|
|
1098
|
-
return
|
|
1097
|
+
const h = new Uint8Array(r * 2);
|
|
1098
|
+
return ce(h, E, r);
|
|
1099
1099
|
}
|
|
1100
|
-
return e.outputType === "encoded" ? kA(o, e,
|
|
1100
|
+
return e.outputType === "encoded" ? kA(o, e, E) : E;
|
|
1101
1101
|
});
|
|
1102
1102
|
}
|
|
1103
1103
|
const FA = (e) => {
|
|
@@ -1106,13 +1106,13 @@ const FA = (e) => {
|
|
|
1106
1106
|
throw new Error("Invalid options parameter. It requires an object.");
|
|
1107
1107
|
if (!e.password)
|
|
1108
1108
|
throw new Error("Password must be specified");
|
|
1109
|
-
if (e.password =
|
|
1109
|
+
if (e.password = T(e.password), e.password.length < 1)
|
|
1110
1110
|
throw new Error("Password must be specified");
|
|
1111
1111
|
if (!e.salt)
|
|
1112
1112
|
throw new Error("Salt must be specified");
|
|
1113
|
-
if (e.salt =
|
|
1113
|
+
if (e.salt = T(e.salt), e.salt.length < 8)
|
|
1114
1114
|
throw new Error("Salt should be at least 8 bytes long");
|
|
1115
|
-
if (e.secret =
|
|
1115
|
+
if (e.secret = T((A = e.secret) !== null && A !== void 0 ? A : ""), !Number.isInteger(e.iterations) || e.iterations < 1)
|
|
1116
1116
|
throw new Error("Iterations should be a positive number");
|
|
1117
1117
|
if (!Number.isInteger(e.parallelism) || e.parallelism < 1)
|
|
1118
1118
|
throw new Error("Parallelism should be a positive number");
|
|
@@ -1126,30 +1126,30 @@ const FA = (e) => {
|
|
|
1126
1126
|
throw new Error(`Insupported output type ${e.outputType}. Valid values: ['hex', 'binary', 'encoded']`);
|
|
1127
1127
|
};
|
|
1128
1128
|
function be(e) {
|
|
1129
|
-
return
|
|
1129
|
+
return R(this, void 0, void 0, function* () {
|
|
1130
1130
|
return FA(e), DA(Object.assign(Object.assign({}, e), { hashType: "id" }));
|
|
1131
1131
|
});
|
|
1132
1132
|
}
|
|
1133
|
-
new
|
|
1134
|
-
new
|
|
1135
|
-
new
|
|
1136
|
-
new
|
|
1137
|
-
new
|
|
1138
|
-
new
|
|
1139
|
-
new
|
|
1140
|
-
new
|
|
1141
|
-
new
|
|
1142
|
-
new
|
|
1143
|
-
new
|
|
1144
|
-
new
|
|
1145
|
-
new
|
|
1146
|
-
new
|
|
1147
|
-
new
|
|
1148
|
-
new
|
|
1149
|
-
new
|
|
1150
|
-
new
|
|
1151
|
-
new
|
|
1152
|
-
new
|
|
1133
|
+
new D();
|
|
1134
|
+
new D();
|
|
1135
|
+
new D();
|
|
1136
|
+
new D();
|
|
1137
|
+
new D();
|
|
1138
|
+
new D();
|
|
1139
|
+
new D();
|
|
1140
|
+
new D();
|
|
1141
|
+
new D();
|
|
1142
|
+
new D();
|
|
1143
|
+
new D();
|
|
1144
|
+
new D();
|
|
1145
|
+
new D();
|
|
1146
|
+
new D();
|
|
1147
|
+
new D();
|
|
1148
|
+
new D();
|
|
1149
|
+
new D();
|
|
1150
|
+
new D();
|
|
1151
|
+
new D();
|
|
1152
|
+
new D();
|
|
1153
1153
|
const UA = 32;
|
|
1154
1154
|
async function it(e, A, t = Xe) {
|
|
1155
1155
|
mA(t);
|
|
@@ -1211,11 +1211,11 @@ function KA(e) {
|
|
|
1211
1211
|
"[Cedros] WebAuthn RP domain validation is not configured. Set wallet.allowedRpDomains to a non-empty list of allowed domains."
|
|
1212
1212
|
);
|
|
1213
1213
|
}
|
|
1214
|
-
function
|
|
1214
|
+
function he() {
|
|
1215
1215
|
return typeof window < "u" && typeof window.PublicKeyCredential < "u" && typeof navigator.credentials < "u";
|
|
1216
1216
|
}
|
|
1217
1217
|
async function HA() {
|
|
1218
|
-
if (!
|
|
1218
|
+
if (!he())
|
|
1219
1219
|
return !1;
|
|
1220
1220
|
try {
|
|
1221
1221
|
if (!await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable())
|
|
@@ -1231,7 +1231,7 @@ async function HA() {
|
|
|
1231
1231
|
}
|
|
1232
1232
|
}
|
|
1233
1233
|
async function rt(e, A) {
|
|
1234
|
-
if (!
|
|
1234
|
+
if (!he())
|
|
1235
1235
|
throw new Error("WebAuthn is not available in this browser");
|
|
1236
1236
|
KA();
|
|
1237
1237
|
const t = oA(e), i = await navigator.credentials.get({
|
|
@@ -1268,8 +1268,8 @@ async function JA() {
|
|
|
1268
1268
|
MA(),
|
|
1269
1269
|
VA(),
|
|
1270
1270
|
IA(),
|
|
1271
|
-
|
|
1272
|
-
Promise.resolve(
|
|
1271
|
+
PA(),
|
|
1272
|
+
Promise.resolve(he()),
|
|
1273
1273
|
HA(),
|
|
1274
1274
|
bA()
|
|
1275
1275
|
]);
|
|
@@ -1302,7 +1302,7 @@ async function VA() {
|
|
|
1302
1302
|
return !1;
|
|
1303
1303
|
}
|
|
1304
1304
|
}
|
|
1305
|
-
async function
|
|
1305
|
+
async function PA() {
|
|
1306
1306
|
try {
|
|
1307
1307
|
return await crypto.subtle.generateKey("Ed25519", !1, ["sign", "verify"]), !0;
|
|
1308
1308
|
} catch {
|
|
@@ -1357,11 +1357,11 @@ function ot() {
|
|
|
1357
1357
|
likelySupported: !1
|
|
1358
1358
|
};
|
|
1359
1359
|
}
|
|
1360
|
-
let z = null,
|
|
1361
|
-
const
|
|
1360
|
+
let z = null, ae = null;
|
|
1361
|
+
const NA = 6e4;
|
|
1362
1362
|
async function YA(e = !1) {
|
|
1363
|
-
const A = Date.now(), t =
|
|
1364
|
-
return !e && !(typeof window > "u") && !t && z !== null || (z = await JA(),
|
|
1363
|
+
const A = Date.now(), t = ae === null || A - ae > NA;
|
|
1364
|
+
return !e && !(typeof window > "u") && !t && z !== null || (z = await JA(), ae = Date.now()), z;
|
|
1365
1365
|
}
|
|
1366
1366
|
function OA(e) {
|
|
1367
1367
|
switch (e.type) {
|
|
@@ -1372,38 +1372,38 @@ function OA(e) {
|
|
|
1372
1372
|
}
|
|
1373
1373
|
}
|
|
1374
1374
|
function xA() {
|
|
1375
|
-
const e = ye(), [A, t] =
|
|
1375
|
+
const e = ye(), [A, t] = F(!1), [i, r] = F(null), n = e?.config.serverUrl, o = e?.config.requestTimeout, a = e?.config.retryAttempts, C = e?._internal?.getAccessToken, s = Y(() => e ? new pe({
|
|
1376
1376
|
baseUrl: n,
|
|
1377
1377
|
timeoutMs: o,
|
|
1378
1378
|
retryAttempts: a,
|
|
1379
|
-
getAccessToken:
|
|
1380
|
-
}) : null, [e, n, o, a,
|
|
1379
|
+
getAccessToken: C
|
|
1380
|
+
}) : null, [e, n, o, a, C]), p = d(async () => {
|
|
1381
1381
|
if (!s)
|
|
1382
1382
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1383
1383
|
t(!0), r(null);
|
|
1384
1384
|
try {
|
|
1385
1385
|
return await s.get("/wallet/status");
|
|
1386
1386
|
} catch (I) {
|
|
1387
|
-
const l =
|
|
1387
|
+
const l = P(I, "Failed to fetch wallet status");
|
|
1388
1388
|
throw r(l.message), l;
|
|
1389
1389
|
} finally {
|
|
1390
1390
|
t(!1);
|
|
1391
1391
|
}
|
|
1392
|
-
}, [s]), y =
|
|
1392
|
+
}, [s]), y = d(async () => {
|
|
1393
1393
|
if (!s)
|
|
1394
1394
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1395
1395
|
t(!0), r(null);
|
|
1396
1396
|
try {
|
|
1397
1397
|
return await s.get("/wallet/material");
|
|
1398
1398
|
} catch (I) {
|
|
1399
|
-
const l =
|
|
1399
|
+
const l = P(I, "Failed to fetch wallet material");
|
|
1400
1400
|
if (l.code === "NOT_FOUND")
|
|
1401
1401
|
return null;
|
|
1402
1402
|
throw r(l.message), l;
|
|
1403
1403
|
} finally {
|
|
1404
1404
|
t(!1);
|
|
1405
1405
|
}
|
|
1406
|
-
}, [s]),
|
|
1406
|
+
}, [s]), Q = d(
|
|
1407
1407
|
async (I) => {
|
|
1408
1408
|
if (!s)
|
|
1409
1409
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
@@ -1411,14 +1411,14 @@ function xA() {
|
|
|
1411
1411
|
try {
|
|
1412
1412
|
await s.post("/wallet/enroll", I);
|
|
1413
1413
|
} catch (l) {
|
|
1414
|
-
const
|
|
1415
|
-
throw r(
|
|
1414
|
+
const w = P(l, "Failed to enroll wallet");
|
|
1415
|
+
throw r(w.message), w;
|
|
1416
1416
|
} finally {
|
|
1417
1417
|
t(!1);
|
|
1418
1418
|
}
|
|
1419
1419
|
},
|
|
1420
1420
|
[s]
|
|
1421
|
-
),
|
|
1421
|
+
), m = d(
|
|
1422
1422
|
async (I) => {
|
|
1423
1423
|
if (!s)
|
|
1424
1424
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
@@ -1426,14 +1426,14 @@ function xA() {
|
|
|
1426
1426
|
try {
|
|
1427
1427
|
await s.post("/wallet/recover", I);
|
|
1428
1428
|
} catch (l) {
|
|
1429
|
-
const
|
|
1430
|
-
throw r(
|
|
1429
|
+
const w = P(l, "Failed to recover wallet");
|
|
1430
|
+
throw r(w.message), w;
|
|
1431
1431
|
} finally {
|
|
1432
1432
|
t(!1);
|
|
1433
1433
|
}
|
|
1434
1434
|
},
|
|
1435
1435
|
[s]
|
|
1436
|
-
),
|
|
1436
|
+
), U = d(
|
|
1437
1437
|
async (I) => {
|
|
1438
1438
|
if (!s)
|
|
1439
1439
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
@@ -1441,14 +1441,14 @@ function xA() {
|
|
|
1441
1441
|
try {
|
|
1442
1442
|
return await s.post("/wallet/sign", I);
|
|
1443
1443
|
} catch (l) {
|
|
1444
|
-
const
|
|
1445
|
-
throw r(
|
|
1444
|
+
const w = P(l, "Failed to sign transaction");
|
|
1445
|
+
throw r(w.message), w;
|
|
1446
1446
|
} finally {
|
|
1447
1447
|
t(!1);
|
|
1448
1448
|
}
|
|
1449
1449
|
},
|
|
1450
1450
|
[s]
|
|
1451
|
-
),
|
|
1451
|
+
), c = d(
|
|
1452
1452
|
async (I) => {
|
|
1453
1453
|
if (!s)
|
|
1454
1454
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
@@ -1456,14 +1456,14 @@ function xA() {
|
|
|
1456
1456
|
try {
|
|
1457
1457
|
await s.post("/wallet/rotate-user-secret", I);
|
|
1458
1458
|
} catch (l) {
|
|
1459
|
-
const
|
|
1460
|
-
throw r(
|
|
1459
|
+
const w = P(l, "Failed to rotate user secret");
|
|
1460
|
+
throw r(w.message), w;
|
|
1461
1461
|
} finally {
|
|
1462
1462
|
t(!1);
|
|
1463
1463
|
}
|
|
1464
1464
|
},
|
|
1465
1465
|
[s]
|
|
1466
|
-
),
|
|
1466
|
+
), B = d(
|
|
1467
1467
|
async (I) => {
|
|
1468
1468
|
if (!s)
|
|
1469
1469
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
@@ -1474,26 +1474,26 @@ function xA() {
|
|
|
1474
1474
|
OA(I)
|
|
1475
1475
|
);
|
|
1476
1476
|
} catch (l) {
|
|
1477
|
-
const
|
|
1478
|
-
throw r(
|
|
1477
|
+
const w = P(l, "Failed to unlock wallet");
|
|
1478
|
+
throw r(w.message), w;
|
|
1479
1479
|
} finally {
|
|
1480
1480
|
t(!1);
|
|
1481
1481
|
}
|
|
1482
1482
|
},
|
|
1483
1483
|
[s]
|
|
1484
|
-
),
|
|
1484
|
+
), u = d(async () => {
|
|
1485
1485
|
if (!s)
|
|
1486
1486
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1487
1487
|
t(!0), r(null);
|
|
1488
1488
|
try {
|
|
1489
1489
|
await s.post("/wallet/lock", {});
|
|
1490
1490
|
} catch (I) {
|
|
1491
|
-
const l =
|
|
1491
|
+
const l = P(I, "Failed to lock wallet");
|
|
1492
1492
|
throw r(l.message), l;
|
|
1493
1493
|
} finally {
|
|
1494
1494
|
t(!1);
|
|
1495
1495
|
}
|
|
1496
|
-
}, [s]),
|
|
1496
|
+
}, [s]), b = d(
|
|
1497
1497
|
async (I) => {
|
|
1498
1498
|
if (!s)
|
|
1499
1499
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
@@ -1501,14 +1501,14 @@ function xA() {
|
|
|
1501
1501
|
try {
|
|
1502
1502
|
return await s.post("/wallet/share-b", I);
|
|
1503
1503
|
} catch (l) {
|
|
1504
|
-
const
|
|
1505
|
-
throw r(
|
|
1504
|
+
const w = P(l, "Failed to get Share B for recovery");
|
|
1505
|
+
throw r(w.message), w;
|
|
1506
1506
|
} finally {
|
|
1507
1507
|
t(!1);
|
|
1508
1508
|
}
|
|
1509
1509
|
},
|
|
1510
1510
|
[s]
|
|
1511
|
-
),
|
|
1511
|
+
), k = d(
|
|
1512
1512
|
async (I) => {
|
|
1513
1513
|
if (!s)
|
|
1514
1514
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
@@ -1516,26 +1516,26 @@ function xA() {
|
|
|
1516
1516
|
try {
|
|
1517
1517
|
return await s.post("/wallet/derived", I);
|
|
1518
1518
|
} catch (l) {
|
|
1519
|
-
const
|
|
1520
|
-
throw r(
|
|
1519
|
+
const w = P(l, "Failed to create derived wallet");
|
|
1520
|
+
throw r(w.message), w;
|
|
1521
1521
|
} finally {
|
|
1522
1522
|
t(!1);
|
|
1523
1523
|
}
|
|
1524
1524
|
},
|
|
1525
1525
|
[s]
|
|
1526
|
-
),
|
|
1526
|
+
), E = d(async () => {
|
|
1527
1527
|
if (!s)
|
|
1528
1528
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1529
1529
|
t(!0), r(null);
|
|
1530
1530
|
try {
|
|
1531
1531
|
return await s.get("/wallet/derived");
|
|
1532
1532
|
} catch (I) {
|
|
1533
|
-
const l =
|
|
1533
|
+
const l = P(I, "Failed to list wallets");
|
|
1534
1534
|
throw r(l.message), l;
|
|
1535
1535
|
} finally {
|
|
1536
1536
|
t(!1);
|
|
1537
1537
|
}
|
|
1538
|
-
}, [s]),
|
|
1538
|
+
}, [s]), h = d(
|
|
1539
1539
|
async (I) => {
|
|
1540
1540
|
if (!s)
|
|
1541
1541
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
@@ -1543,27 +1543,27 @@ function xA() {
|
|
|
1543
1543
|
try {
|
|
1544
1544
|
await s.delete(`/wallet/derived/${I}`);
|
|
1545
1545
|
} catch (l) {
|
|
1546
|
-
const
|
|
1547
|
-
throw r(
|
|
1546
|
+
const w = P(l, "Failed to delete derived wallet");
|
|
1547
|
+
throw r(w.message), w;
|
|
1548
1548
|
} finally {
|
|
1549
1549
|
t(!1);
|
|
1550
1550
|
}
|
|
1551
1551
|
},
|
|
1552
1552
|
[s]
|
|
1553
|
-
), g =
|
|
1553
|
+
), g = d(() => r(null), []);
|
|
1554
1554
|
return {
|
|
1555
|
-
getStatus:
|
|
1555
|
+
getStatus: p,
|
|
1556
1556
|
getMaterial: y,
|
|
1557
|
-
enroll:
|
|
1558
|
-
recover:
|
|
1559
|
-
signTransaction:
|
|
1560
|
-
rotateUserSecret:
|
|
1561
|
-
unlock:
|
|
1562
|
-
lock:
|
|
1563
|
-
getShareBForRecovery:
|
|
1564
|
-
createDerivedWallet:
|
|
1565
|
-
listAllWallets:
|
|
1566
|
-
deleteDerivedWallet:
|
|
1557
|
+
enroll: Q,
|
|
1558
|
+
recover: m,
|
|
1559
|
+
signTransaction: U,
|
|
1560
|
+
rotateUserSecret: c,
|
|
1561
|
+
unlock: B,
|
|
1562
|
+
lock: u,
|
|
1563
|
+
getShareBForRecovery: b,
|
|
1564
|
+
createDerivedWallet: k,
|
|
1565
|
+
listAllWallets: E,
|
|
1566
|
+
deleteDerivedWallet: h,
|
|
1567
1567
|
isLoading: A,
|
|
1568
1568
|
error: i,
|
|
1569
1569
|
clearError: g
|
|
@@ -1584,58 +1584,58 @@ const vA = {
|
|
|
1584
1584
|
}
|
|
1585
1585
|
};
|
|
1586
1586
|
function TA() {
|
|
1587
|
-
const A = ye() !== null, [t, i] =
|
|
1588
|
-
|
|
1587
|
+
const A = ye() !== null, [t, i] = F("loading"), [r, n] = F(null), [o, a] = F(null), [C, s] = F(!1), [p, y] = F(!1), [Q, m] = F(null), [U, c] = F(null), { getStatus: B, isLoading: u } = xA(), b = N(!1);
|
|
1588
|
+
x(() => {
|
|
1589
1589
|
if (!A) return;
|
|
1590
|
-
let
|
|
1590
|
+
let h = !1;
|
|
1591
1591
|
return (async () => {
|
|
1592
1592
|
try {
|
|
1593
1593
|
const I = await YA();
|
|
1594
|
-
if (
|
|
1595
|
-
|
|
1594
|
+
if (h) return;
|
|
1595
|
+
m(I), I.allSupported || (i("error"), c(
|
|
1596
1596
|
"Your browser or device does not support all required features. Please use a modern browser with a platform authenticator."
|
|
1597
1597
|
));
|
|
1598
1598
|
} catch {
|
|
1599
|
-
if (
|
|
1600
|
-
|
|
1599
|
+
if (h) return;
|
|
1600
|
+
m(null), i("error"), c("Failed to check crypto capabilities");
|
|
1601
1601
|
}
|
|
1602
1602
|
})(), () => {
|
|
1603
|
-
|
|
1603
|
+
h = !0;
|
|
1604
1604
|
};
|
|
1605
1605
|
}, [A]);
|
|
1606
|
-
const
|
|
1607
|
-
if (!(!A || !
|
|
1608
|
-
i("loading"),
|
|
1606
|
+
const k = d(async () => {
|
|
1607
|
+
if (!(!A || !Q?.allSupported)) {
|
|
1608
|
+
i("loading"), c(null);
|
|
1609
1609
|
try {
|
|
1610
|
-
const
|
|
1611
|
-
n(
|
|
1612
|
-
} catch (
|
|
1613
|
-
i("error"),
|
|
1610
|
+
const h = await B();
|
|
1611
|
+
n(h.solanaPubkey ?? null), a(h.authMethod ?? null), s(h.hasExternalWallet), y(h.unlocked), h.hasExternalWallet ? i("enrolled_unlocked") : h.enrolled ? i(h.unlocked ? "enrolled_unlocked" : "enrolled_locked") : i("not_enrolled");
|
|
1612
|
+
} catch (h) {
|
|
1613
|
+
i("error"), c(h instanceof Error ? h.message : "Failed to fetch wallet status");
|
|
1614
1614
|
}
|
|
1615
1615
|
}
|
|
1616
|
-
}, [A,
|
|
1617
|
-
|
|
1618
|
-
A &&
|
|
1619
|
-
}, [A,
|
|
1620
|
-
const
|
|
1616
|
+
}, [A, Q?.allSupported, B]);
|
|
1617
|
+
x(() => {
|
|
1618
|
+
A && Q?.allSupported && !u && !b.current && (b.current = !0, k());
|
|
1619
|
+
}, [A, Q?.allSupported, u, k]);
|
|
1620
|
+
const E = d(() => c(null), []);
|
|
1621
1621
|
return A ? {
|
|
1622
1622
|
status: t,
|
|
1623
1623
|
solanaPubkey: r,
|
|
1624
1624
|
authMethod: o,
|
|
1625
|
-
hasExternalWallet:
|
|
1626
|
-
isUnlocked:
|
|
1627
|
-
capabilities:
|
|
1628
|
-
isSupported:
|
|
1629
|
-
error:
|
|
1630
|
-
refresh:
|
|
1631
|
-
clearError:
|
|
1625
|
+
hasExternalWallet: C,
|
|
1626
|
+
isUnlocked: p,
|
|
1627
|
+
capabilities: Q,
|
|
1628
|
+
isSupported: Q?.allSupported ?? !1,
|
|
1629
|
+
error: U,
|
|
1630
|
+
refresh: k,
|
|
1631
|
+
clearError: E
|
|
1632
1632
|
} : vA;
|
|
1633
1633
|
}
|
|
1634
1634
|
const Ae = "__CEDROS_EMBEDDED_WALLET__";
|
|
1635
1635
|
function RA(e) {
|
|
1636
1636
|
typeof window < "u" && (window[Ae] = e);
|
|
1637
1637
|
}
|
|
1638
|
-
function
|
|
1638
|
+
function ge() {
|
|
1639
1639
|
typeof window < "u" && delete window[Ae];
|
|
1640
1640
|
}
|
|
1641
1641
|
function st() {
|
|
@@ -1646,13 +1646,13 @@ function It() {
|
|
|
1646
1646
|
}
|
|
1647
1647
|
function LA() {
|
|
1648
1648
|
const { config: e, user: A } = ke(), { status: t, solanaPubkey: i, hasExternalWallet: r } = TA(), n = e.wallet?.exposeAvailability ?? !1, o = e.wallet?.exposePublicKey ?? !1;
|
|
1649
|
-
return
|
|
1649
|
+
return x(() => {
|
|
1650
1650
|
if (!n || !A) {
|
|
1651
|
-
|
|
1651
|
+
ge();
|
|
1652
1652
|
return;
|
|
1653
1653
|
}
|
|
1654
1654
|
if (r) {
|
|
1655
|
-
|
|
1655
|
+
ge();
|
|
1656
1656
|
return;
|
|
1657
1657
|
}
|
|
1658
1658
|
if (t === "loading")
|
|
@@ -1662,50 +1662,56 @@ function LA() {
|
|
|
1662
1662
|
available: a,
|
|
1663
1663
|
publicKey: o && a ? i : null
|
|
1664
1664
|
}), () => {
|
|
1665
|
-
|
|
1665
|
+
ge();
|
|
1666
1666
|
};
|
|
1667
1667
|
}, [n, o, A, t, i, r]), null;
|
|
1668
1668
|
}
|
|
1669
1669
|
function at({ config: e, children: A }) {
|
|
1670
|
-
const [t, i] =
|
|
1670
|
+
const [t, i] = F(null), [r, n] = F(!1), o = N(e.callbacks);
|
|
1671
1671
|
o.current = e.callbacks;
|
|
1672
|
-
const a =
|
|
1673
|
-
onLoginSuccess: (...
|
|
1674
|
-
onLoginError: (...
|
|
1672
|
+
const a = N({
|
|
1673
|
+
onLoginSuccess: (...M) => o.current?.onLoginSuccess?.(...M),
|
|
1674
|
+
onLoginError: (...M) => o.current?.onLoginError?.(...M),
|
|
1675
1675
|
onLogout: () => o.current?.onLogout?.(),
|
|
1676
1676
|
onSessionExpired: () => o.current?.onSessionExpired?.()
|
|
1677
|
-
}),
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1677
|
+
}), C = N(null);
|
|
1678
|
+
x(() => {
|
|
1679
|
+
if (typeof window > "u") return;
|
|
1680
|
+
const M = new URLSearchParams(window.location.search), L = M.get("ref") || M.get("referral");
|
|
1681
|
+
L && (C.current = L);
|
|
1682
|
+
}, []);
|
|
1683
|
+
const s = e.features === "auto", {
|
|
1684
|
+
features: p,
|
|
1685
|
+
googleClientId: y,
|
|
1686
|
+
appleClientId: Q,
|
|
1687
|
+
socialButtonOrder: m,
|
|
1688
|
+
isLoading: U
|
|
1689
|
+
} = Ne(
|
|
1684
1690
|
e.serverUrl,
|
|
1685
|
-
|
|
1691
|
+
s,
|
|
1686
1692
|
e.requestTimeout
|
|
1687
|
-
),
|
|
1693
|
+
), c = Y(() => !s || !p ? e : {
|
|
1688
1694
|
...e,
|
|
1689
|
-
features:
|
|
1690
|
-
googleClientId: e.googleClientId ??
|
|
1691
|
-
appleClientId: e.appleClientId ??
|
|
1692
|
-
}, [e,
|
|
1693
|
-
() => JSON.stringify(
|
|
1694
|
-
[
|
|
1695
|
-
),
|
|
1696
|
-
() =>
|
|
1695
|
+
features: p,
|
|
1696
|
+
googleClientId: e.googleClientId ?? y,
|
|
1697
|
+
appleClientId: e.appleClientId ?? Q
|
|
1698
|
+
}, [e, s, p, y, Q]), B = Y(
|
|
1699
|
+
() => JSON.stringify(c.themeOverrides ?? null),
|
|
1700
|
+
[c.themeOverrides]
|
|
1701
|
+
), u = Y(() => JSON.stringify(c.session ?? null), [c.session]), b = Y(() => JSON.stringify(c.features ?? null), [c.features]), k = Y(() => JSON.stringify(c.forms ?? null), [c.forms]), E = Y(
|
|
1702
|
+
() => c,
|
|
1697
1703
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- Using serialized keys for deep comparison; callbacks excluded (see UI-06)
|
|
1698
1704
|
[
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1705
|
+
c.serverUrl,
|
|
1706
|
+
c.googleClientId,
|
|
1707
|
+
c.appleClientId,
|
|
1708
|
+
c.requestTimeout,
|
|
1709
|
+
c.retryAttempts,
|
|
1710
|
+
c.theme,
|
|
1711
|
+
B,
|
|
1712
|
+
u,
|
|
1713
|
+
b,
|
|
1714
|
+
k
|
|
1709
1715
|
]
|
|
1710
1716
|
);
|
|
1711
1717
|
Ve({
|
|
@@ -1713,52 +1719,53 @@ function at({ config: e, children: A }) {
|
|
|
1713
1719
|
themeOverrides: E.themeOverrides
|
|
1714
1720
|
});
|
|
1715
1721
|
const {
|
|
1716
|
-
user:
|
|
1717
|
-
authState:
|
|
1718
|
-
handleLoginSuccess:
|
|
1719
|
-
logout:
|
|
1720
|
-
refreshUser:
|
|
1721
|
-
getAccessToken:
|
|
1722
|
+
user: h,
|
|
1723
|
+
authState: g,
|
|
1724
|
+
handleLoginSuccess: I,
|
|
1725
|
+
logout: l,
|
|
1726
|
+
refreshUser: w,
|
|
1727
|
+
getAccessToken: f
|
|
1722
1728
|
} = Le({
|
|
1723
1729
|
serverUrl: E.serverUrl,
|
|
1724
1730
|
session: E.session,
|
|
1725
1731
|
callbacks: a.current,
|
|
1726
1732
|
requestTimeoutMs: E.requestTimeout
|
|
1727
|
-
}),
|
|
1728
|
-
i(null), await
|
|
1729
|
-
}, [
|
|
1730
|
-
(...
|
|
1731
|
-
i(null),
|
|
1733
|
+
}), S = d(async () => {
|
|
1734
|
+
i(null), await l();
|
|
1735
|
+
}, [l]), G = d(
|
|
1736
|
+
(...M) => {
|
|
1737
|
+
i(null), I(...M);
|
|
1732
1738
|
},
|
|
1733
|
-
[
|
|
1734
|
-
),
|
|
1739
|
+
[I]
|
|
1740
|
+
), H = d(() => n(!0), []), K = d(() => n(!1), []), J = Y(
|
|
1735
1741
|
() => ({
|
|
1736
1742
|
config: E,
|
|
1737
|
-
user:
|
|
1738
|
-
authState:
|
|
1739
|
-
logout:
|
|
1740
|
-
refreshUser:
|
|
1741
|
-
socialButtonOrder:
|
|
1743
|
+
user: h,
|
|
1744
|
+
authState: g,
|
|
1745
|
+
logout: S,
|
|
1746
|
+
refreshUser: w,
|
|
1747
|
+
socialButtonOrder: s ? m : void 0,
|
|
1742
1748
|
_internal: {
|
|
1743
|
-
handleLoginSuccess:
|
|
1744
|
-
getAccessToken:
|
|
1749
|
+
handleLoginSuccess: G,
|
|
1750
|
+
getAccessToken: f,
|
|
1751
|
+
getReferralCode: () => C.current
|
|
1745
1752
|
}
|
|
1746
1753
|
}),
|
|
1747
|
-
[E,
|
|
1748
|
-
),
|
|
1754
|
+
[E, h, g, S, w, s, m, G, f]
|
|
1755
|
+
), V = Y(
|
|
1749
1756
|
() => ({
|
|
1750
1757
|
error: t,
|
|
1751
1758
|
isModalOpen: r,
|
|
1752
|
-
openModal:
|
|
1753
|
-
closeModal:
|
|
1759
|
+
openModal: H,
|
|
1760
|
+
closeModal: K
|
|
1754
1761
|
}),
|
|
1755
|
-
[t, r,
|
|
1756
|
-
),
|
|
1757
|
-
() => ({ ...
|
|
1758
|
-
[
|
|
1762
|
+
[t, r, H, K]
|
|
1763
|
+
), fe = Y(
|
|
1764
|
+
() => ({ ...J, ...V }),
|
|
1765
|
+
[J, V]
|
|
1759
1766
|
);
|
|
1760
|
-
return
|
|
1761
|
-
/* @__PURE__ */
|
|
1767
|
+
return s && U ? null : /* @__PURE__ */ ie(He.Provider, { value: J, children: /* @__PURE__ */ ie(Je.Provider, { value: V, children: /* @__PURE__ */ Ke(Me.Provider, { value: fe, children: [
|
|
1768
|
+
/* @__PURE__ */ ie(LA, {}),
|
|
1762
1769
|
A
|
|
1763
1770
|
] }) }) });
|
|
1764
1771
|
}
|