From ca6b61f747d394dadd3bbc5ca428da3490c69584 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 16 Aug 2024 13:42:59 -0700 Subject: ecash wip --- bun.lockb | Bin 154608 -> 157495 bytes package.json | 3 +- src/lib/nostr.js | 2 +- src/routes/(app)/+layout.server.js | 4 ++ src/routes/(app)/[username]/generate/+page.svelte | 2 +- src/routes/(app)/[username]/generate/+server.js | 11 ---- src/routes/(app)/[username]/getcash/+page.svelte | 66 ++++++++++++++++++++++ src/routes/(app)/[username]/update/+server.js | 11 ++++ 8 files changed, 85 insertions(+), 14 deletions(-) delete mode 100644 src/routes/(app)/[username]/generate/+server.js create mode 100644 src/routes/(app)/[username]/getcash/+page.svelte create mode 100644 src/routes/(app)/[username]/update/+server.js diff --git a/bun.lockb b/bun.lockb index 23f34c1f..6867a30f 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index e5d1e8ba..55421c59 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "dependencies": { "@capacitor/android": "^6.0.0", "@capacitor/cli": "^6.0.0", - "@capacitor/core": "^6.0.0" + "@capacitor/core": "^6.0.0", + "@cashu/cashu-ts": "^1.0.1" } } diff --git a/src/lib/nostr.js b/src/lib/nostr.js index 5209418a..c94958b4 100644 --- a/src/lib/nostr.js +++ b/src/lib/nostr.js @@ -106,7 +106,7 @@ export let getPrivateKey = async (user) => { export let getMnemonic = async (user) => { let { cipher, username, salt } = user; - let mnemonic, key, seed, entropy, child, privkey; + let mnemonic, key, entropy, child, privkey; entropy = new Uint8Array( await crypto.subtle.decrypt( diff --git a/src/routes/(app)/+layout.server.js b/src/routes/(app)/+layout.server.js index 50d51584..eabd32fc 100644 --- a/src/routes/(app)/+layout.server.js +++ b/src/routes/(app)/+layout.server.js @@ -38,6 +38,10 @@ export async function load({ cookies, request, url, params }) { redirect(303, `/${user.username}/generate`); } + if (user && !user.cpub && !pathname.includes("getcash")) { + redirect(303, `/${user.username}/getcash`); + } + try { rate = await get("/rate"); rates = await get("/rates"); diff --git a/src/routes/(app)/[username]/generate/+page.svelte b/src/routes/(app)/[username]/generate/+page.svelte index 767b7545..63d53db7 100644 --- a/src/routes/(app)/[username]/generate/+page.svelte +++ b/src/routes/(app)/[username]/generate/+page.svelte @@ -28,7 +28,7 @@ try { user.pin = $pin; - await post(`/${user.username}/generate`, user); + await post(`/${user.username}/update`, user); goto($loginRedirect || `/${user.username}`, { invalidateAll: true }); } catch (e) { $pin = ""; diff --git a/src/routes/(app)/[username]/generate/+server.js b/src/routes/(app)/[username]/generate/+server.js deleted file mode 100644 index 3e3a9358..00000000 --- a/src/routes/(app)/[username]/generate/+server.js +++ /dev/null @@ -1,11 +0,0 @@ -import { auth, post } from "$lib/utils"; -import { error, json } from "@sveltejs/kit"; - -export async function POST({ cookies, request }) { - try { - let body = await request.json(); - return json(await post(`/user`, body, auth(cookies))); - } catch (e) { - error(500, e.message); - } -} diff --git a/src/routes/(app)/[username]/getcash/+page.svelte b/src/routes/(app)/[username]/getcash/+page.svelte new file mode 100644 index 00000000..11491e5b --- /dev/null +++ b/src/routes/(app)/[username]/getcash/+page.svelte @@ -0,0 +1,66 @@ + + +{#if loaded && user?.haspin && $pin?.length !== 6} + +{/if} + +
+

Issuing e-cash

+
+ +
+
diff --git a/src/routes/(app)/[username]/update/+server.js b/src/routes/(app)/[username]/update/+server.js new file mode 100644 index 00000000..3e3a9358 --- /dev/null +++ b/src/routes/(app)/[username]/update/+server.js @@ -0,0 +1,11 @@ +import { auth, post } from "$lib/utils"; +import { error, json } from "@sveltejs/kit"; + +export async function POST({ cookies, request }) { + try { + let body = await request.json(); + return json(await post(`/user`, body, auth(cookies))); + } catch (e) { + error(500, e.message); + } +} -- cgit v1.2.3