aboutsummaryrefslogtreecommitdiffstats
path: root/routes/liquid/receive.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-04-28 22:09:22 -0700
committerAdam Soltys <[email protected]>2020-04-28 22:33:02 -0700
commit63c18105e6c66b3b4698c398f356bef1b496816f (patch)
treee7ee85e7c3502ed81954448a76be028143990948 /routes/liquid/receive.js
parent994dd93f6c45c590ae59a699cbf425d96518da1e (diff)
downloadcoinos-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.js21
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];