From db38e8f3316a121ba64d7e1c4cfd93b4826d6f4e Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 8 Oct 2023 00:16:50 -0700 Subject: use invoice id instead of hash --- lib/invoices.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'lib/invoices.js') diff --git a/lib/invoices.js b/lib/invoices.js index 0bb57714..8ac49a79 100644 --- a/lib/invoices.js +++ b/lib/invoices.js @@ -36,6 +36,8 @@ export let generate = async ({ invoice, user, sender, memo }) => { if (fiat) amount = Math.round((SATS * fiat) / rate); if (amount < 0) fail("invalid amount"); + let id = v4(); + let hash, text; if (type === types.lightning) { let r = await ln.invoice({ @@ -52,7 +54,7 @@ export let generate = async ({ invoice, user, sender, memo }) => { hash = await bc.getNewAddress(); text = bip21(hash, invoice); } else if (type === types.internal) { - hash = v4(); + hash = id; } else { fail("unrecognized type"); } @@ -62,6 +64,7 @@ export let generate = async ({ invoice, user, sender, memo }) => { created: Date.now(), currency, hash, + id, rate, pending: 0, received: 0, @@ -75,16 +78,17 @@ export let generate = async ({ invoice, user, sender, memo }) => { webhook }; - l("creating invoice", user.username, amount, tip, currency, invoice.hash); + l("creating invoice", id, user.username, amount, tip, currency, invoice.hash); - await s(`invoice:${hash}`, invoice); - await db.lPush(`${user.id}:invoices`, hash); + await s(`invoice:${hash}`, id); + await s(`invoice:${id}`, invoice); + await db.lPush(`${user.id}:invoices`, id); if (request_id) { let request = await g(`request:${request_id}`); if (request) { let { invoice_id: prev } = request; - request.invoice_id = hash; + request.invoice_id = id; await s(`request:${request_id}`, request); if (!prev) emit(request.requester_id, "invoice", invoice); -- cgit v1.2.3