From 21431092d710bf155082e522620cc5ba4fab6c7c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 19 Sep 2023 07:09:36 -0700 Subject: abort payment after 5 checks --- routes/payments.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/routes/payments.js b/routes/payments.js index 8f9b90bd..7a8659f5 100644 --- a/routes/payments.js +++ b/routes/payments.js @@ -82,17 +82,20 @@ export default { let check = async () => { checks++; - if (checks > 10) clearInterval(interval); try { let { pays } = await ln.listpays(payreq); let recordExists = !!(await g(`payment:${p.id}`)); - let paymentFailed = (pays.length && pays[pays.length - 1].status === "failed") + let paymentFailed = + pays.length && pays[pays.length - 1].status === "failed"; l("checking", payreq, recordExists, paymentFailed); - if (recordExists && paymentFailed) { + if ( + recordExists && + (paymentFailed || (checks > 5 && !pays.length)) + ) { await db.del(`payment:${p.id}`); let credit = Math.round(total * config.fee) - p.ourfee; @@ -136,7 +139,6 @@ export default { p.fee = Math.round((r.amount_sent_msat - r.amount_msat) / 1000); p.ref = r.payment_preimage; - await s(`payment:${p.id}`, p); l("refunding fee", maxfee, p.fee, maxfee - p.fee, p.ref); -- cgit v1.2.3