diff options
| author | Adam Soltys <[email protected]> | 2018-03-09 15:39:13 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2018-03-09 15:39:13 -0800 |
| commit | 9cadd6bb0a962097ea60e03ad3deb4256940be33 (patch) | |
| tree | 6e03abaa3c4565ca6bcd912158015e0603a24446 | |
| parent | eb7dc1e2e54a190cc8d6fb12844b0207d66d8b2e (diff) | |
| download | coinos-server-9cadd6bb0a962097ea60e03ad3deb4256940be33.tar.gz coinos-server-9cadd6bb0a962097ea60e03ad3deb4256940be33.zip | |
instantiate send payment per request
| -rw-r--r-- | index.js | 20 |
1 files changed, 17 insertions, 3 deletions
@@ -100,8 +100,6 @@ const l = console.log const invoicesb = lnb.subscribeInvoices({}) invoicesb.on('data', handlePayment) - const payments = lna.sendPayment(meta, {}) - const zmqSock = zmq.socket('sub') zmqSock.connect('tcp://127.0.0.1:18503') zmqSock.subscribe('rawblock') @@ -221,8 +219,24 @@ const l = console.log return res.status(500).send('Not enough satoshis') } + const payments = lna.sendPayment(meta, {}) payments.write({ payment_request: req.body.payreq }) - res.send(req.body.payreq) + + payments.on('data', async m => { + if (m.payment_error) { + res.status(500).send({ error: m.payment_error }) + } else { + if (seen.includes(m.payment_preimage)) return + seen.push(m.payment_preimage) + req.user.channelbalance -= parseInt(m.payment_route.total_amt) + await req.user.save() + res.send(m) + } + }) + + payments.on('error', e => { + res.status(500).send(e.message) + }) }) app.post('/sendCoins', auth, async (req, res) => { |
