diff options
| author | Adam Soltys <[email protected]> | 2024-11-16 23:27:32 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-11-16 23:27:55 -0800 |
| commit | 4f5617ca59141a8bf64e131a8b2e6d39aa9cab4c (patch) | |
| tree | 46e1bb7ecddc61765fbcfa58a328fc77f36095cb | |
| parent | 69c5b07a68e05d62d8503dbde310b06965330447 (diff) | |
| download | coinos-server-4f5617ca59141a8bf64e131a8b2e6d39aa9cab4c.tar.gz coinos-server-4f5617ca59141a8bf64e131a8b2e6d39aa9cab4c.zip | |
parse offers
| -rw-r--r-- | index.ts | 1 | ||||
| -rw-r--r-- | routes/payments.ts | 18 |
2 files changed, 17 insertions, 2 deletions
@@ -67,6 +67,7 @@ app.post("/send", auth, payments.internal); app.post("/gateway", payments.gateway); app.post("/replace", auth, payments.replace); app.get("/decode/:bolt11", payments.decode); +app.get("/offer/:offer", payments.offer); app.get("/encode", lnurl.encode); app.get("/decode", lnurl.decode); diff --git a/routes/payments.ts b/routes/payments.ts index bf3f65c0..dfd9ad36 100644 --- a/routes/payments.ts +++ b/routes/payments.ts @@ -181,8 +181,16 @@ export default { await s("nodes", nodes); } - const decoded = await ln.decodepay(payreq); - const { amount_msat, payee } = decoded; + const decoded = await ln.decode(payreq); + + let amount_msat; + let payee; + + if (decoded.type.includes("bolt12")) { + ({ invoice_amount_msat: amount_msat, invoice_node_id: payee } = + decoded); + } else ({ amount_msat, payee } = decoded); + const node = nodes.find((n) => n.nodeid === payee); const alias = node ? node.alias : payee.substr(0, 12); @@ -194,6 +202,7 @@ export default { res.send({ alias, amount, ourfee }); } catch (e) { + err("problem parsing", e.message); bail(res, e.message); } }, @@ -538,4 +547,9 @@ export default { const { bolt11 } = req.params; res.send(await ln.decode(bolt11)); }, + + async offer(req, res) { + const { offer } = req.params; + res.send(await ln.fetchinvoice(offer)); + }, }; |
