diff options
| author | Adam Soltys <[email protected]> | 2023-01-27 21:43:15 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-01-27 21:43:15 -0800 |
| commit | bcaf17d28fec60b0743040a3a5a361e38583503f (patch) | |
| tree | e3b05c04643a3e518ad4be2d6df421545a9accd7 /src | |
| parent | 5c30133fd43f71939ca20c58f2c4f86f92c27c30 (diff) | |
| download | coinos-ui-bcaf17d28fec60b0743040a3a5a361e38583503f.tar.gz coinos-ui-bcaf17d28fec60b0743040a3a5a361e38583503f.zip | |
deal in millisats
Diffstat (limited to 'src')
| -rw-r--r-- | src/components/Lnurlw.svelte | 2 | ||||
| -rw-r--r-- | src/routes/(app)/ln/[lnurl]/+page.server.js | 20 | ||||
| -rw-r--r-- | src/routes/(app)/ln/[lnurl]/+page.svelte | 2 |
3 files changed, 17 insertions, 7 deletions
diff --git a/src/components/Lnurlw.svelte b/src/components/Lnurlw.svelte index dab360aa..f2855b53 100644 --- a/src/components/Lnurlw.svelte +++ b/src/components/Lnurlw.svelte @@ -9,7 +9,7 @@ let { currency, username } = data.user; let { defaultDescription, minWithdrawable, maxWithdrawable, k1, callback } = data; - let amount = maxWithdrawable, + let amount = Math.round(maxWithdrawable / 1000), loading; let submit = () => (loading = true); diff --git a/src/routes/(app)/ln/[lnurl]/+page.server.js b/src/routes/(app)/ln/[lnurl]/+page.server.js index a947dbb4..6eebd87e 100644 --- a/src/routes/(app)/ln/[lnurl]/+page.server.js +++ b/src/routes/(app)/ln/[lnurl]/+page.server.js @@ -2,15 +2,19 @@ import { auth, get, post } from '$lib/utils'; import { error, fail, redirect } from '@sveltejs/kit'; export async function load({ params }) { + let data; + try { let { lnurl } = params; - let data = await get(`/decode?text=${lnurl}`); - if (data.tag === 'payRequest') throw redirect('/lnurlp'); - throw error(500, 'We can only handle lnurl pay requests'); - return data; + data = await get(`/decode?text=${lnurl}`); } catch (e) { throw error(500, e.message); } + + if (!['payRequest', 'withdrawRequest'].includes(data.tag)) + throw error(500, 'We only support LNURLp and LNURLw at this time'); + + return data; } export const actions = { @@ -21,11 +25,14 @@ export const actions = { await request.formData() ); + minSendable = Math.round(minSendable / 1000); + maxSendable = Math.round(maxSendable / 1000); + if (amount < minSendable) error = `Amount must be at least ${minSendable} sats`; if (amount > maxSendable) error = `Amount must be at most ${maxSendable} sats`; if (error) return fail(400, { error }); - let { pr } = await fetch(`${callback}?amount=${amount}`).then((r) => r.json()); + let { pr } = await fetch(`${callback}?amount=${amount * 1000}`).then((r) => r.json()); throw redirect(307, `/send/lightning/${pr}`); }, @@ -36,6 +43,9 @@ export const actions = { await request.formData() ); + minWithdrawable = Math.round(minWithdrawable / 1000); + maxWithdrawable = Math.round(maxWithdrawable / 1000); + if (amount < minWithdrawable) error = `Amount must be at least ${minWithdrawable} sats`; if (amount > maxWithdrawable) error = `Amount must be at most ${maxWithdrawable} sats`; if (error) return fail(400, { error }); diff --git a/src/routes/(app)/ln/[lnurl]/+page.svelte b/src/routes/(app)/ln/[lnurl]/+page.svelte index a1222698..ce73b387 100644 --- a/src/routes/(app)/ln/[lnurl]/+page.svelte +++ b/src/routes/(app)/ln/[lnurl]/+page.svelte @@ -1,7 +1,7 @@ <script> import { Lnurlp, Lnurlw } from '$comp'; export let data; - let { tag } = data; + let { tag } = data; </script> {#if tag === 'payRequest'} |
