From 06308bb12edff8e51b189b57d9f5a147959d743a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 17 Jan 2025 11:28:30 -0800 Subject: send zaps for internal payments --- lib/invoices.ts | 5 ++--- lib/nostr.ts | 2 +- lib/payments.ts | 13 +++++++++++-- 3 files changed, 14 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/invoices.ts b/lib/invoices.ts index d121353c..4710beb2 100644 --- a/lib/invoices.ts +++ b/lib/invoices.ts @@ -32,7 +32,6 @@ export const generate = async ({ invoice, user }) => { secret, } = invoice; - amount = parseInt(amount || 0); tip = parseInt(tip) || null; @@ -102,11 +101,11 @@ export const generate = async ({ invoice, user }) => { await s(`invoice:${r.offer_id}`, id); } else if (type === types.bitcoin) { - address_type ||= "bech32" + address_type ||= "bech32"; hash = await bc.getNewAddress({ address_type }); text = bip21(hash, invoice); } else if (type === types.liquid) { - address_type ||= "blech32" + address_type ||= "blech32"; hash = await lq.getNewAddress({ address_type }); text = bip21(hash, invoice); } else if (type === types.internal) { diff --git a/lib/nostr.ts b/lib/nostr.ts index f5d85ea0..4fb79dfd 100644 --- a/lib/nostr.ts +++ b/lib/nostr.ts @@ -1,6 +1,6 @@ import config from "$config"; import { db, g, s } from "$lib/db"; -import { l } from "$lib/logging"; +import { l, warn } from "$lib/logging"; import { count, scan, sync } from "$lib/strfry"; import { fail } from "$lib/utils"; import { finalizeEvent, getPublicKey, nip19 } from "nostr-tools"; diff --git a/lib/payments.ts b/lib/payments.ts index d88dc6aa..5f818ae4 100644 --- a/lib/payments.ts +++ b/lib/payments.ts @@ -4,6 +4,7 @@ import { db, g, s } from "$lib/db"; import { generate } from "$lib/invoices"; import ln from "$lib/ln"; import { err, l, warn } from "$lib/logging"; +import { handleZap } from "$lib/nostr"; import { notify } from "$lib/notifications"; import { SATS, @@ -547,6 +548,7 @@ export const sendLightning = async ({ export const sendInternal = async ({ amount, invoice = undefined, + memo = undefined, recipient, sender, }) => { @@ -557,10 +559,17 @@ export const sendInternal = async ({ }); const { hash } = invoice; - let memo; - const p = await debit({ hash, amount, memo, user: sender }); await credit({ hash, amount, memo, ref: sender.id }); + + if (invoice.memo?.includes("9734")) { + const { invoices } = await ln.listinvoices({ invstring: hash }); + const inv = invoices[0]; + inv.payment_preimage = p.id; + inv.paid_at = Math.floor(Date.now() / 1000); + handleZap(inv).catch(console.log); + } + return p; }; -- cgit v1.2.3