From fa84d5a65844602c7e97e9bf0e5a51befdebaf53 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 29 Apr 2020 20:59:05 -0700 Subject: update account balance properly after lightning payment --- routes/bitcoin/receive.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'routes/bitcoin/receive.js') diff --git a/routes/bitcoin/receive.js b/routes/bitcoin/receive.js index deded625..1aae1467 100644 --- a/routes/bitcoin/receive.js +++ b/routes/bitcoin/receive.js @@ -73,10 +73,22 @@ zmqRawTx.on("message", async (topic, message, sequence) => { addresses[user.address] = user.username; + let totalOutputs = tx.outs.reduce((a, b) => a + b.value, 0); + let totalInputs = 0; + for (let i = 0; i < tx.ins.length; i++) { + let { hash, index } = tx.ins[i]; + hash = reverse(hash).toString("hex"); + let hex = await bc.getRawTransaction(hash.toString('hex')); + let inputTx = bitcoin.Transaction.fromHex(hex); + totalInputs += inputTx.outs[index].value; + } + let fee = totalInputs - totalOutputs; + let payment = await db.Payment.create({ account_id: account.id, user_id: user.id, hash, + fee, amount: value - tip, currency, rate, -- cgit v1.2.3