diff options
| author | Adam Soltys <[email protected]> | 2023-02-07 21:06:52 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-02-07 21:06:52 -0800 |
| commit | 1424d48d77e3680dc4bd75c24b320436b999dced (patch) | |
| tree | ef71e46e034d2c4ab3bee80acbf601d6393c2fd1 | |
| parent | 5cb759a6b0545c749cef5f30b6f109320c1052b2 (diff) | |
| download | coinos-server-1424d48d77e3680dc4bd75c24b320436b999dced.tar.gz coinos-server-1424d48d77e3680dc4bd75c24b320436b999dced.zip | |
handle zero amount invoices better
| -rw-r--r-- | docker-compose.yml | 8 | ||||
| -rw-r--r-- | routes/payments.js | 5 | ||||
| -rw-r--r-- | routes/requests.js | 21 |
3 files changed, 21 insertions, 13 deletions
diff --git a/docker-compose.yml b/docker-compose.yml index 9958458f..a645859f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -26,7 +26,7 @@ services: - ./data/bitcoin:/home/bitcoin/.bitcoin restart: always cl: - image: elementsproject/lightningd:latest + image: elementsproject/lightningd:v22.11.1 container_name: cl environment: LIGHTNINGD_NETWORK: regtest @@ -34,7 +34,7 @@ services: - ./data/lightning:/root/.lightning restart: always clb: - image: elementsproject/lightningd:latest + image: elementsproject/lightningd:v22.11.1 container_name: clb environment: LIGHTNINGD_NETWORK: regtest @@ -42,7 +42,7 @@ services: - ./data/lightningb:/root/.lightning restart: always clc: - image: elementsproject/lightningd:latest + image: elementsproject/lightningd:v22.11.1 container_name: clc environment: LIGHTNINGD_NETWORK: regtest @@ -50,7 +50,7 @@ services: - ./data/lightningc:/root/.lightning restart: always cld: - image: elementsproject/lightningd:latest + image: elementsproject/lightningd:v22.11.1 container_name: cld environment: LIGHTNINGD_NETWORK: regtest diff --git a/routes/payments.js b/routes/payments.js index 1043959c..ec557474 100644 --- a/routes/payments.js +++ b/routes/payments.js @@ -36,6 +36,9 @@ export default { }) .json(); } else if (payreq) { + let { msatoshi } = await ln.decode(payreq); + if (msatoshi) amount = Math.round(msatoshi * 1000); + p = await debit( hash, amount + maxfee, @@ -45,7 +48,7 @@ export default { types.lightning ); - let r = await ln.pay(payreq); + let r = await ln.pay(payreq, msatoshi ? undefined : `${amount}sats`); p.amount = -amount; p.hash = r.payment_hash; diff --git a/routes/requests.js b/routes/requests.js index 79af1fb6..93457213 100644 --- a/routes/requests.js +++ b/routes/requests.js @@ -1,10 +1,13 @@ import { emit } from "$lib/sockets"; -import { g, db } from "$lib/db"; +import { g, s, db } from "$lib/db"; +import { v4 } from "uuid"; export default { async get({ params: { id } }, res) { try { - res.send({ request: await g(id) }); + let request = await g(`request:${id}`); + request.recipient = await g(`user:${request.recipient_id}`); + res.send({ request }); } catch (e) { console.log(e); res.code(500).send(e.message); @@ -29,16 +32,18 @@ export default { { body: { recipient, ...params }, user: { username, profile } }, res ) { - let { id: recipient_id } = await g(`user:${recipient}`); + let recipient_id = await g(`user:${recipient}`); - let request = { recipient_id, ...params }; - request.requester = { - username, - profile + let id = v4(); + let request = { + id, + recipient_id, + requester: { username, profile }, + ...params }; + await s(`request:${id}`, request); emit(recipient, "request", request); - res.send(request); }, |
