diff options
| author | Adam Soltys <[email protected]> | 2022-11-30 12:02:06 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-11-30 12:02:06 -0800 |
| commit | 6d3fd0464356d22ace37ee6777f6401df8f6b559 (patch) | |
| tree | e373563eadbeea163a521754c9700a43d4c5df00 /routes | |
| parent | 27dfb892f38b6895ac19e85337fa05f348f7e113 (diff) | |
| download | coinos-server-6d3fd0464356d22ace37ee6777f6401df8f6b559.tar.gz coinos-server-6d3fd0464356d22ace37ee6777f6401df8f6b559.zip | |
conversion requests and lightning payment on liquid confirmation
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/invoices.js | 9 | ||||
| -rw-r--r-- | routes/liquid/receive.js | 17 |
2 files changed, 23 insertions, 3 deletions
diff --git a/routes/invoices.js b/routes/invoices.js index 7fa82afb..86836295 100644 --- a/routes/invoices.js +++ b/routes/invoices.js @@ -207,3 +207,12 @@ app.post( let { network, username } = req.params; } ); + +app.post("/conversion", + async (req, res, next) => { + let { invoice_id, text } = req.body; + + let conversion = await db.Conversion.create({ invoice_id, text }); + res.send(conversion); + } +); diff --git a/routes/liquid/receive.js b/routes/liquid/receive.js index 718feba5..2554904d 100644 --- a/routes/liquid/receive.js +++ b/routes/liquid/receive.js @@ -14,6 +14,7 @@ import bitcoin from "bitcoinjs-lib"; import liquidJs from "liquidjs-lib"; import { l, err, warn } from "$lib/logging"; import lq from "$lib/liquid"; +import sendLightning from "$lib/send"; const { Block, networks, Transaction } = liquidJs; @@ -317,7 +318,7 @@ setInterval(async () => { for (let i = 0; i < arr.length; i++) { const hash = arr[i]; - let account, invoice, address, user, total, p; + let account, invoice, address, user, total, p, conversions; await db.transaction(async transaction => { p = await db.Payment.findOne({ where: { hash, confirmed: 0, received: 1 }, @@ -344,6 +345,7 @@ setInterval(async () => { if (p && p.account) { ({ account, invoice } = p); + conversions = await invoice.getConversions(); total = p.amount + p.tip; p.confirmed = 1; await account.save({ transaction }); @@ -381,6 +383,17 @@ setInterval(async () => { delete queue[hash]; }); + user.account = p.account; + + console.log("CONVERSIONS", conversions.length) + + for (let i = 0; i < conversions.length; i++) { + console.log("sending lightning"); + let conversion = conversions[i]; + let result = await sendLightning(p.amount, "", conversion.text, user); + console.log("RESULT", result); + } + let c = store.convert[address]; if (address && c && p.account.asset === network.assetHash) { l( @@ -390,8 +403,6 @@ setInterval(async () => { user.username ); - user.account = p.account; - sendLiquid({ address: c.address, amount: total - 100, |
