aboutsummaryrefslogtreecommitdiffstats
path: root/routes/bitcoin/receive.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-04-29 20:59:05 -0700
committerAdam Soltys <[email protected]>2020-04-29 21:03:33 -0700
commitfa84d5a65844602c7e97e9bf0e5a51befdebaf53 (patch)
tree3e0335eea275a5de9040eb3cc6dfc62c6e190575 /routes/bitcoin/receive.js
parent001c0291ad6eabe5684138422adfa0e851d507a6 (diff)
downloadcoinos-server-fa84d5a65844602c7e97e9bf0e5a51befdebaf53.tar.gz
coinos-server-fa84d5a65844602c7e97e9bf0e5a51befdebaf53.zip
update account balance properly after lightning payment
Diffstat (limited to 'routes/bitcoin/receive.js')
-rw-r--r--routes/bitcoin/receive.js12
1 files changed, 12 insertions, 0 deletions
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,