diff options
| author | Adam Soltys <[email protected]> | 2025-01-17 11:28:30 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-01-17 11:28:30 -0800 |
| commit | 06308bb12edff8e51b189b57d9f5a147959d743a (patch) | |
| tree | 2dad64b95eb0976f581783a2a83a5c5d0be69134 /routes | |
| parent | 2e28b65fc3d790d9fece0f3aa22f35b2012d9739 (diff) | |
| download | coinos-server-06308bb12edff8e51b189b57d9f5a147959d743a.tar.gz coinos-server-06308bb12edff8e51b189b57d9f5a147959d743a.zip | |
send zaps for internal payments
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/nostr.ts | 2 | ||||
| -rw-r--r-- | routes/payments.ts | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/routes/nostr.ts b/routes/nostr.ts index 0ebc879b..9660227e 100644 --- a/routes/nostr.ts +++ b/routes/nostr.ts @@ -255,7 +255,7 @@ export default { const callback = await getZapEndpoint({ content } as Event); const url = new URL(callback); url.searchParams.set("amount", (amount * 1000).toString()); - url.searchParams.set("nostr", encodeURIComponent(JSON.stringify(event))); + url.searchParams.set("nostr", JSON.stringify(event)); const json = await got(url.toString()).json(); res.send(json); diff --git a/routes/payments.ts b/routes/payments.ts index ed533c76..75d667f2 100644 --- a/routes/payments.ts +++ b/routes/payments.ts @@ -55,9 +55,10 @@ export default { let p; + const invoice = await getInvoice(payreq || hash); + const recipient = invoice ? await getUser(invoice.uid) : undefined; if (payreq) { - const invoice = await getInvoice(payreq); - if (invoice && invoice.uid !== (await g("user:mint"))) { + if (invoice && recipient.username !== "mint") { if (invoice.aid === user.id) fail("Cannot send to self"); hash = payreq; if (!amount) ({ amount } = invoice); @@ -68,8 +69,13 @@ export default { if (!p) { if (hash) { - p = await debit({ hash, amount, memo, user }); - await credit({ hash, amount, memo, ref: user.id }); + p = await sendInternal({ + invoice, + amount, + memo, + recipient, + sender: user, + }); } else if (fund) { p = await debit({ hash, amount, memo: fund, user, type: types.fund }); await db.incrBy(`fund:${fund}`, amount); |
