diff options
| author | Adam Soltys <[email protected]> | 2020-08-16 21:34:13 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-08-16 21:34:13 -0700 |
| commit | 7ab3036cb1576fe38ba1fd423a58b7cd97a58579 (patch) | |
| tree | 305b1a0aa321389b60385009876bbdb1fe0a1c68 /routes/liquid/broadcast.js | |
| parent | b2208797d3c5559c7e8cc7d35b7a020da0c61193 (diff) | |
| download | coinos-server-7ab3036cb1576fe38ba1fd423a58b7cd97a58579.tar.gz coinos-server-7ab3036cb1576fe38ba1fd423a58b7cd97a58579.zip | |
non-custodial liquid wallets
Diffstat (limited to 'routes/liquid/broadcast.js')
| -rw-r--r-- | routes/liquid/broadcast.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/routes/liquid/broadcast.js b/routes/liquid/broadcast.js new file mode 100644 index 00000000..e3709597 --- /dev/null +++ b/routes/liquid/broadcast.js @@ -0,0 +1,36 @@ +module.exports = ah(async (req, res) => { + try { + const { user } = req; + let hash = await lq.sendRawTransaction(req.body.tx); + + if (user) { + let { account } = user; + let payment = await db.Payment.create({ + ...req.body.payment, + hash, + amount: -req.body.payment.amount, + tip: 0, + account_id: account.id, + user_id: user.id, + rate: app.get("rates")[user.currency], + currency: user.currency, + confirmed: true, + received: false, + network: "LBTC", + }); + + account.balance += payment.amount - payment.fee; + await account.save(); + + payment = payment.get({ plain: true }); + payment.account = account.get({ plain: true }); + emit(user.username, "payment", payment); + emit(user.username, "account", payment.account); + res.send(payment); + } else { + res.send(result); + } + } catch (e) { + res.status(500).send(e.message); + } +}); |
