From ba07b04fbbf9de058907db50a01daebf2ff4d6bb Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 3 Aug 2020 22:38:36 -0700 Subject: handle liquid payments to user url --- routes/invoices.js | 2 ++ routes/users.js | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'routes') diff --git a/routes/invoices.js b/routes/invoices.js index f344e9f9..ba4da254 100644 --- a/routes/invoices.js +++ b/routes/invoices.js @@ -29,6 +29,7 @@ app.post("/invoice", ah(async (req, res, next) => { l.info( "creating invoice", + invoice.address, invoice.text, user.username, invoice.network, @@ -55,5 +56,6 @@ app.post("/invoice", ah(async (req, res, next) => { invoice = exists ? await exists.update(invoice) : await db.Invoice.create(invoice); addresses[invoice.address] = user.username; + if (invoice.unconfidential) addresses[invoice.unconfidential] = user.username; res.send(invoice); })); diff --git a/routes/users.js b/routes/users.js index 471a4e5e..99dd6046 100644 --- a/routes/users.js +++ b/routes/users.js @@ -297,12 +297,27 @@ app.post( app.get( "/address", ah(async (req, res) => { + const { network, type } = req.query; + let address; + + if (network === 'bitcoin') { if (!config.bitcoin) return res.status(500).send("Bitcoin not configured"); if (config.bitcoin.walletpass) await bc.walletPassphrase(config.bitcoin.walletpass, 300); - res.send(await bc.getNewAddress("", req.query.type || "bech32")); + address = await bc.getNewAddress("", type || "bech32"); + } else if (network === 'liquid') { + + if (!config.liquid) return res.status(500).send("Liquid not configured"); + + if (config.liquid.walletpass) + await lq.walletPassphrase(config.liquid.walletpass, 300); + + address = await lq.getNewAddress("", type || "bech32"); + } + + res.send(address); }) ); -- cgit v1.2.3