diff options
| author | Adam Soltys <[email protected]> | 2023-09-19 07:09:36 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-09-19 07:09:36 -0700 |
| commit | 21431092d710bf155082e522620cc5ba4fab6c7c (patch) | |
| tree | 3e86859f0d960d98e0243a516d6fa3208c90e665 | |
| parent | 9f846760924ea58ccd120a812f2a3c9a42ec933f (diff) | |
| download | coinos-server-21431092d710bf155082e522620cc5ba4fab6c7c.tar.gz coinos-server-21431092d710bf155082e522620cc5ba4fab6c7c.zip | |
abort payment after 5 checks
| -rw-r--r-- | routes/payments.js | 10 |
1 files 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); |
