aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-04 23:06:35 -0800
committerAdam Soltys <[email protected]>2026-03-04 23:06:35 -0800
commite5f37b003d93a17c2a9958697269b2d3228d8830 (patch)
treee2c3a3c4d1bec48d323e830f5be35d5832845a9a /src/lib
parente6882c6a8987e23215a2538b242431ae603c7101 (diff)
downloadcoinos-ui-e5f37b003d93a17c2a9958697269b2d3228d8830.tar.gz
coinos-ui-e5f37b003d93a17c2a9958697269b2d3228d8830.zip
tuning
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/parse.ts3
-rw-r--r--src/lib/passwordCache.ts62
-rw-r--r--src/lib/utils.ts5
3 files changed, 7 insertions, 63 deletions
diff --git a/src/lib/parse.ts b/src/lib/parse.ts
index 5e43a6ad..b5ff5f42 100644
--- a/src/lib/parse.ts
+++ b/src/lib/parse.ts
@@ -12,8 +12,9 @@ export default async (s, host, cookies) => {
let amount;
let invoice;
let user;
+ const aid = cookies.get("aid");
- if (t.startsWith("ark") || t.startsWith("tark")) redirect(307, `/send/ark/${t}`);
+ if (t.startsWith("ark") || t.startsWith("tark")) redirect(307, `/send/ark/${t}${aid ? `?aid=${aid}` : ""}`);
if (t.startsWith("http")) redirect(307, t);
if (t.startsWith(host)) redirect(307, `http://${t}`);
diff --git a/src/lib/passwordCache.ts b/src/lib/passwordCache.ts
index 0ed36af1..8ea4a9c9 100644
--- a/src/lib/passwordCache.ts
+++ b/src/lib/passwordCache.ts
@@ -1,69 +1,11 @@
import { browser } from "$app/environment";
-import { writable } from "svelte/store";
-
-const PASSWORD_KEY = "walletPassword";
-const EXPIRES_KEY = "walletPasswordExpiresAt";
-
-export const rememberForOptions = [
- { label: "user.settings.dontRemember", ms: 0 },
- { label: "user.settings.8hours", ms: 8 * 60 * 60 * 1000 },
- { label: "user.settings.1day", ms: 24 * 60 * 60 * 1000 },
- { label: "user.settings.1week", ms: 7 * 24 * 60 * 60 * 1000 },
- { label: "user.settings.1month", ms: 30 * 24 * 60 * 60 * 1000 },
- { label: "user.settings.1year", ms: 365 * 24 * 60 * 60 * 1000 },
-];
-
-export const defaultRememberForMs = 30 * 24 * 60 * 60 * 1000;
-
-const clearStoredPassword = () => {
- if (!browser) return;
- localStorage.removeItem(PASSWORD_KEY);
- localStorage.removeItem(EXPIRES_KEY);
-};
-
-const loadStoredPassword = () => {
- if (!browser) return undefined;
- const password = localStorage.getItem(PASSWORD_KEY) || undefined;
- if (!password) return undefined;
- const expiresAtRaw = localStorage.getItem(EXPIRES_KEY);
- const expiresAt = expiresAtRaw ? Number(expiresAtRaw) : undefined;
- if (expiresAt && Date.now() > expiresAt) {
- clearStoredPassword();
- return undefined;
- }
- return password;
-};
-
-export const walletPassword = writable<string | undefined>(loadStoredPassword());
-
-export const rememberWalletPassword = (password: string, durationMs: number) => {
- if (!browser) return;
- if (!durationMs) {
- clearStoredPassword();
- walletPassword.set(undefined);
- return;
- }
- const expiresAt = Date.now() + durationMs;
- localStorage.setItem(PASSWORD_KEY, password);
- localStorage.setItem(EXPIRES_KEY, String(expiresAt));
- walletPassword.set(password);
-};
-
-export const forgetWalletPassword = () => {
- clearStoredPassword();
- walletPassword.set(undefined);
-};
-
-export const getRememberedWalletPassword = () => {
- const password = loadStoredPassword();
- walletPassword.set(password);
- return password;
-};
// PRF key cache
const PRF_KEY = "prfKey";
const PRF_EXPIRES_KEY = "prfKeyExpiresAt";
+export const defaultRememberForMs = 30 * 24 * 60 * 60 * 1000;
+
function hexFromBuffer(buf: ArrayBuffer): string {
return Array.from(new Uint8Array(buf))
.map((b) => b.toString(16).padStart(2, "0"))
diff --git a/src/lib/utils.ts b/src/lib/utils.ts
index 74e05f17..9f1eec3a 100644
--- a/src/lib/utils.ts
+++ b/src/lib/utils.ts
@@ -46,7 +46,8 @@ export const get = (url: string, headers = {}) => {
return fetch(base + url, { headers: { ...ipHeaders(), ...headers } })
.then(async (r) => {
if (r.ok) return r.text();
- throw new Error(await r.text());
+ const text = await r.text();
+ throw new Error(text.replace(/^"|"$/g, ""));
})
.then((body) => {
try {
@@ -84,7 +85,7 @@ export const post = async (
} catch {}
if (message) throw new Error(message);
- throw new Error(text);
+ throw new Error(text.replace(/^"|"$/g, ""));
})
.then((body) => {
let json;