@cedros/login-react 0.0.29 → 0.0.31
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/README.md +2 -0
- package/dist/{AdminDepositList-CyT4VBH8.js → AdminDepositList-BUm_ZcAW.js} +1 -1
- package/dist/{AdminDepositList-CyT4VBH8.js.map → AdminDepositList-BUm_ZcAW.js.map} +1 -1
- package/dist/{AdminDepositList-b2AXtLg0.cjs → AdminDepositList-B_z6x3j5.cjs} +1 -1
- package/dist/{AdminDepositList-b2AXtLg0.cjs.map → AdminDepositList-B_z6x3j5.cjs.map} +1 -1
- package/dist/{AdminWithdrawalHistory-DL9zbu2b.cjs → AdminWithdrawalHistory-B2EY2ZmH.cjs} +1 -1
- package/dist/{AdminWithdrawalHistory-DL9zbu2b.cjs.map → AdminWithdrawalHistory-B2EY2ZmH.cjs.map} +1 -1
- package/dist/{AdminWithdrawalHistory-Cud-yuWy.js → AdminWithdrawalHistory-C76bkbjX.js} +1 -1
- package/dist/{AdminWithdrawalHistory-Cud-yuWy.js.map → AdminWithdrawalHistory-C76bkbjX.js.map} +1 -1
- package/dist/{AuthenticationSettings-D6GvSw3g.cjs → AuthenticationSettings-C-aYDXNH.cjs} +1 -1
- package/dist/{AuthenticationSettings-D6GvSw3g.cjs.map → AuthenticationSettings-C-aYDXNH.cjs.map} +1 -1
- package/dist/AuthenticationSettings-CoTic-d_.cjs +1 -0
- package/dist/AuthenticationSettings-CoTic-d_.cjs.map +1 -0
- package/dist/{AuthenticationSettings-rb4Fksw5.js → AuthenticationSettings-CsPbxwP7.js} +1 -1
- package/dist/{AuthenticationSettings-rb4Fksw5.js.map → AuthenticationSettings-CsPbxwP7.js.map} +1 -1
- package/dist/AuthenticationSettings-DIVk0OP8.js +712 -0
- package/dist/AuthenticationSettings-DIVk0OP8.js.map +1 -0
- package/dist/AutosaveStatus-DGNI4lXn.cjs +1 -0
- package/dist/AutosaveStatus-DGNI4lXn.cjs.map +1 -0
- package/dist/{AutosaveStatus-vkJxtuEw.js → AutosaveStatus-f-jw25Ay.js} +141 -93
- package/dist/AutosaveStatus-f-jw25Ay.js.map +1 -0
- package/dist/{CreditSystemSettings-ChA_lbef.cjs → CreditSystemSettings-BNkvsgsk.cjs} +1 -1
- package/dist/{CreditSystemSettings-ChA_lbef.cjs.map → CreditSystemSettings-BNkvsgsk.cjs.map} +1 -1
- package/dist/{CreditSystemSettings-DsRipb2R.js → CreditSystemSettings-C6ed3yp7.js} +1 -1
- package/dist/{CreditSystemSettings-DsRipb2R.js.map → CreditSystemSettings-C6ed3yp7.js.map} +1 -1
- package/dist/{CreditSystemSettings-r3gnGjiU.cjs → CreditSystemSettings-DM9ep1TF.cjs} +1 -1
- package/dist/{CreditSystemSettings-r3gnGjiU.cjs.map → CreditSystemSettings-DM9ep1TF.cjs.map} +1 -1
- package/dist/{CreditSystemSettings-a31pqSYS.js → CreditSystemSettings-uinhzoha.js} +1 -1
- package/dist/{CreditSystemSettings-a31pqSYS.js.map → CreditSystemSettings-uinhzoha.js.map} +1 -1
- package/dist/{DepositsSection-DD9MKUFt.js → DepositsSection-Bb4ISzvE.js} +1 -1
- package/dist/{DepositsSection-DD9MKUFt.js.map → DepositsSection-Bb4ISzvE.js.map} +1 -1
- package/dist/{DepositsSection-BkKUS4vk.cjs → DepositsSection-uQUdGeVb.cjs} +1 -1
- package/dist/{DepositsSection-BkKUS4vk.cjs.map → DepositsSection-uQUdGeVb.cjs.map} +1 -1
- package/dist/EmailRegisterForm-B_TiJkD6.cjs +1 -0
- package/dist/EmailRegisterForm-B_TiJkD6.cjs.map +1 -0
- package/dist/EmailRegisterForm-CCEuQA-w.js +773 -0
- package/dist/EmailRegisterForm-CCEuQA-w.js.map +1 -0
- package/dist/{EmailSettings-BVJ4vz0Y.js → EmailSettings-BAuQtEfM.js} +1 -1
- package/dist/{EmailSettings-BVJ4vz0Y.js.map → EmailSettings-BAuQtEfM.js.map} +1 -1
- package/dist/{EmailSettings-Dg2SAiHj.cjs → EmailSettings-BC0f1PCI.cjs} +1 -1
- package/dist/{EmailSettings-Dg2SAiHj.cjs.map → EmailSettings-BC0f1PCI.cjs.map} +1 -1
- package/dist/{EmailSettings-CM5l8qqK.cjs → EmailSettings-BF5EiPl9.cjs} +1 -1
- package/dist/{EmailSettings-CM5l8qqK.cjs.map → EmailSettings-BF5EiPl9.cjs.map} +1 -1
- package/dist/{EmailSettings-xtVl4kXD.js → EmailSettings-BKuXy8sc.js} +1 -1
- package/dist/{EmailSettings-xtVl4kXD.js.map → EmailSettings-BKuXy8sc.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-Bmx8x21f.cjs → EmbeddedWalletSettings-BRjt2PAj.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-Bmx8x21f.cjs.map → EmbeddedWalletSettings-BRjt2PAj.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-BuDgqv-K.js → EmbeddedWalletSettings-C27X9He2.js} +1 -1
- package/dist/{EmbeddedWalletSettings-BuDgqv-K.js.map → EmbeddedWalletSettings-C27X9He2.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-BXN9VbNJ.cjs → EmbeddedWalletSettings-CJY39UZN.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-BXN9VbNJ.cjs.map → EmbeddedWalletSettings-CJY39UZN.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-DY5iJhS0.js → EmbeddedWalletSettings-Dmi-EQ7W.js} +1 -1
- package/dist/{EmbeddedWalletSettings-DY5iJhS0.js.map → EmbeddedWalletSettings-Dmi-EQ7W.js.map} +1 -1
- package/dist/GoogleLoginButton-BwiL1o6U.cjs +1 -0
- package/dist/GoogleLoginButton-BwiL1o6U.cjs.map +1 -0
- package/dist/GoogleLoginButton-CFlqxvU-.js +217 -0
- package/dist/GoogleLoginButton-CFlqxvU-.js.map +1 -0
- package/dist/LoadingSpinner-6vml-zwr.js.map +1 -1
- package/dist/LoadingSpinner-d6sSxgQN.cjs.map +1 -1
- package/dist/{PermissionsSection-BPbE-hNx.cjs → PermissionsSection-DEMVp7X3.cjs} +1 -1
- package/dist/PermissionsSection-DEMVp7X3.cjs.map +1 -0
- package/dist/{PermissionsSection-CighC1p6.js → PermissionsSection-DNzOL1xW.js} +27 -25
- package/dist/PermissionsSection-DNzOL1xW.js.map +1 -0
- package/dist/{ServerSettings-BAstMKHS.js → ServerSettings-BT9weFPz.js} +1 -1
- package/dist/{ServerSettings-BAstMKHS.js.map → ServerSettings-BT9weFPz.js.map} +1 -1
- package/dist/{ServerSettings-LIIP5TPz.cjs → ServerSettings-CKfiLfXi.cjs} +1 -1
- package/dist/{ServerSettings-LIIP5TPz.cjs.map → ServerSettings-CKfiLfXi.cjs.map} +1 -1
- package/dist/{ServerSettings-9Q091f3o.js → ServerSettings-CZfBdMxG.js} +1 -1
- package/dist/{ServerSettings-9Q091f3o.js.map → ServerSettings-CZfBdMxG.js.map} +1 -1
- package/dist/{ServerSettings-PH7T8JKI.cjs → ServerSettings-rHrVN8O8.cjs} +1 -1
- package/dist/{ServerSettings-PH7T8JKI.cjs.map → ServerSettings-rHrVN8O8.cjs.map} +1 -1
- package/dist/SolanaLoginButton-DHsiug1Y.js +195 -0
- package/dist/SolanaLoginButton-DHsiug1Y.js.map +1 -0
- package/dist/SolanaLoginButton-DNEcSSF_.cjs +1 -0
- package/dist/SolanaLoginButton-DNEcSSF_.cjs.map +1 -0
- package/dist/{TeamSection-BIECkp7g.js → TeamSection-CoMXyFtz.js} +2 -2
- package/dist/{TeamSection-BIECkp7g.js.map → TeamSection-CoMXyFtz.js.map} +1 -1
- package/dist/{TeamSection-BOH9pv_E.cjs → TeamSection-DopbZClq.cjs} +1 -1
- package/dist/{TeamSection-BOH9pv_E.cjs.map → TeamSection-DopbZClq.cjs.map} +1 -1
- package/dist/{UsersSection-t-zm0jZW.js → UsersSection--PAE1XRh.js} +1 -1
- package/dist/{UsersSection-t-zm0jZW.js.map → UsersSection--PAE1XRh.js.map} +1 -1
- package/dist/{UsersSection-e6q7FHzx.cjs → UsersSection-C7aRNkK2.cjs} +1 -1
- package/dist/{UsersSection-e6q7FHzx.cjs.map → UsersSection-C7aRNkK2.cjs.map} +1 -1
- package/dist/{WebhookSettings-D0F8ESlB.js → WebhookSettings-Bgld6D_T.js} +1 -1
- package/dist/{WebhookSettings-D0F8ESlB.js.map → WebhookSettings-Bgld6D_T.js.map} +1 -1
- package/dist/{WebhookSettings-2p9abGm5.cjs → WebhookSettings-DXjnq-c7.cjs} +1 -1
- package/dist/{WebhookSettings-2p9abGm5.cjs.map → WebhookSettings-DXjnq-c7.cjs.map} +1 -1
- package/dist/{WebhookSettings-CdFM7_V-.cjs → WebhookSettings-DnLk97Mr.cjs} +1 -1
- package/dist/{WebhookSettings-CdFM7_V-.cjs.map → WebhookSettings-DnLk97Mr.cjs.map} +1 -1
- package/dist/{WebhookSettings-CXMBju7N.js → WebhookSettings-ufiGTmbG.js} +1 -1
- package/dist/{WebhookSettings-CXMBju7N.js.map → WebhookSettings-ufiGTmbG.js.map} +1 -1
- package/dist/{WithdrawalsSection-yRDTVFsb.js → WithdrawalsSection-BN-FjTEV.js} +1 -1
- package/dist/{WithdrawalsSection-yRDTVFsb.js.map → WithdrawalsSection-BN-FjTEV.js.map} +1 -1
- package/dist/{WithdrawalsSection-sljIyeaz.cjs → WithdrawalsSection-BhuCwFat.cjs} +1 -1
- package/dist/{WithdrawalsSection-sljIyeaz.cjs.map → WithdrawalsSection-BhuCwFat.cjs.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 +17 -1
- package/dist/email-only.js +3 -3
- package/dist/google-only.cjs +1 -1
- package/dist/google-only.d.ts +16 -0
- package/dist/google-only.js +3 -3
- package/dist/index.cjs +12 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +248 -12
- package/dist/index.js +3433 -2562
- package/dist/index.js.map +1 -1
- package/dist/login-react.css +1 -1
- package/dist/{plugin-DbkijwEV.js → plugin-BbExid4E.js} +1 -1
- package/dist/{plugin-DbkijwEV.js.map → plugin-BbExid4E.js.map} +1 -1
- package/dist/{plugin-PU2vAozn.cjs → plugin-Xca67fp7.cjs} +1 -1
- package/dist/{plugin-PU2vAozn.cjs.map → plugin-Xca67fp7.cjs.map} +1 -1
- package/dist/{shamir-CiBczzDN.cjs → shamir-DBpHm7WN.cjs} +1 -1
- package/dist/{shamir-CiBczzDN.cjs.map → shamir-DBpHm7WN.cjs.map} +1 -1
- package/dist/{shamir-OAB2zD9Y.js → shamir-R8ddesFt.js} +1 -1
- package/dist/{shamir-OAB2zD9Y.js.map → shamir-R8ddesFt.js.map} +1 -1
- package/dist/{silentWalletEnroll-FqXS7Rvh.js → silentWalletEnroll-Dp1GTeNr.js} +3 -3
- package/dist/{silentWalletEnroll-FqXS7Rvh.js.map → silentWalletEnroll-Dp1GTeNr.js.map} +1 -1
- package/dist/{silentWalletEnroll-wnkcB9HP.cjs → silentWalletEnroll-HPvsbd2J.cjs} +1 -1
- package/dist/{silentWalletEnroll-wnkcB9HP.cjs.map → silentWalletEnroll-HPvsbd2J.cjs.map} +1 -1
- package/dist/solana-only.cjs +1 -1
- package/dist/solana-only.d.ts +18 -2
- package/dist/solana-only.js +3 -3
- package/dist/{useAdminDeposits-BTSyeAfg.js → useAdminDeposits-C76B2Q_8.js} +1 -1
- package/dist/{useAdminDeposits-BTSyeAfg.js.map → useAdminDeposits-C76B2Q_8.js.map} +1 -1
- package/dist/{useAdminDeposits-BkkCwHWp.cjs → useAdminDeposits-CpLd68oP.cjs} +1 -1
- package/dist/{useAdminDeposits-BkkCwHWp.cjs.map → useAdminDeposits-CpLd68oP.cjs.map} +1 -1
- package/dist/{useAuth-m5Hf89v8.js → useAuth-CVLv2oKA.js} +547 -545
- package/dist/useAuth-CVLv2oKA.js.map +1 -0
- package/dist/useAuth-XZaciuLg.cjs +1 -0
- package/dist/useAuth-XZaciuLg.cjs.map +1 -0
- package/dist/useCedrosLogin-CFfID-0i.js +228 -0
- package/dist/useCedrosLogin-CFfID-0i.js.map +1 -0
- package/dist/useCedrosLogin-DtJorrE7.cjs +1 -0
- package/dist/useCedrosLogin-DtJorrE7.cjs.map +1 -0
- package/dist/{useOrgs-C3pzMA9h.js → useOrgs-C90KT9KP.js} +1 -1
- package/dist/{useOrgs-C3pzMA9h.js.map → useOrgs-C90KT9KP.js.map} +1 -1
- package/dist/{useOrgs-DDVRCaVi.cjs → useOrgs-CNqfn-fk.cjs} +1 -1
- package/dist/{useOrgs-DDVRCaVi.cjs.map → useOrgs-CNqfn-fk.cjs.map} +1 -1
- package/dist/{useSystemSettings-DRrreszl.cjs → useSystemSettings-B2jY51ob.cjs} +1 -1
- package/dist/{useSystemSettings-DRrreszl.cjs.map → useSystemSettings-B2jY51ob.cjs.map} +1 -1
- package/dist/{useSystemSettings-DBlAMjFi.js → useSystemSettings-rgskaDqP.js} +1 -1
- package/dist/{useSystemSettings-DBlAMjFi.js.map → useSystemSettings-rgskaDqP.js.map} +1 -1
- package/dist/{useUsersStatsSummary-NjEFvWuz.js → useUsersStatsSummary-5DJwzntC.js} +2 -2
- package/dist/{useUsersStatsSummary-NjEFvWuz.js.map → useUsersStatsSummary-5DJwzntC.js.map} +1 -1
- package/dist/{useUsersStatsSummary-8qY7iP4G.cjs → useUsersStatsSummary-DgKaUIfs.cjs} +1 -1
- package/dist/{useUsersStatsSummary-8qY7iP4G.cjs.map → useUsersStatsSummary-DgKaUIfs.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/AuthenticationSettings-C9f5MKgj.cjs +0 -1
- package/dist/AuthenticationSettings-C9f5MKgj.cjs.map +0 -1
- package/dist/AuthenticationSettings-DC64o_J6.js +0 -525
- package/dist/AuthenticationSettings-DC64o_J6.js.map +0 -1
- package/dist/AutosaveStatus-BFj5GIab.cjs +0 -1
- package/dist/AutosaveStatus-BFj5GIab.cjs.map +0 -1
- package/dist/AutosaveStatus-vkJxtuEw.js.map +0 -1
- package/dist/EmailRegisterForm-B1DB-bqe.cjs +0 -1
- package/dist/EmailRegisterForm-B1DB-bqe.cjs.map +0 -1
- package/dist/EmailRegisterForm-BAX_uBIt.js +0 -927
- package/dist/EmailRegisterForm-BAX_uBIt.js.map +0 -1
- package/dist/GoogleLoginButton-B6qnNMZp.js +0 -230
- package/dist/GoogleLoginButton-B6qnNMZp.js.map +0 -1
- package/dist/GoogleLoginButton-D7CoMXLq.cjs +0 -1
- package/dist/GoogleLoginButton-D7CoMXLq.cjs.map +0 -1
- package/dist/PermissionsSection-BPbE-hNx.cjs.map +0 -1
- package/dist/PermissionsSection-CighC1p6.js.map +0 -1
- package/dist/mobileWalletAdapter-B6ELaZp1.cjs +0 -1
- package/dist/mobileWalletAdapter-B6ELaZp1.cjs.map +0 -1
- package/dist/mobileWalletAdapter-Cm_AUXhg.js +0 -191
- package/dist/mobileWalletAdapter-Cm_AUXhg.js.map +0 -1
- package/dist/useAuth-X6Ds6WW4.cjs +0 -1
- package/dist/useAuth-X6Ds6WW4.cjs.map +0 -1
- package/dist/useAuth-m5Hf89v8.js.map +0 -1
- package/dist/useCedrosLogin-C9MrcZvh.cjs +0 -1
- package/dist/useCedrosLogin-C9MrcZvh.cjs.map +0 -1
- package/dist/useCedrosLogin-_94MmGGq.js +0 -216
- package/dist/useCedrosLogin-_94MmGGq.js.map +0 -1
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useEffect as
|
|
3
|
-
import { A as
|
|
4
|
-
import { A as
|
|
5
|
-
let
|
|
6
|
-
function
|
|
7
|
-
|
|
1
|
+
import { jsx as oe, jsxs as He } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as O, useState as b, useRef as N, useCallback as E, useMemo as V } from "react";
|
|
3
|
+
import { A as Je, a as Me, C as Ve } from "./LoadingSpinner-6vml-zwr.js";
|
|
4
|
+
import { A as pe, g as se, a as ye, h as M, u as ke } from "./useCedrosLogin-CFfID-0i.js";
|
|
5
|
+
let q = 0;
|
|
6
|
+
function Pe({ theme: e, themeOverrides: t }) {
|
|
7
|
+
O(() => {
|
|
8
8
|
if (typeof document > "u" || typeof window > "u")
|
|
9
9
|
return;
|
|
10
10
|
const A = document.documentElement;
|
|
11
11
|
let i = !1;
|
|
12
12
|
e === "dark" ? i = !0 : e === "light" ? i = !1 : i = window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
13
13
|
let r = !1;
|
|
14
|
-
i ? (
|
|
14
|
+
i ? (q++, r = !0, A.classList.add("cedros-dark")) : q === 0 && A.classList.remove("cedros-dark");
|
|
15
15
|
const n = /* @__PURE__ */ new Map();
|
|
16
16
|
return t && Object.entries(t).forEach(([o, a]) => {
|
|
17
17
|
if (a) {
|
|
18
|
-
const
|
|
19
|
-
n.set(o,
|
|
18
|
+
const g = A.style.getPropertyValue(o);
|
|
19
|
+
n.set(o, g), A.style.setProperty(o, a);
|
|
20
20
|
}
|
|
21
21
|
}), () => {
|
|
22
|
-
r && (
|
|
22
|
+
r && (q--, q === 0 && A.classList.remove("cedros-dark")), n.forEach((o, a) => {
|
|
23
23
|
o ? A.style.setProperty(a, o) : A.style.removeProperty(a);
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
26
|
}, [e, t]);
|
|
27
27
|
}
|
|
28
|
-
const
|
|
28
|
+
const Ne = {
|
|
29
29
|
email: !0,
|
|
30
30
|
google: !0,
|
|
31
31
|
apple: !0,
|
|
@@ -33,32 +33,32 @@ const Pe = {
|
|
|
33
33
|
webauthn: !0,
|
|
34
34
|
instantLink: !0
|
|
35
35
|
};
|
|
36
|
-
function
|
|
37
|
-
const [i, r] =
|
|
38
|
-
return
|
|
39
|
-
if (!t ||
|
|
40
|
-
|
|
36
|
+
function Ye(e, t, A) {
|
|
37
|
+
const [i, r] = b(null), [n, o] = b(), [a, g] = b(), [s, k] = b(), [y, w] = b(t), U = N(!1);
|
|
38
|
+
return O(() => {
|
|
39
|
+
if (!t || U.current) return;
|
|
40
|
+
U.current = !0, new pe({
|
|
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((C) => {
|
|
45
45
|
r({
|
|
46
|
-
email:
|
|
47
|
-
google:
|
|
48
|
-
apple:
|
|
49
|
-
solana:
|
|
50
|
-
webauthn:
|
|
51
|
-
instantLink:
|
|
52
|
-
}), o(
|
|
46
|
+
email: C.email,
|
|
47
|
+
google: C.google,
|
|
48
|
+
apple: C.apple,
|
|
49
|
+
solana: C.solana,
|
|
50
|
+
webauthn: C.webauthn,
|
|
51
|
+
instantLink: C.instantLink
|
|
52
|
+
}), o(C.googleClientId), g(C.appleClientId), k(C.socialButtonOrder);
|
|
53
53
|
}).catch(() => {
|
|
54
|
-
r(
|
|
54
|
+
r(Ne);
|
|
55
55
|
}).finally(() => {
|
|
56
|
-
|
|
56
|
+
w(!1);
|
|
57
57
|
});
|
|
58
|
-
}, [t, e, A]), { features: i, googleClientId: n, appleClientId: a,
|
|
58
|
+
}, [t, e, A]), { features: i, googleClientId: n, appleClientId: a, socialButtonOrder: s, isLoading: y };
|
|
59
59
|
}
|
|
60
|
-
const
|
|
61
|
-
class
|
|
60
|
+
const Oe = "cedros_tokens", xe = 6e4;
|
|
61
|
+
class ve {
|
|
62
62
|
storage;
|
|
63
63
|
requestedStorage;
|
|
64
64
|
storageKey;
|
|
@@ -73,7 +73,7 @@ class Oe {
|
|
|
73
73
|
// S-13: Prevent onSessionExpired from firing multiple times
|
|
74
74
|
sessionExpiredFired = !1;
|
|
75
75
|
allowWebStorage;
|
|
76
|
-
constructor(t = "cookie", A =
|
|
76
|
+
constructor(t = "cookie", A = Oe, i = {}) {
|
|
77
77
|
this.requestedStorage = t, this.storage = t, this.storageKey = A, this.allowWebStorage = i.allowWebStorage ?? !1, this.warnIfLocalStorage(), !this.allowWebStorage && (this.requestedStorage === "localStorage" || this.requestedStorage === "sessionStorage") && (this.storage = "memory"), this.loadFromStorage();
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
@@ -237,13 +237,13 @@ class Oe {
|
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
|
-
const
|
|
241
|
-
class
|
|
240
|
+
const Te = "cedros_auth_sync";
|
|
241
|
+
class Re {
|
|
242
242
|
channel = null;
|
|
243
243
|
callback = null;
|
|
244
244
|
boundHandler = null;
|
|
245
245
|
constructor() {
|
|
246
|
-
typeof window < "u" && "BroadcastChannel" in window && (this.channel = new BroadcastChannel(
|
|
246
|
+
typeof window < "u" && "BroadcastChannel" in window && (this.channel = new BroadcastChannel(Te), this.boundHandler = this.handleMessage.bind(this), this.channel.addEventListener("message", this.boundHandler));
|
|
247
247
|
}
|
|
248
248
|
/**
|
|
249
249
|
* Handle incoming sync messages.
|
|
@@ -292,36 +292,36 @@ class Te {
|
|
|
292
292
|
this.channel && (this.boundHandler && (this.channel.removeEventListener("message", this.boundHandler), this.boundHandler = null), this.channel.close(), this.channel = null), this.callback = null;
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
|
-
function
|
|
295
|
+
function _(e) {
|
|
296
296
|
if (typeof e != "object" || e === null) return !1;
|
|
297
297
|
const t = e;
|
|
298
298
|
if (typeof t.user != "object" || t.user === null) return !1;
|
|
299
299
|
const A = t.user;
|
|
300
300
|
return typeof A.id == "string" && A.id.length > 0;
|
|
301
301
|
}
|
|
302
|
-
function
|
|
302
|
+
function Le(e) {
|
|
303
303
|
if (typeof e != "object" || e === null) return !1;
|
|
304
304
|
const t = e;
|
|
305
305
|
return typeof t.accessToken == "string" && t.accessToken.length > 0 && typeof t.refreshToken == "string" && t.refreshToken.length > 0 && typeof t.expiresIn == "number" && t.expiresIn > 0;
|
|
306
306
|
}
|
|
307
|
-
function
|
|
307
|
+
function Xe({
|
|
308
308
|
serverUrl: e,
|
|
309
309
|
session: t,
|
|
310
310
|
callbacks: A,
|
|
311
311
|
requestTimeoutMs: i
|
|
312
312
|
}) {
|
|
313
|
-
const [r, n] =
|
|
313
|
+
const [r, n] = b(null), [o, a] = b("idle"), g = N(null), s = N(null), k = N(A), y = N(!0), w = N(null), U = N(() => Promise.resolve()), Q = N(() => {
|
|
314
314
|
});
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
}, [A]),
|
|
318
|
-
|
|
315
|
+
O(() => {
|
|
316
|
+
k.current = A;
|
|
317
|
+
}, [A]), O(() => (y.current = !0, () => {
|
|
318
|
+
y.current = !1;
|
|
319
319
|
}), []);
|
|
320
|
-
const
|
|
321
|
-
|
|
322
|
-
}, []), B = E((
|
|
323
|
-
|
|
324
|
-
}, []),
|
|
320
|
+
const C = E((h) => {
|
|
321
|
+
y.current && n(h);
|
|
322
|
+
}, []), B = E((h) => {
|
|
323
|
+
y.current && a(h);
|
|
324
|
+
}, []), u = V(
|
|
325
325
|
() => ({
|
|
326
326
|
storage: t?.storage ?? "cookie",
|
|
327
327
|
autoRefresh: t?.autoRefresh ?? !0,
|
|
@@ -337,110 +337,110 @@ function Le({
|
|
|
337
337
|
t?.allowWebStorage
|
|
338
338
|
]
|
|
339
339
|
);
|
|
340
|
-
|
|
341
|
-
const
|
|
342
|
-
allowWebStorage:
|
|
340
|
+
O(() => {
|
|
341
|
+
const h = new ve(u.storage, u.persistKey, {
|
|
342
|
+
allowWebStorage: u.allowWebStorage
|
|
343
343
|
});
|
|
344
|
-
return
|
|
345
|
-
|
|
344
|
+
return g.current = h, u.autoRefresh && h.setRefreshCallback(() => U.current()), h.setSessionExpiredCallback(() => Q.current()), u.syncTabs && (s.current = new Re()), () => {
|
|
345
|
+
h.destroy(), g.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
|
|
354
|
+
const K = E(async () => {
|
|
355
355
|
if (w.current)
|
|
356
356
|
return w.current;
|
|
357
|
-
const
|
|
357
|
+
const h = g.current?.getRefreshToken(), S = !!h, G = se(), H = {};
|
|
358
358
|
S && (H["Content-Type"] = "application/json"), G && (H["X-CSRF-Token"] = G);
|
|
359
|
-
let
|
|
360
|
-
const
|
|
361
|
-
|
|
359
|
+
let m, J;
|
|
360
|
+
const Y = new Promise((Z, re) => {
|
|
361
|
+
m = Z, J = re;
|
|
362
362
|
});
|
|
363
|
-
w.current =
|
|
364
|
-
const
|
|
363
|
+
w.current = Y, (async () => {
|
|
364
|
+
const Z = new AbortController(), re = i ?? 1e4, Ke = window.setTimeout(() => Z.abort(), re);
|
|
365
365
|
try {
|
|
366
|
-
const
|
|
366
|
+
const X = 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: S ? JSON.stringify({ refreshToken:
|
|
371
|
-
signal:
|
|
370
|
+
body: S ? JSON.stringify({ refreshToken: h }) : void 0,
|
|
371
|
+
signal: Z.signal
|
|
372
372
|
});
|
|
373
|
-
if (!
|
|
373
|
+
if (!X.ok)
|
|
374
374
|
throw new Error("Token refresh failed");
|
|
375
|
-
const
|
|
376
|
-
if (
|
|
377
|
-
if (!
|
|
375
|
+
const ne = await X.json();
|
|
376
|
+
if (ne.tokens) {
|
|
377
|
+
if (!Le(ne.tokens))
|
|
378
378
|
throw new Error("Invalid token response structure");
|
|
379
|
-
|
|
380
|
-
} else if (
|
|
379
|
+
g.current?.setTokens(ne.tokens);
|
|
380
|
+
} else if (u.storage !== "cookie")
|
|
381
381
|
throw new Error("Token refresh failed");
|
|
382
|
-
s.current?.broadcastRefresh(),
|
|
383
|
-
} catch (
|
|
384
|
-
throw
|
|
382
|
+
s.current?.broadcastRefresh(), m();
|
|
383
|
+
} catch (X) {
|
|
384
|
+
throw J(X), X;
|
|
385
385
|
} finally {
|
|
386
|
-
window.clearTimeout(
|
|
386
|
+
window.clearTimeout(Ke);
|
|
387
387
|
}
|
|
388
388
|
})().catch(() => {
|
|
389
389
|
});
|
|
390
390
|
try {
|
|
391
|
-
await
|
|
391
|
+
await Y;
|
|
392
392
|
} finally {
|
|
393
393
|
w.current = null;
|
|
394
394
|
}
|
|
395
|
-
}, [e,
|
|
396
|
-
if (
|
|
397
|
-
const
|
|
398
|
-
if (
|
|
399
|
-
return { Authorization: `Bearer ${
|
|
400
|
-
}, [
|
|
401
|
-
|
|
402
|
-
}, [B,
|
|
403
|
-
|
|
395
|
+
}, [e, u.storage, i]), p = E(() => {
|
|
396
|
+
if (u.storage === "cookie") return;
|
|
397
|
+
const h = g.current?.getAccessToken();
|
|
398
|
+
if (h)
|
|
399
|
+
return { Authorization: `Bearer ${h}` };
|
|
400
|
+
}, [u.storage]), F = E(() => {
|
|
401
|
+
g.current?.clear(), C(null), B("unauthenticated"), k.current?.onSessionExpired?.();
|
|
402
|
+
}, [B, C]);
|
|
403
|
+
U.current = K, Q.current = F;
|
|
404
404
|
const d = E(
|
|
405
|
-
(
|
|
406
|
-
const S = new AbortController(), G = i ?? 1e4, H = window.setTimeout(() => S.abort(), G),
|
|
407
|
-
|
|
408
|
-
const
|
|
409
|
-
return
|
|
410
|
-
promise: fetch(
|
|
405
|
+
(h) => {
|
|
406
|
+
const S = new AbortController(), G = i ?? 1e4, H = window.setTimeout(() => S.abort(), G), m = {}, J = p();
|
|
407
|
+
J && Object.assign(m, J);
|
|
408
|
+
const Y = se();
|
|
409
|
+
return Y && (m["X-CSRF-Token"] = Y), {
|
|
410
|
+
promise: fetch(h, {
|
|
411
411
|
credentials: "include",
|
|
412
|
-
headers: Object.keys(
|
|
412
|
+
headers: Object.keys(m).length > 0 ? m : void 0,
|
|
413
413
|
signal: S.signal
|
|
414
414
|
}),
|
|
415
415
|
cleanup: () => window.clearTimeout(H)
|
|
416
416
|
};
|
|
417
417
|
},
|
|
418
|
-
[
|
|
419
|
-
),
|
|
420
|
-
const
|
|
418
|
+
[p, i]
|
|
419
|
+
), l = E(async () => {
|
|
420
|
+
const h = d(`${e}/user`);
|
|
421
421
|
try {
|
|
422
|
-
const S = await
|
|
422
|
+
const S = await h.promise;
|
|
423
423
|
if (S.ok) {
|
|
424
424
|
const G = await S.json();
|
|
425
|
-
if (
|
|
426
|
-
|
|
425
|
+
if (_(G)) {
|
|
426
|
+
C(G.user), B("authenticated");
|
|
427
427
|
return;
|
|
428
428
|
}
|
|
429
429
|
}
|
|
430
|
-
if (S.status === 401 &&
|
|
430
|
+
if (S.status === 401 && u.autoRefresh) {
|
|
431
431
|
try {
|
|
432
|
-
await
|
|
432
|
+
await K();
|
|
433
433
|
} catch {
|
|
434
|
-
|
|
434
|
+
F();
|
|
435
435
|
return;
|
|
436
436
|
}
|
|
437
437
|
const G = d(`${e}/user`);
|
|
438
438
|
try {
|
|
439
439
|
const H = await G.promise;
|
|
440
440
|
if (H.ok) {
|
|
441
|
-
const
|
|
442
|
-
if (
|
|
443
|
-
|
|
441
|
+
const m = await H.json();
|
|
442
|
+
if (_(m)) {
|
|
443
|
+
C(m.user), B("authenticated");
|
|
444
444
|
return;
|
|
445
445
|
}
|
|
446
446
|
}
|
|
@@ -448,183 +448,183 @@ function Le({
|
|
|
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
|
+
h.cleanup();
|
|
456
456
|
}
|
|
457
457
|
}, [
|
|
458
458
|
e,
|
|
459
|
-
|
|
460
|
-
|
|
459
|
+
u.autoRefresh,
|
|
460
|
+
K,
|
|
461
461
|
d,
|
|
462
|
-
|
|
462
|
+
F,
|
|
463
463
|
B,
|
|
464
|
-
|
|
464
|
+
C
|
|
465
465
|
]);
|
|
466
|
-
|
|
467
|
-
!s.current || !
|
|
468
|
-
switch (
|
|
466
|
+
O(() => {
|
|
467
|
+
!s.current || !u.syncTabs || s.current.setCallback((h) => {
|
|
468
|
+
switch (h.type) {
|
|
469
469
|
case "login":
|
|
470
|
-
|
|
470
|
+
C(h.user), B("authenticated");
|
|
471
471
|
break;
|
|
472
472
|
case "logout":
|
|
473
|
-
|
|
473
|
+
C(null), B("unauthenticated"), g.current?.clear();
|
|
474
474
|
break;
|
|
475
475
|
case "refresh":
|
|
476
|
-
|
|
476
|
+
l();
|
|
477
477
|
break;
|
|
478
478
|
default:
|
|
479
|
-
console.warn("[Cedros Login] Unhandled tab sync event:",
|
|
479
|
+
console.warn("[Cedros Login] Unhandled tab sync event:", h);
|
|
480
480
|
}
|
|
481
481
|
});
|
|
482
|
-
}, [
|
|
483
|
-
const
|
|
482
|
+
}, [u.syncTabs, l, B, C]), O(() => {
|
|
483
|
+
const h = new AbortController(), S = i ?? 1e4, G = window.setTimeout(() => h.abort(), S);
|
|
484
484
|
return (async () => {
|
|
485
485
|
B("loading");
|
|
486
486
|
try {
|
|
487
|
-
const
|
|
487
|
+
const m = await fetch(`${e}/user`, {
|
|
488
488
|
credentials: "include",
|
|
489
|
-
headers:
|
|
490
|
-
signal:
|
|
489
|
+
headers: p(),
|
|
490
|
+
signal: h.signal
|
|
491
491
|
});
|
|
492
|
-
if (
|
|
493
|
-
const
|
|
494
|
-
if (
|
|
495
|
-
|
|
492
|
+
if (m.ok) {
|
|
493
|
+
const J = await m.json();
|
|
494
|
+
if (_(J)) {
|
|
495
|
+
C(J.user), B("authenticated");
|
|
496
496
|
return;
|
|
497
497
|
}
|
|
498
498
|
}
|
|
499
|
-
if (
|
|
499
|
+
if (m.status === 401 && u.autoRefresh) {
|
|
500
500
|
try {
|
|
501
|
-
await
|
|
501
|
+
await K();
|
|
502
502
|
} catch {
|
|
503
|
-
|
|
503
|
+
F();
|
|
504
504
|
return;
|
|
505
505
|
}
|
|
506
|
-
const
|
|
506
|
+
const J = await fetch(`${e}/user`, {
|
|
507
507
|
credentials: "include",
|
|
508
|
-
headers:
|
|
509
|
-
signal:
|
|
508
|
+
headers: p(),
|
|
509
|
+
signal: h.signal
|
|
510
510
|
});
|
|
511
|
-
if (
|
|
512
|
-
const
|
|
513
|
-
if (
|
|
514
|
-
|
|
511
|
+
if (J.ok) {
|
|
512
|
+
const Y = await J.json();
|
|
513
|
+
if (_(Y)) {
|
|
514
|
+
C(Y.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(G),
|
|
524
|
+
window.clearTimeout(G), h.abort();
|
|
525
525
|
};
|
|
526
526
|
}, [
|
|
527
527
|
e,
|
|
528
|
-
|
|
528
|
+
u.autoRefresh,
|
|
529
|
+
K,
|
|
530
|
+
p,
|
|
529
531
|
F,
|
|
530
|
-
k,
|
|
531
|
-
U,
|
|
532
532
|
B,
|
|
533
|
-
|
|
533
|
+
C,
|
|
534
534
|
i
|
|
535
535
|
]);
|
|
536
536
|
const I = E(
|
|
537
|
-
(
|
|
538
|
-
|
|
537
|
+
(h, S) => {
|
|
538
|
+
C(h), B("authenticated"), S && g.current?.setTokens(S), y.current && s.current?.broadcastLogin(h);
|
|
539
539
|
},
|
|
540
|
-
[
|
|
541
|
-
),
|
|
542
|
-
const
|
|
540
|
+
[C, B]
|
|
541
|
+
), c = E(async () => {
|
|
542
|
+
const h = se(), 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
|
+
...h ? { "X-CSRF-Token": h } : {},
|
|
548
|
+
...p() ?? {}
|
|
549
549
|
},
|
|
550
550
|
credentials: "include",
|
|
551
551
|
signal: S.signal
|
|
552
552
|
});
|
|
553
553
|
} catch {
|
|
554
554
|
} finally {
|
|
555
|
-
window.clearTimeout(H),
|
|
555
|
+
window.clearTimeout(H), C(null), B("unauthenticated"), g.current?.clear(), s.current?.broadcastLogout(), k.current?.onLogout?.();
|
|
556
556
|
}
|
|
557
|
-
}, [e,
|
|
557
|
+
}, [e, p, C, B, i]), f = E(() => g.current?.getAccessToken() ?? null, []);
|
|
558
558
|
return {
|
|
559
559
|
user: r,
|
|
560
560
|
authState: o,
|
|
561
561
|
handleLoginSuccess: I,
|
|
562
|
-
logout:
|
|
563
|
-
refreshUser:
|
|
564
|
-
getAccessToken:
|
|
562
|
+
logout: c,
|
|
563
|
+
refreshUser: l,
|
|
564
|
+
getAccessToken: f
|
|
565
565
|
};
|
|
566
566
|
}
|
|
567
|
-
const
|
|
567
|
+
const We = {
|
|
568
568
|
mCost: 19456,
|
|
569
569
|
// 19 MiB
|
|
570
570
|
tCost: 2,
|
|
571
571
|
pCost: 1
|
|
572
572
|
};
|
|
573
|
-
function
|
|
573
|
+
function je(e) {
|
|
574
574
|
return e.length === 16;
|
|
575
575
|
}
|
|
576
|
-
function
|
|
576
|
+
function Ze(e) {
|
|
577
577
|
if (e.length === 16) return !0;
|
|
578
578
|
if (e.length < 18) return !1;
|
|
579
579
|
const t = e[0];
|
|
580
580
|
return t === 0 || t === 1 || t === 128 || t === 8;
|
|
581
581
|
}
|
|
582
|
-
function
|
|
582
|
+
function qe(e) {
|
|
583
583
|
return e.length === 32;
|
|
584
584
|
}
|
|
585
|
-
function
|
|
585
|
+
function _e(e) {
|
|
586
586
|
return e.length === 12;
|
|
587
587
|
}
|
|
588
|
-
function
|
|
588
|
+
function $e(e) {
|
|
589
589
|
return e.length >= 16;
|
|
590
590
|
}
|
|
591
|
-
function
|
|
591
|
+
function ze(e) {
|
|
592
592
|
return e.length === 32;
|
|
593
593
|
}
|
|
594
|
-
function
|
|
595
|
-
if (!
|
|
594
|
+
function et(e) {
|
|
595
|
+
if (!je(e))
|
|
596
596
|
throw new Error(`Invalid seed length: expected 16, got ${e.length}`);
|
|
597
597
|
return e;
|
|
598
598
|
}
|
|
599
599
|
function _t(e) {
|
|
600
|
-
if (!je(e))
|
|
601
|
-
throw new Error(`Invalid share length: expected >=16, got ${e.length}`);
|
|
602
|
-
return e;
|
|
603
|
-
}
|
|
604
|
-
function ke(e) {
|
|
605
600
|
if (!Ze(e))
|
|
606
|
-
throw new Error(`Invalid
|
|
601
|
+
throw new Error(`Invalid share length: expected >=16, got ${e.length}`);
|
|
607
602
|
return e;
|
|
608
603
|
}
|
|
609
|
-
function
|
|
604
|
+
function Se(e) {
|
|
610
605
|
if (!qe(e))
|
|
611
|
-
throw new Error(`Invalid
|
|
606
|
+
throw new Error(`Invalid key length: expected 32, got ${e.length}`);
|
|
612
607
|
return e;
|
|
613
608
|
}
|
|
614
609
|
function tt(e) {
|
|
615
610
|
if (!_e(e))
|
|
616
|
-
throw new Error(`Invalid
|
|
611
|
+
throw new Error(`Invalid nonce length: expected 12, got ${e.length}`);
|
|
617
612
|
return e;
|
|
618
613
|
}
|
|
619
614
|
function At(e) {
|
|
620
615
|
if (!$e(e))
|
|
616
|
+
throw new Error(`Invalid salt length: expected >=16, got ${e.length}`);
|
|
617
|
+
return e;
|
|
618
|
+
}
|
|
619
|
+
function it(e) {
|
|
620
|
+
if (!ze(e))
|
|
621
621
|
throw new Error(`Invalid PRF salt length: expected 32, got ${e.length}`);
|
|
622
622
|
return e;
|
|
623
623
|
}
|
|
624
624
|
function T(e) {
|
|
625
625
|
return new Uint8Array(e);
|
|
626
626
|
}
|
|
627
|
-
function
|
|
627
|
+
function te(e) {
|
|
628
628
|
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
629
629
|
throw new Error(
|
|
630
630
|
"WebCrypto API not available. Secure random generation requires a modern browser."
|
|
@@ -633,18 +633,18 @@ function ee(e) {
|
|
|
633
633
|
return crypto.getRandomValues(t), t;
|
|
634
634
|
}
|
|
635
635
|
function $t() {
|
|
636
|
-
return
|
|
636
|
+
return et(te(16));
|
|
637
637
|
}
|
|
638
|
-
function
|
|
639
|
-
return
|
|
638
|
+
function rt() {
|
|
639
|
+
return tt(te(12));
|
|
640
640
|
}
|
|
641
641
|
function zt() {
|
|
642
|
-
return
|
|
642
|
+
return At(te(16));
|
|
643
643
|
}
|
|
644
|
-
function
|
|
645
|
-
return
|
|
644
|
+
function nt() {
|
|
645
|
+
return it(te(32));
|
|
646
646
|
}
|
|
647
|
-
function
|
|
647
|
+
function De(e) {
|
|
648
648
|
if (!(!e || e.length === 0)) {
|
|
649
649
|
if (typeof globalThis.crypto?.getRandomValues == "function")
|
|
650
650
|
globalThis.crypto.getRandomValues(e);
|
|
@@ -656,9 +656,9 @@ function Se(e) {
|
|
|
656
656
|
}
|
|
657
657
|
function eA(...e) {
|
|
658
658
|
for (const t of e)
|
|
659
|
-
t &&
|
|
659
|
+
t && De(t);
|
|
660
660
|
}
|
|
661
|
-
async function
|
|
661
|
+
async function ot(e) {
|
|
662
662
|
return crypto.subtle.importKey(
|
|
663
663
|
"raw",
|
|
664
664
|
T(e),
|
|
@@ -668,8 +668,8 @@ async function nt(e) {
|
|
|
668
668
|
["encrypt", "decrypt"]
|
|
669
669
|
);
|
|
670
670
|
}
|
|
671
|
-
async function
|
|
672
|
-
const i = A ??
|
|
671
|
+
async function st(e, t, A) {
|
|
672
|
+
const i = A ?? rt(), r = await ot(t), n = await crypto.subtle.encrypt(
|
|
673
673
|
{ name: "AES-GCM", iv: T(i) },
|
|
674
674
|
r,
|
|
675
675
|
T(e)
|
|
@@ -680,13 +680,13 @@ async function ot(e, t, A) {
|
|
|
680
680
|
};
|
|
681
681
|
}
|
|
682
682
|
async function tA(e, t) {
|
|
683
|
-
const A = await
|
|
683
|
+
const A = await st(e, t);
|
|
684
684
|
return {
|
|
685
|
-
ciphertext:
|
|
686
|
-
nonce:
|
|
685
|
+
ciphertext: ee(A.ciphertext),
|
|
686
|
+
nonce: ee(A.nonce)
|
|
687
687
|
};
|
|
688
688
|
}
|
|
689
|
-
function
|
|
689
|
+
function ee(e) {
|
|
690
690
|
const A = [];
|
|
691
691
|
for (let i = 0; i < e.length; i += 32768) {
|
|
692
692
|
const r = e.subarray(i, Math.min(i + 32768, e.length));
|
|
@@ -694,7 +694,7 @@ function z(e) {
|
|
|
694
694
|
}
|
|
695
695
|
return btoa(A.join(""));
|
|
696
696
|
}
|
|
697
|
-
function
|
|
697
|
+
function It(e) {
|
|
698
698
|
let t;
|
|
699
699
|
try {
|
|
700
700
|
t = atob(e);
|
|
@@ -706,7 +706,7 @@ function st(e) {
|
|
|
706
706
|
A[i] = t.charCodeAt(i);
|
|
707
707
|
return A;
|
|
708
708
|
}
|
|
709
|
-
async function
|
|
709
|
+
async function at(e, t, A, i = 32) {
|
|
710
710
|
const r = await crypto.subtle.importKey(
|
|
711
711
|
"raw",
|
|
712
712
|
T(e),
|
|
@@ -728,10 +728,10 @@ async function It(e, t, A, i = 32) {
|
|
|
728
728
|
return new Uint8Array(o);
|
|
729
729
|
}
|
|
730
730
|
async function AA(e, t) {
|
|
731
|
-
const A = await
|
|
732
|
-
return
|
|
731
|
+
const A = await at(e, t, "cedros-wallet-share-b-encryption", 32);
|
|
732
|
+
return Se(A);
|
|
733
733
|
}
|
|
734
|
-
async function
|
|
734
|
+
async function gt() {
|
|
735
735
|
try {
|
|
736
736
|
const e = await crypto.subtle.importKey("raw", new Uint8Array(32), "HKDF", !1, [
|
|
737
737
|
"deriveBits"
|
|
@@ -757,22 +757,22 @@ function R(e, t, A, i) {
|
|
|
757
757
|
});
|
|
758
758
|
}
|
|
759
759
|
return new (A || (A = Promise))(function(n, o) {
|
|
760
|
-
function a(
|
|
760
|
+
function a(k) {
|
|
761
761
|
try {
|
|
762
|
-
s(i.next(
|
|
763
|
-
} catch (
|
|
764
|
-
o(
|
|
762
|
+
s(i.next(k));
|
|
763
|
+
} catch (y) {
|
|
764
|
+
o(y);
|
|
765
765
|
}
|
|
766
766
|
}
|
|
767
|
-
function
|
|
767
|
+
function g(k) {
|
|
768
768
|
try {
|
|
769
|
-
s(i.throw(
|
|
770
|
-
} catch (
|
|
771
|
-
o(
|
|
769
|
+
s(i.throw(k));
|
|
770
|
+
} catch (y) {
|
|
771
|
+
o(y);
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
|
-
function s(
|
|
775
|
-
|
|
774
|
+
function s(k) {
|
|
775
|
+
k.done ? n(k.value) : r(k.value).then(a, g);
|
|
776
776
|
}
|
|
777
777
|
s((i = i.apply(e, [])).next());
|
|
778
778
|
});
|
|
@@ -799,107 +799,107 @@ class D {
|
|
|
799
799
|
});
|
|
800
800
|
}
|
|
801
801
|
}
|
|
802
|
-
var
|
|
803
|
-
function
|
|
802
|
+
var Ie;
|
|
803
|
+
function lt() {
|
|
804
804
|
return typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global;
|
|
805
805
|
}
|
|
806
|
-
const
|
|
807
|
-
function
|
|
806
|
+
const he = lt(), ae = (Ie = he.Buffer) !== null && Ie !== void 0 ? Ie : null, ct = he.TextEncoder ? new he.TextEncoder() : null;
|
|
807
|
+
function Fe(e, t) {
|
|
808
808
|
return (e & 15) + (e >> 6 | e >> 3 & 8) << 4 | (t & 15) + (t >> 6 | t >> 3 & 8);
|
|
809
809
|
}
|
|
810
|
-
function
|
|
810
|
+
function Ue(e, t) {
|
|
811
811
|
const A = t.length >> 1;
|
|
812
812
|
for (let i = 0; i < A; i++) {
|
|
813
813
|
const r = i << 1;
|
|
814
|
-
e[i] =
|
|
814
|
+
e[i] = Fe(t.charCodeAt(r), t.charCodeAt(r + 1));
|
|
815
815
|
}
|
|
816
816
|
}
|
|
817
|
-
function
|
|
817
|
+
function Ct(e, t) {
|
|
818
818
|
if (e.length !== t.length * 2)
|
|
819
819
|
return !1;
|
|
820
820
|
for (let A = 0; A < t.length; A++) {
|
|
821
821
|
const i = A << 1;
|
|
822
|
-
if (t[A] !==
|
|
822
|
+
if (t[A] !== Fe(e.charCodeAt(i), e.charCodeAt(i + 1)))
|
|
823
823
|
return !1;
|
|
824
824
|
}
|
|
825
825
|
return !0;
|
|
826
826
|
}
|
|
827
|
-
const
|
|
828
|
-
function
|
|
827
|
+
const we = 87, Qe = 48;
|
|
828
|
+
function ue(e, t, A) {
|
|
829
829
|
let i = 0;
|
|
830
830
|
for (let r = 0; r < A; r++) {
|
|
831
831
|
let n = t[r] >>> 4;
|
|
832
|
-
e[i++] = n > 9 ? n +
|
|
832
|
+
e[i++] = n > 9 ? n + we : n + Qe, n = t[r] & 15, e[i++] = n > 9 ? n + we : n + Qe;
|
|
833
833
|
}
|
|
834
834
|
return String.fromCharCode.apply(null, e);
|
|
835
835
|
}
|
|
836
|
-
const v =
|
|
836
|
+
const v = ae !== null ? (e) => {
|
|
837
837
|
if (typeof e == "string") {
|
|
838
|
-
const t =
|
|
838
|
+
const t = ae.from(e, "utf8");
|
|
839
839
|
return new Uint8Array(t.buffer, t.byteOffset, t.length);
|
|
840
840
|
}
|
|
841
|
-
if (
|
|
841
|
+
if (ae.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);
|
|
845
845
|
throw new Error("Invalid data type!");
|
|
846
846
|
} : (e) => {
|
|
847
847
|
if (typeof e == "string")
|
|
848
|
-
return
|
|
848
|
+
return ct.encode(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
|
-
|
|
855
|
-
function
|
|
852
|
+
}, P = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", j = new Uint8Array(256);
|
|
853
|
+
for (let e = 0; e < P.length; e++)
|
|
854
|
+
j[P.charCodeAt(e)] = e;
|
|
855
|
+
function Be(e, t = !0) {
|
|
856
856
|
const A = e.length, i = A % 3, r = [], n = A - 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), g = P.charAt(a >> 18 & 63) + P.charAt(a >> 12 & 63) + P.charAt(a >> 6 & 63) + P.charAt(a & 63);
|
|
859
|
+
r.push(g);
|
|
860
860
|
}
|
|
861
861
|
if (i === 1) {
|
|
862
|
-
const o = e[A - 1], a =
|
|
863
|
-
r.push(`${a}${
|
|
862
|
+
const o = e[A - 1], a = P.charAt(o >> 2), g = P.charAt(o << 4 & 63);
|
|
863
|
+
r.push(`${a}${g}`), t && r.push("==");
|
|
864
864
|
} else if (i === 2) {
|
|
865
|
-
const o = (e[A - 2] << 8) + e[A - 1], a =
|
|
866
|
-
r.push(`${a}${
|
|
865
|
+
const o = (e[A - 2] << 8) + e[A - 1], a = P.charAt(o >> 10), g = P.charAt(o >> 4 & 63), s = P.charAt(o << 2 & 63);
|
|
866
|
+
r.push(`${a}${g}${s}`), t && r.push("=");
|
|
867
867
|
}
|
|
868
868
|
return r.join("");
|
|
869
869
|
}
|
|
870
|
-
function
|
|
870
|
+
function ht(e) {
|
|
871
871
|
let t = Math.floor(e.length * 0.75);
|
|
872
872
|
const A = e.length;
|
|
873
873
|
return e[A - 1] === "=" && (t -= 1, e[A - 2] === "=" && (t -= 1)), t;
|
|
874
874
|
}
|
|
875
|
-
function
|
|
876
|
-
const t =
|
|
875
|
+
function ut(e) {
|
|
876
|
+
const t = ht(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 o =
|
|
880
|
-
i[r] = o << 2 | a >> 4, r += 1, i[r] = (a & 15) << 4 |
|
|
879
|
+
const o = j[e.charCodeAt(n)], a = j[e.charCodeAt(n + 1)], g = j[e.charCodeAt(n + 2)], s = j[e.charCodeAt(n + 3)];
|
|
880
|
+
i[r] = o << 2 | a >> 4, r += 1, i[r] = (a & 15) << 4 | g >> 2, r += 1, i[r] = (g & 3) << 6 | s & 63, r += 1;
|
|
881
881
|
}
|
|
882
882
|
return i;
|
|
883
883
|
}
|
|
884
|
-
const
|
|
885
|
-
function
|
|
884
|
+
const $ = 16 * 1024, W = 4, ft = new D(), ge = /* @__PURE__ */ new Map();
|
|
885
|
+
function me(e, t) {
|
|
886
886
|
return R(this, void 0, void 0, function* () {
|
|
887
887
|
let A = null, i = null, r = !1;
|
|
888
888
|
if (typeof WebAssembly > "u")
|
|
889
889
|
throw new Error("WebAssembly is not supported in this environment!");
|
|
890
|
-
const n = (
|
|
891
|
-
i.set(
|
|
892
|
-
}, o = () => i, a = () => A.exports,
|
|
893
|
-
A.exports.Hash_SetMemorySize(
|
|
894
|
-
const I = A.exports.Hash_GetBuffer(),
|
|
895
|
-
i = new Uint8Array(
|
|
896
|
-
}, s = () => new DataView(A.exports.memory.buffer).getUint32(A.exports.STATE_SIZE, !0),
|
|
897
|
-
if (!
|
|
898
|
-
const I =
|
|
899
|
-
|
|
890
|
+
const n = (l, I = 0) => {
|
|
891
|
+
i.set(l, I);
|
|
892
|
+
}, o = () => i, a = () => A.exports, g = (l) => {
|
|
893
|
+
A.exports.Hash_SetMemorySize(l);
|
|
894
|
+
const I = A.exports.Hash_GetBuffer(), c = A.exports.memory.buffer;
|
|
895
|
+
i = new Uint8Array(c, I, l);
|
|
896
|
+
}, s = () => new DataView(A.exports.memory.buffer).getUint32(A.exports.STATE_SIZE, !0), k = ft.dispatch(() => R(this, void 0, void 0, function* () {
|
|
897
|
+
if (!ge.has(e.name)) {
|
|
898
|
+
const I = ut(e.data), c = WebAssembly.compile(I);
|
|
899
|
+
ge.set(e.name, c);
|
|
900
900
|
}
|
|
901
|
-
const
|
|
902
|
-
A = yield WebAssembly.instantiate(
|
|
901
|
+
const l = yield ge.get(e.name);
|
|
902
|
+
A = yield WebAssembly.instantiate(l, {
|
|
903
903
|
// env: {
|
|
904
904
|
// emscripten_memcpy_big: (dest, src, num) => {
|
|
905
905
|
// const memoryBuffer = wasmInstance.exports.memory.buffer;
|
|
@@ -913,113 +913,113 @@ function Ue(e, t) {
|
|
|
913
913
|
// },
|
|
914
914
|
// },
|
|
915
915
|
});
|
|
916
|
-
})),
|
|
917
|
-
A || (yield
|
|
918
|
-
const
|
|
919
|
-
i = new Uint8Array(I,
|
|
920
|
-
}), w = (
|
|
921
|
-
r = !0, A.exports.Hash_Init(
|
|
922
|
-
},
|
|
916
|
+
})), y = () => R(this, void 0, void 0, function* () {
|
|
917
|
+
A || (yield k);
|
|
918
|
+
const l = A.exports.Hash_GetBuffer(), I = A.exports.memory.buffer;
|
|
919
|
+
i = new Uint8Array(I, l, $);
|
|
920
|
+
}), w = (l = null) => {
|
|
921
|
+
r = !0, A.exports.Hash_Init(l);
|
|
922
|
+
}, U = (l) => {
|
|
923
923
|
let I = 0;
|
|
924
|
-
for (; I <
|
|
925
|
-
const
|
|
926
|
-
I +=
|
|
924
|
+
for (; I < l.length; ) {
|
|
925
|
+
const c = l.subarray(I, I + $);
|
|
926
|
+
I += c.length, i.set(c), A.exports.Hash_Update(c.length);
|
|
927
927
|
}
|
|
928
|
-
},
|
|
928
|
+
}, Q = (l) => {
|
|
929
929
|
if (!r)
|
|
930
930
|
throw new Error("update() called before init()");
|
|
931
|
-
const I = v(
|
|
932
|
-
|
|
933
|
-
},
|
|
931
|
+
const I = v(l);
|
|
932
|
+
U(I);
|
|
933
|
+
}, C = new Uint8Array(t * 2), B = (l, I = null) => {
|
|
934
934
|
if (!r)
|
|
935
935
|
throw new Error("digest() called before init()");
|
|
936
|
-
return r = !1, A.exports.Hash_Final(I),
|
|
937
|
-
},
|
|
936
|
+
return r = !1, A.exports.Hash_Final(I), l === "binary" ? i.slice(0, t) : ue(C, i, t);
|
|
937
|
+
}, u = () => {
|
|
938
938
|
if (!r)
|
|
939
939
|
throw new Error("save() can only be called after init() and before digest()");
|
|
940
|
-
const
|
|
941
|
-
return
|
|
942
|
-
},
|
|
943
|
-
if (!(
|
|
940
|
+
const l = A.exports.Hash_GetState(), I = s(), c = A.exports.memory.buffer, f = new Uint8Array(c, l, I), h = new Uint8Array(W + I);
|
|
941
|
+
return Ue(h, e.hash), h.set(f, W), h;
|
|
942
|
+
}, K = (l) => {
|
|
943
|
+
if (!(l instanceof Uint8Array))
|
|
944
944
|
throw new Error("load() expects an Uint8Array generated by save()");
|
|
945
|
-
const I = A.exports.Hash_GetState(),
|
|
946
|
-
if (
|
|
947
|
-
throw new Error(`Bad state length (expected ${
|
|
948
|
-
if (!
|
|
945
|
+
const I = A.exports.Hash_GetState(), c = s(), f = W + c, h = A.exports.memory.buffer;
|
|
946
|
+
if (l.length !== f)
|
|
947
|
+
throw new Error(`Bad state length (expected ${f} bytes, got ${l.length})`);
|
|
948
|
+
if (!Ct(e.hash, l.subarray(0, W)))
|
|
949
949
|
throw new Error("This state was written by an incompatible hash implementation");
|
|
950
|
-
const S =
|
|
951
|
-
new Uint8Array(
|
|
952
|
-
},
|
|
953
|
-
let
|
|
950
|
+
const S = l.subarray(W);
|
|
951
|
+
new Uint8Array(h, I, c).set(S), r = !0;
|
|
952
|
+
}, p = (l) => typeof l == "string" ? l.length < $ / 4 : l.byteLength < $;
|
|
953
|
+
let F = p;
|
|
954
954
|
switch (e.name) {
|
|
955
955
|
case "argon2":
|
|
956
956
|
case "scrypt":
|
|
957
|
-
|
|
957
|
+
F = () => !0;
|
|
958
958
|
break;
|
|
959
959
|
case "blake2b":
|
|
960
960
|
case "blake2s":
|
|
961
|
-
|
|
961
|
+
F = (l, I) => I <= 512 && p(l);
|
|
962
962
|
break;
|
|
963
963
|
case "blake3":
|
|
964
|
-
|
|
964
|
+
F = (l, I) => I === 0 && p(l);
|
|
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
|
+
F = () => !1;
|
|
972
972
|
break;
|
|
973
973
|
}
|
|
974
|
-
const d = (
|
|
975
|
-
if (!
|
|
976
|
-
return w(I),
|
|
977
|
-
const
|
|
978
|
-
return i.set(
|
|
974
|
+
const d = (l, I = null, c = null) => {
|
|
975
|
+
if (!F(l, I))
|
|
976
|
+
return w(I), Q(l), B("hex", c);
|
|
977
|
+
const f = v(l);
|
|
978
|
+
return i.set(f), A.exports.Hash_Calculate(f.length, I, c), ue(C, i, t);
|
|
979
979
|
};
|
|
980
|
-
return yield
|
|
980
|
+
return yield y(), {
|
|
981
981
|
getMemory: o,
|
|
982
982
|
writeMemory: n,
|
|
983
983
|
getExports: a,
|
|
984
|
-
setMemorySize:
|
|
984
|
+
setMemorySize: g,
|
|
985
985
|
init: w,
|
|
986
|
-
update:
|
|
986
|
+
update: Q,
|
|
987
987
|
digest: B,
|
|
988
|
-
save:
|
|
989
|
-
load:
|
|
988
|
+
save: u,
|
|
989
|
+
load: K,
|
|
990
990
|
calculate: d,
|
|
991
991
|
hashLength: t
|
|
992
992
|
};
|
|
993
993
|
});
|
|
994
994
|
}
|
|
995
995
|
new D();
|
|
996
|
-
var
|
|
997
|
-
name:
|
|
998
|
-
data:
|
|
999
|
-
hash:
|
|
1000
|
-
},
|
|
1001
|
-
name:
|
|
1002
|
-
data:
|
|
1003
|
-
hash:
|
|
996
|
+
var wt = "argon2", Qt = "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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", Bt = "e4cdc523", dt = {
|
|
997
|
+
name: wt,
|
|
998
|
+
data: Qt,
|
|
999
|
+
hash: Bt
|
|
1000
|
+
}, Et = "blake2b", pt = "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", yt = "c6f286e6", kt = {
|
|
1001
|
+
name: Et,
|
|
1002
|
+
data: pt,
|
|
1003
|
+
hash: yt
|
|
1004
1004
|
};
|
|
1005
1005
|
new D();
|
|
1006
|
-
function
|
|
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
|
-
function
|
|
1009
|
+
function St(e, t) {
|
|
1010
1010
|
return e | t << 16;
|
|
1011
1011
|
}
|
|
1012
1012
|
function fe(e = 512, t = null) {
|
|
1013
|
-
if (
|
|
1014
|
-
return Promise.reject(
|
|
1013
|
+
if (de(e))
|
|
1014
|
+
return Promise.reject(de(e));
|
|
1015
1015
|
let A = null, i = e;
|
|
1016
1016
|
if (t !== null) {
|
|
1017
1017
|
if (A = v(t), A.length > 64)
|
|
1018
1018
|
return Promise.reject(new Error("Max key length is 64 bytes"));
|
|
1019
|
-
i =
|
|
1019
|
+
i = St(e, A.length);
|
|
1020
1020
|
}
|
|
1021
1021
|
const r = e / 8;
|
|
1022
|
-
return
|
|
1022
|
+
return me(kt, r).then((n) => {
|
|
1023
1023
|
i > 512 && n.writeMemory(A), n.init(i);
|
|
1024
1024
|
const o = {
|
|
1025
1025
|
init: i > 512 ? () => (n.writeMemory(A), n.init(i), o) : () => (n.init(i), o),
|
|
@@ -1034,36 +1034,36 @@ function fe(e = 512, t = null) {
|
|
|
1034
1034
|
return o;
|
|
1035
1035
|
});
|
|
1036
1036
|
}
|
|
1037
|
-
function
|
|
1037
|
+
function Dt(e, t, A) {
|
|
1038
1038
|
const i = [
|
|
1039
1039
|
`m=${t.memorySize}`,
|
|
1040
1040
|
`t=${t.iterations}`,
|
|
1041
1041
|
`p=${t.parallelism}`
|
|
1042
1042
|
].join(",");
|
|
1043
|
-
return `$argon2${t.hashType}$v=19$${i}$${
|
|
1043
|
+
return `$argon2${t.hashType}$v=19$${i}$${Be(e, !1)}$${Be(A, !1)}`;
|
|
1044
1044
|
}
|
|
1045
|
-
const
|
|
1046
|
-
function
|
|
1047
|
-
return
|
|
1045
|
+
const Ee = new DataView(new ArrayBuffer(4));
|
|
1046
|
+
function x(e) {
|
|
1047
|
+
return Ee.setInt32(0, e, !0), new Uint8Array(Ee.buffer);
|
|
1048
1048
|
}
|
|
1049
|
-
function
|
|
1049
|
+
function le(e, t, A) {
|
|
1050
1050
|
return R(this, void 0, void 0, function* () {
|
|
1051
1051
|
if (A <= 64) {
|
|
1052
|
-
const
|
|
1053
|
-
return
|
|
1052
|
+
const g = yield fe(A * 8);
|
|
1053
|
+
return g.update(x(A)), g.update(t), g.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(x(A)), e.update(t);
|
|
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 g = 1; g < i; g++)
|
|
1060
|
+
e.init(), e.update(n), n = e.digest("binary"), r.set(n.subarray(0, 32), g * 32);
|
|
1061
1061
|
const o = A - 32 * i;
|
|
1062
1062
|
let a;
|
|
1063
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
|
-
function
|
|
1066
|
+
function Ft(e) {
|
|
1067
1067
|
switch (e) {
|
|
1068
1068
|
case "d":
|
|
1069
1069
|
return 0;
|
|
@@ -1073,34 +1073,34 @@ function Dt(e) {
|
|
|
1073
1073
|
return 2;
|
|
1074
1074
|
}
|
|
1075
1075
|
}
|
|
1076
|
-
function
|
|
1076
|
+
function Ut(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 = v(e.password), o = v(e.salt), a = 19,
|
|
1080
|
-
|
|
1079
|
+
const { parallelism: A, iterations: i, hashLength: r } = e, n = v(e.password), o = v(e.salt), a = 19, g = Ft(e.hashType), { memorySize: s } = e, k = v((t = e.secret) !== null && t !== void 0 ? t : ""), [y, w] = yield Promise.all([
|
|
1080
|
+
me(dt, 1024),
|
|
1081
1081
|
fe(512)
|
|
1082
1082
|
]);
|
|
1083
|
-
|
|
1084
|
-
const
|
|
1085
|
-
|
|
1086
|
-
const B = Math.floor(s / (A * 4)) * 4,
|
|
1087
|
-
|
|
1083
|
+
y.setMemorySize(s * 1024 + 1024);
|
|
1084
|
+
const U = new Uint8Array(24), Q = new DataView(U.buffer);
|
|
1085
|
+
Q.setInt32(0, A, !0), Q.setInt32(4, r, !0), Q.setInt32(8, s, !0), Q.setInt32(12, i, !0), Q.setInt32(16, a, !0), Q.setInt32(20, g, !0), y.writeMemory(U, s * 1024), w.init(), w.update(U), w.update(x(n.length)), w.update(n), w.update(x(o.length)), w.update(o), w.update(x(k.length)), w.update(k), w.update(x(0));
|
|
1086
|
+
const B = Math.floor(s / (A * 4)) * 4, u = new Uint8Array(72), K = w.digest("binary");
|
|
1087
|
+
u.set(K);
|
|
1088
1088
|
for (let d = 0; d < A; d++) {
|
|
1089
|
-
|
|
1090
|
-
let
|
|
1091
|
-
|
|
1089
|
+
u.set(x(0), 64), u.set(x(d), 68);
|
|
1090
|
+
let l = d * B, I = yield le(w, u, 1024);
|
|
1091
|
+
y.writeMemory(I, l * 1024), l += 1, u.set(x(1), 64), I = yield le(w, u, 1024), y.writeMemory(I, l * 1024);
|
|
1092
1092
|
}
|
|
1093
|
-
const
|
|
1094
|
-
|
|
1095
|
-
const
|
|
1093
|
+
const p = new Uint8Array(1024);
|
|
1094
|
+
Ue(p, y.calculate(new Uint8Array([]), s));
|
|
1095
|
+
const F = yield le(w, p, r);
|
|
1096
1096
|
if (e.outputType === "hex") {
|
|
1097
1097
|
const d = new Uint8Array(r * 2);
|
|
1098
|
-
return
|
|
1098
|
+
return ue(d, F, r);
|
|
1099
1099
|
}
|
|
1100
|
-
return e.outputType === "encoded" ?
|
|
1100
|
+
return e.outputType === "encoded" ? Dt(o, e, F) : F;
|
|
1101
1101
|
});
|
|
1102
1102
|
}
|
|
1103
|
-
const
|
|
1103
|
+
const mt = (e) => {
|
|
1104
1104
|
var t;
|
|
1105
1105
|
if (!e || typeof e != "object")
|
|
1106
1106
|
throw new Error("Invalid options parameter. It requires an object.");
|
|
@@ -1125,9 +1125,9 @@ const Ut = (e) => {
|
|
|
1125
1125
|
if (e.outputType === void 0 && (e.outputType = "hex"), !["hex", "binary", "encoded"].includes(e.outputType))
|
|
1126
1126
|
throw new Error(`Insupported output type ${e.outputType}. Valid values: ['hex', 'binary', 'encoded']`);
|
|
1127
1127
|
};
|
|
1128
|
-
function
|
|
1128
|
+
function be(e) {
|
|
1129
1129
|
return R(this, void 0, void 0, function* () {
|
|
1130
|
-
return
|
|
1130
|
+
return mt(e), Ut(Object.assign(Object.assign({}, e), { hashType: "id" }));
|
|
1131
1131
|
});
|
|
1132
1132
|
}
|
|
1133
1133
|
new D();
|
|
@@ -1150,25 +1150,25 @@ new D();
|
|
|
1150
1150
|
new D();
|
|
1151
1151
|
new D();
|
|
1152
1152
|
new D();
|
|
1153
|
-
const
|
|
1154
|
-
async function iA(e, t, A =
|
|
1155
|
-
|
|
1153
|
+
const bt = 32;
|
|
1154
|
+
async function iA(e, t, A = We) {
|
|
1155
|
+
Gt(A);
|
|
1156
1156
|
try {
|
|
1157
|
-
const i = await
|
|
1157
|
+
const i = await be({
|
|
1158
1158
|
password: e,
|
|
1159
1159
|
salt: t,
|
|
1160
1160
|
iterations: A.tCost,
|
|
1161
1161
|
memorySize: A.mCost,
|
|
1162
1162
|
parallelism: A.pCost,
|
|
1163
|
-
hashLength:
|
|
1163
|
+
hashLength: bt,
|
|
1164
1164
|
outputType: "binary"
|
|
1165
1165
|
});
|
|
1166
|
-
return
|
|
1166
|
+
return Se(i);
|
|
1167
1167
|
} catch {
|
|
1168
1168
|
throw new Error("Key derivation failed");
|
|
1169
1169
|
}
|
|
1170
1170
|
}
|
|
1171
|
-
function
|
|
1171
|
+
function Gt(e) {
|
|
1172
1172
|
if (e.mCost < 16384)
|
|
1173
1173
|
throw new Error("KDF memory cost too low (minimum 16 MiB)");
|
|
1174
1174
|
if (e.mCost > 1048576)
|
|
@@ -1182,9 +1182,9 @@ function bt(e) {
|
|
|
1182
1182
|
if (e.pCost > 4)
|
|
1183
1183
|
throw new Error("KDF parallelism too high (maximum 4)");
|
|
1184
1184
|
}
|
|
1185
|
-
async function
|
|
1185
|
+
async function Kt() {
|
|
1186
1186
|
try {
|
|
1187
|
-
const e = await
|
|
1187
|
+
const e = await be({
|
|
1188
1188
|
password: "test",
|
|
1189
1189
|
salt: new Uint8Array(16),
|
|
1190
1190
|
iterations: 1,
|
|
@@ -1194,28 +1194,28 @@ async function Gt() {
|
|
|
1194
1194
|
hashLength: 32,
|
|
1195
1195
|
outputType: "binary"
|
|
1196
1196
|
});
|
|
1197
|
-
return e.length !== 32 ? !1 : (
|
|
1197
|
+
return e.length !== 32 ? !1 : (De(e), !0);
|
|
1198
1198
|
} catch {
|
|
1199
1199
|
return !1;
|
|
1200
1200
|
}
|
|
1201
1201
|
}
|
|
1202
|
-
function
|
|
1202
|
+
function Ht(e) {
|
|
1203
1203
|
return e === "localhost" || e === "127.0.0.1" || e.endsWith(".localhost");
|
|
1204
1204
|
}
|
|
1205
|
-
function
|
|
1205
|
+
function Ge(e) {
|
|
1206
1206
|
if (typeof window > "u")
|
|
1207
1207
|
return;
|
|
1208
1208
|
const t = window.location.hostname;
|
|
1209
|
-
if (!
|
|
1209
|
+
if (!Ht(t))
|
|
1210
1210
|
throw new Error(
|
|
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 Ae() {
|
|
1215
1215
|
return typeof window < "u" && typeof window.PublicKeyCredential < "u" && typeof navigator.credentials < "u";
|
|
1216
1216
|
}
|
|
1217
|
-
async function
|
|
1218
|
-
if (!
|
|
1217
|
+
async function Jt() {
|
|
1218
|
+
if (!Ae())
|
|
1219
1219
|
return !1;
|
|
1220
1220
|
try {
|
|
1221
1221
|
if (!await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable())
|
|
@@ -1231,10 +1231,10 @@ async function Ht() {
|
|
|
1231
1231
|
}
|
|
1232
1232
|
}
|
|
1233
1233
|
async function rA(e, t, A, i, r) {
|
|
1234
|
-
if (!
|
|
1234
|
+
if (!Ae())
|
|
1235
1235
|
throw new Error("WebAuthn is not available in this browser");
|
|
1236
|
-
|
|
1237
|
-
const n = i ??
|
|
1236
|
+
Ge();
|
|
1237
|
+
const n = i ?? nt(), o = await navigator.credentials.create({
|
|
1238
1238
|
publicKey: {
|
|
1239
1239
|
challenge: crypto.getRandomValues(new Uint8Array(32)),
|
|
1240
1240
|
rp: {
|
|
@@ -1275,25 +1275,25 @@ async function rA(e, t, A, i, r) {
|
|
|
1275
1275
|
throw new Error(
|
|
1276
1276
|
"PRF extension is not supported by this authenticator. Please use a device with a compatible platform authenticator."
|
|
1277
1277
|
);
|
|
1278
|
-
const
|
|
1279
|
-
if (!
|
|
1278
|
+
const g = a.prf?.results?.first;
|
|
1279
|
+
if (!g)
|
|
1280
1280
|
throw new Error("PRF extension did not return a result");
|
|
1281
|
-
const s = new Uint8Array(
|
|
1281
|
+
const s = new Uint8Array(g);
|
|
1282
1282
|
if (s.length !== 32)
|
|
1283
1283
|
throw new Error(
|
|
1284
1284
|
`Unexpected PRF output length: expected 32 bytes, got ${s.length}. The authenticator may not be compatible.`
|
|
1285
1285
|
);
|
|
1286
1286
|
return {
|
|
1287
|
-
credentialId:
|
|
1288
|
-
prfSalt:
|
|
1287
|
+
credentialId: ee(new Uint8Array(o.rawId)),
|
|
1288
|
+
prfSalt: ee(n),
|
|
1289
1289
|
prfOutput: s
|
|
1290
1290
|
};
|
|
1291
1291
|
}
|
|
1292
1292
|
async function nA(e, t) {
|
|
1293
|
-
if (!
|
|
1293
|
+
if (!Ae())
|
|
1294
1294
|
throw new Error("WebAuthn is not available in this browser");
|
|
1295
|
-
|
|
1296
|
-
const A =
|
|
1295
|
+
Ge();
|
|
1296
|
+
const A = It(e), i = await navigator.credentials.get({
|
|
1297
1297
|
publicKey: {
|
|
1298
1298
|
challenge: crypto.getRandomValues(new Uint8Array(32)),
|
|
1299
1299
|
rpId: window.location.hostname,
|
|
@@ -1322,15 +1322,15 @@ async function nA(e, t) {
|
|
|
1322
1322
|
);
|
|
1323
1323
|
return { prfOutput: o };
|
|
1324
1324
|
}
|
|
1325
|
-
async function
|
|
1325
|
+
async function Mt() {
|
|
1326
1326
|
const [e, t, A, i, r, n, o] = await Promise.all([
|
|
1327
|
-
Mt(),
|
|
1328
1327
|
Vt(),
|
|
1329
|
-
at(),
|
|
1330
1328
|
Pt(),
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1329
|
+
gt(),
|
|
1330
|
+
Nt(),
|
|
1331
|
+
Promise.resolve(Ae()),
|
|
1332
|
+
Jt(),
|
|
1333
|
+
Kt()
|
|
1334
1334
|
]);
|
|
1335
1335
|
return {
|
|
1336
1336
|
webCrypto: e,
|
|
@@ -1343,14 +1343,14 @@ async function Jt() {
|
|
|
1343
1343
|
allSupported: e && t && A && r && n && o
|
|
1344
1344
|
};
|
|
1345
1345
|
}
|
|
1346
|
-
async function
|
|
1346
|
+
async function Vt() {
|
|
1347
1347
|
try {
|
|
1348
1348
|
return typeof crypto < "u" && typeof crypto.subtle < "u" && typeof crypto.getRandomValues == "function";
|
|
1349
1349
|
} catch {
|
|
1350
1350
|
return !1;
|
|
1351
1351
|
}
|
|
1352
1352
|
}
|
|
1353
|
-
async function
|
|
1353
|
+
async function Pt() {
|
|
1354
1354
|
try {
|
|
1355
1355
|
const e = await crypto.subtle.generateKey({ name: "AES-GCM", length: 256 }, !1, [
|
|
1356
1356
|
"encrypt",
|
|
@@ -1361,7 +1361,7 @@ async function Vt() {
|
|
|
1361
1361
|
return !1;
|
|
1362
1362
|
}
|
|
1363
1363
|
}
|
|
1364
|
-
async function
|
|
1364
|
+
async function Nt() {
|
|
1365
1365
|
try {
|
|
1366
1366
|
return await crypto.subtle.generateKey("Ed25519", !1, ["sign", "verify"]), !0;
|
|
1367
1367
|
} catch {
|
|
@@ -1416,11 +1416,11 @@ function sA() {
|
|
|
1416
1416
|
likelySupported: !1
|
|
1417
1417
|
};
|
|
1418
1418
|
}
|
|
1419
|
-
let
|
|
1420
|
-
const
|
|
1421
|
-
async function
|
|
1422
|
-
const t = Date.now(), A =
|
|
1423
|
-
return !e && !(typeof window > "u") && !A &&
|
|
1419
|
+
let z = null, ce = null;
|
|
1420
|
+
const Yt = 6e4;
|
|
1421
|
+
async function Ot(e = !1) {
|
|
1422
|
+
const t = Date.now(), A = ce === null || t - ce > Yt;
|
|
1423
|
+
return !e && !(typeof window > "u") && !A && z !== null || (z = await Mt(), ce = Date.now()), z;
|
|
1424
1424
|
}
|
|
1425
1425
|
function xt(e) {
|
|
1426
1426
|
switch (e.type) {
|
|
@@ -1430,35 +1430,35 @@ function xt(e) {
|
|
|
1430
1430
|
return { prfOutput: e.prfOutput };
|
|
1431
1431
|
}
|
|
1432
1432
|
}
|
|
1433
|
-
function
|
|
1434
|
-
const e =
|
|
1433
|
+
function vt() {
|
|
1434
|
+
const e = ye(), [t, A] = b(!1), [i, r] = b(null), n = e?.config.serverUrl, o = e?.config.requestTimeout, a = e?.config.retryAttempts, g = e?._internal?.getAccessToken, s = V(() => e ? new pe({
|
|
1435
1435
|
baseUrl: n,
|
|
1436
1436
|
timeoutMs: o,
|
|
1437
1437
|
retryAttempts: a,
|
|
1438
|
-
getAccessToken:
|
|
1439
|
-
}) : null, [e, n, o, a,
|
|
1438
|
+
getAccessToken: g
|
|
1439
|
+
}) : null, [e, n, o, a, g]), k = E(async () => {
|
|
1440
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
1444
|
return await s.get("/wallet/status");
|
|
1445
1445
|
} catch (I) {
|
|
1446
|
-
const
|
|
1447
|
-
throw r(
|
|
1446
|
+
const c = M(I, "Failed to fetch wallet status");
|
|
1447
|
+
throw r(c.message), c;
|
|
1448
1448
|
} finally {
|
|
1449
1449
|
A(!1);
|
|
1450
1450
|
}
|
|
1451
|
-
}, [s]),
|
|
1451
|
+
}, [s]), y = E(async () => {
|
|
1452
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
1456
|
return await s.get("/wallet/material");
|
|
1457
1457
|
} catch (I) {
|
|
1458
|
-
const
|
|
1459
|
-
if (
|
|
1458
|
+
const c = M(I, "Failed to fetch wallet material");
|
|
1459
|
+
if (c.code === "NOT_FOUND")
|
|
1460
1460
|
return null;
|
|
1461
|
-
throw r(
|
|
1461
|
+
throw r(c.message), c;
|
|
1462
1462
|
} finally {
|
|
1463
1463
|
A(!1);
|
|
1464
1464
|
}
|
|
@@ -1469,54 +1469,54 @@ function Ot() {
|
|
|
1469
1469
|
A(!0), r(null);
|
|
1470
1470
|
try {
|
|
1471
1471
|
await s.post("/wallet/enroll", I);
|
|
1472
|
-
} catch (
|
|
1473
|
-
const
|
|
1474
|
-
throw r(
|
|
1472
|
+
} catch (c) {
|
|
1473
|
+
const f = M(c, "Failed to enroll wallet");
|
|
1474
|
+
throw r(f.message), f;
|
|
1475
1475
|
} finally {
|
|
1476
1476
|
A(!1);
|
|
1477
1477
|
}
|
|
1478
1478
|
},
|
|
1479
1479
|
[s]
|
|
1480
|
-
),
|
|
1480
|
+
), U = E(
|
|
1481
1481
|
async (I) => {
|
|
1482
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
1486
|
await s.post("/wallet/recover", I);
|
|
1487
|
-
} catch (
|
|
1488
|
-
const
|
|
1489
|
-
throw r(
|
|
1487
|
+
} catch (c) {
|
|
1488
|
+
const f = M(c, "Failed to recover wallet");
|
|
1489
|
+
throw r(f.message), f;
|
|
1490
1490
|
} finally {
|
|
1491
1491
|
A(!1);
|
|
1492
1492
|
}
|
|
1493
1493
|
},
|
|
1494
1494
|
[s]
|
|
1495
|
-
),
|
|
1495
|
+
), Q = E(
|
|
1496
1496
|
async (I) => {
|
|
1497
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
1501
|
return await s.post("/wallet/sign", I);
|
|
1502
|
-
} catch (
|
|
1503
|
-
const
|
|
1504
|
-
throw r(
|
|
1502
|
+
} catch (c) {
|
|
1503
|
+
const f = M(c, "Failed to sign transaction");
|
|
1504
|
+
throw r(f.message), f;
|
|
1505
1505
|
} finally {
|
|
1506
1506
|
A(!1);
|
|
1507
1507
|
}
|
|
1508
1508
|
},
|
|
1509
1509
|
[s]
|
|
1510
|
-
),
|
|
1510
|
+
), C = E(
|
|
1511
1511
|
async (I) => {
|
|
1512
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
1516
|
await s.post("/wallet/rotate-user-secret", I);
|
|
1517
|
-
} catch (
|
|
1518
|
-
const
|
|
1519
|
-
throw r(
|
|
1517
|
+
} catch (c) {
|
|
1518
|
+
const f = M(c, "Failed to rotate user secret");
|
|
1519
|
+
throw r(f.message), f;
|
|
1520
1520
|
} finally {
|
|
1521
1521
|
A(!1);
|
|
1522
1522
|
}
|
|
@@ -1532,65 +1532,65 @@ function Ot() {
|
|
|
1532
1532
|
"/wallet/unlock",
|
|
1533
1533
|
xt(I)
|
|
1534
1534
|
);
|
|
1535
|
-
} catch (
|
|
1536
|
-
const
|
|
1537
|
-
throw r(
|
|
1535
|
+
} catch (c) {
|
|
1536
|
+
const f = M(c, "Failed to unlock wallet");
|
|
1537
|
+
throw r(f.message), f;
|
|
1538
1538
|
} finally {
|
|
1539
1539
|
A(!1);
|
|
1540
1540
|
}
|
|
1541
1541
|
},
|
|
1542
1542
|
[s]
|
|
1543
|
-
),
|
|
1543
|
+
), u = E(async () => {
|
|
1544
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
1548
|
await s.post("/wallet/lock", {});
|
|
1549
1549
|
} catch (I) {
|
|
1550
|
-
const
|
|
1551
|
-
throw r(
|
|
1550
|
+
const c = M(I, "Failed to lock wallet");
|
|
1551
|
+
throw r(c.message), c;
|
|
1552
1552
|
} finally {
|
|
1553
1553
|
A(!1);
|
|
1554
1554
|
}
|
|
1555
|
-
}, [s]),
|
|
1555
|
+
}, [s]), K = E(
|
|
1556
1556
|
async (I) => {
|
|
1557
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
1561
|
return await s.post("/wallet/share-b", I);
|
|
1562
|
-
} catch (
|
|
1563
|
-
const
|
|
1564
|
-
throw r(
|
|
1562
|
+
} catch (c) {
|
|
1563
|
+
const f = M(c, "Failed to get Share B for recovery");
|
|
1564
|
+
throw r(f.message), f;
|
|
1565
1565
|
} finally {
|
|
1566
1566
|
A(!1);
|
|
1567
1567
|
}
|
|
1568
1568
|
},
|
|
1569
1569
|
[s]
|
|
1570
|
-
),
|
|
1570
|
+
), p = E(
|
|
1571
1571
|
async (I) => {
|
|
1572
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
1576
|
return await s.post("/wallet/derived", I);
|
|
1577
|
-
} catch (
|
|
1578
|
-
const
|
|
1579
|
-
throw r(
|
|
1577
|
+
} catch (c) {
|
|
1578
|
+
const f = M(c, "Failed to create derived wallet");
|
|
1579
|
+
throw r(f.message), f;
|
|
1580
1580
|
} finally {
|
|
1581
1581
|
A(!1);
|
|
1582
1582
|
}
|
|
1583
1583
|
},
|
|
1584
1584
|
[s]
|
|
1585
|
-
),
|
|
1585
|
+
), F = E(async () => {
|
|
1586
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
1590
|
return await s.get("/wallet/derived");
|
|
1591
1591
|
} catch (I) {
|
|
1592
|
-
const
|
|
1593
|
-
throw r(
|
|
1592
|
+
const c = M(I, "Failed to list wallets");
|
|
1593
|
+
throw r(c.message), c;
|
|
1594
1594
|
} finally {
|
|
1595
1595
|
A(!1);
|
|
1596
1596
|
}
|
|
@@ -1601,34 +1601,34 @@ function Ot() {
|
|
|
1601
1601
|
A(!0), r(null);
|
|
1602
1602
|
try {
|
|
1603
1603
|
await s.delete(`/wallet/derived/${I}`);
|
|
1604
|
-
} catch (
|
|
1605
|
-
const
|
|
1606
|
-
throw r(
|
|
1604
|
+
} catch (c) {
|
|
1605
|
+
const f = M(c, "Failed to delete derived wallet");
|
|
1606
|
+
throw r(f.message), f;
|
|
1607
1607
|
} finally {
|
|
1608
1608
|
A(!1);
|
|
1609
1609
|
}
|
|
1610
1610
|
},
|
|
1611
1611
|
[s]
|
|
1612
|
-
),
|
|
1612
|
+
), l = E(() => r(null), []);
|
|
1613
1613
|
return {
|
|
1614
|
-
getStatus:
|
|
1615
|
-
getMaterial:
|
|
1614
|
+
getStatus: k,
|
|
1615
|
+
getMaterial: y,
|
|
1616
1616
|
enroll: w,
|
|
1617
|
-
recover:
|
|
1618
|
-
signTransaction:
|
|
1619
|
-
rotateUserSecret:
|
|
1617
|
+
recover: U,
|
|
1618
|
+
signTransaction: Q,
|
|
1619
|
+
rotateUserSecret: C,
|
|
1620
1620
|
unlock: B,
|
|
1621
|
-
lock:
|
|
1622
|
-
getShareBForRecovery:
|
|
1623
|
-
createDerivedWallet:
|
|
1624
|
-
listAllWallets:
|
|
1621
|
+
lock: u,
|
|
1622
|
+
getShareBForRecovery: K,
|
|
1623
|
+
createDerivedWallet: p,
|
|
1624
|
+
listAllWallets: F,
|
|
1625
1625
|
deleteDerivedWallet: d,
|
|
1626
1626
|
isLoading: t,
|
|
1627
1627
|
error: i,
|
|
1628
|
-
clearError:
|
|
1628
|
+
clearError: l
|
|
1629
1629
|
};
|
|
1630
1630
|
}
|
|
1631
|
-
const
|
|
1631
|
+
const Tt = {
|
|
1632
1632
|
status: "not_enrolled",
|
|
1633
1633
|
solanaPubkey: null,
|
|
1634
1634
|
authMethod: null,
|
|
@@ -1642,185 +1642,187 @@ const vt = {
|
|
|
1642
1642
|
clearError: () => {
|
|
1643
1643
|
}
|
|
1644
1644
|
};
|
|
1645
|
-
function
|
|
1646
|
-
const t =
|
|
1647
|
-
|
|
1645
|
+
function Rt() {
|
|
1646
|
+
const t = ye() !== null, [A, i] = b("loading"), [r, n] = b(null), [o, a] = b(null), [g, s] = b(!1), [k, y] = b(!1), [w, U] = b(null), [Q, C] = b(null), { getStatus: B, isLoading: u } = vt(), K = N(!1);
|
|
1647
|
+
O(() => {
|
|
1648
1648
|
if (!t) return;
|
|
1649
1649
|
let d = !1;
|
|
1650
1650
|
return (async () => {
|
|
1651
1651
|
try {
|
|
1652
|
-
const I = await
|
|
1652
|
+
const I = await Ot();
|
|
1653
1653
|
if (d) return;
|
|
1654
|
-
|
|
1654
|
+
U(I), I.allSupported || (i("error"), C(
|
|
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
|
+
U(null), i("error"), C("Failed to check crypto capabilities");
|
|
1660
1660
|
}
|
|
1661
1661
|
})(), () => {
|
|
1662
1662
|
d = !0;
|
|
1663
1663
|
};
|
|
1664
1664
|
}, [t]);
|
|
1665
|
-
const
|
|
1665
|
+
const p = E(async () => {
|
|
1666
1666
|
if (!(!t || !w?.allSupported)) {
|
|
1667
|
-
i("loading"),
|
|
1667
|
+
i("loading"), C(null);
|
|
1668
1668
|
try {
|
|
1669
1669
|
const d = await B();
|
|
1670
|
-
n(d.solanaPubkey ?? null), a(d.authMethod ?? null), s(d.hasExternalWallet),
|
|
1670
|
+
n(d.solanaPubkey ?? null), a(d.authMethod ?? null), s(d.hasExternalWallet), y(d.unlocked), d.hasExternalWallet ? i("enrolled_unlocked") : d.enrolled ? i(d.unlocked ? "enrolled_unlocked" : "enrolled_locked") : i("not_enrolled");
|
|
1671
1671
|
} catch (d) {
|
|
1672
|
-
i("error"),
|
|
1672
|
+
i("error"), C(d instanceof Error ? d.message : "Failed to fetch wallet status");
|
|
1673
1673
|
}
|
|
1674
1674
|
}
|
|
1675
1675
|
}, [t, w?.allSupported, B]);
|
|
1676
|
-
|
|
1677
|
-
t && w?.allSupported && !
|
|
1678
|
-
}, [t, w?.allSupported,
|
|
1679
|
-
const
|
|
1676
|
+
O(() => {
|
|
1677
|
+
t && w?.allSupported && !u && !K.current && (K.current = !0, p());
|
|
1678
|
+
}, [t, w?.allSupported, u, p]);
|
|
1679
|
+
const F = E(() => C(null), []);
|
|
1680
1680
|
return t ? {
|
|
1681
1681
|
status: A,
|
|
1682
1682
|
solanaPubkey: r,
|
|
1683
1683
|
authMethod: o,
|
|
1684
|
-
hasExternalWallet:
|
|
1685
|
-
isUnlocked:
|
|
1684
|
+
hasExternalWallet: g,
|
|
1685
|
+
isUnlocked: k,
|
|
1686
1686
|
capabilities: w,
|
|
1687
1687
|
isSupported: w?.allSupported ?? !1,
|
|
1688
|
-
error:
|
|
1689
|
-
refresh:
|
|
1690
|
-
clearError:
|
|
1691
|
-
} :
|
|
1688
|
+
error: Q,
|
|
1689
|
+
refresh: p,
|
|
1690
|
+
clearError: F
|
|
1691
|
+
} : Tt;
|
|
1692
1692
|
}
|
|
1693
|
-
const
|
|
1694
|
-
function
|
|
1695
|
-
typeof window < "u" && (window[
|
|
1693
|
+
const ie = "__CEDROS_EMBEDDED_WALLET__";
|
|
1694
|
+
function Lt(e) {
|
|
1695
|
+
typeof window < "u" && (window[ie] = e);
|
|
1696
1696
|
}
|
|
1697
|
-
function
|
|
1698
|
-
typeof window < "u" && delete window[
|
|
1697
|
+
function Ce() {
|
|
1698
|
+
typeof window < "u" && delete window[ie];
|
|
1699
1699
|
}
|
|
1700
1700
|
function IA() {
|
|
1701
|
-
return typeof window > "u" ? !1 : window[
|
|
1701
|
+
return typeof window > "u" ? !1 : window[ie]?.available ?? !1;
|
|
1702
1702
|
}
|
|
1703
1703
|
function aA() {
|
|
1704
|
-
return typeof window > "u" ? null : window[
|
|
1704
|
+
return typeof window > "u" ? null : window[ie] ?? null;
|
|
1705
1705
|
}
|
|
1706
|
-
function
|
|
1707
|
-
const { config: e, user: t } =
|
|
1708
|
-
return
|
|
1706
|
+
function Xt() {
|
|
1707
|
+
const { config: e, user: t } = ke(), { status: A, solanaPubkey: i, hasExternalWallet: r } = Rt(), n = e.wallet?.exposeAvailability ?? !1, o = e.wallet?.exposePublicKey ?? !1;
|
|
1708
|
+
return O(() => {
|
|
1709
1709
|
if (!n || !t) {
|
|
1710
|
-
|
|
1710
|
+
Ce();
|
|
1711
1711
|
return;
|
|
1712
1712
|
}
|
|
1713
1713
|
if (r) {
|
|
1714
|
-
|
|
1714
|
+
Ce();
|
|
1715
1715
|
return;
|
|
1716
1716
|
}
|
|
1717
1717
|
if (A === "loading")
|
|
1718
1718
|
return;
|
|
1719
1719
|
const a = A === "enrolled_locked" || A === "enrolled_unlocked";
|
|
1720
|
-
return
|
|
1720
|
+
return Lt({
|
|
1721
1721
|
available: a,
|
|
1722
1722
|
publicKey: o && a ? i : null
|
|
1723
1723
|
}), () => {
|
|
1724
|
-
|
|
1724
|
+
Ce();
|
|
1725
1725
|
};
|
|
1726
1726
|
}, [n, o, t, A, i, r]), null;
|
|
1727
1727
|
}
|
|
1728
1728
|
function gA({ config: e, children: t }) {
|
|
1729
|
-
const [A, i] =
|
|
1729
|
+
const [A, i] = b(null), [r, n] = b(!1), o = N(e.callbacks);
|
|
1730
1730
|
o.current = e.callbacks;
|
|
1731
|
-
const a =
|
|
1732
|
-
onLoginSuccess: (...
|
|
1733
|
-
onLoginError: (...
|
|
1731
|
+
const a = N({
|
|
1732
|
+
onLoginSuccess: (...L) => o.current?.onLoginSuccess?.(...L),
|
|
1733
|
+
onLoginError: (...L) => o.current?.onLoginError?.(...L),
|
|
1734
1734
|
onLogout: () => o.current?.onLogout?.(),
|
|
1735
1735
|
onSessionExpired: () => o.current?.onSessionExpired?.()
|
|
1736
|
-
}),
|
|
1736
|
+
}), g = e.features === "auto", {
|
|
1737
1737
|
features: s,
|
|
1738
|
-
googleClientId:
|
|
1739
|
-
appleClientId:
|
|
1740
|
-
|
|
1741
|
-
|
|
1738
|
+
googleClientId: k,
|
|
1739
|
+
appleClientId: y,
|
|
1740
|
+
socialButtonOrder: w,
|
|
1741
|
+
isLoading: U
|
|
1742
|
+
} = Ye(
|
|
1742
1743
|
e.serverUrl,
|
|
1743
|
-
|
|
1744
|
+
g,
|
|
1744
1745
|
e.requestTimeout
|
|
1745
|
-
),
|
|
1746
|
+
), Q = V(() => !g || !s ? e : {
|
|
1746
1747
|
...e,
|
|
1747
1748
|
features: s,
|
|
1748
|
-
googleClientId: e.googleClientId ??
|
|
1749
|
-
appleClientId: e.appleClientId ??
|
|
1750
|
-
}, [e,
|
|
1751
|
-
() => JSON.stringify(
|
|
1752
|
-
[
|
|
1753
|
-
),
|
|
1754
|
-
() =>
|
|
1749
|
+
googleClientId: e.googleClientId ?? k,
|
|
1750
|
+
appleClientId: e.appleClientId ?? y
|
|
1751
|
+
}, [e, g, s, k, y]), C = V(
|
|
1752
|
+
() => JSON.stringify(Q.themeOverrides ?? null),
|
|
1753
|
+
[Q.themeOverrides]
|
|
1754
|
+
), B = V(() => JSON.stringify(Q.session ?? null), [Q.session]), u = V(() => JSON.stringify(Q.features ?? null), [Q.features]), K = V(() => JSON.stringify(Q.forms ?? null), [Q.forms]), p = V(
|
|
1755
|
+
() => Q,
|
|
1755
1756
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- Using serialized keys for deep comparison; callbacks excluded (see UI-06)
|
|
1756
1757
|
[
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
Q,
|
|
1758
|
+
Q.serverUrl,
|
|
1759
|
+
Q.googleClientId,
|
|
1760
|
+
Q.appleClientId,
|
|
1761
|
+
Q.requestTimeout,
|
|
1762
|
+
Q.retryAttempts,
|
|
1763
|
+
Q.theme,
|
|
1764
|
+
C,
|
|
1765
1765
|
B,
|
|
1766
|
-
|
|
1766
|
+
u,
|
|
1767
|
+
K
|
|
1767
1768
|
]
|
|
1768
1769
|
);
|
|
1769
|
-
|
|
1770
|
-
theme:
|
|
1771
|
-
themeOverrides:
|
|
1770
|
+
Pe({
|
|
1771
|
+
theme: p.theme,
|
|
1772
|
+
themeOverrides: p.themeOverrides
|
|
1772
1773
|
});
|
|
1773
1774
|
const {
|
|
1774
|
-
user:
|
|
1775
|
-
authState:
|
|
1776
|
-
handleLoginSuccess:
|
|
1777
|
-
logout:
|
|
1778
|
-
refreshUser:
|
|
1779
|
-
getAccessToken:
|
|
1780
|
-
} =
|
|
1781
|
-
serverUrl:
|
|
1782
|
-
session:
|
|
1775
|
+
user: F,
|
|
1776
|
+
authState: d,
|
|
1777
|
+
handleLoginSuccess: l,
|
|
1778
|
+
logout: I,
|
|
1779
|
+
refreshUser: c,
|
|
1780
|
+
getAccessToken: f
|
|
1781
|
+
} = Xe({
|
|
1782
|
+
serverUrl: p.serverUrl,
|
|
1783
|
+
session: p.session,
|
|
1783
1784
|
callbacks: a.current,
|
|
1784
|
-
requestTimeoutMs:
|
|
1785
|
-
}),
|
|
1786
|
-
i(null), await
|
|
1787
|
-
}, [
|
|
1788
|
-
(...
|
|
1789
|
-
i(null),
|
|
1785
|
+
requestTimeoutMs: p.requestTimeout
|
|
1786
|
+
}), h = E(async () => {
|
|
1787
|
+
i(null), await I();
|
|
1788
|
+
}, [I]), S = E(
|
|
1789
|
+
(...L) => {
|
|
1790
|
+
i(null), l(...L);
|
|
1790
1791
|
},
|
|
1791
|
-
[
|
|
1792
|
-
),
|
|
1792
|
+
[l]
|
|
1793
|
+
), G = E(() => n(!0), []), H = E(() => n(!1), []), m = V(
|
|
1793
1794
|
() => ({
|
|
1794
|
-
config:
|
|
1795
|
-
user:
|
|
1796
|
-
authState:
|
|
1797
|
-
logout:
|
|
1798
|
-
refreshUser:
|
|
1795
|
+
config: p,
|
|
1796
|
+
user: F,
|
|
1797
|
+
authState: d,
|
|
1798
|
+
logout: h,
|
|
1799
|
+
refreshUser: c,
|
|
1800
|
+
socialButtonOrder: g ? w : void 0,
|
|
1799
1801
|
_internal: {
|
|
1800
|
-
handleLoginSuccess:
|
|
1801
|
-
getAccessToken:
|
|
1802
|
+
handleLoginSuccess: S,
|
|
1803
|
+
getAccessToken: f
|
|
1802
1804
|
}
|
|
1803
1805
|
}),
|
|
1804
|
-
[F,
|
|
1805
|
-
),
|
|
1806
|
+
[p, F, d, h, c, g, w, S, f]
|
|
1807
|
+
), J = V(
|
|
1806
1808
|
() => ({
|
|
1807
1809
|
error: A,
|
|
1808
1810
|
isModalOpen: r,
|
|
1809
|
-
openModal:
|
|
1810
|
-
closeModal:
|
|
1811
|
+
openModal: G,
|
|
1812
|
+
closeModal: H
|
|
1811
1813
|
}),
|
|
1812
|
-
[A, r,
|
|
1813
|
-
),
|
|
1814
|
-
() => ({ ...
|
|
1815
|
-
[
|
|
1814
|
+
[A, r, G, H]
|
|
1815
|
+
), Y = V(
|
|
1816
|
+
() => ({ ...m, ...J }),
|
|
1817
|
+
[m, J]
|
|
1816
1818
|
);
|
|
1817
|
-
return
|
|
1818
|
-
/* @__PURE__ */
|
|
1819
|
+
return g && U ? null : /* @__PURE__ */ oe(Je.Provider, { value: m, children: /* @__PURE__ */ oe(Me.Provider, { value: J, children: /* @__PURE__ */ He(Ve.Provider, { value: Y, children: [
|
|
1820
|
+
/* @__PURE__ */ oe(Xt, {}),
|
|
1819
1821
|
t
|
|
1820
1822
|
] }) }) });
|
|
1821
1823
|
}
|
|
1822
1824
|
function lA() {
|
|
1823
|
-
const { user: e, authState: t, error: A, logout: i, refreshUser: r, openModal: n, closeModal: o } =
|
|
1825
|
+
const { user: e, authState: t, error: A, logout: i, refreshUser: r, openModal: n, closeModal: o } = ke();
|
|
1824
1826
|
return {
|
|
1825
1827
|
user: e,
|
|
1826
1828
|
authState: t,
|
|
@@ -1835,29 +1837,29 @@ function lA() {
|
|
|
1835
1837
|
}
|
|
1836
1838
|
export {
|
|
1837
1839
|
gA as C,
|
|
1838
|
-
|
|
1840
|
+
We as D,
|
|
1839
1841
|
zt as a,
|
|
1840
1842
|
tA as b,
|
|
1841
|
-
|
|
1843
|
+
ee as c,
|
|
1842
1844
|
iA as d,
|
|
1843
|
-
|
|
1845
|
+
De as e,
|
|
1844
1846
|
_t as f,
|
|
1845
1847
|
$t as g,
|
|
1846
|
-
|
|
1848
|
+
et as h,
|
|
1847
1849
|
oA as i,
|
|
1848
1850
|
sA as j,
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
+
vt as k,
|
|
1852
|
+
nt as l,
|
|
1851
1853
|
nA as m,
|
|
1852
1854
|
AA as n,
|
|
1853
1855
|
xt as o,
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
+
It as p,
|
|
1857
|
+
Rt as q,
|
|
1856
1858
|
rA as r,
|
|
1857
1859
|
IA as s,
|
|
1858
|
-
|
|
1860
|
+
Se as t,
|
|
1859
1861
|
lA as u,
|
|
1860
|
-
|
|
1862
|
+
Gt as v,
|
|
1861
1863
|
eA as w,
|
|
1862
1864
|
aA as x
|
|
1863
1865
|
};
|