@cedros/login-react 0.0.37 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/{AuthenticationSettings-CsPbxwP7.js → AuthenticationSettings-BF_7Ea6Z.js} +1 -1
  2. package/dist/{AuthenticationSettings-CsPbxwP7.js.map → AuthenticationSettings-BF_7Ea6Z.js.map} +1 -1
  3. package/dist/{AuthenticationSettings-C-aYDXNH.cjs → AuthenticationSettings-BMDrCVSf.cjs} +1 -1
  4. package/dist/{AuthenticationSettings-C-aYDXNH.cjs.map → AuthenticationSettings-BMDrCVSf.cjs.map} +1 -1
  5. package/dist/{AuthenticationSettings-DIVk0OP8.js → AuthenticationSettings-DUXpyiJ5.js} +39 -39
  6. package/dist/{AuthenticationSettings-DIVk0OP8.js.map → AuthenticationSettings-DUXpyiJ5.js.map} +1 -1
  7. package/dist/{AuthenticationSettings-CoTic-d_.cjs → AuthenticationSettings-Dk1LX0CK.cjs} +1 -1
  8. package/dist/{AuthenticationSettings-CoTic-d_.cjs.map → AuthenticationSettings-Dk1LX0CK.cjs.map} +1 -1
  9. package/dist/{AutosaveStatus-DGNI4lXn.cjs → AutosaveStatus-BKsCIvPj.cjs} +1 -1
  10. package/dist/AutosaveStatus-BKsCIvPj.cjs.map +1 -0
  11. package/dist/{AutosaveStatus-f-jw25Ay.js → AutosaveStatus-CSZsp6w7.js} +221 -186
  12. package/dist/AutosaveStatus-CSZsp6w7.js.map +1 -0
  13. package/dist/{CreditSystemSettings-C6ed3yp7.js → CreditSystemSettings-Buu7Y-7I.js} +1 -1
  14. package/dist/{CreditSystemSettings-C6ed3yp7.js.map → CreditSystemSettings-Buu7Y-7I.js.map} +1 -1
  15. package/dist/{CreditSystemSettings-DM9ep1TF.cjs → CreditSystemSettings-C2HkyMXy.cjs} +1 -1
  16. package/dist/{CreditSystemSettings-DM9ep1TF.cjs.map → CreditSystemSettings-C2HkyMXy.cjs.map} +1 -1
  17. package/dist/{CreditSystemSettings-BNkvsgsk.cjs → CreditSystemSettings-CLImarX-.cjs} +1 -1
  18. package/dist/{CreditSystemSettings-BNkvsgsk.cjs.map → CreditSystemSettings-CLImarX-.cjs.map} +1 -1
  19. package/dist/{CreditSystemSettings-uinhzoha.js → CreditSystemSettings-Cj21_Ug8.js} +1 -1
  20. package/dist/{CreditSystemSettings-uinhzoha.js.map → CreditSystemSettings-Cj21_Ug8.js.map} +1 -1
  21. package/dist/EmailRegisterForm-CNjYrqU6.cjs +1 -0
  22. package/dist/EmailRegisterForm-CNjYrqU6.cjs.map +1 -0
  23. package/dist/EmailRegisterForm-D2VaJouj.js +750 -0
  24. package/dist/EmailRegisterForm-D2VaJouj.js.map +1 -0
  25. package/dist/{EmailSettings-BC0f1PCI.cjs → EmailSettings-9sdEAONl.cjs} +1 -1
  26. package/dist/{EmailSettings-BC0f1PCI.cjs.map → EmailSettings-9sdEAONl.cjs.map} +1 -1
  27. package/dist/{EmailSettings-BKuXy8sc.js → EmailSettings-CmxxnrA9.js} +1 -1
  28. package/dist/{EmailSettings-BKuXy8sc.js.map → EmailSettings-CmxxnrA9.js.map} +1 -1
  29. package/dist/{EmailSettings-BAuQtEfM.js → EmailSettings-DRfOF0Sf.js} +1 -1
  30. package/dist/{EmailSettings-BAuQtEfM.js.map → EmailSettings-DRfOF0Sf.js.map} +1 -1
  31. package/dist/{EmailSettings-BF5EiPl9.cjs → EmailSettings-eLlzzI5D.cjs} +1 -1
  32. package/dist/{EmailSettings-BF5EiPl9.cjs.map → EmailSettings-eLlzzI5D.cjs.map} +1 -1
  33. package/dist/{EmbeddedWalletSettings-CJY39UZN.cjs → EmbeddedWalletSettings-BuLN_Uqc.cjs} +1 -1
  34. package/dist/{EmbeddedWalletSettings-CJY39UZN.cjs.map → EmbeddedWalletSettings-BuLN_Uqc.cjs.map} +1 -1
  35. package/dist/{EmbeddedWalletSettings-C27X9He2.js → EmbeddedWalletSettings-CHkkCjyR.js} +1 -1
  36. package/dist/{EmbeddedWalletSettings-C27X9He2.js.map → EmbeddedWalletSettings-CHkkCjyR.js.map} +1 -1
  37. package/dist/EmbeddedWalletSettings-DGq-kXbw.cjs +1 -0
  38. package/dist/EmbeddedWalletSettings-DGq-kXbw.cjs.map +1 -0
  39. package/dist/{EmbeddedWalletSettings-Dmi-EQ7W.js → EmbeddedWalletSettings-M-D5N0eY.js} +5 -5
  40. package/dist/EmbeddedWalletSettings-M-D5N0eY.js.map +1 -0
  41. package/dist/{GoogleLoginButton-BDCbxoCB.cjs → GoogleLoginButton-JtRViYWS.cjs} +1 -1
  42. package/dist/GoogleLoginButton-JtRViYWS.cjs.map +1 -0
  43. package/dist/{GoogleLoginButton-6ip-vudk.js → GoogleLoginButton-qf4A_A3G.js} +6 -6
  44. package/dist/GoogleLoginButton-qf4A_A3G.js.map +1 -0
  45. package/dist/{ServerSettings-CKfiLfXi.cjs → ServerSettings-CMmH5pZv.cjs} +1 -1
  46. package/dist/{ServerSettings-CKfiLfXi.cjs.map → ServerSettings-CMmH5pZv.cjs.map} +1 -1
  47. package/dist/{ServerSettings-CZfBdMxG.js → ServerSettings-DQemMrNv.js} +1 -1
  48. package/dist/{ServerSettings-CZfBdMxG.js.map → ServerSettings-DQemMrNv.js.map} +1 -1
  49. package/dist/{ServerSettings-rHrVN8O8.cjs → ServerSettings-DfimU7ay.cjs} +1 -1
  50. package/dist/{ServerSettings-rHrVN8O8.cjs.map → ServerSettings-DfimU7ay.cjs.map} +1 -1
  51. package/dist/{ServerSettings-BT9weFPz.js → ServerSettings-qxi8aZO7.js} +1 -1
  52. package/dist/{ServerSettings-BT9weFPz.js.map → ServerSettings-qxi8aZO7.js.map} +1 -1
  53. package/dist/{WebhookSettings-DXjnq-c7.cjs → WebhookSettings-0sgWRI3U.cjs} +1 -1
  54. package/dist/{WebhookSettings-DXjnq-c7.cjs.map → WebhookSettings-0sgWRI3U.cjs.map} +1 -1
  55. package/dist/{WebhookSettings-Bgld6D_T.js → WebhookSettings-8QAqvkkO.js} +1 -1
  56. package/dist/{WebhookSettings-Bgld6D_T.js.map → WebhookSettings-8QAqvkkO.js.map} +1 -1
  57. package/dist/{WebhookSettings-DnLk97Mr.cjs → WebhookSettings-B6Y3Tnjv.cjs} +1 -1
  58. package/dist/{WebhookSettings-DnLk97Mr.cjs.map → WebhookSettings-B6Y3Tnjv.cjs.map} +1 -1
  59. package/dist/{WebhookSettings-ufiGTmbG.js → WebhookSettings-B8hAwhZ2.js} +1 -1
  60. package/dist/{WebhookSettings-ufiGTmbG.js.map → WebhookSettings-B8hAwhZ2.js.map} +1 -1
  61. package/dist/admin-only.cjs +1 -1
  62. package/dist/admin-only.js +1 -1
  63. package/dist/email-only.cjs +1 -1
  64. package/dist/email-only.d.ts +3 -2
  65. package/dist/email-only.js +2 -2
  66. package/dist/google-only.cjs +1 -1
  67. package/dist/google-only.d.ts +5 -4
  68. package/dist/google-only.js +2 -2
  69. package/dist/index.cjs +13 -13
  70. package/dist/index.cjs.map +1 -1
  71. package/dist/index.d.ts +98 -7
  72. package/dist/index.js +8052 -5962
  73. package/dist/index.js.map +1 -1
  74. package/dist/login-react.css +1 -1
  75. package/dist/{plugin-Xca67fp7.cjs → plugin-CUxpAjL-.cjs} +1 -1
  76. package/dist/{plugin-Xca67fp7.cjs.map → plugin-CUxpAjL-.cjs.map} +1 -1
  77. package/dist/{plugin-BbExid4E.js → plugin-C_NDZ2-D.js} +5 -5
  78. package/dist/{plugin-BbExid4E.js.map → plugin-C_NDZ2-D.js.map} +1 -1
  79. package/dist/solana-only.cjs +1 -1
  80. package/dist/solana-only.d.ts +3 -2
  81. package/dist/solana-only.js +1 -1
  82. package/dist/{useAuth-CVLv2oKA.js → useAuth-C-Vw-ggy.js} +743 -803
  83. package/dist/useAuth-C-Vw-ggy.js.map +1 -0
  84. package/dist/useAuth-U5CYsHEU.cjs +1 -0
  85. package/dist/useAuth-U5CYsHEU.cjs.map +1 -0
  86. package/package.json +4 -1
  87. package/dist/AutosaveStatus-DGNI4lXn.cjs.map +0 -1
  88. package/dist/AutosaveStatus-f-jw25Ay.js.map +0 -1
  89. package/dist/EmailRegisterForm-B_TiJkD6.cjs +0 -1
  90. package/dist/EmailRegisterForm-B_TiJkD6.cjs.map +0 -1
  91. package/dist/EmailRegisterForm-CCEuQA-w.js +0 -773
  92. package/dist/EmailRegisterForm-CCEuQA-w.js.map +0 -1
  93. package/dist/EmbeddedWalletSettings-BRjt2PAj.cjs +0 -1
  94. package/dist/EmbeddedWalletSettings-BRjt2PAj.cjs.map +0 -1
  95. package/dist/EmbeddedWalletSettings-Dmi-EQ7W.js.map +0 -1
  96. package/dist/GoogleLoginButton-6ip-vudk.js.map +0 -1
  97. package/dist/GoogleLoginButton-BDCbxoCB.cjs.map +0 -1
  98. package/dist/shamir-DBpHm7WN.cjs +0 -1
  99. package/dist/shamir-DBpHm7WN.cjs.map +0 -1
  100. package/dist/shamir-R8ddesFt.js +0 -1940
  101. package/dist/shamir-R8ddesFt.js.map +0 -1
  102. package/dist/silentWalletEnroll-Dp1GTeNr.js +0 -41
  103. package/dist/silentWalletEnroll-Dp1GTeNr.js.map +0 -1
  104. package/dist/silentWalletEnroll-HPvsbd2J.cjs +0 -1
  105. package/dist/silentWalletEnroll-HPvsbd2J.cjs.map +0 -1
  106. package/dist/useAuth-CVLv2oKA.js.map +0 -1
  107. package/dist/useAuth-XZaciuLg.cjs +0 -1
  108. package/dist/useAuth-XZaciuLg.cjs.map +0 -1
@@ -1,29 +1,29 @@
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";
1
+ import { jsx as re, jsxs as Ke } from "react/jsx-runtime";
2
+ import { useEffect as O, useState as U, useRef as P, useCallback as p, useMemo as V } from "react";
3
+ import { A as He, a as Je, C as Me } from "./LoadingSpinner-6vml-zwr.js";
4
+ import { A as pe, g as ne, a as ye, h as M, u as ke } from "./useCedrosLogin-CFfID-0i.js";
5
5
  let q = 0;
6
- function Pe({ theme: e, themeOverrides: t }) {
6
+ function Ve({ theme: e, themeOverrides: A }) {
7
7
  O(() => {
8
8
  if (typeof document > "u" || typeof window > "u")
9
9
  return;
10
- const A = document.documentElement;
10
+ const t = 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 ? (q++, r = !0, A.classList.add("cedros-dark")) : q === 0 && A.classList.remove("cedros-dark");
14
+ i ? (q++, r = !0, t.classList.add("cedros-dark")) : q === 0 && t.classList.remove("cedros-dark");
15
15
  const n = /* @__PURE__ */ new Map();
16
- return t && Object.entries(t).forEach(([o, a]) => {
16
+ return A && Object.entries(A).forEach(([o, a]) => {
17
17
  if (a) {
18
- const g = A.style.getPropertyValue(o);
19
- n.set(o, g), A.style.setProperty(o, a);
18
+ const c = t.style.getPropertyValue(o);
19
+ n.set(o, c), t.style.setProperty(o, a);
20
20
  }
21
21
  }), () => {
22
- r && (q--, q === 0 && A.classList.remove("cedros-dark")), n.forEach((o, a) => {
23
- o ? A.style.setProperty(a, o) : A.style.removeProperty(a);
22
+ r && (q--, q === 0 && t.classList.remove("cedros-dark")), n.forEach((o, a) => {
23
+ o ? t.style.setProperty(a, o) : t.style.removeProperty(a);
24
24
  });
25
25
  };
26
- }, [e, t]);
26
+ }, [e, A]);
27
27
  }
28
28
  const Ne = {
29
29
  email: !0,
@@ -33,13 +33,13 @@ const Ne = {
33
33
  webauthn: !0,
34
34
  instantLink: !0
35
35
  };
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);
36
+ function Pe(e, A, t) {
37
+ const [i, r] = U(null), [n, o] = U(), [a, c] = U(), [s, k] = U(), [y, w] = U(), [G, B] = U(), [Q, d] = U(), [f, m] = U(A), E = P(!1);
38
38
  return O(() => {
39
- if (!t || U.current) return;
40
- U.current = !0, new pe({
39
+ if (!A || E.current) return;
40
+ E.current = !0, new pe({
41
41
  baseUrl: e,
42
- timeoutMs: A ?? 5e3,
42
+ timeoutMs: t ?? 5e3,
43
43
  retryAttempts: 1
44
44
  }).get("/features", { credentials: "omit" }).then((C) => {
45
45
  r({
@@ -49,16 +49,16 @@ function Ye(e, t, A) {
49
49
  solana: C.solana,
50
50
  webauthn: C.webauthn,
51
51
  instantLink: C.instantLink
52
- }), o(C.googleClientId), g(C.appleClientId), k(C.socialButtonOrder);
52
+ }), o(C.googleClientId), c(C.appleClientId), k(C.usernameEnabled), w(C.walletEnrollEnabled), B(C.showRecoveryEnabled), d(C.socialButtonOrder);
53
53
  }).catch(() => {
54
54
  r(Ne);
55
55
  }).finally(() => {
56
- w(!1);
56
+ m(!1);
57
57
  });
58
- }, [t, e, A]), { features: i, googleClientId: n, appleClientId: a, socialButtonOrder: s, isLoading: y };
58
+ }, [A, e, t]), { features: i, googleClientId: n, appleClientId: a, usernameEnabled: s, walletEnrollEnabled: y, showRecoveryEnabled: G, socialButtonOrder: Q, isLoading: f };
59
59
  }
60
- const Oe = "cedros_tokens", xe = 6e4;
61
- class ve {
60
+ const Ye = "cedros_tokens", Oe = 6e4;
61
+ class xe {
62
62
  storage;
63
63
  requestedStorage;
64
64
  storageKey;
@@ -73,8 +73,8 @@ class ve {
73
73
  // S-13: Prevent onSessionExpired from firing multiple times
74
74
  sessionExpiredFired = !1;
75
75
  allowWebStorage;
76
- constructor(t = "cookie", A = Oe, i = {}) {
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();
76
+ constructor(A = "cookie", t = Ye, i = {}) {
77
+ this.requestedStorage = A, this.storage = A, this.storageKey = t, this.allowWebStorage = i.allowWebStorage ?? !1, this.warnIfLocalStorage(), !this.allowWebStorage && (this.requestedStorage === "localStorage" || this.requestedStorage === "sessionStorage") && (this.storage = "memory"), this.loadFromStorage();
78
78
  }
79
79
  /**
80
80
  * S-18/UI-XSS: Warn about localStorage XSS vulnerability in all environments.
@@ -83,36 +83,36 @@ class ve {
83
83
  */
84
84
  warnIfLocalStorage() {
85
85
  if ((this.requestedStorage === "localStorage" || this.requestedStorage === "sessionStorage") && typeof console < "u") {
86
- const t = this.allowWebStorage ? "" : " (web storage disabled by default; set allowWebStorage=true to enable)";
86
+ const A = this.allowWebStorage ? "" : " (web storage disabled by default; set allowWebStorage=true to enable)";
87
87
  console.warn(
88
- "[cedros-login] SECURITY: Using web storage for token storage. Tokens are vulnerable to XSS attacks." + t + " PRODUCTION RECOMMENDATIONS: (1) Use httpOnly cookie storage instead, (2) If web storage required: implement strict Content-Security-Policy, sanitize all input/output, audit third-party scripts. See https://owasp.org/www-community/attacks/xss/"
88
+ "[cedros-login] SECURITY: Using web storage for token storage. Tokens are vulnerable to XSS attacks." + A + " PRODUCTION RECOMMENDATIONS: (1) Use httpOnly cookie storage instead, (2) If web storage required: implement strict Content-Security-Policy, sanitize all input/output, audit third-party scripts. See https://owasp.org/www-community/attacks/xss/"
89
89
  );
90
90
  }
91
91
  }
92
92
  /**
93
93
  * Set the callback for when tokens need to be refreshed
94
94
  */
95
- setRefreshCallback(t) {
96
- this.onRefreshNeeded = t, this.scheduleRefresh();
95
+ setRefreshCallback(A) {
96
+ this.onRefreshNeeded = A, this.scheduleRefresh();
97
97
  }
98
98
  /**
99
99
  * Set the callback for when session expires
100
100
  */
101
- setSessionExpiredCallback(t) {
102
- this.onSessionExpired = t;
101
+ setSessionExpiredCallback(A) {
102
+ this.onSessionExpired = A;
103
103
  }
104
104
  /**
105
105
  * Set the callback for when token refresh fails
106
106
  * This allows the UI to show an error message to the user
107
107
  */
108
- setRefreshErrorCallback(t) {
109
- this.onRefreshError = t;
108
+ setRefreshErrorCallback(A) {
109
+ this.onRefreshError = A;
110
110
  }
111
111
  /**
112
112
  * Store tokens and schedule auto-refresh
113
113
  */
114
- setTokens(t) {
115
- this.tokens = t, this.expiresAt = Date.now() + t.expiresIn * 1e3, this.sessionExpiredFired = !1, this.saveToStorage(), this.scheduleRefresh();
114
+ setTokens(A) {
115
+ this.tokens = A, this.expiresAt = Date.now() + A.expiresIn * 1e3, this.sessionExpiredFired = !1, this.saveToStorage(), this.scheduleRefresh();
116
116
  }
117
117
  /**
118
118
  * Get the current access token
@@ -121,8 +121,8 @@ class ve {
121
121
  */
122
122
  getAccessToken() {
123
123
  if (this.isDestroyed) return null;
124
- const t = this.tokens?.accessToken;
125
- return t ? Date.now() >= this.expiresAt ? (this.clear(), this.fireSessionExpired(), null) : t : null;
124
+ const A = this.tokens?.accessToken;
125
+ return A ? Date.now() >= this.expiresAt ? (this.clear(), this.fireSessionExpired(), null) : A : null;
126
126
  }
127
127
  /**
128
128
  * Get the current refresh token
@@ -165,8 +165,8 @@ class ve {
165
165
  }
166
166
  scheduleRefresh() {
167
167
  if (this.cancelRefresh(), !this.tokens || !this.onRefreshNeeded) return;
168
- const t = this.getTimeUntilExpiry(), A = Math.max(0, t - xe);
169
- if (A <= 0) {
168
+ const A = this.getTimeUntilExpiry(), t = Math.max(0, A - Oe);
169
+ if (t <= 0) {
170
170
  if (this.isDestroyed) return;
171
171
  this.onRefreshNeeded().catch((i) => {
172
172
  if (this.isDestroyed) return;
@@ -181,7 +181,7 @@ class ve {
181
181
  const r = i instanceof Error ? i : new Error("Token refresh failed");
182
182
  this.onRefreshError?.(r), this.clear(), this.fireSessionExpired();
183
183
  });
184
- }, A);
184
+ }, t);
185
185
  }
186
186
  cancelRefresh() {
187
187
  this.refreshTimer && (clearTimeout(this.refreshTimer), this.refreshTimer = null);
@@ -190,17 +190,17 @@ class ve {
190
190
  if (this.storage !== "memory" && !(typeof window > "u") && !(!this.allowWebStorage && (this.storage === "localStorage" || this.storage === "sessionStorage")))
191
191
  try {
192
192
  if (this.storage === "localStorage" || this.storage === "sessionStorage") {
193
- const t = this.storage === "localStorage" ? localStorage : sessionStorage, A = t.getItem(this.storageKey);
194
- if (A) {
195
- const i = JSON.parse(A);
196
- this.isValidStoredTokenData(i) ? i.expiresAt > Date.now() ? (this.tokens = i.tokens, this.expiresAt = i.expiresAt) : t.removeItem(this.storageKey) : t.removeItem(this.storageKey);
193
+ const A = this.storage === "localStorage" ? localStorage : sessionStorage, t = A.getItem(this.storageKey);
194
+ if (t) {
195
+ const i = JSON.parse(t);
196
+ this.isValidStoredTokenData(i) ? i.expiresAt > Date.now() ? (this.tokens = i.tokens, this.expiresAt = i.expiresAt) : A.removeItem(this.storageKey) : A.removeItem(this.storageKey);
197
197
  }
198
198
  }
199
199
  } catch {
200
200
  if (this.storage === "localStorage" || this.storage === "sessionStorage") {
201
- const t = this.storage === "localStorage" ? localStorage : sessionStorage;
201
+ const A = this.storage === "localStorage" ? localStorage : sessionStorage;
202
202
  try {
203
- t.removeItem(this.storageKey);
203
+ A.removeItem(this.storageKey);
204
204
  } catch {
205
205
  }
206
206
  }
@@ -209,22 +209,22 @@ class ve {
209
209
  /**
210
210
  * Validate that parsed data matches expected StoredTokenData structure
211
211
  */
212
- isValidStoredTokenData(t) {
213
- if (typeof t != "object" || t === null) return !1;
214
- const A = t;
215
- if (typeof A.expiresAt != "number" || typeof A.tokens != "object" || A.tokens === null) return !1;
216
- const i = A.tokens;
212
+ isValidStoredTokenData(A) {
213
+ if (typeof A != "object" || A === null) return !1;
214
+ const t = A;
215
+ if (typeof t.expiresAt != "number" || typeof t.tokens != "object" || t.tokens === null) return !1;
216
+ const i = t.tokens;
217
217
  return !(typeof i.accessToken != "string" || typeof i.refreshToken != "string" || typeof i.expiresIn != "number");
218
218
  }
219
219
  saveToStorage() {
220
220
  if (!(this.storage === "memory" || !this.tokens) && !(typeof window > "u") && !(!this.allowWebStorage && (this.storage === "localStorage" || this.storage === "sessionStorage")))
221
221
  try {
222
222
  if (this.storage === "localStorage" || this.storage === "sessionStorage") {
223
- const t = this.storage === "localStorage" ? localStorage : sessionStorage, A = {
223
+ const A = this.storage === "localStorage" ? localStorage : sessionStorage, t = {
224
224
  tokens: this.tokens,
225
225
  expiresAt: this.expiresAt
226
226
  };
227
- t.setItem(this.storageKey, JSON.stringify(A));
227
+ A.setItem(this.storageKey, JSON.stringify(t));
228
228
  }
229
229
  } catch {
230
230
  }
@@ -237,40 +237,40 @@ class ve {
237
237
  }
238
238
  }
239
239
  }
240
- const Te = "cedros_auth_sync";
241
- class Re {
240
+ const ve = "cedros_auth_sync";
241
+ class Te {
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(Te), this.boundHandler = this.handleMessage.bind(this), this.channel.addEventListener("message", this.boundHandler));
246
+ typeof window < "u" && "BroadcastChannel" in window && (this.channel = new BroadcastChannel(ve), this.boundHandler = this.handleMessage.bind(this), this.channel.addEventListener("message", this.boundHandler));
247
247
  }
248
248
  /**
249
249
  * Handle incoming sync messages.
250
250
  * S-15: Validate message shape to prevent forged auth state from same-origin XSS.
251
251
  */
252
- handleMessage(t) {
253
- const A = t.data;
254
- if (!(!A || typeof A != "object" || typeof A.type != "string") && ["login", "logout", "refresh"].includes(A.type)) {
255
- if (A.type === "login") {
256
- const i = A;
252
+ handleMessage(A) {
253
+ const t = A.data;
254
+ if (!(!t || typeof t != "object" || typeof t.type != "string") && ["login", "logout", "refresh"].includes(t.type)) {
255
+ if (t.type === "login") {
256
+ const i = t;
257
257
  if (typeof i.user != "object" || i.user === null || typeof i.user.id != "string")
258
258
  return;
259
259
  }
260
- this.callback?.(A);
260
+ this.callback?.(t);
261
261
  }
262
262
  }
263
263
  /**
264
264
  * Set the callback for sync events from other tabs
265
265
  */
266
- setCallback(t) {
267
- this.callback = t;
266
+ setCallback(A) {
267
+ this.callback = A;
268
268
  }
269
269
  /**
270
270
  * Broadcast login event to other tabs
271
271
  */
272
- broadcastLogin(t) {
273
- this.channel?.postMessage({ type: "login", user: t });
272
+ broadcastLogin(A) {
273
+ this.channel?.postMessage({ type: "login", user: A });
274
274
  }
275
275
  /**
276
276
  * Broadcast logout event to other tabs
@@ -294,96 +294,96 @@ class Re {
294
294
  }
295
295
  function _(e) {
296
296
  if (typeof e != "object" || e === null) return !1;
297
- const t = e;
298
- if (typeof t.user != "object" || t.user === null) return !1;
299
- const A = t.user;
300
- return typeof A.id == "string" && A.id.length > 0;
297
+ const A = e;
298
+ if (typeof A.user != "object" || A.user === null) return !1;
299
+ const t = A.user;
300
+ return typeof t.id == "string" && t.id.length > 0;
301
301
  }
302
- function Le(e) {
302
+ function Re(e) {
303
303
  if (typeof e != "object" || e === null) return !1;
304
- const t = e;
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;
304
+ const A = e;
305
+ return typeof A.accessToken == "string" && A.accessToken.length > 0 && typeof A.refreshToken == "string" && A.refreshToken.length > 0 && typeof A.expiresIn == "number" && A.expiresIn > 0;
306
306
  }
307
- function Xe({
307
+ function Le({
308
308
  serverUrl: e,
309
- session: t,
310
- callbacks: A,
309
+ session: A,
310
+ callbacks: t,
311
311
  requestTimeoutMs: i
312
312
  }) {
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(() => {
313
+ const [r, n] = U(null), [o, a] = U("idle"), c = P(null), s = P(null), k = P(t), y = P(!0), w = P(null), G = P(() => Promise.resolve()), B = P(() => {
314
314
  });
315
315
  O(() => {
316
- k.current = A;
317
- }, [A]), O(() => (y.current = !0, () => {
316
+ k.current = t;
317
+ }, [t]), O(() => (y.current = !0, () => {
318
318
  y.current = !1;
319
319
  }), []);
320
- const C = E((h) => {
320
+ const Q = p((h) => {
321
321
  y.current && n(h);
322
- }, []), B = E((h) => {
322
+ }, []), d = p((h) => {
323
323
  y.current && a(h);
324
- }, []), u = V(
324
+ }, []), f = V(
325
325
  () => ({
326
- storage: t?.storage ?? "cookie",
327
- autoRefresh: t?.autoRefresh ?? !0,
328
- syncTabs: t?.syncTabs ?? !0,
329
- persistKey: t?.persistKey,
330
- allowWebStorage: t?.allowWebStorage ?? !1
326
+ storage: A?.storage ?? "cookie",
327
+ autoRefresh: A?.autoRefresh ?? !0,
328
+ syncTabs: A?.syncTabs ?? !0,
329
+ persistKey: A?.persistKey,
330
+ allowWebStorage: A?.allowWebStorage ?? !1
331
331
  }),
332
332
  [
333
- t?.storage,
334
- t?.autoRefresh,
335
- t?.syncTabs,
336
- t?.persistKey,
337
- t?.allowWebStorage
333
+ A?.storage,
334
+ A?.autoRefresh,
335
+ A?.syncTabs,
336
+ A?.persistKey,
337
+ A?.allowWebStorage
338
338
  ]
339
339
  );
340
340
  O(() => {
341
- const h = new ve(u.storage, u.persistKey, {
342
- allowWebStorage: u.allowWebStorage
341
+ const h = new xe(f.storage, f.persistKey, {
342
+ allowWebStorage: f.allowWebStorage
343
343
  });
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();
344
+ return c.current = h, f.autoRefresh && h.setRefreshCallback(() => G.current()), h.setSessionExpiredCallback(() => B.current()), f.syncTabs && (s.current = new Te()), () => {
345
+ h.destroy(), c.current = null, s.current?.close();
346
346
  };
347
347
  }, [
348
- u.storage,
349
- u.syncTabs,
350
- u.persistKey,
351
- u.allowWebStorage,
352
- u.autoRefresh
348
+ f.storage,
349
+ f.syncTabs,
350
+ f.persistKey,
351
+ f.allowWebStorage,
352
+ f.autoRefresh
353
353
  ]);
354
- const K = E(async () => {
354
+ const m = p(async () => {
355
355
  if (w.current)
356
356
  return w.current;
357
- const h = g.current?.getRefreshToken(), S = !!h, G = se(), H = {};
358
- S && (H["Content-Type"] = "application/json"), G && (H["X-CSRF-Token"] = G);
359
- let m, J;
360
- const Y = new Promise((Z, re) => {
361
- m = Z, J = re;
357
+ const h = c.current?.getRefreshToken(), D = !!h, K = ne(), H = {};
358
+ D && (H["Content-Type"] = "application/json"), K && (H["X-CSRF-Token"] = K);
359
+ let b, J;
360
+ const Y = new Promise((Z, te) => {
361
+ b = Z, J = te;
362
362
  });
363
363
  w.current = Y, (async () => {
364
- const Z = new AbortController(), re = i ?? 1e4, Ke = window.setTimeout(() => Z.abort(), re);
364
+ const Z = new AbortController(), te = i ?? 1e4, Ge = window.setTimeout(() => Z.abort(), te);
365
365
  try {
366
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: h }) : void 0,
370
+ body: D ? JSON.stringify({ refreshToken: h }) : void 0,
371
371
  signal: Z.signal
372
372
  });
373
373
  if (!X.ok)
374
374
  throw new Error("Token refresh failed");
375
- const ne = await X.json();
376
- if (ne.tokens) {
377
- if (!Le(ne.tokens))
375
+ const ie = await X.json();
376
+ if (ie.tokens) {
377
+ if (!Re(ie.tokens))
378
378
  throw new Error("Invalid token response structure");
379
- g.current?.setTokens(ne.tokens);
380
- } else if (u.storage !== "cookie")
379
+ c.current?.setTokens(ie.tokens);
380
+ } else if (f.storage !== "cookie")
381
381
  throw new Error("Token refresh failed");
382
- s.current?.broadcastRefresh(), m();
382
+ s.current?.broadcastRefresh(), b();
383
383
  } catch (X) {
384
384
  throw J(X), X;
385
385
  } finally {
386
- window.clearTimeout(Ke);
386
+ window.clearTimeout(Ge);
387
387
  }
388
388
  })().catch(() => {
389
389
  });
@@ -392,334 +392,334 @@ function Xe({
392
392
  } finally {
393
393
  w.current = null;
394
394
  }
395
- }, [e, u.storage, i]), p = E(() => {
396
- if (u.storage === "cookie") return;
397
- const h = g.current?.getAccessToken();
395
+ }, [e, f.storage, i]), E = p(() => {
396
+ if (f.storage === "cookie") return;
397
+ const h = c.current?.getAccessToken();
398
398
  if (h)
399
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
- const d = E(
400
+ }, [f.storage]), S = p(() => {
401
+ c.current?.clear(), Q(null), d("unauthenticated"), k.current?.onSessionExpired?.();
402
+ }, [d, Q]);
403
+ G.current = m, B.current = S;
404
+ const C = p(
405
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), {
406
+ const D = new AbortController(), K = i ?? 1e4, H = window.setTimeout(() => D.abort(), K), b = {}, J = E();
407
+ J && Object.assign(b, J);
408
+ const Y = ne();
409
+ return Y && (b["X-CSRF-Token"] = Y), {
410
410
  promise: fetch(h, {
411
411
  credentials: "include",
412
- headers: Object.keys(m).length > 0 ? m : void 0,
413
- signal: S.signal
412
+ headers: Object.keys(b).length > 0 ? b : void 0,
413
+ signal: D.signal
414
414
  }),
415
415
  cleanup: () => window.clearTimeout(H)
416
416
  };
417
417
  },
418
- [p, i]
419
- ), l = E(async () => {
420
- const h = d(`${e}/user`);
418
+ [E, i]
419
+ ), g = p(async () => {
420
+ const h = C(`${e}/user`);
421
421
  try {
422
- const S = await h.promise;
423
- if (S.ok) {
424
- const G = await S.json();
425
- if (_(G)) {
426
- C(G.user), B("authenticated");
422
+ const D = await h.promise;
423
+ if (D.ok) {
424
+ const K = await D.json();
425
+ if (_(K)) {
426
+ Q(K.user), d("authenticated");
427
427
  return;
428
428
  }
429
429
  }
430
- if (S.status === 401 && u.autoRefresh) {
430
+ if (D.status === 401 && f.autoRefresh) {
431
431
  try {
432
- await K();
432
+ await m();
433
433
  } catch {
434
- F();
434
+ S();
435
435
  return;
436
436
  }
437
- const G = d(`${e}/user`);
437
+ const K = C(`${e}/user`);
438
438
  try {
439
- const H = await G.promise;
439
+ const H = await K.promise;
440
440
  if (H.ok) {
441
- const m = await H.json();
442
- if (_(m)) {
443
- C(m.user), B("authenticated");
441
+ const b = await H.json();
442
+ if (_(b)) {
443
+ Q(b.user), d("authenticated");
444
444
  return;
445
445
  }
446
446
  }
447
447
  } finally {
448
- G.cleanup();
448
+ K.cleanup();
449
449
  }
450
450
  }
451
- C(null), B("unauthenticated");
451
+ Q(null), d("unauthenticated");
452
452
  } catch {
453
- C(null), B("unauthenticated");
453
+ Q(null), d("unauthenticated");
454
454
  } finally {
455
455
  h.cleanup();
456
456
  }
457
457
  }, [
458
458
  e,
459
- u.autoRefresh,
460
- K,
459
+ f.autoRefresh,
460
+ m,
461
+ C,
462
+ S,
461
463
  d,
462
- F,
463
- B,
464
- C
464
+ Q
465
465
  ]);
466
466
  O(() => {
467
- !s.current || !u.syncTabs || s.current.setCallback((h) => {
467
+ !s.current || !f.syncTabs || s.current.setCallback((h) => {
468
468
  switch (h.type) {
469
469
  case "login":
470
- C(h.user), B("authenticated");
470
+ Q(h.user), d("authenticated");
471
471
  break;
472
472
  case "logout":
473
- C(null), B("unauthenticated"), g.current?.clear();
473
+ Q(null), d("unauthenticated"), c.current?.clear();
474
474
  break;
475
475
  case "refresh":
476
- l();
476
+ g();
477
477
  break;
478
478
  default:
479
479
  console.warn("[Cedros Login] Unhandled tab sync event:", h);
480
480
  }
481
481
  });
482
- }, [u.syncTabs, l, B, C]), O(() => {
483
- const h = new AbortController(), S = i ?? 1e4, G = window.setTimeout(() => h.abort(), S);
482
+ }, [f.syncTabs, g, d, Q]), O(() => {
483
+ const h = new AbortController(), D = i ?? 1e4, K = window.setTimeout(() => h.abort(), D);
484
484
  return (async () => {
485
- B("loading");
485
+ d("loading");
486
486
  try {
487
- const m = await fetch(`${e}/user`, {
487
+ const b = await fetch(`${e}/user`, {
488
488
  credentials: "include",
489
- headers: p(),
489
+ headers: E(),
490
490
  signal: h.signal
491
491
  });
492
- if (m.ok) {
493
- const J = await m.json();
492
+ if (b.ok) {
493
+ const J = await b.json();
494
494
  if (_(J)) {
495
- C(J.user), B("authenticated");
495
+ Q(J.user), d("authenticated");
496
496
  return;
497
497
  }
498
498
  }
499
- if (m.status === 401 && u.autoRefresh) {
499
+ if (b.status === 401 && f.autoRefresh) {
500
500
  try {
501
- await K();
501
+ await m();
502
502
  } catch {
503
- F();
503
+ S();
504
504
  return;
505
505
  }
506
506
  const J = await fetch(`${e}/user`, {
507
507
  credentials: "include",
508
- headers: p(),
508
+ headers: E(),
509
509
  signal: h.signal
510
510
  });
511
511
  if (J.ok) {
512
512
  const Y = await J.json();
513
513
  if (_(Y)) {
514
- C(Y.user), B("authenticated");
514
+ Q(Y.user), d("authenticated");
515
515
  return;
516
516
  }
517
517
  }
518
518
  }
519
- C(null), B("unauthenticated");
519
+ Q(null), d("unauthenticated");
520
520
  } catch {
521
- C(null), B("unauthenticated");
521
+ Q(null), d("unauthenticated");
522
522
  }
523
523
  })(), () => {
524
- window.clearTimeout(G), h.abort();
524
+ window.clearTimeout(K), h.abort();
525
525
  };
526
526
  }, [
527
527
  e,
528
- u.autoRefresh,
529
- K,
530
- p,
531
- F,
532
- B,
533
- C,
528
+ f.autoRefresh,
529
+ m,
530
+ E,
531
+ S,
532
+ d,
533
+ Q,
534
534
  i
535
535
  ]);
536
- const I = E(
537
- (h, S) => {
538
- C(h), B("authenticated"), S && g.current?.setTokens(S), y.current && s.current?.broadcastLogin(h);
536
+ const I = p(
537
+ (h, D) => {
538
+ Q(h), d("authenticated"), D && c.current?.setTokens(D), y.current && s.current?.broadcastLogin(h);
539
539
  },
540
- [C, B]
541
- ), c = E(async () => {
542
- const h = se(), S = new AbortController(), G = i ?? 1e4, H = window.setTimeout(() => S.abort(), G);
540
+ [Q, d]
541
+ ), l = p(async () => {
542
+ const h = ne(), D = new AbortController(), K = i ?? 1e4, H = window.setTimeout(() => D.abort(), K);
543
543
  try {
544
544
  await fetch(`${e}/logout`, {
545
545
  method: "POST",
546
546
  headers: {
547
547
  ...h ? { "X-CSRF-Token": h } : {},
548
- ...p() ?? {}
548
+ ...E() ?? {}
549
549
  },
550
550
  credentials: "include",
551
- signal: S.signal
551
+ signal: D.signal
552
552
  });
553
553
  } catch {
554
554
  } finally {
555
- window.clearTimeout(H), C(null), B("unauthenticated"), g.current?.clear(), s.current?.broadcastLogout(), k.current?.onLogout?.();
555
+ window.clearTimeout(H), Q(null), d("unauthenticated"), c.current?.clear(), s.current?.broadcastLogout(), k.current?.onLogout?.();
556
556
  }
557
- }, [e, p, C, B, i]), f = E(() => g.current?.getAccessToken() ?? null, []);
557
+ }, [e, E, Q, d, i]), u = p(() => c.current?.getAccessToken() ?? null, []);
558
558
  return {
559
559
  user: r,
560
560
  authState: o,
561
561
  handleLoginSuccess: I,
562
- logout: c,
563
- refreshUser: l,
564
- getAccessToken: f
562
+ logout: l,
563
+ refreshUser: g,
564
+ getAccessToken: u
565
565
  };
566
566
  }
567
- const We = {
567
+ const Xe = {
568
568
  mCost: 19456,
569
569
  // 19 MiB
570
570
  tCost: 2,
571
571
  pCost: 1
572
572
  };
573
- function je(e) {
573
+ function We(e) {
574
574
  return e.length === 16;
575
575
  }
576
- function Ze(e) {
576
+ function je(e) {
577
577
  if (e.length === 16) return !0;
578
578
  if (e.length < 18) return !1;
579
- const t = e[0];
580
- return t === 0 || t === 1 || t === 128 || t === 8;
579
+ const A = e[0];
580
+ return A === 0 || A === 1 || A === 128 || A === 8;
581
581
  }
582
- function qe(e) {
582
+ function Ze(e) {
583
583
  return e.length === 32;
584
584
  }
585
- function _e(e) {
585
+ function qe(e) {
586
586
  return e.length === 12;
587
587
  }
588
- function $e(e) {
588
+ function _e(e) {
589
589
  return e.length >= 16;
590
590
  }
591
- function ze(e) {
591
+ function $e(e) {
592
592
  return e.length === 32;
593
593
  }
594
- function et(e) {
595
- if (!je(e))
594
+ function ze(e) {
595
+ if (!We(e))
596
596
  throw new Error(`Invalid seed length: expected 16, got ${e.length}`);
597
597
  return e;
598
598
  }
599
- function _t(e) {
600
- if (!Ze(e))
599
+ function qA(e) {
600
+ if (!je(e))
601
601
  throw new Error(`Invalid share length: expected >=16, got ${e.length}`);
602
602
  return e;
603
603
  }
604
604
  function Se(e) {
605
- if (!qe(e))
605
+ if (!Ze(e))
606
606
  throw new Error(`Invalid key length: expected 32, got ${e.length}`);
607
607
  return e;
608
608
  }
609
- function tt(e) {
610
- if (!_e(e))
609
+ function eA(e) {
610
+ if (!qe(e))
611
611
  throw new Error(`Invalid nonce length: expected 12, got ${e.length}`);
612
612
  return e;
613
613
  }
614
- function At(e) {
615
- if (!$e(e))
614
+ function AA(e) {
615
+ if (!_e(e))
616
616
  throw new Error(`Invalid salt length: expected >=16, got ${e.length}`);
617
617
  return e;
618
618
  }
619
- function it(e) {
620
- if (!ze(e))
619
+ function tA(e) {
620
+ if (!$e(e))
621
621
  throw new Error(`Invalid PRF salt length: expected 32, got ${e.length}`);
622
622
  return e;
623
623
  }
624
- function T(e) {
624
+ function L(e) {
625
625
  return new Uint8Array(e);
626
626
  }
627
- function te(e) {
627
+ function ee(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."
631
631
  );
632
- const t = new Uint8Array(e);
633
- return crypto.getRandomValues(t), t;
632
+ const A = new Uint8Array(e);
633
+ return crypto.getRandomValues(A), A;
634
634
  }
635
- function $t() {
636
- return et(te(16));
635
+ function _A() {
636
+ return ze(ee(16));
637
637
  }
638
- function rt() {
639
- return tt(te(12));
638
+ function iA() {
639
+ return eA(ee(12));
640
640
  }
641
- function zt() {
642
- return At(te(16));
641
+ function $A() {
642
+ return AA(ee(16));
643
643
  }
644
- function nt() {
645
- return it(te(32));
644
+ function zA() {
645
+ return tA(ee(32));
646
646
  }
647
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);
651
651
  else
652
- for (let t = 0; t < e.length; t++)
653
- e[t] = t * 90 & 255;
652
+ for (let A = 0; A < e.length; A++)
653
+ e[A] = A * 90 & 255;
654
654
  e.fill(0);
655
655
  }
656
656
  }
657
- function eA(...e) {
658
- for (const t of e)
659
- t && De(t);
657
+ function et(...e) {
658
+ for (const A of e)
659
+ A && De(A);
660
660
  }
661
- async function ot(e) {
661
+ async function rA(e) {
662
662
  return crypto.subtle.importKey(
663
663
  "raw",
664
- T(e),
664
+ L(e),
665
665
  { name: "AES-GCM", length: 256 },
666
666
  !1,
667
667
  // not extractable
668
668
  ["encrypt", "decrypt"]
669
669
  );
670
670
  }
671
- async function st(e, t, A) {
672
- const i = A ?? rt(), r = await ot(t), n = await crypto.subtle.encrypt(
673
- { name: "AES-GCM", iv: T(i) },
671
+ async function nA(e, A, t) {
672
+ const i = t ?? iA(), r = await rA(A), n = await crypto.subtle.encrypt(
673
+ { name: "AES-GCM", iv: L(i) },
674
674
  r,
675
- T(e)
675
+ L(e)
676
676
  );
677
677
  return {
678
678
  ciphertext: new Uint8Array(n),
679
679
  nonce: i
680
680
  };
681
681
  }
682
- async function tA(e, t) {
683
- const A = await st(e, t);
682
+ async function At(e, A) {
683
+ const t = await nA(e, A);
684
684
  return {
685
- ciphertext: ee(A.ciphertext),
686
- nonce: ee(A.nonce)
685
+ ciphertext: ue(t.ciphertext),
686
+ nonce: ue(t.nonce)
687
687
  };
688
688
  }
689
- function ee(e) {
690
- const A = [];
689
+ function ue(e) {
690
+ const t = [];
691
691
  for (let i = 0; i < e.length; i += 32768) {
692
692
  const r = e.subarray(i, Math.min(i + 32768, e.length));
693
- A.push(String.fromCharCode(...r));
693
+ t.push(String.fromCharCode(...r));
694
694
  }
695
- return btoa(A.join(""));
695
+ return btoa(t.join(""));
696
696
  }
697
- function It(e) {
698
- let t;
697
+ function oA(e) {
698
+ let A;
699
699
  try {
700
- t = atob(e);
700
+ A = atob(e);
701
701
  } catch {
702
702
  throw new Error("Invalid base64 string: input is malformed or contains invalid characters");
703
703
  }
704
- const A = new Uint8Array(t.length);
705
- for (let i = 0; i < t.length; i++)
706
- A[i] = t.charCodeAt(i);
707
- return A;
704
+ const t = new Uint8Array(A.length);
705
+ for (let i = 0; i < A.length; i++)
706
+ t[i] = A.charCodeAt(i);
707
+ return t;
708
708
  }
709
- async function at(e, t, A, i = 32) {
709
+ async function sA(e, A, t, i = 32) {
710
710
  const r = await crypto.subtle.importKey(
711
711
  "raw",
712
- T(e),
712
+ L(e),
713
713
  "HKDF",
714
714
  !1,
715
715
  ["deriveBits"]
716
- ), n = new TextEncoder().encode(A), o = await crypto.subtle.deriveBits(
716
+ ), n = new TextEncoder().encode(t), o = await crypto.subtle.deriveBits(
717
717
  {
718
718
  name: "HKDF",
719
719
  hash: "SHA-256",
720
- salt: T(t ?? new Uint8Array(32)),
720
+ salt: L(A ?? new Uint8Array(32)),
721
721
  // Zero salt if not provided
722
- info: T(n)
722
+ info: L(n)
723
723
  },
724
724
  r,
725
725
  i * 8
@@ -727,11 +727,11 @@ async function at(e, t, A, i = 32) {
727
727
  );
728
728
  return new Uint8Array(o);
729
729
  }
730
- async function AA(e, t) {
731
- const A = await at(e, t, "cedros-wallet-share-b-encryption", 32);
732
- return Se(A);
730
+ async function tt(e, A) {
731
+ const t = await sA(e, A, "cedros-wallet-share-b-encryption", 32);
732
+ return Se(t);
733
733
  }
734
- async function gt() {
734
+ async function IA() {
735
735
  try {
736
736
  const e = await crypto.subtle.importKey("raw", new Uint8Array(32), "HKDF", !1, [
737
737
  "deriveBits"
@@ -750,13 +750,13 @@ async function gt() {
750
750
  return !1;
751
751
  }
752
752
  }
753
- function R(e, t, A, i) {
753
+ function T(e, A, t, i) {
754
754
  function r(n) {
755
- return n instanceof A ? n : new A(function(o) {
755
+ return n instanceof t ? n : new t(function(o) {
756
756
  o(n);
757
757
  });
758
758
  }
759
- return new (A || (A = Promise))(function(n, o) {
759
+ return new (t || (t = Promise))(function(n, o) {
760
760
  function a(k) {
761
761
  try {
762
762
  s(i.next(k));
@@ -764,7 +764,7 @@ function R(e, t, A, i) {
764
764
  o(y);
765
765
  }
766
766
  }
767
- function g(k) {
767
+ function c(k) {
768
768
  try {
769
769
  s(i.throw(k));
770
770
  } catch (y) {
@@ -772,134 +772,134 @@ function R(e, t, A, i) {
772
772
  }
773
773
  }
774
774
  function s(k) {
775
- k.done ? n(k.value) : r(k.value).then(a, g);
775
+ k.done ? n(k.value) : r(k.value).then(a, c);
776
776
  }
777
777
  s((i = i.apply(e, [])).next());
778
778
  });
779
779
  }
780
- class D {
780
+ class F {
781
781
  constructor() {
782
782
  this.mutex = Promise.resolve();
783
783
  }
784
784
  lock() {
785
- let t = () => {
785
+ let A = () => {
786
786
  };
787
- return this.mutex = this.mutex.then(() => new Promise(t)), new Promise((A) => {
788
- t = A;
787
+ return this.mutex = this.mutex.then(() => new Promise(A)), new Promise((t) => {
788
+ A = t;
789
789
  });
790
790
  }
791
- dispatch(t) {
792
- return R(this, void 0, void 0, function* () {
793
- const A = yield this.lock();
791
+ dispatch(A) {
792
+ return T(this, void 0, void 0, function* () {
793
+ const t = yield this.lock();
794
794
  try {
795
- return yield Promise.resolve(t());
795
+ return yield Promise.resolve(A());
796
796
  } finally {
797
- A();
797
+ t();
798
798
  }
799
799
  });
800
800
  }
801
801
  }
802
- var Ie;
803
- function lt() {
802
+ var oe;
803
+ function aA() {
804
804
  return typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global;
805
805
  }
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
- return (e & 15) + (e >> 6 | e >> 3 & 8) << 4 | (t & 15) + (t >> 6 | t >> 3 & 8);
806
+ const ce = aA(), se = (oe = ce.Buffer) !== null && oe !== void 0 ? oe : null, gA = ce.TextEncoder ? new ce.TextEncoder() : null;
807
+ function Fe(e, A) {
808
+ return (e & 15) + (e >> 6 | e >> 3 & 8) << 4 | (A & 15) + (A >> 6 | A >> 3 & 8);
809
809
  }
810
- function Ue(e, t) {
811
- const A = t.length >> 1;
812
- for (let i = 0; i < A; i++) {
810
+ function Ue(e, A) {
811
+ const t = A.length >> 1;
812
+ for (let i = 0; i < t; i++) {
813
813
  const r = i << 1;
814
- e[i] = Fe(t.charCodeAt(r), t.charCodeAt(r + 1));
814
+ e[i] = Fe(A.charCodeAt(r), A.charCodeAt(r + 1));
815
815
  }
816
816
  }
817
- function Ct(e, t) {
818
- if (e.length !== t.length * 2)
817
+ function lA(e, A) {
818
+ if (e.length !== A.length * 2)
819
819
  return !1;
820
- for (let A = 0; A < t.length; A++) {
821
- const i = A << 1;
822
- if (t[A] !== Fe(e.charCodeAt(i), e.charCodeAt(i + 1)))
820
+ for (let t = 0; t < A.length; t++) {
821
+ const i = t << 1;
822
+ if (A[t] !== Fe(e.charCodeAt(i), e.charCodeAt(i + 1)))
823
823
  return !1;
824
824
  }
825
825
  return !0;
826
826
  }
827
827
  const we = 87, Qe = 48;
828
- function ue(e, t, A) {
828
+ function Ce(e, A, t) {
829
829
  let i = 0;
830
- for (let r = 0; r < A; r++) {
831
- let n = t[r] >>> 4;
832
- e[i++] = n > 9 ? n + we : n + Qe, n = t[r] & 15, e[i++] = n > 9 ? n + we : n + Qe;
830
+ for (let r = 0; r < t; r++) {
831
+ let n = A[r] >>> 4;
832
+ e[i++] = n > 9 ? n + we : n + Qe, n = A[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 = ae !== null ? (e) => {
836
+ const v = se !== null ? (e) => {
837
837
  if (typeof e == "string") {
838
- const t = ae.from(e, "utf8");
839
- return new Uint8Array(t.buffer, t.byteOffset, t.length);
838
+ const A = se.from(e, "utf8");
839
+ return new Uint8Array(A.buffer, A.byteOffset, A.length);
840
840
  }
841
- if (ae.isBuffer(e))
841
+ if (se.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 ct.encode(e);
848
+ return gA.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
- }, 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
- const A = e.length, i = A % 3, r = [], n = A - i;
852
+ }, N = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", j = new Uint8Array(256);
853
+ for (let e = 0; e < N.length; e++)
854
+ j[N.charCodeAt(e)] = e;
855
+ function Be(e, A = !0) {
856
+ const t = e.length, i = t % 3, r = [], n = t - i;
857
857
  for (let o = 0; o < n; o += 3) {
858
- const a = (e[o] << 16 & 16711680) + (e[o + 1] << 8 & 65280) + (e[o + 2] & 255), g = P.charAt(a >> 18 & 63) + P.charAt(a >> 12 & 63) + P.charAt(a >> 6 & 63) + P.charAt(a & 63);
859
- r.push(g);
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
+ r.push(c);
860
860
  }
861
861
  if (i === 1) {
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("==");
862
+ const o = e[t - 1], a = N.charAt(o >> 2), c = N.charAt(o << 4 & 63);
863
+ r.push(`${a}${c}`), A && r.push("==");
864
864
  } else if (i === 2) {
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("=");
865
+ const o = (e[t - 2] << 8) + e[t - 1], a = N.charAt(o >> 10), c = N.charAt(o >> 4 & 63), s = N.charAt(o << 2 & 63);
866
+ r.push(`${a}${c}${s}`), A && r.push("=");
867
867
  }
868
868
  return r.join("");
869
869
  }
870
- function ht(e) {
871
- let t = Math.floor(e.length * 0.75);
872
- const A = e.length;
873
- return e[A - 1] === "=" && (t -= 1, e[A - 2] === "=" && (t -= 1)), t;
870
+ function cA(e) {
871
+ let A = Math.floor(e.length * 0.75);
872
+ const t = e.length;
873
+ return e[t - 1] === "=" && (A -= 1, e[t - 2] === "=" && (A -= 1)), A;
874
874
  }
875
- function ut(e) {
876
- const t = ht(e), A = e.length, i = new Uint8Array(t);
875
+ function CA(e) {
876
+ const A = cA(e), t = e.length, i = new Uint8Array(A);
877
877
  let r = 0;
878
- for (let n = 0; n < A; n += 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;
878
+ for (let n = 0; n < t; n += 4) {
879
+ const o = j[e.charCodeAt(n)], a = j[e.charCodeAt(n + 1)], c = 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 | 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, W = 4, ft = new D(), ge = /* @__PURE__ */ new Map();
885
- function me(e, t) {
886
- return R(this, void 0, void 0, function* () {
887
- let A = null, i = null, r = !1;
884
+ const $ = 16 * 1024, W = 4, hA = new F(), Ie = /* @__PURE__ */ new Map();
885
+ function me(e, A) {
886
+ return T(this, void 0, void 0, function* () {
887
+ let t = null, i = null, r = !1;
888
888
  if (typeof WebAssembly > "u")
889
889
  throw new Error("WebAssembly is not supported in this environment!");
890
- 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);
890
+ const n = (g, I = 0) => {
891
+ i.set(g, I);
892
+ }, o = () => i, a = () => t.exports, c = (g) => {
893
+ t.exports.Hash_SetMemorySize(g);
894
+ const I = t.exports.Hash_GetBuffer(), l = t.exports.memory.buffer;
895
+ i = new Uint8Array(l, I, g);
896
+ }, s = () => new DataView(t.exports.memory.buffer).getUint32(t.exports.STATE_SIZE, !0), k = hA.dispatch(() => T(this, void 0, void 0, function* () {
897
+ if (!Ie.has(e.name)) {
898
+ const I = CA(e.data), l = WebAssembly.compile(I);
899
+ Ie.set(e.name, l);
900
900
  }
901
- const l = yield ge.get(e.name);
902
- A = yield WebAssembly.instantiate(l, {
901
+ const g = yield Ie.get(e.name);
902
+ t = yield WebAssembly.instantiate(g, {
903
903
  // env: {
904
904
  // emscripten_memcpy_big: (dest, src, num) => {
905
905
  // const memoryBuffer = wasmInstance.exports.memory.buffer;
@@ -913,116 +913,116 @@ function me(e, t) {
913
913
  // },
914
914
  // },
915
915
  });
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) => {
916
+ })), y = () => T(this, void 0, void 0, function* () {
917
+ t || (yield k);
918
+ const g = t.exports.Hash_GetBuffer(), I = t.exports.memory.buffer;
919
+ i = new Uint8Array(I, g, $);
920
+ }), w = (g = null) => {
921
+ r = !0, t.exports.Hash_Init(g);
922
+ }, G = (g) => {
923
923
  let I = 0;
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);
924
+ for (; I < g.length; ) {
925
+ const l = g.subarray(I, I + $);
926
+ I += l.length, i.set(l), t.exports.Hash_Update(l.length);
927
927
  }
928
- }, Q = (l) => {
928
+ }, B = (g) => {
929
929
  if (!r)
930
930
  throw new Error("update() called before init()");
931
- const I = v(l);
932
- U(I);
933
- }, C = new Uint8Array(t * 2), B = (l, I = null) => {
931
+ const I = v(g);
932
+ G(I);
933
+ }, Q = new Uint8Array(A * 2), d = (g, I = null) => {
934
934
  if (!r)
935
935
  throw new Error("digest() called before init()");
936
- return r = !1, A.exports.Hash_Final(I), l === "binary" ? i.slice(0, t) : ue(C, i, t);
937
- }, u = () => {
936
+ return r = !1, t.exports.Hash_Final(I), g === "binary" ? i.slice(0, A) : Ce(Q, i, A);
937
+ }, f = () => {
938
938
  if (!r)
939
939
  throw new Error("save() can only be called after init() and before digest()");
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))
940
+ const g = t.exports.Hash_GetState(), I = s(), l = t.exports.memory.buffer, u = new Uint8Array(l, g, I), h = new Uint8Array(W + I);
941
+ return Ue(h, e.hash), h.set(u, W), h;
942
+ }, m = (g) => {
943
+ if (!(g instanceof Uint8Array))
944
944
  throw new Error("load() expects an Uint8Array generated by save()");
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)))
945
+ const I = t.exports.Hash_GetState(), l = s(), u = W + l, h = t.exports.memory.buffer;
946
+ if (g.length !== u)
947
+ throw new Error(`Bad state length (expected ${u} bytes, got ${g.length})`);
948
+ if (!lA(e.hash, g.subarray(0, W)))
949
949
  throw new Error("This state was written by an incompatible hash implementation");
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;
950
+ const D = g.subarray(W);
951
+ new Uint8Array(h, I, l).set(D), r = !0;
952
+ }, E = (g) => typeof g == "string" ? g.length < $ / 4 : g.byteLength < $;
953
+ let S = E;
954
954
  switch (e.name) {
955
955
  case "argon2":
956
956
  case "scrypt":
957
- F = () => !0;
957
+ S = () => !0;
958
958
  break;
959
959
  case "blake2b":
960
960
  case "blake2s":
961
- F = (l, I) => I <= 512 && p(l);
961
+ S = (g, I) => I <= 512 && E(g);
962
962
  break;
963
963
  case "blake3":
964
- F = (l, I) => I === 0 && p(l);
964
+ S = (g, I) => I === 0 && E(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
- F = () => !1;
971
+ S = () => !1;
972
972
  break;
973
973
  }
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);
974
+ const C = (g, I = null, l = null) => {
975
+ if (!S(g, I))
976
+ return w(I), B(g), d("hex", l);
977
+ const u = v(g);
978
+ return i.set(u), t.exports.Hash_Calculate(u.length, I, l), Ce(Q, i, A);
979
979
  };
980
980
  return yield y(), {
981
981
  getMemory: o,
982
982
  writeMemory: n,
983
983
  getExports: a,
984
- setMemorySize: g,
984
+ setMemorySize: c,
985
985
  init: w,
986
- update: Q,
987
- digest: B,
988
- save: u,
989
- load: K,
990
- calculate: d,
991
- hashLength: t
986
+ update: B,
987
+ digest: d,
988
+ save: f,
989
+ load: m,
990
+ calculate: C,
991
+ hashLength: A
992
992
  };
993
993
  });
994
994
  }
995
- new D();
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
995
+ new F();
996
+ var fA = "argon2", uA = "AGFzbQEAAAABKQVgAX8Bf2AAAX9gEH9/f39/f39/f39/f39/f38AYAR/f39/AGACf38AAwYFAAECAwQFBgEBAoCAAgYIAX8BQZCoBAsHQQQGbWVtb3J5AgASSGFzaF9TZXRNZW1vcnlTaXplAAAOSGFzaF9HZXRCdWZmZXIAAQ5IYXNoX0NhbGN1bGF0ZQAECvEyBVgBAn9BACEBAkAgAEEAKAKICCICRg0AAkAgACACayIAQRB2IABBgIB8cSAASWoiAEAAQX9HDQBB/wHADwtBACEBQQBBACkDiAggAEEQdK18NwOICAsgAcALcAECfwJAQQAoAoAIIgANAEEAPwBBEHQiADYCgAhBACgCiAgiAUGAgCBGDQACQEGAgCAgAWsiAEEQdiAAQYCAfHEgAElqIgBAAEF/Rw0AQQAPC0EAQQApA4gIIABBEHStfDcDiAhBACgCgAghAAsgAAvcDgECfiAAIAQpAwAiECAAKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAMIBAgDCkDAIVCIIkiEDcDACAIIBAgCCkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgBCAQIAQpAwCFQiiJIhA3AwAgACAQIAApAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAwgECAMKQMAhUIwiSIQNwMAIAggECAIKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAEIBAgBCkDAIVCAYk3AwAgASAFKQMAIhAgASkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDSAQIA0pAwCFQiCJIhA3AwAgCSAQIAkpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAUgECAFKQMAhUIoiSIQNwMAIAEgECABKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACANIBAgDSkDAIVCMIkiEDcDACAJIBAgCSkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBSAQIAUpAwCFQgGJNwMAIAIgBikDACIQIAIpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIA4gECAOKQMAhUIgiSIQNwMAIAogECAKKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAGIBAgBikDAIVCKIkiEDcDACACIBAgAikDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgDiAQIA4pAwCFQjCJIhA3AwAgCiAQIAopAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAYgECAGKQMAhUIBiTcDACADIAcpAwAiECADKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAPIBAgDykDAIVCIIkiEDcDACALIBAgCykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgByAQIAcpAwCFQiiJIhA3AwAgAyAQIAMpAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIA8gECAPKQMAhUIwiSIQNwMAIAsgECALKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgACAFKQMAIhAgACkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDyAQIA8pAwCFQiCJIhA3AwAgCiAQIAopAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAUgECAFKQMAhUIoiSIQNwMAIAAgECAAKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAPIBAgDykDAIVCMIkiEDcDACAKIBAgCikDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBSAQIAUpAwCFQgGJNwMAIAEgBikDACIQIAEpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAwgECAMKQMAhUIgiSIQNwMAIAsgECALKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAGIBAgBikDAIVCKIkiEDcDACABIBAgASkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgDCAQIAwpAwCFQjCJIhA3AwAgCyAQIAspAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAYgECAGKQMAhUIBiTcDACACIAcpAwAiECACKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACANIBAgDSkDAIVCIIkiEDcDACAIIBAgCCkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgByAQIAcpAwCFQiiJIhA3AwAgAiAQIAIpAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIA0gECANKQMAhUIwiSIQNwMAIAggECAIKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgAyAEKQMAIhAgAykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDiAQIA4pAwCFQiCJIhA3AwAgCSAQIAkpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAQgECAEKQMAhUIoiSIQNwMAIAMgECADKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAOIBAgDikDAIVCMIkiEDcDACAJIBAgCSkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBCAQIAQpAwCFQgGJNwMAC98aAQN/QQAhBEEAIAIpAwAgASkDAIU3A5AIQQAgAikDCCABKQMIhTcDmAhBACACKQMQIAEpAxCFNwOgCEEAIAIpAxggASkDGIU3A6gIQQAgAikDICABKQMghTcDsAhBACACKQMoIAEpAyiFNwO4CEEAIAIpAzAgASkDMIU3A8AIQQAgAikDOCABKQM4hTcDyAhBACACKQNAIAEpA0CFNwPQCEEAIAIpA0ggASkDSIU3A9gIQQAgAikDUCABKQNQhTcD4AhBACACKQNYIAEpA1iFNwPoCEEAIAIpA2AgASkDYIU3A/AIQQAgAikDaCABKQNohTcD+AhBACACKQNwIAEpA3CFNwOACUEAIAIpA3ggASkDeIU3A4gJQQAgAikDgAEgASkDgAGFNwOQCUEAIAIpA4gBIAEpA4gBhTcDmAlBACACKQOQASABKQOQAYU3A6AJQQAgAikDmAEgASkDmAGFNwOoCUEAIAIpA6ABIAEpA6ABhTcDsAlBACACKQOoASABKQOoAYU3A7gJQQAgAikDsAEgASkDsAGFNwPACUEAIAIpA7gBIAEpA7gBhTcDyAlBACACKQPAASABKQPAAYU3A9AJQQAgAikDyAEgASkD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", wA = "e4cdc523", QA = {
997
+ name: fA,
998
+ data: uA,
999
+ hash: wA
1000
+ }, BA = "blake2b", dA = "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", EA = "c6f286e6", pA = {
1001
+ name: BA,
1002
+ data: dA,
1003
+ hash: EA
1004
1004
  };
1005
- new D();
1005
+ new F();
1006
1006
  function de(e) {
1007
1007
  return !Number.isInteger(e) || e < 8 || e > 512 || e % 8 !== 0 ? new Error("Invalid variant! Valid values: 8, 16, ..., 512") : null;
1008
1008
  }
1009
- function St(e, t) {
1010
- return e | t << 16;
1009
+ function yA(e, A) {
1010
+ return e | A << 16;
1011
1011
  }
1012
- function fe(e = 512, t = null) {
1012
+ function he(e = 512, A = null) {
1013
1013
  if (de(e))
1014
1014
  return Promise.reject(de(e));
1015
- let A = null, i = e;
1016
- if (t !== null) {
1017
- if (A = v(t), A.length > 64)
1015
+ let t = null, i = e;
1016
+ if (A !== null) {
1017
+ if (t = v(A), t.length > 64)
1018
1018
  return Promise.reject(new Error("Max key length is 64 bytes"));
1019
- i = St(e, A.length);
1019
+ i = yA(e, t.length);
1020
1020
  }
1021
1021
  const r = e / 8;
1022
- return me(kt, r).then((n) => {
1023
- i > 512 && n.writeMemory(A), n.init(i);
1022
+ return me(pA, r).then((n) => {
1023
+ i > 512 && n.writeMemory(t), n.init(i);
1024
1024
  const o = {
1025
- init: i > 512 ? () => (n.writeMemory(A), n.init(i), o) : () => (n.init(i), o),
1025
+ init: i > 512 ? () => (n.writeMemory(t), n.init(i), o) : () => (n.init(i), o),
1026
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),
@@ -1034,36 +1034,36 @@ function fe(e = 512, t = null) {
1034
1034
  return o;
1035
1035
  });
1036
1036
  }
1037
- function Dt(e, t, A) {
1037
+ function kA(e, A, t) {
1038
1038
  const i = [
1039
- `m=${t.memorySize}`,
1040
- `t=${t.iterations}`,
1041
- `p=${t.parallelism}`
1039
+ `m=${A.memorySize}`,
1040
+ `t=${A.iterations}`,
1041
+ `p=${A.parallelism}`
1042
1042
  ].join(",");
1043
- return `$argon2${t.hashType}$v=19$${i}$${Be(e, !1)}$${Be(A, !1)}`;
1043
+ return `$argon2${A.hashType}$v=19$${i}$${Be(e, !1)}$${Be(t, !1)}`;
1044
1044
  }
1045
1045
  const Ee = new DataView(new ArrayBuffer(4));
1046
1046
  function x(e) {
1047
1047
  return Ee.setInt32(0, e, !0), new Uint8Array(Ee.buffer);
1048
1048
  }
1049
- function le(e, t, A) {
1050
- return R(this, void 0, void 0, function* () {
1051
- if (A <= 64) {
1052
- const g = yield fe(A * 8);
1053
- return g.update(x(A)), g.update(t), g.digest("binary");
1049
+ function ae(e, A, t) {
1050
+ return T(this, void 0, void 0, function* () {
1051
+ if (t <= 64) {
1052
+ const c = yield he(t * 8);
1053
+ return c.update(x(t)), c.update(A), c.digest("binary");
1054
1054
  }
1055
- const i = Math.ceil(A / 32) - 2, r = new Uint8Array(A);
1056
- e.init(), e.update(x(A)), e.update(t);
1055
+ const i = Math.ceil(t / 32) - 2, r = new Uint8Array(t);
1056
+ e.init(), e.update(x(t)), e.update(A);
1057
1057
  let n = e.digest("binary");
1058
1058
  r.set(n.subarray(0, 32), 0);
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
- const o = A - 32 * i;
1059
+ for (let c = 1; c < i; c++)
1060
+ e.init(), e.update(n), n = e.digest("binary"), r.set(n.subarray(0, 32), c * 32);
1061
+ const o = t - 32 * i;
1062
1062
  let a;
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;
1063
+ return o === 64 ? (a = e, a.init()) : a = yield he(o * 8), a.update(n), n = a.digest("binary"), r.set(n.subarray(0, o), i * 32), r;
1064
1064
  });
1065
1065
  }
1066
- function Ft(e) {
1066
+ function SA(e) {
1067
1067
  switch (e) {
1068
1068
  case "d":
1069
1069
  return 0;
@@ -1073,35 +1073,35 @@ function Ft(e) {
1073
1073
  return 2;
1074
1074
  }
1075
1075
  }
1076
- function Ut(e) {
1077
- return R(this, void 0, void 0, function* () {
1078
- var t;
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
- fe(512)
1076
+ function DA(e) {
1077
+ return T(this, void 0, void 0, function* () {
1078
+ var A;
1079
+ const { parallelism: t, iterations: i, hashLength: r } = e, n = v(e.password), o = v(e.salt), a = 19, c = SA(e.hashType), { memorySize: s } = e, k = v((A = e.secret) !== null && A !== void 0 ? A : ""), [y, w] = yield Promise.all([
1080
+ me(QA, 1024),
1081
+ he(512)
1082
1082
  ]);
1083
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
- for (let d = 0; d < A; d++) {
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);
1084
+ const G = new Uint8Array(24), B = new DataView(G.buffer);
1085
+ B.setInt32(0, t, !0), B.setInt32(4, r, !0), B.setInt32(8, s, !0), B.setInt32(12, i, !0), B.setInt32(16, a, !0), B.setInt32(20, c, !0), y.writeMemory(G, s * 1024), w.init(), w.update(G), 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 d = Math.floor(s / (t * 4)) * 4, f = new Uint8Array(72), m = w.digest("binary");
1087
+ f.set(m);
1088
+ for (let C = 0; C < t; C++) {
1089
+ f.set(x(0), 64), f.set(x(C), 68);
1090
+ let g = C * d, I = yield ae(w, f, 1024);
1091
+ y.writeMemory(I, g * 1024), g += 1, f.set(x(1), 64), I = yield ae(w, f, 1024), y.writeMemory(I, g * 1024);
1092
1092
  }
1093
- const p = new Uint8Array(1024);
1094
- Ue(p, y.calculate(new Uint8Array([]), s));
1095
- const F = yield le(w, p, r);
1093
+ const E = new Uint8Array(1024);
1094
+ Ue(E, y.calculate(new Uint8Array([]), s));
1095
+ const S = yield ae(w, E, r);
1096
1096
  if (e.outputType === "hex") {
1097
- const d = new Uint8Array(r * 2);
1098
- return ue(d, F, r);
1097
+ const C = new Uint8Array(r * 2);
1098
+ return Ce(C, S, r);
1099
1099
  }
1100
- return e.outputType === "encoded" ? Dt(o, e, F) : F;
1100
+ return e.outputType === "encoded" ? kA(o, e, S) : S;
1101
1101
  });
1102
1102
  }
1103
- const mt = (e) => {
1104
- var t;
1103
+ const FA = (e) => {
1104
+ var A;
1105
1105
  if (!e || typeof e != "object")
1106
1106
  throw new Error("Invalid options parameter. It requires an object.");
1107
1107
  if (!e.password)
@@ -1112,7 +1112,7 @@ const mt = (e) => {
1112
1112
  throw new Error("Salt must be specified");
1113
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 = v((t = e.secret) !== null && t !== void 0 ? t : ""), !Number.isInteger(e.iterations) || e.iterations < 1)
1115
+ if (e.secret = v((A = e.secret) !== null && A !== void 0 ? A : ""), !Number.isInteger(e.iterations) || e.iterations < 1)
1116
1116
  throw new Error("Iterations should be a positive number");
1117
1117
  if (!Number.isInteger(e.parallelism) || e.parallelism < 1)
1118
1118
  throw new Error("Parallelism should be a positive number");
@@ -1126,41 +1126,41 @@ const mt = (e) => {
1126
1126
  throw new Error(`Insupported output type ${e.outputType}. Valid values: ['hex', 'binary', 'encoded']`);
1127
1127
  };
1128
1128
  function be(e) {
1129
- return R(this, void 0, void 0, function* () {
1130
- return mt(e), Ut(Object.assign(Object.assign({}, e), { hashType: "id" }));
1129
+ return T(this, void 0, void 0, function* () {
1130
+ return FA(e), DA(Object.assign(Object.assign({}, e), { hashType: "id" }));
1131
1131
  });
1132
1132
  }
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
- const bt = 32;
1154
- async function iA(e, t, A = We) {
1155
- Gt(A);
1133
+ new F();
1134
+ new F();
1135
+ new F();
1136
+ new F();
1137
+ new F();
1138
+ new F();
1139
+ new F();
1140
+ new F();
1141
+ new F();
1142
+ new F();
1143
+ new F();
1144
+ new F();
1145
+ new F();
1146
+ new F();
1147
+ new F();
1148
+ new F();
1149
+ new F();
1150
+ new F();
1151
+ new F();
1152
+ new F();
1153
+ const UA = 32;
1154
+ async function it(e, A, t = Xe) {
1155
+ mA(t);
1156
1156
  try {
1157
1157
  const i = await be({
1158
1158
  password: e,
1159
- salt: t,
1160
- iterations: A.tCost,
1161
- memorySize: A.mCost,
1162
- parallelism: A.pCost,
1163
- hashLength: bt,
1159
+ salt: A,
1160
+ iterations: t.tCost,
1161
+ memorySize: t.mCost,
1162
+ parallelism: t.pCost,
1163
+ hashLength: UA,
1164
1164
  outputType: "binary"
1165
1165
  });
1166
1166
  return Se(i);
@@ -1168,7 +1168,7 @@ async function iA(e, t, A = We) {
1168
1168
  throw new Error("Key derivation failed");
1169
1169
  }
1170
1170
  }
1171
- function Gt(e) {
1171
+ function mA(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,7 +1182,7 @@ function Gt(e) {
1182
1182
  if (e.pCost > 4)
1183
1183
  throw new Error("KDF parallelism too high (maximum 4)");
1184
1184
  }
1185
- async function Kt() {
1185
+ async function bA() {
1186
1186
  try {
1187
1187
  const e = await be({
1188
1188
  password: "test",
@@ -1199,101 +1199,42 @@ async function Kt() {
1199
1199
  return !1;
1200
1200
  }
1201
1201
  }
1202
- function Ht(e) {
1202
+ function GA(e) {
1203
1203
  return e === "localhost" || e === "127.0.0.1" || e.endsWith(".localhost");
1204
1204
  }
1205
- function Ge(e) {
1205
+ function KA(e) {
1206
1206
  if (typeof window > "u")
1207
1207
  return;
1208
- const t = window.location.hostname;
1209
- if (!Ht(t))
1208
+ const A = window.location.hostname;
1209
+ if (!GA(A))
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 Ae() {
1214
+ function fe() {
1215
1215
  return typeof window < "u" && typeof window.PublicKeyCredential < "u" && typeof navigator.credentials < "u";
1216
1216
  }
1217
- async function Jt() {
1218
- if (!Ae())
1217
+ async function HA() {
1218
+ if (!fe())
1219
1219
  return !1;
1220
1220
  try {
1221
1221
  if (!await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable())
1222
1222
  return !1;
1223
1223
  if ("getClientCapabilities" in PublicKeyCredential && typeof PublicKeyCredential.getClientCapabilities == "function") {
1224
- const t = await PublicKeyCredential.getClientCapabilities();
1225
- if (t && "prf" in t)
1226
- return t.prf === !0;
1224
+ const A = await PublicKeyCredential.getClientCapabilities();
1225
+ if (A && "prf" in A)
1226
+ return A.prf === !0;
1227
1227
  }
1228
1228
  return !0;
1229
1229
  } catch {
1230
1230
  return !1;
1231
1231
  }
1232
1232
  }
1233
- async function rA(e, t, A, i, r) {
1234
- if (!Ae())
1233
+ async function rt(e, A) {
1234
+ if (!fe())
1235
1235
  throw new Error("WebAuthn is not available in this browser");
1236
- Ge();
1237
- const n = i ?? nt(), o = await navigator.credentials.create({
1238
- publicKey: {
1239
- challenge: crypto.getRandomValues(new Uint8Array(32)),
1240
- rp: {
1241
- name: "Cedros Wallet",
1242
- id: window.location.hostname
1243
- },
1244
- user: {
1245
- id: T(e),
1246
- name: t,
1247
- displayName: A
1248
- },
1249
- pubKeyCredParams: [
1250
- { type: "public-key", alg: -7 },
1251
- // ES256
1252
- { type: "public-key", alg: -257 }
1253
- // RS256
1254
- ],
1255
- authenticatorSelection: {
1256
- authenticatorAttachment: "platform",
1257
- userVerification: "required",
1258
- residentKey: "required"
1259
- },
1260
- timeout: 6e4,
1261
- attestation: "none",
1262
- extensions: {
1263
- prf: {
1264
- eval: {
1265
- first: n
1266
- }
1267
- }
1268
- }
1269
- }
1270
- });
1271
- if (!o)
1272
- throw new Error("Passkey registration was cancelled");
1273
- const a = o.getClientExtensionResults();
1274
- if (!a.prf?.enabled || !a.prf?.results?.first)
1275
- throw new Error(
1276
- "PRF extension is not supported by this authenticator. Please use a device with a compatible platform authenticator."
1277
- );
1278
- const g = a.prf?.results?.first;
1279
- if (!g)
1280
- throw new Error("PRF extension did not return a result");
1281
- const s = new Uint8Array(g);
1282
- if (s.length !== 32)
1283
- throw new Error(
1284
- `Unexpected PRF output length: expected 32 bytes, got ${s.length}. The authenticator may not be compatible.`
1285
- );
1286
- return {
1287
- credentialId: ee(new Uint8Array(o.rawId)),
1288
- prfSalt: ee(n),
1289
- prfOutput: s
1290
- };
1291
- }
1292
- async function nA(e, t) {
1293
- if (!Ae())
1294
- throw new Error("WebAuthn is not available in this browser");
1295
- Ge();
1296
- const A = It(e), i = await navigator.credentials.get({
1236
+ KA();
1237
+ const t = oA(e), i = await navigator.credentials.get({
1297
1238
  publicKey: {
1298
1239
  challenge: crypto.getRandomValues(new Uint8Array(32)),
1299
1240
  rpId: window.location.hostname,
@@ -1304,7 +1245,7 @@ async function nA(e, t) {
1304
1245
  extensions: {
1305
1246
  prf: {
1306
1247
  eval: {
1307
- first: A
1248
+ first: t
1308
1249
  }
1309
1250
  }
1310
1251
  }
@@ -1322,74 +1263,74 @@ async function nA(e, t) {
1322
1263
  );
1323
1264
  return { prfOutput: o };
1324
1265
  }
1325
- async function Mt() {
1326
- const [e, t, A, i, r, n, o] = await Promise.all([
1327
- Vt(),
1328
- Pt(),
1329
- gt(),
1330
- Nt(),
1331
- Promise.resolve(Ae()),
1332
- Jt(),
1333
- Kt()
1266
+ async function JA() {
1267
+ const [e, A, t, i, r, n, o] = await Promise.all([
1268
+ MA(),
1269
+ VA(),
1270
+ IA(),
1271
+ NA(),
1272
+ Promise.resolve(fe()),
1273
+ HA(),
1274
+ bA()
1334
1275
  ]);
1335
1276
  return {
1336
1277
  webCrypto: e,
1337
- aesGcm: t,
1338
- hkdf: A,
1278
+ aesGcm: A,
1279
+ hkdf: t,
1339
1280
  ed25519: i,
1340
1281
  webAuthn: r,
1341
1282
  webAuthnPrf: n,
1342
1283
  argon2: o,
1343
- allSupported: e && t && A && r && n && o
1284
+ allSupported: e && A && t && r && n && o
1344
1285
  };
1345
1286
  }
1346
- async function Vt() {
1287
+ async function MA() {
1347
1288
  try {
1348
1289
  return typeof crypto < "u" && typeof crypto.subtle < "u" && typeof crypto.getRandomValues == "function";
1349
1290
  } catch {
1350
1291
  return !1;
1351
1292
  }
1352
1293
  }
1353
- async function Pt() {
1294
+ async function VA() {
1354
1295
  try {
1355
1296
  const e = await crypto.subtle.generateKey({ name: "AES-GCM", length: 256 }, !1, [
1356
1297
  "encrypt",
1357
1298
  "decrypt"
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((o, a) => o === t[a]);
1299
+ ]), A = new Uint8Array([1, 2, 3, 4]), t = crypto.getRandomValues(new Uint8Array(12)), i = await crypto.subtle.encrypt({ name: "AES-GCM", iv: t }, e, A), r = await crypto.subtle.decrypt({ name: "AES-GCM", iv: t }, e, i), n = new Uint8Array(r);
1300
+ return n.length === A.length && n.every((o, a) => o === A[a]);
1360
1301
  } catch {
1361
1302
  return !1;
1362
1303
  }
1363
1304
  }
1364
- async function Nt() {
1305
+ async function NA() {
1365
1306
  try {
1366
1307
  return await crypto.subtle.generateKey("Ed25519", !1, ["sign", "verify"]), !0;
1367
1308
  } catch {
1368
1309
  return !1;
1369
1310
  }
1370
1311
  }
1371
- function oA(e) {
1312
+ function nt(e) {
1372
1313
  if (e.allSupported)
1373
1314
  return null;
1374
- const t = [];
1375
- return e.webCrypto || t.push("Web Crypto API"), e.aesGcm || t.push("AES-GCM encryption"), e.hkdf || t.push("HKDF key derivation"), e.webAuthn || t.push("WebAuthn/Passkeys"), e.webAuthnPrf || t.push("WebAuthn PRF extension (requires platform authenticator)"), e.argon2 || t.push("Argon2 password hashing"), t.length === 0 ? null : `Your browser or device is missing required features: ${t.join(", ")}. Please use a modern browser with a platform authenticator (e.g., Touch ID, Face ID, Windows Hello).`;
1315
+ const A = [];
1316
+ return e.webCrypto || A.push("Web Crypto API"), e.aesGcm || A.push("AES-GCM encryption"), e.hkdf || A.push("HKDF key derivation"), e.webAuthn || A.push("WebAuthn/Passkeys"), e.webAuthnPrf || A.push("WebAuthn PRF extension (requires platform authenticator)"), e.argon2 || A.push("Argon2 password hashing"), A.length === 0 ? null : `Your browser or device is missing required features: ${A.join(", ")}. Please use a modern browser with a platform authenticator (e.g., Touch ID, Face ID, Windows Hello).`;
1376
1317
  }
1377
- function sA() {
1378
- const e = typeof navigator < "u" ? navigator.userAgent : "", t = e.match(/Chrome\/(\d+)/);
1379
- if (t) {
1380
- const n = parseInt(t[1], 10);
1318
+ function ot() {
1319
+ const e = typeof navigator < "u" ? navigator.userAgent : "", A = e.match(/Chrome\/(\d+)/);
1320
+ if (A) {
1321
+ const n = parseInt(A[1], 10);
1381
1322
  return {
1382
1323
  browser: "Chrome",
1383
- version: t[1],
1324
+ version: A[1],
1384
1325
  likelySupported: n >= 116
1385
1326
  };
1386
1327
  }
1387
- const A = e.match(/Version\/(\d+)/);
1388
- if (A && e.includes("Safari") && !e.includes("Chrome")) {
1389
- const n = parseInt(A[1], 10);
1328
+ const t = e.match(/Version\/(\d+)/);
1329
+ if (t && e.includes("Safari") && !e.includes("Chrome")) {
1330
+ const n = parseInt(t[1], 10);
1390
1331
  return {
1391
1332
  browser: "Safari",
1392
- version: A[1],
1333
+ version: t[1],
1393
1334
  likelySupported: n >= 17
1394
1335
  };
1395
1336
  }
@@ -1416,13 +1357,13 @@ function sA() {
1416
1357
  likelySupported: !1
1417
1358
  };
1418
1359
  }
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;
1360
+ let z = null, ge = null;
1361
+ const PA = 6e4;
1362
+ async function YA(e = !1) {
1363
+ const A = Date.now(), t = ge === null || A - ge > PA;
1364
+ return !e && !(typeof window > "u") && !t && z !== null || (z = await JA(), ge = Date.now()), z;
1424
1365
  }
1425
- function xt(e) {
1366
+ function OA(e) {
1426
1367
  switch (e.type) {
1427
1368
  case "password":
1428
1369
  return { password: e.password };
@@ -1430,205 +1371,205 @@ function xt(e) {
1430
1371
  return { prfOutput: e.prfOutput };
1431
1372
  }
1432
1373
  }
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({
1374
+ function xA() {
1375
+ const e = ye(), [A, t] = U(!1), [i, r] = U(null), n = e?.config.serverUrl, o = e?.config.requestTimeout, a = e?.config.retryAttempts, c = e?._internal?.getAccessToken, s = V(() => e ? new pe({
1435
1376
  baseUrl: n,
1436
1377
  timeoutMs: o,
1437
1378
  retryAttempts: a,
1438
- getAccessToken: g
1439
- }) : null, [e, n, o, a, g]), k = E(async () => {
1379
+ getAccessToken: c
1380
+ }) : null, [e, n, o, a, c]), k = p(async () => {
1440
1381
  if (!s)
1441
1382
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1442
- A(!0), r(null);
1383
+ t(!0), r(null);
1443
1384
  try {
1444
1385
  return await s.get("/wallet/status");
1445
1386
  } catch (I) {
1446
- const c = M(I, "Failed to fetch wallet status");
1447
- throw r(c.message), c;
1387
+ const l = M(I, "Failed to fetch wallet status");
1388
+ throw r(l.message), l;
1448
1389
  } finally {
1449
- A(!1);
1390
+ t(!1);
1450
1391
  }
1451
- }, [s]), y = E(async () => {
1392
+ }, [s]), y = p(async () => {
1452
1393
  if (!s)
1453
1394
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1454
- A(!0), r(null);
1395
+ t(!0), r(null);
1455
1396
  try {
1456
1397
  return await s.get("/wallet/material");
1457
1398
  } catch (I) {
1458
- const c = M(I, "Failed to fetch wallet material");
1459
- if (c.code === "NOT_FOUND")
1399
+ const l = M(I, "Failed to fetch wallet material");
1400
+ if (l.code === "NOT_FOUND")
1460
1401
  return null;
1461
- throw r(c.message), c;
1402
+ throw r(l.message), l;
1462
1403
  } finally {
1463
- A(!1);
1404
+ t(!1);
1464
1405
  }
1465
- }, [s]), w = E(
1406
+ }, [s]), w = p(
1466
1407
  async (I) => {
1467
1408
  if (!s)
1468
1409
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1469
- A(!0), r(null);
1410
+ t(!0), r(null);
1470
1411
  try {
1471
1412
  await s.post("/wallet/enroll", I);
1472
- } catch (c) {
1473
- const f = M(c, "Failed to enroll wallet");
1474
- throw r(f.message), f;
1413
+ } catch (l) {
1414
+ const u = M(l, "Failed to enroll wallet");
1415
+ throw r(u.message), u;
1475
1416
  } finally {
1476
- A(!1);
1417
+ t(!1);
1477
1418
  }
1478
1419
  },
1479
1420
  [s]
1480
- ), U = E(
1421
+ ), G = p(
1481
1422
  async (I) => {
1482
1423
  if (!s)
1483
1424
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1484
- A(!0), r(null);
1425
+ t(!0), r(null);
1485
1426
  try {
1486
1427
  await s.post("/wallet/recover", I);
1487
- } catch (c) {
1488
- const f = M(c, "Failed to recover wallet");
1489
- throw r(f.message), f;
1428
+ } catch (l) {
1429
+ const u = M(l, "Failed to recover wallet");
1430
+ throw r(u.message), u;
1490
1431
  } finally {
1491
- A(!1);
1432
+ t(!1);
1492
1433
  }
1493
1434
  },
1494
1435
  [s]
1495
- ), Q = E(
1436
+ ), B = p(
1496
1437
  async (I) => {
1497
1438
  if (!s)
1498
1439
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1499
- A(!0), r(null);
1440
+ t(!0), r(null);
1500
1441
  try {
1501
1442
  return await s.post("/wallet/sign", I);
1502
- } catch (c) {
1503
- const f = M(c, "Failed to sign transaction");
1504
- throw r(f.message), f;
1443
+ } catch (l) {
1444
+ const u = M(l, "Failed to sign transaction");
1445
+ throw r(u.message), u;
1505
1446
  } finally {
1506
- A(!1);
1447
+ t(!1);
1507
1448
  }
1508
1449
  },
1509
1450
  [s]
1510
- ), C = E(
1451
+ ), Q = p(
1511
1452
  async (I) => {
1512
1453
  if (!s)
1513
1454
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1514
- A(!0), r(null);
1455
+ t(!0), r(null);
1515
1456
  try {
1516
1457
  await s.post("/wallet/rotate-user-secret", I);
1517
- } catch (c) {
1518
- const f = M(c, "Failed to rotate user secret");
1519
- throw r(f.message), f;
1458
+ } catch (l) {
1459
+ const u = M(l, "Failed to rotate user secret");
1460
+ throw r(u.message), u;
1520
1461
  } finally {
1521
- A(!1);
1462
+ t(!1);
1522
1463
  }
1523
1464
  },
1524
1465
  [s]
1525
- ), B = E(
1466
+ ), d = p(
1526
1467
  async (I) => {
1527
1468
  if (!s)
1528
1469
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1529
- A(!0), r(null);
1470
+ t(!0), r(null);
1530
1471
  try {
1531
1472
  return await s.post(
1532
1473
  "/wallet/unlock",
1533
- xt(I)
1474
+ OA(I)
1534
1475
  );
1535
- } catch (c) {
1536
- const f = M(c, "Failed to unlock wallet");
1537
- throw r(f.message), f;
1476
+ } catch (l) {
1477
+ const u = M(l, "Failed to unlock wallet");
1478
+ throw r(u.message), u;
1538
1479
  } finally {
1539
- A(!1);
1480
+ t(!1);
1540
1481
  }
1541
1482
  },
1542
1483
  [s]
1543
- ), u = E(async () => {
1484
+ ), f = p(async () => {
1544
1485
  if (!s)
1545
1486
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1546
- A(!0), r(null);
1487
+ t(!0), r(null);
1547
1488
  try {
1548
1489
  await s.post("/wallet/lock", {});
1549
1490
  } catch (I) {
1550
- const c = M(I, "Failed to lock wallet");
1551
- throw r(c.message), c;
1491
+ const l = M(I, "Failed to lock wallet");
1492
+ throw r(l.message), l;
1552
1493
  } finally {
1553
- A(!1);
1494
+ t(!1);
1554
1495
  }
1555
- }, [s]), K = E(
1496
+ }, [s]), m = p(
1556
1497
  async (I) => {
1557
1498
  if (!s)
1558
1499
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1559
- A(!0), r(null);
1500
+ t(!0), r(null);
1560
1501
  try {
1561
1502
  return await s.post("/wallet/share-b", I);
1562
- } catch (c) {
1563
- const f = M(c, "Failed to get Share B for recovery");
1564
- throw r(f.message), f;
1503
+ } catch (l) {
1504
+ const u = M(l, "Failed to get Share B for recovery");
1505
+ throw r(u.message), u;
1565
1506
  } finally {
1566
- A(!1);
1507
+ t(!1);
1567
1508
  }
1568
1509
  },
1569
1510
  [s]
1570
- ), p = E(
1511
+ ), E = p(
1571
1512
  async (I) => {
1572
1513
  if (!s)
1573
1514
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1574
- A(!0), r(null);
1515
+ t(!0), r(null);
1575
1516
  try {
1576
1517
  return await s.post("/wallet/derived", I);
1577
- } catch (c) {
1578
- const f = M(c, "Failed to create derived wallet");
1579
- throw r(f.message), f;
1518
+ } catch (l) {
1519
+ const u = M(l, "Failed to create derived wallet");
1520
+ throw r(u.message), u;
1580
1521
  } finally {
1581
- A(!1);
1522
+ t(!1);
1582
1523
  }
1583
1524
  },
1584
1525
  [s]
1585
- ), F = E(async () => {
1526
+ ), S = p(async () => {
1586
1527
  if (!s)
1587
1528
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1588
- A(!0), r(null);
1529
+ t(!0), r(null);
1589
1530
  try {
1590
1531
  return await s.get("/wallet/derived");
1591
1532
  } catch (I) {
1592
- const c = M(I, "Failed to list wallets");
1593
- throw r(c.message), c;
1533
+ const l = M(I, "Failed to list wallets");
1534
+ throw r(l.message), l;
1594
1535
  } finally {
1595
- A(!1);
1536
+ t(!1);
1596
1537
  }
1597
- }, [s]), d = E(
1538
+ }, [s]), C = p(
1598
1539
  async (I) => {
1599
1540
  if (!s)
1600
1541
  throw new Error("useWalletMaterial must be used within a CedrosLoginProvider");
1601
- A(!0), r(null);
1542
+ t(!0), r(null);
1602
1543
  try {
1603
1544
  await s.delete(`/wallet/derived/${I}`);
1604
- } catch (c) {
1605
- const f = M(c, "Failed to delete derived wallet");
1606
- throw r(f.message), f;
1545
+ } catch (l) {
1546
+ const u = M(l, "Failed to delete derived wallet");
1547
+ throw r(u.message), u;
1607
1548
  } finally {
1608
- A(!1);
1549
+ t(!1);
1609
1550
  }
1610
1551
  },
1611
1552
  [s]
1612
- ), l = E(() => r(null), []);
1553
+ ), g = p(() => r(null), []);
1613
1554
  return {
1614
1555
  getStatus: k,
1615
1556
  getMaterial: y,
1616
1557
  enroll: w,
1617
- recover: U,
1618
- signTransaction: Q,
1619
- rotateUserSecret: C,
1620
- unlock: B,
1621
- lock: u,
1622
- getShareBForRecovery: K,
1623
- createDerivedWallet: p,
1624
- listAllWallets: F,
1625
- deleteDerivedWallet: d,
1626
- isLoading: t,
1558
+ recover: G,
1559
+ signTransaction: B,
1560
+ rotateUserSecret: Q,
1561
+ unlock: d,
1562
+ lock: f,
1563
+ getShareBForRecovery: m,
1564
+ createDerivedWallet: E,
1565
+ listAllWallets: S,
1566
+ deleteDerivedWallet: C,
1567
+ isLoading: A,
1627
1568
  error: i,
1628
- clearError: l
1569
+ clearError: g
1629
1570
  };
1630
1571
  }
1631
- const Tt = {
1572
+ const vA = {
1632
1573
  status: "not_enrolled",
1633
1574
  solanaPubkey: null,
1634
1575
  authMethod: null,
@@ -1642,193 +1583,193 @@ const Tt = {
1642
1583
  clearError: () => {
1643
1584
  }
1644
1585
  };
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);
1586
+ function TA() {
1587
+ const A = ye() !== null, [t, i] = U("loading"), [r, n] = U(null), [o, a] = U(null), [c, s] = U(!1), [k, y] = U(!1), [w, G] = U(null), [B, Q] = U(null), { getStatus: d, isLoading: f } = xA(), m = P(!1);
1647
1588
  O(() => {
1648
- if (!t) return;
1649
- let d = !1;
1589
+ if (!A) return;
1590
+ let C = !1;
1650
1591
  return (async () => {
1651
1592
  try {
1652
- const I = await Ot();
1653
- if (d) return;
1654
- U(I), I.allSupported || (i("error"), C(
1593
+ const I = await YA();
1594
+ if (C) return;
1595
+ G(I), I.allSupported || (i("error"), Q(
1655
1596
  "Your browser or device does not support all required features. Please use a modern browser with a platform authenticator."
1656
1597
  ));
1657
1598
  } catch {
1658
- if (d) return;
1659
- U(null), i("error"), C("Failed to check crypto capabilities");
1599
+ if (C) return;
1600
+ G(null), i("error"), Q("Failed to check crypto capabilities");
1660
1601
  }
1661
1602
  })(), () => {
1662
- d = !0;
1603
+ C = !0;
1663
1604
  };
1664
- }, [t]);
1665
- const p = E(async () => {
1666
- if (!(!t || !w?.allSupported)) {
1667
- i("loading"), C(null);
1605
+ }, [A]);
1606
+ const E = p(async () => {
1607
+ if (!(!A || !w?.allSupported)) {
1608
+ i("loading"), Q(null);
1668
1609
  try {
1669
- const d = await B();
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
- } catch (d) {
1672
- i("error"), C(d instanceof Error ? d.message : "Failed to fetch wallet status");
1610
+ const C = await d();
1611
+ n(C.solanaPubkey ?? null), a(C.authMethod ?? null), s(C.hasExternalWallet), y(C.unlocked), C.hasExternalWallet ? i("enrolled_unlocked") : C.enrolled ? i(C.unlocked ? "enrolled_unlocked" : "enrolled_locked") : i("not_enrolled");
1612
+ } catch (C) {
1613
+ i("error"), Q(C instanceof Error ? C.message : "Failed to fetch wallet status");
1673
1614
  }
1674
1615
  }
1675
- }, [t, w?.allSupported, B]);
1616
+ }, [A, w?.allSupported, d]);
1676
1617
  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
- return t ? {
1681
- status: A,
1618
+ A && w?.allSupported && !f && !m.current && (m.current = !0, E());
1619
+ }, [A, w?.allSupported, f, E]);
1620
+ const S = p(() => Q(null), []);
1621
+ return A ? {
1622
+ status: t,
1682
1623
  solanaPubkey: r,
1683
1624
  authMethod: o,
1684
- hasExternalWallet: g,
1625
+ hasExternalWallet: c,
1685
1626
  isUnlocked: k,
1686
1627
  capabilities: w,
1687
1628
  isSupported: w?.allSupported ?? !1,
1688
- error: Q,
1689
- refresh: p,
1690
- clearError: F
1691
- } : Tt;
1629
+ error: B,
1630
+ refresh: E,
1631
+ clearError: S
1632
+ } : vA;
1692
1633
  }
1693
- const ie = "__CEDROS_EMBEDDED_WALLET__";
1694
- function Lt(e) {
1695
- typeof window < "u" && (window[ie] = e);
1634
+ const Ae = "__CEDROS_EMBEDDED_WALLET__";
1635
+ function RA(e) {
1636
+ typeof window < "u" && (window[Ae] = e);
1696
1637
  }
1697
- function Ce() {
1698
- typeof window < "u" && delete window[ie];
1638
+ function le() {
1639
+ typeof window < "u" && delete window[Ae];
1699
1640
  }
1700
- function IA() {
1701
- return typeof window > "u" ? !1 : window[ie]?.available ?? !1;
1641
+ function st() {
1642
+ return typeof window > "u" ? !1 : window[Ae]?.available ?? !1;
1702
1643
  }
1703
- function aA() {
1704
- return typeof window > "u" ? null : window[ie] ?? null;
1644
+ function It() {
1645
+ return typeof window > "u" ? null : window[Ae] ?? null;
1705
1646
  }
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;
1647
+ function LA() {
1648
+ const { config: e, user: A } = ke(), { status: t, solanaPubkey: i, hasExternalWallet: r } = TA(), n = e.wallet?.exposeAvailability ?? !1, o = e.wallet?.exposePublicKey ?? !1;
1708
1649
  return O(() => {
1709
- if (!n || !t) {
1710
- Ce();
1650
+ if (!n || !A) {
1651
+ le();
1711
1652
  return;
1712
1653
  }
1713
1654
  if (r) {
1714
- Ce();
1655
+ le();
1715
1656
  return;
1716
1657
  }
1717
- if (A === "loading")
1658
+ if (t === "loading")
1718
1659
  return;
1719
- const a = A === "enrolled_locked" || A === "enrolled_unlocked";
1720
- return Lt({
1660
+ const a = t === "enrolled_locked" || t === "enrolled_unlocked";
1661
+ return RA({
1721
1662
  available: a,
1722
1663
  publicKey: o && a ? i : null
1723
1664
  }), () => {
1724
- Ce();
1665
+ le();
1725
1666
  };
1726
- }, [n, o, t, A, i, r]), null;
1667
+ }, [n, o, A, t, i, r]), null;
1727
1668
  }
1728
- function gA({ config: e, children: t }) {
1729
- const [A, i] = b(null), [r, n] = b(!1), o = N(e.callbacks);
1669
+ function at({ config: e, children: A }) {
1670
+ const [t, i] = U(null), [r, n] = U(!1), o = P(e.callbacks);
1730
1671
  o.current = e.callbacks;
1731
- const a = N({
1732
- onLoginSuccess: (...L) => o.current?.onLoginSuccess?.(...L),
1733
- onLoginError: (...L) => o.current?.onLoginError?.(...L),
1672
+ const a = P({
1673
+ onLoginSuccess: (...R) => o.current?.onLoginSuccess?.(...R),
1674
+ onLoginError: (...R) => o.current?.onLoginError?.(...R),
1734
1675
  onLogout: () => o.current?.onLogout?.(),
1735
1676
  onSessionExpired: () => o.current?.onSessionExpired?.()
1736
- }), g = e.features === "auto", {
1677
+ }), c = e.features === "auto", {
1737
1678
  features: s,
1738
1679
  googleClientId: k,
1739
1680
  appleClientId: y,
1740
1681
  socialButtonOrder: w,
1741
- isLoading: U
1742
- } = Ye(
1682
+ isLoading: G
1683
+ } = Pe(
1743
1684
  e.serverUrl,
1744
- g,
1685
+ c,
1745
1686
  e.requestTimeout
1746
- ), Q = V(() => !g || !s ? e : {
1687
+ ), B = V(() => !c || !s ? e : {
1747
1688
  ...e,
1748
1689
  features: s,
1749
1690
  googleClientId: e.googleClientId ?? k,
1750
1691
  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,
1692
+ }, [e, c, s, k, y]), Q = V(
1693
+ () => JSON.stringify(B.themeOverrides ?? null),
1694
+ [B.themeOverrides]
1695
+ ), d = V(() => JSON.stringify(B.session ?? null), [B.session]), f = V(() => JSON.stringify(B.features ?? null), [B.features]), m = V(() => JSON.stringify(B.forms ?? null), [B.forms]), E = V(
1696
+ () => B,
1756
1697
  // eslint-disable-next-line react-hooks/exhaustive-deps -- Using serialized keys for deep comparison; callbacks excluded (see UI-06)
1757
1698
  [
1758
- Q.serverUrl,
1759
- Q.googleClientId,
1760
- Q.appleClientId,
1761
- Q.requestTimeout,
1762
- Q.retryAttempts,
1763
- Q.theme,
1764
- C,
1765
- B,
1766
- u,
1767
- K
1699
+ B.serverUrl,
1700
+ B.googleClientId,
1701
+ B.appleClientId,
1702
+ B.requestTimeout,
1703
+ B.retryAttempts,
1704
+ B.theme,
1705
+ Q,
1706
+ d,
1707
+ f,
1708
+ m
1768
1709
  ]
1769
1710
  );
1770
- Pe({
1771
- theme: p.theme,
1772
- themeOverrides: p.themeOverrides
1711
+ Ve({
1712
+ theme: E.theme,
1713
+ themeOverrides: E.themeOverrides
1773
1714
  });
1774
1715
  const {
1775
- user: F,
1776
- authState: d,
1777
- handleLoginSuccess: l,
1716
+ user: S,
1717
+ authState: C,
1718
+ handleLoginSuccess: g,
1778
1719
  logout: I,
1779
- refreshUser: c,
1780
- getAccessToken: f
1781
- } = Xe({
1782
- serverUrl: p.serverUrl,
1783
- session: p.session,
1720
+ refreshUser: l,
1721
+ getAccessToken: u
1722
+ } = Le({
1723
+ serverUrl: E.serverUrl,
1724
+ session: E.session,
1784
1725
  callbacks: a.current,
1785
- requestTimeoutMs: p.requestTimeout
1786
- }), h = E(async () => {
1726
+ requestTimeoutMs: E.requestTimeout
1727
+ }), h = p(async () => {
1787
1728
  i(null), await I();
1788
- }, [I]), S = E(
1789
- (...L) => {
1790
- i(null), l(...L);
1729
+ }, [I]), D = p(
1730
+ (...R) => {
1731
+ i(null), g(...R);
1791
1732
  },
1792
- [l]
1793
- ), G = E(() => n(!0), []), H = E(() => n(!1), []), m = V(
1733
+ [g]
1734
+ ), K = p(() => n(!0), []), H = p(() => n(!1), []), b = V(
1794
1735
  () => ({
1795
- config: p,
1796
- user: F,
1797
- authState: d,
1736
+ config: E,
1737
+ user: S,
1738
+ authState: C,
1798
1739
  logout: h,
1799
- refreshUser: c,
1800
- socialButtonOrder: g ? w : void 0,
1740
+ refreshUser: l,
1741
+ socialButtonOrder: c ? w : void 0,
1801
1742
  _internal: {
1802
- handleLoginSuccess: S,
1803
- getAccessToken: f
1743
+ handleLoginSuccess: D,
1744
+ getAccessToken: u
1804
1745
  }
1805
1746
  }),
1806
- [p, F, d, h, c, g, w, S, f]
1747
+ [E, S, C, h, l, c, w, D, u]
1807
1748
  ), J = V(
1808
1749
  () => ({
1809
- error: A,
1750
+ error: t,
1810
1751
  isModalOpen: r,
1811
- openModal: G,
1752
+ openModal: K,
1812
1753
  closeModal: H
1813
1754
  }),
1814
- [A, r, G, H]
1755
+ [t, r, K, H]
1815
1756
  ), Y = V(
1816
- () => ({ ...m, ...J }),
1817
- [m, J]
1757
+ () => ({ ...b, ...J }),
1758
+ [b, J]
1818
1759
  );
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, {}),
1821
- t
1760
+ return c && G ? null : /* @__PURE__ */ re(He.Provider, { value: b, children: /* @__PURE__ */ re(Je.Provider, { value: J, children: /* @__PURE__ */ Ke(Me.Provider, { value: Y, children: [
1761
+ /* @__PURE__ */ re(LA, {}),
1762
+ A
1822
1763
  ] }) }) });
1823
1764
  }
1824
- function lA() {
1825
- const { user: e, authState: t, error: A, logout: i, refreshUser: r, openModal: n, closeModal: o } = ke();
1765
+ function gt() {
1766
+ const { user: e, authState: A, error: t, logout: i, refreshUser: r, openModal: n, closeModal: o } = ke();
1826
1767
  return {
1827
1768
  user: e,
1828
- authState: t,
1829
- error: A,
1830
- isAuthenticated: t === "authenticated" && e !== null,
1831
- isLoading: t === "loading",
1769
+ authState: A,
1770
+ error: t,
1771
+ isAuthenticated: A === "authenticated" && e !== null,
1772
+ isLoading: A === "loading",
1832
1773
  logout: i,
1833
1774
  refreshUser: r,
1834
1775
  openLoginModal: n,
@@ -1836,30 +1777,29 @@ function lA() {
1836
1777
  };
1837
1778
  }
1838
1779
  export {
1839
- gA as C,
1840
- We as D,
1841
- zt as a,
1842
- tA as b,
1843
- ee as c,
1844
- iA as d,
1845
- De as e,
1846
- _t as f,
1847
- $t as g,
1848
- et as h,
1849
- oA as i,
1850
- sA as j,
1851
- vt as k,
1852
- nt as l,
1853
- nA as m,
1854
- AA as n,
1855
- xt as o,
1856
- It as p,
1857
- Rt as q,
1858
- rA as r,
1859
- IA as s,
1860
- Se as t,
1861
- lA as u,
1862
- Gt as v,
1863
- eA as w,
1864
- aA as x
1780
+ at as C,
1781
+ Xe as D,
1782
+ it as a,
1783
+ ze as b,
1784
+ et as c,
1785
+ ot as d,
1786
+ xA as e,
1787
+ _A as f,
1788
+ nt as g,
1789
+ At as h,
1790
+ Se as i,
1791
+ ue as j,
1792
+ $A as k,
1793
+ zA as l,
1794
+ rt as m,
1795
+ tt as n,
1796
+ OA as o,
1797
+ oA as p,
1798
+ TA as q,
1799
+ It as r,
1800
+ st as s,
1801
+ qA as t,
1802
+ gt as u,
1803
+ mA as v,
1804
+ De as w
1865
1805
  };