@cedros/login-react 0.0.16 → 0.0.18
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/{EmailRegisterForm-DcpT5LU6.cjs → EmailRegisterForm-CdTuvJmf.cjs} +1 -1
- package/dist/{EmailRegisterForm-DcpT5LU6.cjs.map → EmailRegisterForm-CdTuvJmf.cjs.map} +1 -1
- package/dist/{EmailRegisterForm-HMcnD3KA.js → EmailRegisterForm-CxOdldks.js} +1 -1
- package/dist/{EmailRegisterForm-HMcnD3KA.js.map → EmailRegisterForm-CxOdldks.js.map} +1 -1
- package/dist/{GoogleLoginButton-CXwp4LsQ.js → GoogleLoginButton-CwKEUISj.js} +19 -19
- package/dist/{GoogleLoginButton-CXwp4LsQ.js.map → GoogleLoginButton-CwKEUISj.js.map} +1 -1
- package/dist/{GoogleLoginButton-zS_69-KV.cjs → GoogleLoginButton-oM5fMYPB.cjs} +1 -1
- package/dist/{GoogleLoginButton-zS_69-KV.cjs.map → GoogleLoginButton-oM5fMYPB.cjs.map} +1 -1
- package/dist/email-only.cjs +1 -1
- package/dist/email-only.js +2 -2
- package/dist/google-only.cjs +1 -1
- package/dist/google-only.js +2 -2
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/login-react.css +1 -1
- package/dist/{mobileWalletAdapter-coZRD4Yx.js → mobileWalletAdapter-BulleEbi.js} +2 -2
- package/dist/{mobileWalletAdapter-coZRD4Yx.js.map → mobileWalletAdapter-BulleEbi.js.map} +1 -1
- package/dist/{mobileWalletAdapter-Dp4yFxCm.cjs → mobileWalletAdapter-DOdmFAk0.cjs} +1 -1
- package/dist/{mobileWalletAdapter-Dp4yFxCm.cjs.map → mobileWalletAdapter-DOdmFAk0.cjs.map} +1 -1
- package/dist/{shamir-DAa54dMh.cjs → shamir-CiBczzDN.cjs} +1 -1
- package/dist/{shamir-DAa54dMh.cjs.map → shamir-CiBczzDN.cjs.map} +1 -1
- package/dist/{shamir-CDbZS8I1.js → shamir-OAB2zD9Y.js} +1 -1
- package/dist/{shamir-CDbZS8I1.js.map → shamir-OAB2zD9Y.js.map} +1 -1
- package/dist/{silentWalletEnroll-CRHzr4Zy.js → silentWalletEnroll-FqXS7Rvh.js} +2 -2
- package/dist/{silentWalletEnroll-CRHzr4Zy.js.map → silentWalletEnroll-FqXS7Rvh.js.map} +1 -1
- package/dist/{silentWalletEnroll-Dl_oFapH.cjs → silentWalletEnroll-wnkcB9HP.cjs} +1 -1
- package/dist/{silentWalletEnroll-Dl_oFapH.cjs.map → silentWalletEnroll-wnkcB9HP.cjs.map} +1 -1
- package/dist/solana-only.cjs +1 -1
- package/dist/solana-only.js +2 -2
- package/dist/useAuth-X6Ds6WW4.cjs +1 -0
- package/dist/useAuth-X6Ds6WW4.cjs.map +1 -0
- package/dist/{useAuth-D1NSN6yY.js → useAuth-m5Hf89v8.js} +408 -397
- package/dist/useAuth-m5Hf89v8.js.map +1 -0
- package/package.json +1 -1
- package/dist/useAuth-D1NSN6yY.js.map +0 -1
- package/dist/useAuth-dS_6wAMp.cjs +0 -1
- package/dist/useAuth-dS_6wAMp.cjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as ne, jsxs as Ke } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect as
|
|
2
|
+
import { useEffect as x, useState as K, useRef as Y, useCallback as E, useMemo as P } from "react";
|
|
3
3
|
import { A as He, a as Je, C as Me } from "./LoadingSpinner-6vml-zwr.js";
|
|
4
|
-
import { A as Ee, g as oe, a as pe, h as
|
|
4
|
+
import { A as Ee, g as oe, a as pe, h as V, u as ye } from "./useCedrosLogin-_94MmGGq.js";
|
|
5
5
|
let Z = 0;
|
|
6
6
|
function Ve({ theme: e, themeOverrides: t }) {
|
|
7
|
-
|
|
7
|
+
x(() => {
|
|
8
8
|
if (typeof document > "u" || typeof window > "u")
|
|
9
9
|
return;
|
|
10
10
|
const A = document.documentElement;
|
|
@@ -13,14 +13,14 @@ function Ve({ theme: e, themeOverrides: t }) {
|
|
|
13
13
|
let r = !1;
|
|
14
14
|
i ? (Z++, r = !0, A.classList.add("cedros-dark")) : Z === 0 && A.classList.remove("cedros-dark");
|
|
15
15
|
const n = /* @__PURE__ */ new Map();
|
|
16
|
-
return t && Object.entries(t).forEach(([
|
|
16
|
+
return t && Object.entries(t).forEach(([o, a]) => {
|
|
17
17
|
if (a) {
|
|
18
|
-
const c = A.style.getPropertyValue(
|
|
19
|
-
n.set(
|
|
18
|
+
const c = A.style.getPropertyValue(o);
|
|
19
|
+
n.set(o, c), A.style.setProperty(o, a);
|
|
20
20
|
}
|
|
21
21
|
}), () => {
|
|
22
|
-
r && (Z--, Z === 0 && A.classList.remove("cedros-dark")), n.forEach((
|
|
23
|
-
|
|
22
|
+
r && (Z--, Z === 0 && A.classList.remove("cedros-dark")), n.forEach((o, a) => {
|
|
23
|
+
o ? A.style.setProperty(a, o) : A.style.removeProperty(a);
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
26
|
}, [e, t]);
|
|
@@ -34,28 +34,28 @@ const Pe = {
|
|
|
34
34
|
instantLink: !0
|
|
35
35
|
};
|
|
36
36
|
function Ne(e, t, A) {
|
|
37
|
-
const [i, r] = K(null), [n, s] = K(t),
|
|
38
|
-
return
|
|
39
|
-
if (!t ||
|
|
40
|
-
|
|
37
|
+
const [i, r] = K(null), [n, o] = K(), [a, c] = K(), [s, y] = K(t), p = Y(!1);
|
|
38
|
+
return x(() => {
|
|
39
|
+
if (!t || p.current) return;
|
|
40
|
+
p.current = !0, new Ee({
|
|
41
41
|
baseUrl: e,
|
|
42
42
|
timeoutMs: A ?? 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
|
-
});
|
|
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);
|
|
53
53
|
}).catch(() => {
|
|
54
54
|
r(Pe);
|
|
55
55
|
}).finally(() => {
|
|
56
|
-
|
|
56
|
+
y(!1);
|
|
57
57
|
});
|
|
58
|
-
}, [t, e, A]), { features: i,
|
|
58
|
+
}, [t, e, A]), { features: i, googleClientId: n, appleClientId: a, isLoading: s };
|
|
59
59
|
}
|
|
60
60
|
const Ye = "cedros_tokens", xe = 6e4;
|
|
61
61
|
class Oe {
|
|
@@ -310,18 +310,18 @@ function Le({
|
|
|
310
310
|
callbacks: A,
|
|
311
311
|
requestTimeoutMs: i
|
|
312
312
|
}) {
|
|
313
|
-
const [r, n] = K(null), [
|
|
313
|
+
const [r, n] = K(null), [o, a] = K("idle"), c = Y(null), s = Y(null), y = Y(A), p = Y(!0), w = Y(null), h = Y(() => Promise.resolve()), m = Y(() => {
|
|
314
314
|
});
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
}, [A]),
|
|
318
|
-
|
|
315
|
+
x(() => {
|
|
316
|
+
y.current = A;
|
|
317
|
+
}, [A]), x(() => (p.current = !0, () => {
|
|
318
|
+
p.current = !1;
|
|
319
319
|
}), []);
|
|
320
320
|
const Q = E((C) => {
|
|
321
|
-
|
|
322
|
-
}, []),
|
|
323
|
-
|
|
324
|
-
}, []), f =
|
|
321
|
+
p.current && n(C);
|
|
322
|
+
}, []), B = E((C) => {
|
|
323
|
+
p.current && a(C);
|
|
324
|
+
}, []), f = P(
|
|
325
325
|
() => ({
|
|
326
326
|
storage: t?.storage ?? "cookie",
|
|
327
327
|
autoRefresh: t?.autoRefresh ?? !0,
|
|
@@ -337,12 +337,12 @@ function Le({
|
|
|
337
337
|
t?.allowWebStorage
|
|
338
338
|
]
|
|
339
339
|
);
|
|
340
|
-
|
|
340
|
+
x(() => {
|
|
341
341
|
const C = new Oe(f.storage, f.persistKey, {
|
|
342
342
|
allowWebStorage: f.allowWebStorage
|
|
343
343
|
});
|
|
344
|
-
return c.current = C, f.autoRefresh && C.setRefreshCallback(() =>
|
|
345
|
-
C.destroy(), c.current = null,
|
|
344
|
+
return c.current = C, f.autoRefresh && C.setRefreshCallback(() => h.current()), C.setSessionExpiredCallback(() => m.current()), f.syncTabs && (s.current = new Te()), () => {
|
|
345
|
+
C.destroy(), c.current = null, s.current?.close();
|
|
346
346
|
};
|
|
347
347
|
}, [
|
|
348
348
|
f.storage,
|
|
@@ -351,23 +351,23 @@ function Le({
|
|
|
351
351
|
f.allowWebStorage,
|
|
352
352
|
f.autoRefresh
|
|
353
353
|
]);
|
|
354
|
-
const
|
|
355
|
-
if (
|
|
356
|
-
return
|
|
357
|
-
const C = c.current?.getRefreshToken(),
|
|
358
|
-
|
|
359
|
-
let
|
|
360
|
-
const
|
|
361
|
-
|
|
354
|
+
const F = E(async () => {
|
|
355
|
+
if (w.current)
|
|
356
|
+
return w.current;
|
|
357
|
+
const C = c.current?.getRefreshToken(), S = !!C, G = oe(), H = {};
|
|
358
|
+
S && (H["Content-Type"] = "application/json"), G && (H["X-CSRF-Token"] = G);
|
|
359
|
+
let b, M;
|
|
360
|
+
const J = new Promise((j, ie) => {
|
|
361
|
+
b = j, M = ie;
|
|
362
362
|
});
|
|
363
|
-
|
|
363
|
+
w.current = J, (async () => {
|
|
364
364
|
const j = new AbortController(), ie = i ?? 1e4, Ge = window.setTimeout(() => j.abort(), ie);
|
|
365
365
|
try {
|
|
366
366
|
const L = 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:
|
|
370
|
+
body: S ? JSON.stringify({ refreshToken: C }) : void 0,
|
|
371
371
|
signal: j.signal
|
|
372
372
|
});
|
|
373
373
|
if (!L.ok)
|
|
@@ -379,7 +379,7 @@ function Le({
|
|
|
379
379
|
c.current?.setTokens(re.tokens);
|
|
380
380
|
} else if (f.storage !== "cookie")
|
|
381
381
|
throw new Error("Token refresh failed");
|
|
382
|
-
|
|
382
|
+
s.current?.broadcastRefresh(), b();
|
|
383
383
|
} catch (L) {
|
|
384
384
|
throw M(L), L;
|
|
385
385
|
} finally {
|
|
@@ -388,89 +388,89 @@ function Le({
|
|
|
388
388
|
})().catch(() => {
|
|
389
389
|
});
|
|
390
390
|
try {
|
|
391
|
-
await
|
|
391
|
+
await J;
|
|
392
392
|
} finally {
|
|
393
|
-
|
|
393
|
+
w.current = null;
|
|
394
394
|
}
|
|
395
|
-
}, [e, f.storage, i]),
|
|
395
|
+
}, [e, f.storage, i]), k = E(() => {
|
|
396
396
|
if (f.storage === "cookie") return;
|
|
397
397
|
const C = c.current?.getAccessToken();
|
|
398
398
|
if (C)
|
|
399
399
|
return { Authorization: `Bearer ${C}` };
|
|
400
|
-
}, [f.storage]),
|
|
401
|
-
c.current?.clear(), Q(null),
|
|
402
|
-
}, [
|
|
403
|
-
|
|
400
|
+
}, [f.storage]), U = E(() => {
|
|
401
|
+
c.current?.clear(), Q(null), B("unauthenticated"), y.current?.onSessionExpired?.();
|
|
402
|
+
}, [B, Q]);
|
|
403
|
+
h.current = F, m.current = U;
|
|
404
404
|
const d = E(
|
|
405
405
|
(C) => {
|
|
406
|
-
const
|
|
407
|
-
M && Object.assign(
|
|
408
|
-
const
|
|
409
|
-
return
|
|
406
|
+
const S = new AbortController(), G = i ?? 1e4, H = window.setTimeout(() => S.abort(), G), b = {}, M = k();
|
|
407
|
+
M && Object.assign(b, M);
|
|
408
|
+
const J = oe();
|
|
409
|
+
return J && (b["X-CSRF-Token"] = J), {
|
|
410
410
|
promise: fetch(C, {
|
|
411
411
|
credentials: "include",
|
|
412
|
-
headers: Object.keys(
|
|
413
|
-
signal:
|
|
412
|
+
headers: Object.keys(b).length > 0 ? b : void 0,
|
|
413
|
+
signal: S.signal
|
|
414
414
|
}),
|
|
415
415
|
cleanup: () => window.clearTimeout(H)
|
|
416
416
|
};
|
|
417
417
|
},
|
|
418
|
-
[
|
|
418
|
+
[k, i]
|
|
419
419
|
), g = E(async () => {
|
|
420
420
|
const C = d(`${e}/user`);
|
|
421
421
|
try {
|
|
422
|
-
const
|
|
423
|
-
if (
|
|
424
|
-
const
|
|
425
|
-
if (q(
|
|
426
|
-
Q(
|
|
422
|
+
const S = await C.promise;
|
|
423
|
+
if (S.ok) {
|
|
424
|
+
const G = await S.json();
|
|
425
|
+
if (q(G)) {
|
|
426
|
+
Q(G.user), B("authenticated");
|
|
427
427
|
return;
|
|
428
428
|
}
|
|
429
429
|
}
|
|
430
|
-
if (
|
|
430
|
+
if (S.status === 401 && f.autoRefresh) {
|
|
431
431
|
try {
|
|
432
|
-
await
|
|
432
|
+
await F();
|
|
433
433
|
} catch {
|
|
434
|
-
|
|
434
|
+
U();
|
|
435
435
|
return;
|
|
436
436
|
}
|
|
437
|
-
const
|
|
437
|
+
const G = d(`${e}/user`);
|
|
438
438
|
try {
|
|
439
|
-
const H = await
|
|
439
|
+
const H = await G.promise;
|
|
440
440
|
if (H.ok) {
|
|
441
|
-
const
|
|
442
|
-
if (q(
|
|
443
|
-
Q(
|
|
441
|
+
const b = await H.json();
|
|
442
|
+
if (q(b)) {
|
|
443
|
+
Q(b.user), B("authenticated");
|
|
444
444
|
return;
|
|
445
445
|
}
|
|
446
446
|
}
|
|
447
447
|
} finally {
|
|
448
|
-
|
|
448
|
+
G.cleanup();
|
|
449
449
|
}
|
|
450
450
|
}
|
|
451
|
-
Q(null),
|
|
451
|
+
Q(null), B("unauthenticated");
|
|
452
452
|
} catch {
|
|
453
|
-
Q(null),
|
|
453
|
+
Q(null), B("unauthenticated");
|
|
454
454
|
} finally {
|
|
455
455
|
C.cleanup();
|
|
456
456
|
}
|
|
457
457
|
}, [
|
|
458
458
|
e,
|
|
459
459
|
f.autoRefresh,
|
|
460
|
-
|
|
460
|
+
F,
|
|
461
461
|
d,
|
|
462
|
-
|
|
463
|
-
|
|
462
|
+
U,
|
|
463
|
+
B,
|
|
464
464
|
Q
|
|
465
465
|
]);
|
|
466
|
-
|
|
467
|
-
!
|
|
466
|
+
x(() => {
|
|
467
|
+
!s.current || !f.syncTabs || s.current.setCallback((C) => {
|
|
468
468
|
switch (C.type) {
|
|
469
469
|
case "login":
|
|
470
|
-
Q(C.user),
|
|
470
|
+
Q(C.user), B("authenticated");
|
|
471
471
|
break;
|
|
472
472
|
case "logout":
|
|
473
|
-
Q(null),
|
|
473
|
+
Q(null), B("unauthenticated"), c.current?.clear();
|
|
474
474
|
break;
|
|
475
475
|
case "refresh":
|
|
476
476
|
g();
|
|
@@ -479,89 +479,89 @@ function Le({
|
|
|
479
479
|
console.warn("[Cedros Login] Unhandled tab sync event:", C);
|
|
480
480
|
}
|
|
481
481
|
});
|
|
482
|
-
}, [f.syncTabs, g,
|
|
483
|
-
const C = new AbortController(),
|
|
482
|
+
}, [f.syncTabs, g, B, Q]), x(() => {
|
|
483
|
+
const C = new AbortController(), S = i ?? 1e4, G = window.setTimeout(() => C.abort(), S);
|
|
484
484
|
return (async () => {
|
|
485
|
-
|
|
485
|
+
B("loading");
|
|
486
486
|
try {
|
|
487
|
-
const
|
|
487
|
+
const b = await fetch(`${e}/user`, {
|
|
488
488
|
credentials: "include",
|
|
489
|
-
headers:
|
|
489
|
+
headers: k(),
|
|
490
490
|
signal: C.signal
|
|
491
491
|
});
|
|
492
|
-
if (
|
|
493
|
-
const M = await
|
|
492
|
+
if (b.ok) {
|
|
493
|
+
const M = await b.json();
|
|
494
494
|
if (q(M)) {
|
|
495
|
-
Q(M.user),
|
|
495
|
+
Q(M.user), B("authenticated");
|
|
496
496
|
return;
|
|
497
497
|
}
|
|
498
498
|
}
|
|
499
|
-
if (
|
|
499
|
+
if (b.status === 401 && f.autoRefresh) {
|
|
500
500
|
try {
|
|
501
|
-
await
|
|
501
|
+
await F();
|
|
502
502
|
} catch {
|
|
503
|
-
|
|
503
|
+
U();
|
|
504
504
|
return;
|
|
505
505
|
}
|
|
506
506
|
const M = await fetch(`${e}/user`, {
|
|
507
507
|
credentials: "include",
|
|
508
|
-
headers:
|
|
508
|
+
headers: k(),
|
|
509
509
|
signal: C.signal
|
|
510
510
|
});
|
|
511
511
|
if (M.ok) {
|
|
512
|
-
const
|
|
513
|
-
if (q(
|
|
514
|
-
Q(
|
|
512
|
+
const J = await M.json();
|
|
513
|
+
if (q(J)) {
|
|
514
|
+
Q(J.user), B("authenticated");
|
|
515
515
|
return;
|
|
516
516
|
}
|
|
517
517
|
}
|
|
518
518
|
}
|
|
519
|
-
Q(null),
|
|
519
|
+
Q(null), B("unauthenticated");
|
|
520
520
|
} catch {
|
|
521
|
-
Q(null),
|
|
521
|
+
Q(null), B("unauthenticated");
|
|
522
522
|
}
|
|
523
523
|
})(), () => {
|
|
524
|
-
window.clearTimeout(
|
|
524
|
+
window.clearTimeout(G), C.abort();
|
|
525
525
|
};
|
|
526
526
|
}, [
|
|
527
527
|
e,
|
|
528
528
|
f.autoRefresh,
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
529
|
+
F,
|
|
530
|
+
k,
|
|
531
|
+
U,
|
|
532
|
+
B,
|
|
533
533
|
Q,
|
|
534
534
|
i
|
|
535
535
|
]);
|
|
536
536
|
const I = E(
|
|
537
|
-
(C,
|
|
538
|
-
Q(C),
|
|
537
|
+
(C, S) => {
|
|
538
|
+
Q(C), B("authenticated"), S && c.current?.setTokens(S), p.current && s.current?.broadcastLogin(C);
|
|
539
539
|
},
|
|
540
|
-
[Q,
|
|
540
|
+
[Q, B]
|
|
541
541
|
), l = E(async () => {
|
|
542
|
-
const C = oe(),
|
|
542
|
+
const C = oe(), 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
547
|
...C ? { "X-CSRF-Token": C } : {},
|
|
548
|
-
...
|
|
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), Q(null),
|
|
555
|
+
window.clearTimeout(H), Q(null), B("unauthenticated"), c.current?.clear(), s.current?.broadcastLogout(), y.current?.onLogout?.();
|
|
556
556
|
}
|
|
557
|
-
}, [e,
|
|
557
|
+
}, [e, k, Q, B, i]), u = E(() => c.current?.getAccessToken() ?? null, []);
|
|
558
558
|
return {
|
|
559
559
|
user: r,
|
|
560
|
-
authState:
|
|
560
|
+
authState: o,
|
|
561
561
|
handleLoginSuccess: I,
|
|
562
562
|
logout: l,
|
|
563
563
|
refreshUser: g,
|
|
564
|
-
getAccessToken:
|
|
564
|
+
getAccessToken: u
|
|
565
565
|
};
|
|
566
566
|
}
|
|
567
567
|
const Xe = {
|
|
@@ -713,7 +713,7 @@ async function It(e, t, A, i = 32) {
|
|
|
713
713
|
"HKDF",
|
|
714
714
|
!1,
|
|
715
715
|
["deriveBits"]
|
|
716
|
-
), n = new TextEncoder().encode(A),
|
|
716
|
+
), n = new TextEncoder().encode(A), o = await crypto.subtle.deriveBits(
|
|
717
717
|
{
|
|
718
718
|
name: "HKDF",
|
|
719
719
|
hash: "SHA-256",
|
|
@@ -725,7 +725,7 @@ async function It(e, t, A, i = 32) {
|
|
|
725
725
|
i * 8
|
|
726
726
|
// bits
|
|
727
727
|
);
|
|
728
|
-
return new Uint8Array(
|
|
728
|
+
return new Uint8Array(o);
|
|
729
729
|
}
|
|
730
730
|
async function AA(e, t) {
|
|
731
731
|
const A = await It(e, t, "cedros-wallet-share-b-encryption", 32);
|
|
@@ -752,32 +752,32 @@ async function at() {
|
|
|
752
752
|
}
|
|
753
753
|
function R(e, t, A, i) {
|
|
754
754
|
function r(n) {
|
|
755
|
-
return n instanceof A ? n : new A(function(
|
|
756
|
-
|
|
755
|
+
return n instanceof A ? n : new A(function(o) {
|
|
756
|
+
o(n);
|
|
757
757
|
});
|
|
758
758
|
}
|
|
759
|
-
return new (A || (A = Promise))(function(n,
|
|
760
|
-
function a(
|
|
759
|
+
return new (A || (A = Promise))(function(n, o) {
|
|
760
|
+
function a(y) {
|
|
761
761
|
try {
|
|
762
|
-
|
|
763
|
-
} catch (
|
|
764
|
-
|
|
762
|
+
s(i.next(y));
|
|
763
|
+
} catch (p) {
|
|
764
|
+
o(p);
|
|
765
765
|
}
|
|
766
766
|
}
|
|
767
|
-
function c(
|
|
767
|
+
function c(y) {
|
|
768
768
|
try {
|
|
769
|
-
|
|
770
|
-
} catch (
|
|
771
|
-
|
|
769
|
+
s(i.throw(y));
|
|
770
|
+
} catch (p) {
|
|
771
|
+
o(p);
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
|
-
function
|
|
775
|
-
|
|
774
|
+
function s(y) {
|
|
775
|
+
y.done ? n(y.value) : r(y.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
|
}
|
|
@@ -833,7 +833,7 @@ function he(e, t, A) {
|
|
|
833
833
|
}
|
|
834
834
|
return String.fromCharCode.apply(null, e);
|
|
835
835
|
}
|
|
836
|
-
const
|
|
836
|
+
const v = Ie !== null ? (e) => {
|
|
837
837
|
if (typeof e == "string") {
|
|
838
838
|
const t = Ie.from(e, "utf8");
|
|
839
839
|
return new Uint8Array(t.buffer, t.byteOffset, t.length);
|
|
@@ -849,21 +849,21 @@ const O = Ie !== 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
|
-
W[
|
|
852
|
+
}, N = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", W = new Uint8Array(256);
|
|
853
|
+
for (let e = 0; e < N.length; e++)
|
|
854
|
+
W[N.charCodeAt(e)] = e;
|
|
855
855
|
function Qe(e, t = !0) {
|
|
856
856
|
const A = e.length, i = A % 3, r = [], n = A - i;
|
|
857
|
-
for (let
|
|
858
|
-
const a = (e[
|
|
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), c = N.charAt(a >> 18 & 63) + N.charAt(a >> 12 & 63) + N.charAt(a >> 6 & 63) + N.charAt(a & 63);
|
|
859
859
|
r.push(c);
|
|
860
860
|
}
|
|
861
861
|
if (i === 1) {
|
|
862
|
-
const
|
|
862
|
+
const o = e[A - 1], a = N.charAt(o >> 2), c = N.charAt(o << 4 & 63);
|
|
863
863
|
r.push(`${a}${c}`), t && r.push("==");
|
|
864
864
|
} else if (i === 2) {
|
|
865
|
-
const
|
|
866
|
-
r.push(`${a}${c}${
|
|
865
|
+
const o = (e[A - 2] << 8) + e[A - 1], a = N.charAt(o >> 10), c = N.charAt(o >> 4 & 63), s = N.charAt(o << 2 & 63);
|
|
866
|
+
r.push(`${a}${c}${s}`), t && r.push("=");
|
|
867
867
|
}
|
|
868
868
|
return r.join("");
|
|
869
869
|
}
|
|
@@ -876,12 +876,12 @@ function ht(e) {
|
|
|
876
876
|
const t = Ct(e), A = e.length, i = new Uint8Array(t);
|
|
877
877
|
let r = 0;
|
|
878
878
|
for (let n = 0; n < A; n += 4) {
|
|
879
|
-
const
|
|
880
|
-
i[r] =
|
|
879
|
+
const o = W[e.charCodeAt(n)], a = W[e.charCodeAt(n + 1)], c = W[e.charCodeAt(n + 2)], s = W[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, X = 4, ft = new
|
|
884
|
+
const _ = 16 * 1024, X = 4, ft = new D(), ae = /* @__PURE__ */ new Map();
|
|
885
885
|
function Ue(e, t) {
|
|
886
886
|
return R(this, void 0, void 0, function* () {
|
|
887
887
|
let A = null, i = null, r = !1;
|
|
@@ -889,11 +889,11 @@ function Ue(e, t) {
|
|
|
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
|
-
},
|
|
892
|
+
}, o = () => i, a = () => A.exports, c = (g) => {
|
|
893
893
|
A.exports.Hash_SetMemorySize(g);
|
|
894
894
|
const I = A.exports.Hash_GetBuffer(), l = A.exports.memory.buffer;
|
|
895
895
|
i = new Uint8Array(l, I, g);
|
|
896
|
-
},
|
|
896
|
+
}, s = () => new DataView(A.exports.memory.buffer).getUint32(A.exports.STATE_SIZE, !0), y = ft.dispatch(() => R(this, void 0, void 0, function* () {
|
|
897
897
|
if (!ae.has(e.name)) {
|
|
898
898
|
const I = ht(e.data), l = WebAssembly.compile(I);
|
|
899
899
|
ae.set(e.name, l);
|
|
@@ -913,86 +913,86 @@ function Ue(e, t) {
|
|
|
913
913
|
// },
|
|
914
914
|
// },
|
|
915
915
|
});
|
|
916
|
-
})),
|
|
917
|
-
A || (yield
|
|
916
|
+
})), p = () => R(this, void 0, void 0, function* () {
|
|
917
|
+
A || (yield y);
|
|
918
918
|
const g = A.exports.Hash_GetBuffer(), I = A.exports.memory.buffer;
|
|
919
919
|
i = new Uint8Array(I, g, _);
|
|
920
|
-
}),
|
|
920
|
+
}), w = (g = null) => {
|
|
921
921
|
r = !0, A.exports.Hash_Init(g);
|
|
922
|
-
},
|
|
922
|
+
}, h = (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), A.exports.Hash_Update(l.length);
|
|
927
927
|
}
|
|
928
|
-
},
|
|
928
|
+
}, m = (g) => {
|
|
929
929
|
if (!r)
|
|
930
930
|
throw new Error("update() called before init()");
|
|
931
|
-
const I =
|
|
932
|
-
|
|
933
|
-
}, Q = new Uint8Array(t * 2),
|
|
931
|
+
const I = v(g);
|
|
932
|
+
h(I);
|
|
933
|
+
}, Q = new Uint8Array(t * 2), B = (g, I = null) => {
|
|
934
934
|
if (!r)
|
|
935
935
|
throw new Error("digest() called before init()");
|
|
936
936
|
return r = !1, A.exports.Hash_Final(I), g === "binary" ? i.slice(0, t) : he(Q, i, t);
|
|
937
937
|
}, f = () => {
|
|
938
938
|
if (!r)
|
|
939
939
|
throw new Error("save() can only be called after init() and before digest()");
|
|
940
|
-
const g = A.exports.Hash_GetState(), I =
|
|
941
|
-
return Fe(C, e.hash), C.set(
|
|
942
|
-
},
|
|
940
|
+
const g = A.exports.Hash_GetState(), I = s(), l = A.exports.memory.buffer, u = new Uint8Array(l, g, I), C = new Uint8Array(X + I);
|
|
941
|
+
return Fe(C, e.hash), C.set(u, X), C;
|
|
942
|
+
}, F = (g) => {
|
|
943
943
|
if (!(g instanceof Uint8Array))
|
|
944
944
|
throw new Error("load() expects an Uint8Array generated by save()");
|
|
945
|
-
const I = A.exports.Hash_GetState(), l =
|
|
946
|
-
if (g.length !==
|
|
947
|
-
throw new Error(`Bad state length (expected ${
|
|
945
|
+
const I = A.exports.Hash_GetState(), l = s(), u = X + l, C = A.exports.memory.buffer;
|
|
946
|
+
if (g.length !== u)
|
|
947
|
+
throw new Error(`Bad state length (expected ${u} bytes, got ${g.length})`);
|
|
948
948
|
if (!ct(e.hash, g.subarray(0, X)))
|
|
949
949
|
throw new Error("This state was written by an incompatible hash implementation");
|
|
950
|
-
const
|
|
951
|
-
new Uint8Array(C, I, l).set(
|
|
952
|
-
},
|
|
953
|
-
let
|
|
950
|
+
const S = g.subarray(X);
|
|
951
|
+
new Uint8Array(C, I, l).set(S), r = !0;
|
|
952
|
+
}, k = (g) => typeof g == "string" ? g.length < _ / 4 : g.byteLength < _;
|
|
953
|
+
let U = k;
|
|
954
954
|
switch (e.name) {
|
|
955
955
|
case "argon2":
|
|
956
956
|
case "scrypt":
|
|
957
|
-
|
|
957
|
+
U = () => !0;
|
|
958
958
|
break;
|
|
959
959
|
case "blake2b":
|
|
960
960
|
case "blake2s":
|
|
961
|
-
|
|
961
|
+
U = (g, I) => I <= 512 && k(g);
|
|
962
962
|
break;
|
|
963
963
|
case "blake3":
|
|
964
|
-
|
|
964
|
+
U = (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
|
+
U = () => !1;
|
|
972
972
|
break;
|
|
973
973
|
}
|
|
974
974
|
const d = (g, I = null, l = null) => {
|
|
975
|
-
if (!
|
|
976
|
-
return
|
|
977
|
-
const
|
|
978
|
-
return i.set(
|
|
975
|
+
if (!U(g, I))
|
|
976
|
+
return w(I), m(g), B("hex", l);
|
|
977
|
+
const u = v(g);
|
|
978
|
+
return i.set(u), A.exports.Hash_Calculate(u.length, I, l), he(Q, i, t);
|
|
979
979
|
};
|
|
980
|
-
return yield
|
|
981
|
-
getMemory:
|
|
980
|
+
return yield p(), {
|
|
981
|
+
getMemory: o,
|
|
982
982
|
writeMemory: n,
|
|
983
983
|
getExports: a,
|
|
984
984
|
setMemorySize: c,
|
|
985
|
-
init:
|
|
986
|
-
update:
|
|
987
|
-
digest:
|
|
985
|
+
init: w,
|
|
986
|
+
update: m,
|
|
987
|
+
digest: B,
|
|
988
988
|
save: f,
|
|
989
|
-
load:
|
|
989
|
+
load: F,
|
|
990
990
|
calculate: d,
|
|
991
991
|
hashLength: t
|
|
992
992
|
};
|
|
993
993
|
});
|
|
994
994
|
}
|
|
995
|
-
new
|
|
995
|
+
new D();
|
|
996
996
|
var ut = "argon2", wt = "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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", Qt = "e4cdc523", Bt = {
|
|
997
997
|
name: ut,
|
|
998
998
|
data: wt,
|
|
@@ -1002,7 +1002,7 @@ var ut = "argon2", wt = "AGFzbQEAAAABKQVgAX8Bf2AAAX9gEH9/f39/f39/f39/f39/f38AYAR
|
|
|
1002
1002
|
data: Et,
|
|
1003
1003
|
hash: pt
|
|
1004
1004
|
};
|
|
1005
|
-
new
|
|
1005
|
+
new D();
|
|
1006
1006
|
function Be(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
|
}
|
|
@@ -1014,24 +1014,24 @@ function fe(e = 512, t = null) {
|
|
|
1014
1014
|
return Promise.reject(Be(e));
|
|
1015
1015
|
let A = null, i = e;
|
|
1016
1016
|
if (t !== null) {
|
|
1017
|
-
if (A =
|
|
1017
|
+
if (A = v(t), A.length > 64)
|
|
1018
1018
|
return Promise.reject(new Error("Max key length is 64 bytes"));
|
|
1019
1019
|
i = kt(e, A.length);
|
|
1020
1020
|
}
|
|
1021
1021
|
const r = e / 8;
|
|
1022
1022
|
return Ue(yt, r).then((n) => {
|
|
1023
1023
|
i > 512 && n.writeMemory(A), n.init(i);
|
|
1024
|
-
const
|
|
1025
|
-
init: i > 512 ? () => (n.writeMemory(A), n.init(i),
|
|
1026
|
-
update: (a) => (n.update(a),
|
|
1024
|
+
const o = {
|
|
1025
|
+
init: i > 512 ? () => (n.writeMemory(A), n.init(i), o) : () => (n.init(i), o),
|
|
1026
|
+
update: (a) => (n.update(a), o),
|
|
1027
1027
|
// biome-ignore lint/suspicious/noExplicitAny: Conflict with IHasher type
|
|
1028
1028
|
digest: (a) => n.digest(a),
|
|
1029
1029
|
save: () => n.save(),
|
|
1030
|
-
load: (a) => (n.load(a),
|
|
1030
|
+
load: (a) => (n.load(a), o),
|
|
1031
1031
|
blockSize: 128,
|
|
1032
1032
|
digestSize: r
|
|
1033
1033
|
};
|
|
1034
|
-
return
|
|
1034
|
+
return o;
|
|
1035
1035
|
});
|
|
1036
1036
|
}
|
|
1037
1037
|
function St(e, t, A) {
|
|
@@ -1043,24 +1043,24 @@ function St(e, t, A) {
|
|
|
1043
1043
|
return `$argon2${t.hashType}$v=19$${i}$${Qe(e, !1)}$${Qe(A, !1)}`;
|
|
1044
1044
|
}
|
|
1045
1045
|
const de = new DataView(new ArrayBuffer(4));
|
|
1046
|
-
function
|
|
1046
|
+
function O(e) {
|
|
1047
1047
|
return de.setInt32(0, e, !0), new Uint8Array(de.buffer);
|
|
1048
1048
|
}
|
|
1049
1049
|
function ge(e, t, A) {
|
|
1050
1050
|
return R(this, void 0, void 0, function* () {
|
|
1051
1051
|
if (A <= 64) {
|
|
1052
1052
|
const c = yield fe(A * 8);
|
|
1053
|
-
return c.update(
|
|
1053
|
+
return c.update(O(A)), c.update(t), c.digest("binary");
|
|
1054
1054
|
}
|
|
1055
1055
|
const i = Math.ceil(A / 32) - 2, r = new Uint8Array(A);
|
|
1056
|
-
e.init(), e.update(
|
|
1056
|
+
e.init(), e.update(O(A)), e.update(t);
|
|
1057
1057
|
let n = e.digest("binary");
|
|
1058
1058
|
r.set(n.subarray(0, 32), 0);
|
|
1059
1059
|
for (let c = 1; c < i; c++)
|
|
1060
1060
|
e.init(), e.update(n), n = e.digest("binary"), r.set(n.subarray(0, 32), c * 32);
|
|
1061
|
-
const
|
|
1061
|
+
const o = A - 32 * i;
|
|
1062
1062
|
let a;
|
|
1063
|
-
return
|
|
1063
|
+
return o === 64 ? (a = e, a.init()) : a = yield fe(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 Dt(e) {
|
|
@@ -1076,28 +1076,28 @@ function Dt(e) {
|
|
|
1076
1076
|
function Ft(e) {
|
|
1077
1077
|
return R(this, void 0, void 0, function* () {
|
|
1078
1078
|
var t;
|
|
1079
|
-
const { parallelism: A, iterations: i, hashLength: r } = e, n =
|
|
1079
|
+
const { parallelism: A, iterations: i, hashLength: r } = e, n = v(e.password), o = v(e.salt), a = 19, c = Dt(e.hashType), { memorySize: s } = e, y = v((t = e.secret) !== null && t !== void 0 ? t : ""), [p, w] = yield Promise.all([
|
|
1080
1080
|
Ue(Bt, 1024),
|
|
1081
1081
|
fe(512)
|
|
1082
1082
|
]);
|
|
1083
|
-
|
|
1084
|
-
const
|
|
1085
|
-
|
|
1086
|
-
const
|
|
1087
|
-
f.set(
|
|
1083
|
+
p.setMemorySize(s * 1024 + 1024);
|
|
1084
|
+
const h = new Uint8Array(24), m = new DataView(h.buffer);
|
|
1085
|
+
m.setInt32(0, A, !0), m.setInt32(4, r, !0), m.setInt32(8, s, !0), m.setInt32(12, i, !0), m.setInt32(16, a, !0), m.setInt32(20, c, !0), p.writeMemory(h, s * 1024), w.init(), w.update(h), w.update(O(n.length)), w.update(n), w.update(O(o.length)), w.update(o), w.update(O(y.length)), w.update(y), w.update(O(0));
|
|
1086
|
+
const B = Math.floor(s / (A * 4)) * 4, f = new Uint8Array(72), F = w.digest("binary");
|
|
1087
|
+
f.set(F);
|
|
1088
1088
|
for (let d = 0; d < A; d++) {
|
|
1089
|
-
f.set(
|
|
1090
|
-
let g = d *
|
|
1091
|
-
|
|
1089
|
+
f.set(O(0), 64), f.set(O(d), 68);
|
|
1090
|
+
let g = d * B, I = yield ge(w, f, 1024);
|
|
1091
|
+
p.writeMemory(I, g * 1024), g += 1, f.set(O(1), 64), I = yield ge(w, f, 1024), p.writeMemory(I, g * 1024);
|
|
1092
1092
|
}
|
|
1093
|
-
const
|
|
1094
|
-
Fe(
|
|
1095
|
-
const
|
|
1093
|
+
const k = new Uint8Array(1024);
|
|
1094
|
+
Fe(k, p.calculate(new Uint8Array([]), s));
|
|
1095
|
+
const U = yield ge(w, k, r);
|
|
1096
1096
|
if (e.outputType === "hex") {
|
|
1097
1097
|
const d = new Uint8Array(r * 2);
|
|
1098
|
-
return he(d,
|
|
1098
|
+
return he(d, U, r);
|
|
1099
1099
|
}
|
|
1100
|
-
return e.outputType === "encoded" ? St(
|
|
1100
|
+
return e.outputType === "encoded" ? St(o, e, U) : U;
|
|
1101
1101
|
});
|
|
1102
1102
|
}
|
|
1103
1103
|
const Ut = (e) => {
|
|
@@ -1106,13 +1106,13 @@ const Ut = (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 = v(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 = v(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 = v((t = e.secret) !== null && t !== void 0 ? t : ""), !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");
|
|
@@ -1130,26 +1130,26 @@ function me(e) {
|
|
|
1130
1130
|
return Ut(e), Ft(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 mt = 32;
|
|
1154
1154
|
async function iA(e, t, A = Xe) {
|
|
1155
1155
|
bt(A);
|
|
@@ -1234,7 +1234,7 @@ async function rA(e, t, A, i, r) {
|
|
|
1234
1234
|
if (!te())
|
|
1235
1235
|
throw new Error("WebAuthn is not available in this browser");
|
|
1236
1236
|
be();
|
|
1237
|
-
const n = i ?? rt(),
|
|
1237
|
+
const n = i ?? rt(), o = await navigator.credentials.create({
|
|
1238
1238
|
publicKey: {
|
|
1239
1239
|
challenge: crypto.getRandomValues(new Uint8Array(32)),
|
|
1240
1240
|
rp: {
|
|
@@ -1268,9 +1268,9 @@ async function rA(e, t, A, i, r) {
|
|
|
1268
1268
|
}
|
|
1269
1269
|
}
|
|
1270
1270
|
});
|
|
1271
|
-
if (!
|
|
1271
|
+
if (!o)
|
|
1272
1272
|
throw new Error("Passkey registration was cancelled");
|
|
1273
|
-
const a =
|
|
1273
|
+
const a = o.getClientExtensionResults();
|
|
1274
1274
|
if (!a.prf?.enabled || !a.prf?.results?.first)
|
|
1275
1275
|
throw new Error(
|
|
1276
1276
|
"PRF extension is not supported by this authenticator. Please use a device with a compatible platform authenticator."
|
|
@@ -1278,15 +1278,15 @@ async function rA(e, t, A, i, r) {
|
|
|
1278
1278
|
const c = a.prf?.results?.first;
|
|
1279
1279
|
if (!c)
|
|
1280
1280
|
throw new Error("PRF extension did not return a result");
|
|
1281
|
-
const
|
|
1282
|
-
if (
|
|
1281
|
+
const s = new Uint8Array(c);
|
|
1282
|
+
if (s.length !== 32)
|
|
1283
1283
|
throw new Error(
|
|
1284
|
-
`Unexpected PRF output length: expected 32 bytes, got ${
|
|
1284
|
+
`Unexpected PRF output length: expected 32 bytes, got ${s.length}. The authenticator may not be compatible.`
|
|
1285
1285
|
);
|
|
1286
1286
|
return {
|
|
1287
|
-
credentialId: z(new Uint8Array(
|
|
1287
|
+
credentialId: z(new Uint8Array(o.rawId)),
|
|
1288
1288
|
prfSalt: z(n),
|
|
1289
|
-
prfOutput:
|
|
1289
|
+
prfOutput: s
|
|
1290
1290
|
};
|
|
1291
1291
|
}
|
|
1292
1292
|
async function nA(e, t) {
|
|
@@ -1315,15 +1315,15 @@ async function nA(e, t) {
|
|
|
1315
1315
|
const n = i.getClientExtensionResults().prf?.results?.first;
|
|
1316
1316
|
if (!n)
|
|
1317
1317
|
throw new Error("PRF extension did not return a result during authentication");
|
|
1318
|
-
const
|
|
1319
|
-
if (
|
|
1318
|
+
const o = new Uint8Array(n);
|
|
1319
|
+
if (o.length !== 32)
|
|
1320
1320
|
throw new Error(
|
|
1321
|
-
`Unexpected PRF output length: expected 32 bytes, got ${
|
|
1321
|
+
`Unexpected PRF output length: expected 32 bytes, got ${o.length}. The authenticator may not be compatible.`
|
|
1322
1322
|
);
|
|
1323
|
-
return { prfOutput:
|
|
1323
|
+
return { prfOutput: o };
|
|
1324
1324
|
}
|
|
1325
1325
|
async function Jt() {
|
|
1326
|
-
const [e, t, A, i, r, n,
|
|
1326
|
+
const [e, t, A, i, r, n, o] = await Promise.all([
|
|
1327
1327
|
Mt(),
|
|
1328
1328
|
Vt(),
|
|
1329
1329
|
at(),
|
|
@@ -1339,8 +1339,8 @@ async function Jt() {
|
|
|
1339
1339
|
ed25519: i,
|
|
1340
1340
|
webAuthn: r,
|
|
1341
1341
|
webAuthnPrf: n,
|
|
1342
|
-
argon2:
|
|
1343
|
-
allSupported: e && t && A && r && n &&
|
|
1342
|
+
argon2: o,
|
|
1343
|
+
allSupported: e && t && A && r && n && o
|
|
1344
1344
|
};
|
|
1345
1345
|
}
|
|
1346
1346
|
async function Mt() {
|
|
@@ -1356,7 +1356,7 @@ async function Vt() {
|
|
|
1356
1356
|
"encrypt",
|
|
1357
1357
|
"decrypt"
|
|
1358
1358
|
]), t = new Uint8Array([1, 2, 3, 4]), A = crypto.getRandomValues(new Uint8Array(12)), i = await crypto.subtle.encrypt({ name: "AES-GCM", iv: A }, e, t), r = await crypto.subtle.decrypt({ name: "AES-GCM", iv: A }, e, i), n = new Uint8Array(r);
|
|
1359
|
-
return n.length === t.length && n.every((
|
|
1359
|
+
return n.length === t.length && n.every((o, a) => o === t[a]);
|
|
1360
1360
|
} catch {
|
|
1361
1361
|
return !1;
|
|
1362
1362
|
}
|
|
@@ -1431,197 +1431,197 @@ function xt(e) {
|
|
|
1431
1431
|
}
|
|
1432
1432
|
}
|
|
1433
1433
|
function Ot() {
|
|
1434
|
-
const e = pe(), [t, A] = K(!1), [i, r] = K(null), n = e?.config.serverUrl,
|
|
1434
|
+
const e = pe(), [t, A] = K(!1), [i, r] = K(null), n = e?.config.serverUrl, o = e?.config.requestTimeout, a = e?.config.retryAttempts, c = e?._internal?.getAccessToken, s = P(() => e ? new Ee({
|
|
1435
1435
|
baseUrl: n,
|
|
1436
|
-
timeoutMs:
|
|
1436
|
+
timeoutMs: o,
|
|
1437
1437
|
retryAttempts: a,
|
|
1438
1438
|
getAccessToken: c
|
|
1439
|
-
}) : null, [e, n,
|
|
1440
|
-
if (!
|
|
1439
|
+
}) : null, [e, n, o, a, c]), y = E(async () => {
|
|
1440
|
+
if (!s)
|
|
1441
1441
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1442
1442
|
A(!0), r(null);
|
|
1443
1443
|
try {
|
|
1444
|
-
return await
|
|
1444
|
+
return await s.get("/wallet/status");
|
|
1445
1445
|
} catch (I) {
|
|
1446
|
-
const l =
|
|
1446
|
+
const l = V(I, "Failed to fetch wallet status");
|
|
1447
1447
|
throw r(l.message), l;
|
|
1448
1448
|
} finally {
|
|
1449
1449
|
A(!1);
|
|
1450
1450
|
}
|
|
1451
|
-
}, [
|
|
1452
|
-
if (!
|
|
1451
|
+
}, [s]), p = E(async () => {
|
|
1452
|
+
if (!s)
|
|
1453
1453
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1454
1454
|
A(!0), r(null);
|
|
1455
1455
|
try {
|
|
1456
|
-
return await
|
|
1456
|
+
return await s.get("/wallet/material");
|
|
1457
1457
|
} catch (I) {
|
|
1458
|
-
const l =
|
|
1458
|
+
const l = V(I, "Failed to fetch wallet material");
|
|
1459
1459
|
if (l.code === "NOT_FOUND")
|
|
1460
1460
|
return null;
|
|
1461
1461
|
throw r(l.message), l;
|
|
1462
1462
|
} finally {
|
|
1463
1463
|
A(!1);
|
|
1464
1464
|
}
|
|
1465
|
-
}, [
|
|
1465
|
+
}, [s]), w = E(
|
|
1466
1466
|
async (I) => {
|
|
1467
|
-
if (!
|
|
1467
|
+
if (!s)
|
|
1468
1468
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1469
1469
|
A(!0), r(null);
|
|
1470
1470
|
try {
|
|
1471
|
-
await
|
|
1471
|
+
await s.post("/wallet/enroll", I);
|
|
1472
1472
|
} catch (l) {
|
|
1473
|
-
const
|
|
1474
|
-
throw r(
|
|
1473
|
+
const u = V(l, "Failed to enroll wallet");
|
|
1474
|
+
throw r(u.message), u;
|
|
1475
1475
|
} finally {
|
|
1476
1476
|
A(!1);
|
|
1477
1477
|
}
|
|
1478
1478
|
},
|
|
1479
|
-
[
|
|
1480
|
-
),
|
|
1479
|
+
[s]
|
|
1480
|
+
), h = E(
|
|
1481
1481
|
async (I) => {
|
|
1482
|
-
if (!
|
|
1482
|
+
if (!s)
|
|
1483
1483
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1484
1484
|
A(!0), r(null);
|
|
1485
1485
|
try {
|
|
1486
|
-
await
|
|
1486
|
+
await s.post("/wallet/recover", I);
|
|
1487
1487
|
} catch (l) {
|
|
1488
|
-
const
|
|
1489
|
-
throw r(
|
|
1488
|
+
const u = V(l, "Failed to recover wallet");
|
|
1489
|
+
throw r(u.message), u;
|
|
1490
1490
|
} finally {
|
|
1491
1491
|
A(!1);
|
|
1492
1492
|
}
|
|
1493
1493
|
},
|
|
1494
|
-
[
|
|
1495
|
-
),
|
|
1494
|
+
[s]
|
|
1495
|
+
), m = E(
|
|
1496
1496
|
async (I) => {
|
|
1497
|
-
if (!
|
|
1497
|
+
if (!s)
|
|
1498
1498
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1499
1499
|
A(!0), r(null);
|
|
1500
1500
|
try {
|
|
1501
|
-
return await
|
|
1501
|
+
return await s.post("/wallet/sign", I);
|
|
1502
1502
|
} catch (l) {
|
|
1503
|
-
const
|
|
1504
|
-
throw r(
|
|
1503
|
+
const u = V(l, "Failed to sign transaction");
|
|
1504
|
+
throw r(u.message), u;
|
|
1505
1505
|
} finally {
|
|
1506
1506
|
A(!1);
|
|
1507
1507
|
}
|
|
1508
1508
|
},
|
|
1509
|
-
[
|
|
1509
|
+
[s]
|
|
1510
1510
|
), Q = E(
|
|
1511
1511
|
async (I) => {
|
|
1512
|
-
if (!
|
|
1512
|
+
if (!s)
|
|
1513
1513
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1514
1514
|
A(!0), r(null);
|
|
1515
1515
|
try {
|
|
1516
|
-
await
|
|
1516
|
+
await s.post("/wallet/rotate-user-secret", I);
|
|
1517
1517
|
} catch (l) {
|
|
1518
|
-
const
|
|
1519
|
-
throw r(
|
|
1518
|
+
const u = V(l, "Failed to rotate user secret");
|
|
1519
|
+
throw r(u.message), u;
|
|
1520
1520
|
} finally {
|
|
1521
1521
|
A(!1);
|
|
1522
1522
|
}
|
|
1523
1523
|
},
|
|
1524
|
-
[
|
|
1525
|
-
),
|
|
1524
|
+
[s]
|
|
1525
|
+
), B = E(
|
|
1526
1526
|
async (I) => {
|
|
1527
|
-
if (!
|
|
1527
|
+
if (!s)
|
|
1528
1528
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1529
1529
|
A(!0), r(null);
|
|
1530
1530
|
try {
|
|
1531
|
-
return await
|
|
1531
|
+
return await s.post(
|
|
1532
1532
|
"/wallet/unlock",
|
|
1533
1533
|
xt(I)
|
|
1534
1534
|
);
|
|
1535
1535
|
} catch (l) {
|
|
1536
|
-
const
|
|
1537
|
-
throw r(
|
|
1536
|
+
const u = V(l, "Failed to unlock wallet");
|
|
1537
|
+
throw r(u.message), u;
|
|
1538
1538
|
} finally {
|
|
1539
1539
|
A(!1);
|
|
1540
1540
|
}
|
|
1541
1541
|
},
|
|
1542
|
-
[
|
|
1542
|
+
[s]
|
|
1543
1543
|
), f = E(async () => {
|
|
1544
|
-
if (!
|
|
1544
|
+
if (!s)
|
|
1545
1545
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1546
1546
|
A(!0), r(null);
|
|
1547
1547
|
try {
|
|
1548
|
-
await
|
|
1548
|
+
await s.post("/wallet/lock", {});
|
|
1549
1549
|
} catch (I) {
|
|
1550
|
-
const l =
|
|
1550
|
+
const l = V(I, "Failed to lock wallet");
|
|
1551
1551
|
throw r(l.message), l;
|
|
1552
1552
|
} finally {
|
|
1553
1553
|
A(!1);
|
|
1554
1554
|
}
|
|
1555
|
-
}, [
|
|
1555
|
+
}, [s]), F = E(
|
|
1556
1556
|
async (I) => {
|
|
1557
|
-
if (!
|
|
1557
|
+
if (!s)
|
|
1558
1558
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1559
1559
|
A(!0), r(null);
|
|
1560
1560
|
try {
|
|
1561
|
-
return await
|
|
1561
|
+
return await s.post("/wallet/share-b", I);
|
|
1562
1562
|
} catch (l) {
|
|
1563
|
-
const
|
|
1564
|
-
throw r(
|
|
1563
|
+
const u = V(l, "Failed to get Share B for recovery");
|
|
1564
|
+
throw r(u.message), u;
|
|
1565
1565
|
} finally {
|
|
1566
1566
|
A(!1);
|
|
1567
1567
|
}
|
|
1568
1568
|
},
|
|
1569
|
-
[
|
|
1570
|
-
),
|
|
1569
|
+
[s]
|
|
1570
|
+
), k = E(
|
|
1571
1571
|
async (I) => {
|
|
1572
|
-
if (!
|
|
1572
|
+
if (!s)
|
|
1573
1573
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1574
1574
|
A(!0), r(null);
|
|
1575
1575
|
try {
|
|
1576
|
-
return await
|
|
1576
|
+
return await s.post("/wallet/derived", I);
|
|
1577
1577
|
} catch (l) {
|
|
1578
|
-
const
|
|
1579
|
-
throw r(
|
|
1578
|
+
const u = V(l, "Failed to create derived wallet");
|
|
1579
|
+
throw r(u.message), u;
|
|
1580
1580
|
} finally {
|
|
1581
1581
|
A(!1);
|
|
1582
1582
|
}
|
|
1583
1583
|
},
|
|
1584
|
-
[
|
|
1585
|
-
),
|
|
1586
|
-
if (!
|
|
1584
|
+
[s]
|
|
1585
|
+
), U = E(async () => {
|
|
1586
|
+
if (!s)
|
|
1587
1587
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1588
1588
|
A(!0), r(null);
|
|
1589
1589
|
try {
|
|
1590
|
-
return await
|
|
1590
|
+
return await s.get("/wallet/derived");
|
|
1591
1591
|
} catch (I) {
|
|
1592
|
-
const l =
|
|
1592
|
+
const l = V(I, "Failed to list wallets");
|
|
1593
1593
|
throw r(l.message), l;
|
|
1594
1594
|
} finally {
|
|
1595
1595
|
A(!1);
|
|
1596
1596
|
}
|
|
1597
|
-
}, [
|
|
1597
|
+
}, [s]), d = E(
|
|
1598
1598
|
async (I) => {
|
|
1599
|
-
if (!
|
|
1599
|
+
if (!s)
|
|
1600
1600
|
throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
|
|
1601
1601
|
A(!0), r(null);
|
|
1602
1602
|
try {
|
|
1603
|
-
await
|
|
1603
|
+
await s.delete(`/wallet/derived/${I}`);
|
|
1604
1604
|
} catch (l) {
|
|
1605
|
-
const
|
|
1606
|
-
throw r(
|
|
1605
|
+
const u = V(l, "Failed to delete derived wallet");
|
|
1606
|
+
throw r(u.message), u;
|
|
1607
1607
|
} finally {
|
|
1608
1608
|
A(!1);
|
|
1609
1609
|
}
|
|
1610
1610
|
},
|
|
1611
|
-
[
|
|
1611
|
+
[s]
|
|
1612
1612
|
), g = E(() => r(null), []);
|
|
1613
1613
|
return {
|
|
1614
|
-
getStatus:
|
|
1615
|
-
getMaterial:
|
|
1616
|
-
enroll:
|
|
1617
|
-
recover:
|
|
1618
|
-
signTransaction:
|
|
1614
|
+
getStatus: y,
|
|
1615
|
+
getMaterial: p,
|
|
1616
|
+
enroll: w,
|
|
1617
|
+
recover: h,
|
|
1618
|
+
signTransaction: m,
|
|
1619
1619
|
rotateUserSecret: Q,
|
|
1620
|
-
unlock:
|
|
1620
|
+
unlock: B,
|
|
1621
1621
|
lock: f,
|
|
1622
|
-
getShareBForRecovery:
|
|
1623
|
-
createDerivedWallet:
|
|
1624
|
-
listAllWallets:
|
|
1622
|
+
getShareBForRecovery: F,
|
|
1623
|
+
createDerivedWallet: k,
|
|
1624
|
+
listAllWallets: U,
|
|
1625
1625
|
deleteDerivedWallet: d,
|
|
1626
1626
|
isLoading: t,
|
|
1627
1627
|
error: i,
|
|
@@ -1643,51 +1643,51 @@ const vt = {
|
|
|
1643
1643
|
}
|
|
1644
1644
|
};
|
|
1645
1645
|
function Tt() {
|
|
1646
|
-
const t = pe() !== null, [A, i] = K("loading"), [r, n] = K(null), [
|
|
1647
|
-
|
|
1646
|
+
const t = pe() !== null, [A, i] = K("loading"), [r, n] = K(null), [o, a] = K(null), [c, s] = K(!1), [y, p] = K(!1), [w, h] = K(null), [m, Q] = K(null), { getStatus: B, isLoading: f } = Ot(), F = Y(!1);
|
|
1647
|
+
x(() => {
|
|
1648
1648
|
if (!t) return;
|
|
1649
1649
|
let d = !1;
|
|
1650
1650
|
return (async () => {
|
|
1651
1651
|
try {
|
|
1652
1652
|
const I = await Yt();
|
|
1653
1653
|
if (d) return;
|
|
1654
|
-
|
|
1654
|
+
h(I), I.allSupported || (i("error"), Q(
|
|
1655
1655
|
"Your browser or device does not support all required features. Please use a modern browser with a platform authenticator."
|
|
1656
1656
|
));
|
|
1657
1657
|
} catch {
|
|
1658
1658
|
if (d) return;
|
|
1659
|
-
|
|
1659
|
+
h(null), i("error"), Q("Failed to check crypto capabilities");
|
|
1660
1660
|
}
|
|
1661
1661
|
})(), () => {
|
|
1662
1662
|
d = !0;
|
|
1663
1663
|
};
|
|
1664
1664
|
}, [t]);
|
|
1665
|
-
const
|
|
1666
|
-
if (!(!t || !
|
|
1665
|
+
const k = E(async () => {
|
|
1666
|
+
if (!(!t || !w?.allSupported)) {
|
|
1667
1667
|
i("loading"), Q(null);
|
|
1668
1668
|
try {
|
|
1669
|
-
const d = await
|
|
1670
|
-
n(d.solanaPubkey ?? null), a(d.authMethod ?? null),
|
|
1669
|
+
const d = await B();
|
|
1670
|
+
n(d.solanaPubkey ?? null), a(d.authMethod ?? null), s(d.hasExternalWallet), p(d.unlocked), d.hasExternalWallet ? i("enrolled_unlocked") : d.enrolled ? i(d.unlocked ? "enrolled_unlocked" : "enrolled_locked") : i("not_enrolled");
|
|
1671
1671
|
} catch (d) {
|
|
1672
1672
|
i("error"), Q(d instanceof Error ? d.message : "Failed to fetch wallet status");
|
|
1673
1673
|
}
|
|
1674
1674
|
}
|
|
1675
|
-
}, [t,
|
|
1676
|
-
|
|
1677
|
-
t &&
|
|
1678
|
-
}, [t,
|
|
1679
|
-
const
|
|
1675
|
+
}, [t, w?.allSupported, B]);
|
|
1676
|
+
x(() => {
|
|
1677
|
+
t && w?.allSupported && !f && !F.current && (F.current = !0, k());
|
|
1678
|
+
}, [t, w?.allSupported, f, k]);
|
|
1679
|
+
const U = E(() => Q(null), []);
|
|
1680
1680
|
return t ? {
|
|
1681
1681
|
status: A,
|
|
1682
1682
|
solanaPubkey: r,
|
|
1683
|
-
authMethod:
|
|
1683
|
+
authMethod: o,
|
|
1684
1684
|
hasExternalWallet: c,
|
|
1685
|
-
isUnlocked:
|
|
1686
|
-
capabilities:
|
|
1687
|
-
isSupported:
|
|
1688
|
-
error:
|
|
1689
|
-
refresh:
|
|
1690
|
-
clearError:
|
|
1685
|
+
isUnlocked: y,
|
|
1686
|
+
capabilities: w,
|
|
1687
|
+
isSupported: w?.allSupported ?? !1,
|
|
1688
|
+
error: m,
|
|
1689
|
+
refresh: k,
|
|
1690
|
+
clearError: U
|
|
1691
1691
|
} : vt;
|
|
1692
1692
|
}
|
|
1693
1693
|
const Ae = "__CEDROS_EMBEDDED_WALLET__";
|
|
@@ -1704,8 +1704,8 @@ function aA() {
|
|
|
1704
1704
|
return typeof window > "u" ? null : window[Ae] ?? null;
|
|
1705
1705
|
}
|
|
1706
1706
|
function Lt() {
|
|
1707
|
-
const { config: e, user: t } = ye(), { status: A, solanaPubkey: i, hasExternalWallet: r } = Tt(), n = e.wallet?.exposeAvailability ?? !1,
|
|
1708
|
-
return
|
|
1707
|
+
const { config: e, user: t } = ye(), { status: A, solanaPubkey: i, hasExternalWallet: r } = Tt(), n = e.wallet?.exposeAvailability ?? !1, o = e.wallet?.exposePublicKey ?? !1;
|
|
1708
|
+
return x(() => {
|
|
1709
1709
|
if (!n || !t) {
|
|
1710
1710
|
ce();
|
|
1711
1711
|
return;
|
|
@@ -1719,97 +1719,108 @@ function Lt() {
|
|
|
1719
1719
|
const a = A === "enrolled_locked" || A === "enrolled_unlocked";
|
|
1720
1720
|
return Rt({
|
|
1721
1721
|
available: a,
|
|
1722
|
-
publicKey:
|
|
1722
|
+
publicKey: o && a ? i : null
|
|
1723
1723
|
}), () => {
|
|
1724
1724
|
ce();
|
|
1725
1725
|
};
|
|
1726
|
-
}, [n,
|
|
1726
|
+
}, [n, o, t, A, i, r]), null;
|
|
1727
1727
|
}
|
|
1728
1728
|
function gA({ config: e, children: t }) {
|
|
1729
|
-
const [A, i] = K(null), [r, n] = K(!1),
|
|
1730
|
-
|
|
1731
|
-
const a =
|
|
1732
|
-
onLoginSuccess: (...
|
|
1733
|
-
onLoginError: (...
|
|
1734
|
-
onLogout: () =>
|
|
1735
|
-
onSessionExpired: () =>
|
|
1736
|
-
}), c = e.features === "auto", {
|
|
1729
|
+
const [A, i] = K(null), [r, n] = K(!1), o = Y(e.callbacks);
|
|
1730
|
+
o.current = e.callbacks;
|
|
1731
|
+
const a = Y({
|
|
1732
|
+
onLoginSuccess: (...J) => o.current?.onLoginSuccess?.(...J),
|
|
1733
|
+
onLoginError: (...J) => o.current?.onLoginError?.(...J),
|
|
1734
|
+
onLogout: () => o.current?.onLogout?.(),
|
|
1735
|
+
onSessionExpired: () => o.current?.onSessionExpired?.()
|
|
1736
|
+
}), c = e.features === "auto", {
|
|
1737
|
+
features: s,
|
|
1738
|
+
googleClientId: y,
|
|
1739
|
+
appleClientId: p,
|
|
1740
|
+
isLoading: w
|
|
1741
|
+
} = Ne(
|
|
1737
1742
|
e.serverUrl,
|
|
1738
1743
|
c,
|
|
1739
1744
|
e.requestTimeout
|
|
1740
|
-
),
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
+
), h = P(() => !c || !s ? e : {
|
|
1746
|
+
...e,
|
|
1747
|
+
features: s,
|
|
1748
|
+
googleClientId: e.googleClientId ?? y,
|
|
1749
|
+
appleClientId: e.appleClientId ?? p
|
|
1750
|
+
}, [e, c, s, y, p]), m = P(
|
|
1751
|
+
() => JSON.stringify(h.themeOverrides ?? null),
|
|
1752
|
+
[h.themeOverrides]
|
|
1753
|
+
), Q = P(() => JSON.stringify(h.session ?? null), [h.session]), B = P(() => JSON.stringify(h.features ?? null), [h.features]), f = P(() => JSON.stringify(h.forms ?? null), [h.forms]), F = P(
|
|
1754
|
+
() => h,
|
|
1745
1755
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- Using serialized keys for deep comparison; callbacks excluded (see UI-06)
|
|
1746
1756
|
[
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1757
|
+
h.serverUrl,
|
|
1758
|
+
h.googleClientId,
|
|
1759
|
+
h.appleClientId,
|
|
1760
|
+
h.requestTimeout,
|
|
1761
|
+
h.retryAttempts,
|
|
1762
|
+
h.theme,
|
|
1763
|
+
m,
|
|
1764
|
+
Q,
|
|
1752
1765
|
B,
|
|
1753
|
-
|
|
1754
|
-
U,
|
|
1755
|
-
Q
|
|
1766
|
+
f
|
|
1756
1767
|
]
|
|
1757
1768
|
);
|
|
1758
1769
|
Ve({
|
|
1759
|
-
theme:
|
|
1760
|
-
themeOverrides:
|
|
1770
|
+
theme: F.theme,
|
|
1771
|
+
themeOverrides: F.themeOverrides
|
|
1761
1772
|
});
|
|
1762
1773
|
const {
|
|
1763
|
-
user:
|
|
1764
|
-
authState:
|
|
1765
|
-
handleLoginSuccess:
|
|
1766
|
-
logout:
|
|
1767
|
-
refreshUser:
|
|
1768
|
-
getAccessToken:
|
|
1774
|
+
user: k,
|
|
1775
|
+
authState: U,
|
|
1776
|
+
handleLoginSuccess: d,
|
|
1777
|
+
logout: g,
|
|
1778
|
+
refreshUser: I,
|
|
1779
|
+
getAccessToken: l
|
|
1769
1780
|
} = Le({
|
|
1770
|
-
serverUrl:
|
|
1771
|
-
session:
|
|
1781
|
+
serverUrl: F.serverUrl,
|
|
1782
|
+
session: F.session,
|
|
1772
1783
|
callbacks: a.current,
|
|
1773
|
-
requestTimeoutMs:
|
|
1774
|
-
}),
|
|
1775
|
-
i(null), await
|
|
1776
|
-
}, [
|
|
1777
|
-
(...
|
|
1778
|
-
i(null),
|
|
1784
|
+
requestTimeoutMs: F.requestTimeout
|
|
1785
|
+
}), u = E(async () => {
|
|
1786
|
+
i(null), await g();
|
|
1787
|
+
}, [g]), C = E(
|
|
1788
|
+
(...J) => {
|
|
1789
|
+
i(null), d(...J);
|
|
1779
1790
|
},
|
|
1780
|
-
[
|
|
1781
|
-
),
|
|
1791
|
+
[d]
|
|
1792
|
+
), S = E(() => n(!0), []), G = E(() => n(!1), []), H = P(
|
|
1782
1793
|
() => ({
|
|
1783
|
-
config:
|
|
1784
|
-
user:
|
|
1785
|
-
authState:
|
|
1786
|
-
logout:
|
|
1787
|
-
refreshUser:
|
|
1794
|
+
config: F,
|
|
1795
|
+
user: k,
|
|
1796
|
+
authState: U,
|
|
1797
|
+
logout: u,
|
|
1798
|
+
refreshUser: I,
|
|
1788
1799
|
_internal: {
|
|
1789
|
-
handleLoginSuccess:
|
|
1790
|
-
getAccessToken:
|
|
1800
|
+
handleLoginSuccess: C,
|
|
1801
|
+
getAccessToken: l
|
|
1791
1802
|
}
|
|
1792
1803
|
}),
|
|
1793
|
-
[
|
|
1794
|
-
),
|
|
1804
|
+
[F, k, U, u, I, C, l]
|
|
1805
|
+
), b = P(
|
|
1795
1806
|
() => ({
|
|
1796
1807
|
error: A,
|
|
1797
1808
|
isModalOpen: r,
|
|
1798
|
-
openModal:
|
|
1799
|
-
closeModal:
|
|
1809
|
+
openModal: S,
|
|
1810
|
+
closeModal: G
|
|
1800
1811
|
}),
|
|
1801
|
-
[A, r,
|
|
1802
|
-
),
|
|
1803
|
-
() => ({ ...
|
|
1804
|
-
[
|
|
1812
|
+
[A, r, S, G]
|
|
1813
|
+
), M = P(
|
|
1814
|
+
() => ({ ...H, ...b }),
|
|
1815
|
+
[H, b]
|
|
1805
1816
|
);
|
|
1806
|
-
return c &&
|
|
1817
|
+
return c && w ? null : /* @__PURE__ */ ne(He.Provider, { value: H, children: /* @__PURE__ */ ne(Je.Provider, { value: b, children: /* @__PURE__ */ Ke(Me.Provider, { value: M, children: [
|
|
1807
1818
|
/* @__PURE__ */ ne(Lt, {}),
|
|
1808
1819
|
t
|
|
1809
1820
|
] }) }) });
|
|
1810
1821
|
}
|
|
1811
1822
|
function lA() {
|
|
1812
|
-
const { user: e, authState: t, error: A, logout: i, refreshUser: r, openModal: n, closeModal:
|
|
1823
|
+
const { user: e, authState: t, error: A, logout: i, refreshUser: r, openModal: n, closeModal: o } = ye();
|
|
1813
1824
|
return {
|
|
1814
1825
|
user: e,
|
|
1815
1826
|
authState: t,
|
|
@@ -1819,7 +1830,7 @@ function lA() {
|
|
|
1819
1830
|
logout: i,
|
|
1820
1831
|
refreshUser: r,
|
|
1821
1832
|
openLoginModal: n,
|
|
1822
|
-
closeLoginModal:
|
|
1833
|
+
closeLoginModal: o
|
|
1823
1834
|
};
|
|
1824
1835
|
}
|
|
1825
1836
|
export {
|