aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-01-17 11:28:30 -0800
committerAdam Soltys <[email protected]>2025-01-17 11:28:30 -0800
commit06308bb12edff8e51b189b57d9f5a147959d743a (patch)
tree2dad64b95eb0976f581783a2a83a5c5d0be69134 /routes
parent2e28b65fc3d790d9fece0f3aa22f35b2012d9739 (diff)
downloadcoinos-server-06308bb12edff8e51b189b57d9f5a147959d743a.tar.gz
coinos-server-06308bb12edff8e51b189b57d9f5a147959d743a.zip
send zaps for internal payments
Diffstat (limited to 'routes')
-rw-r--r--routes/nostr.ts2
-rw-r--r--routes/payments.ts14
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);