aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-11-30 12:02:06 -0800
committerAdam Soltys <[email protected]>2022-11-30 12:02:06 -0800
commit6d3fd0464356d22ace37ee6777f6401df8f6b559 (patch)
treee373563eadbeea163a521754c9700a43d4c5df00 /routes
parent27dfb892f38b6895ac19e85337fa05f348f7e113 (diff)
downloadcoinos-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.js9
-rw-r--r--routes/liquid/receive.js17
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,