diff options
| author | Adam Soltys <[email protected]> | 2020-04-28 22:09:22 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-04-28 22:33:02 -0700 |
| commit | 63c18105e6c66b3b4698c398f356bef1b496816f (patch) | |
| tree | e7ee85e7c3502ed81954448a76be028143990948 /routes/liquid/receive.js | |
| parent | 994dd93f6c45c590ae59a699cbf425d96518da1e (diff) | |
| download | coinos-server-63c18105e6c66b3b4698c398f356bef1b496816f.tar.gz coinos-server-63c18105e6c66b3b4698c398f356bef1b496816f.zip | |
include account in emitted payments objects
Diffstat (limited to 'routes/liquid/receive.js')
| -rw-r--r-- | routes/liquid/receive.js | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/routes/liquid/receive.js b/routes/liquid/receive.js index 858cc0ed..fd280eb9 100644 --- a/routes/liquid/receive.js +++ b/routes/liquid/receive.js @@ -2,7 +2,7 @@ const axios = require("axios"); const reverse = require("buffer-reverse"); const zmq = require("zeromq"); const { Op } = require("sequelize"); -const bitcoin = require("elementsjs-lib"); +const elements = require("elementsjs-lib"); const zmqRawBlock = zmq.socket("sub"); zmqRawBlock.connect(config.liquid.zmqrawblock); @@ -42,7 +42,7 @@ zmqRawTx.on("message", async (topic, message, sequence) => { asset }; - const account = await db.Account.findOne({ + let account = await db.Account.findOne({ where: params }); @@ -51,7 +51,7 @@ zmqRawTx.on("message", async (topic, message, sequence) => { await account.save(); } else { let name = asset.substr(0, 6); - let ticker = asset.substr(0, 3); + let ticker = asset.substr(0, 3).toUpperCase(); let precision = 8; const assets = await axios.get("https://assets.blockstream.info/"); @@ -72,13 +72,9 @@ zmqRawTx.on("message", async (topic, message, sequence) => { )).unconfidential; await user.save(); - user = await getUser(user.username); - emit(user.username, "user", user); addresses[user.liquid] = user.username; - l.info("account", account.id); - let invoice; if (asset === config.liquid.btcasset) { invoice = await db.Invoice.findOne({ @@ -94,7 +90,7 @@ zmqRawTx.on("message", async (topic, message, sequence) => { const rate = invoice ? invoice.rate : app.get("rates")[user.currency]; const tip = invoice ? invoice.tip : null; - const payment = await db.Payment.create({ + let payment = await db.Payment.create({ account_id: account.id, user_id: user.id, hash: blinded.txid, @@ -109,9 +105,13 @@ zmqRawTx.on("message", async (topic, message, sequence) => { }); payments.push(blinded.txid); + payment = payment.get({ plain: true }); + payment.account = account.get({ plain: true }); - l.info("liquid detected", user.username, asset, value); + user = await getUser(user.username); emit(user.username, "payment", payment); + emit(user.username, "user", user); + l.info("liquid detected", user.username, asset, value); } }) ); @@ -126,7 +126,7 @@ zmqRawBlock.on("message", async (topic, message, sequence) => { const hashes = payments.map(p => p.hash); - const block = bitcoin.Block.fromHex(message.toString("hex"), true); + const block = elements.Block.fromHex(message.toString("hex"), true); const hash = await lq.getBlockHash(block.height); const json = await lq.getBlock(hash, 2); @@ -158,6 +158,7 @@ setInterval(async () => { let user = await getUserById(p.user_id); emit(user.username, "user", user); + emit(user.username, "payment", p); l.info("liquid confirmed", user.username, p.asset, p.amount, p.tip); delete queue[hash]; |
