From 0bf630c39fe290ea2718eab7a0759d978c736ef9 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 26 Nov 2024 13:08:08 -0800 Subject: bip21 and socket fixes --- .../(app)/send/bitcoin/[address]/+layout.server.ts | 18 ++++++----- .../[amount]/[...feeRate]/+page.server.ts | 5 ++-- .../[address]/[amount]/[...feeRate]/+page.svelte | 35 +++++----------------- src/routes/(app)/send/invoice/[id]/+page.svelte | 2 +- 4 files changed, 21 insertions(+), 39 deletions(-) (limited to 'src/routes/(app)/send') diff --git a/src/routes/(app)/send/bitcoin/[address]/+layout.server.ts b/src/routes/(app)/send/bitcoin/[address]/+layout.server.ts index 68191311..a321ec43 100644 --- a/src/routes/(app)/send/bitcoin/[address]/+layout.server.ts +++ b/src/routes/(app)/send/bitcoin/[address]/+layout.server.ts @@ -4,20 +4,22 @@ import { redirect } from "@sveltejs/kit"; export async function load({ cookies, params, parent }) { const { user } = await parent(); const aid = cookies.get("aid"); - const { address } = params; + const { address, amount } = params; const { balance } = await get(`/account/${aid}`, auth(cookies)); + let invoice; try { - const invoice = await get(`/invoice/${address}`); - - if (invoice) { - const recipient = await get(`/users/${invoice.uid}`); - if (recipient?.id !== user.id) - redirect(307, `/pay/${recipient.username}`); - } + invoice = await get(`/invoice/${address}`); } catch (e) { // invoice not found } + if (invoice) { + const recipient = await get(`/users/${invoice.uid}`); + let r = `/pay/${recipient.username}`; + if (amount) r += `/${amount}`; + if (recipient?.id !== user.id) redirect(307, r); + } + return { balance }; } diff --git a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts index 1122e689..9156bf7b 100644 --- a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts +++ b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts @@ -39,9 +39,10 @@ export const actions = { try { const body = await fd(request); p = await post("/bitcoin/send", body, auth(cookies)); - } catch (e: any) { + } catch (e) { console.log("problem sending bitcoin", e); - return fail(400, { address, amount, feeRate, message: e.message }); + const { message } = e as Error; + return fail(400, { address, amount, feeRate, message }); } redirect(307, `/sent/${p.id}`); diff --git a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte index f37d4479..298280df 100644 --- a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte +++ b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte @@ -5,19 +5,10 @@ import { t } from "$lib/translations"; import { enhance } from "$app/forms"; import Toggle from "$comp/Toggle.svelte"; - import Icon from "$comp/Icon.svelte"; import Spinner from "$comp/Spinner.svelte"; import WalletPass from "$comp/WalletPass.svelte"; import { page } from "$app/stores"; - import { - toFiat, - f, - focus, - s, - sat, - closest, - network, - } from "$lib/utils"; + import { toFiat, f, focus, s, sat, closest, network } from "$lib/utils"; import { pin } from "$lib/store"; import { goto, invalidate } from "$app/navigation"; import { rate } from "$lib/store"; @@ -30,6 +21,8 @@ import { entropyToMnemonic, mnemonicToSeed } from "@scure/bip39"; import { wordlist } from "@scure/bip39/wordlists/english"; + import Amount from "$comp/Amount.svelte"; + let { data, form } = $props(); let { encode, decode } = hexUtil; @@ -130,34 +123,20 @@ {:else}
{address}
-
-

- {f(toFiat(amount, $rate), currency)} -

-

⚡️{s(amount)}

-
+

{$t("payments.networkFee")}

- {#each Object.keys(feeNames) as feeName} {feeNames[feeName]} — {fees[feeName]} sats/vb {/each} -
-

- {f(toFiat(fee, $rate), currency)} -

-

⚡️{s(fee)}

-
+
diff --git a/src/routes/(app)/send/invoice/[id]/+page.svelte b/src/routes/(app)/send/invoice/[id]/+page.svelte index f5259170..d2b3727c 100644 --- a/src/routes/(app)/send/invoice/[id]/+page.svelte +++ b/src/routes/(app)/send/invoice/[id]/+page.svelte @@ -103,7 +103,7 @@ -

+

{$t("payments.to")}

-- cgit v1.2.3