diff options
Diffstat (limited to 'routes/bitcoin/receive.js')
| -rw-r--r-- | routes/bitcoin/receive.js | 12 |
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, |
