diff options
| author | Adam Soltys <[email protected]> | 2022-09-22 02:57:54 +0000 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-09-22 02:57:54 +0000 |
| commit | 3f18d0c8ab508553062bf92a17295961f91a4822 (patch) | |
| tree | 4608fc9f51820cdd48abc6352ddaf83f0e1208e3 /routes/lnurl.js | |
| parent | 45ae80bcde258622108c6d66e404660b0c037eb8 (diff) | |
| parent | 918813a6e49f9d05828f6fb205614f9d288269e1 (diff) | |
| download | coinos-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.js | 25 |
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 } })); } |
