aboutsummaryrefslogtreecommitdiffstats
path: root/routes/lnurl.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-09-22 02:57:54 +0000
committerAdam Soltys <[email protected]>2022-09-22 02:57:54 +0000
commit3f18d0c8ab508553062bf92a17295961f91a4822 (patch)
tree4608fc9f51820cdd48abc6352ddaf83f0e1208e3 /routes/lnurl.js
parent45ae80bcde258622108c6d66e404660b0c037eb8 (diff)
parent918813a6e49f9d05828f6fb205614f9d288269e1 (diff)
downloadcoinos-server-3f18d0c8ab508553062bf92a17295961f91a4822.tar.gz
coinos-server-3f18d0c8ab508553062bf92a17295961f91a4822.zip
Merge remote-tracking branch 'origin/master' into prod2
Diffstat (limited to 'routes/lnurl.js')
-rw-r--r--routes/lnurl.js25
1 files changed, 21 insertions, 4 deletions
diff --git a/routes/lnurl.js b/routes/lnurl.js
index 4335d566..fc2e5a52 100644
--- a/routes/lnurl.js
+++ b/routes/lnurl.js
@@ -91,7 +91,17 @@ app.post("/withdraw", auth, async (req, res, next) => {
amount: value,
params: { callback, k1 }
} = req.body;
- const invoice = await createInvoice({ lnd, value });
+
+ let invoice;
+ if (config.lna.clightning) {
+ let label = new Date();
+ let desc = label;
+
+ invoice = await ln.invoice(`${value}sats`, label, desc);
+ } else {
+ invoice = await createInvoice({ lnd, value });
+ }
+
const { payment_request: pr } = invoice;
const url = `${callback}?k1=${k1}&pr=${pr}`;
@@ -260,6 +270,7 @@ app.get("/decode", async (req, res, next) => {
}
const { data: params } = await axios.get(url);
+
res.send(params);
} catch (e) {
err("problem decoding lnurl", e.message);
@@ -366,8 +377,14 @@ lnurlServer.bindToHook(
}
try {
- let decoded = await decodePaymentRequest({ lnd, request: pr });
- let amount = decoded.num_satoshis;
+ let amount;
+
+ if (config.lna.clightning) {
+ let { msatoshi } = await ln.decodepay(pr);
+ amount = parseInt(msatoshi/1000);
+ } else {
+ ({ num_satoshis: amount } = await decodePaymentRequest({ lnd, request: pr }));
+ }
let conversionFee = computeConversionFee(amount);
await db.transaction(async transaction => {
@@ -545,7 +562,7 @@ lnurlServer.bindToHook("login", async key => {
if (user && user.username) {
const payload = { username: user.username };
const token = jwt.sign(payload, config.jwt);
- const ws = sessions[logins[key].k1];
+ const ws = store.sessions[logins[key].k1];
if (ws && ws.send)
ws.send(JSON.stringify({ type: "token", data: { token, key } }));
}