aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-11-16 23:27:32 -0800
committerAdam Soltys <[email protected]>2024-11-16 23:27:55 -0800
commit4f5617ca59141a8bf64e131a8b2e6d39aa9cab4c (patch)
tree46e1bb7ecddc61765fbcfa58a328fc77f36095cb /routes
parent69c5b07a68e05d62d8503dbde310b06965330447 (diff)
downloadcoinos-server-4f5617ca59141a8bf64e131a8b2e6d39aa9cab4c.tar.gz
coinos-server-4f5617ca59141a8bf64e131a8b2e6d39aa9cab4c.zip
parse offers
Diffstat (limited to 'routes')
-rw-r--r--routes/payments.ts18
1 files changed, 16 insertions, 2 deletions
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));
+ },
};