From 765c6a42135b9334b616c26b22c816edd06e382a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 15 Sep 2019 23:05:26 -0700 Subject: refactor --- lightningPayments.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lightningPayments.js (limited to 'lightningPayments.js') diff --git a/lightningPayments.js b/lightningPayments.js new file mode 100644 index 00000000..ed1d3647 --- /dev/null +++ b/lightningPayments.js @@ -0,0 +1,31 @@ +module.exports = (app, db, lna, lnb, emit, payments) => { + const handlePayment = async msg => { + if (!msg.settled) return; + + let payment = await db.Payment.findOne({ + include: { model: db.User, as: "user" }, + where: { + hash: msg.payment_request + } + }); + + if (!payment) return; + + payment.received = true; + payment.user.balance += parseInt(msg.value); + payment.rate = app.get("rates").ask; + + await payment.save(); + await payment.user.save(); + payments.push(msg.payment_request); + + emit(payment.user.username, "invoice", msg); + emit(payment.user.username, "user", payment.user); + }; + + const invoices = lna.subscribeInvoices({}); + invoices.on("data", handlePayment); + + const invoicesb = lnb.subscribeInvoices({}); + invoicesb.on("data", handlePayment); +}; -- cgit v1.2.3