From a2fe681e18b7e35d1ffae38d798a939f07cb735d Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Sat, 9 Jan 2021 16:29:52 -0400 Subject: [PATCH] new newAddress --- src/routes.js | 29 ++++++++++------------------- utils/lightningServices/v2.js | 21 ++++++++++++++++++++- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/src/routes.js b/src/routes.js index c9313708..d0fb8359 100644 --- a/src/routes.js +++ b/src/routes.js @@ -1090,25 +1090,16 @@ module.exports = async ( }) // newaddress - app.post('/api/lnd/newaddress', (req, res) => { - const { lightning } = LightningServices.services - lightning.newAddress({ type: req.body.type }, async (err, response) => { - if (err) { - logger.debug('NewAddress Error:', err) - const health = await checkHealth() - if (health.LNDStatus.success) { - res.status(400).json({ - field: 'newAddress', - errorMessage: sanitizeLNDError(err.message) - }) - } else { - res.status(500) - res.json({ errorMessage: 'LND is down' }) - } - } - logger.debug('NewAddress:', response) - res.json(response) - }) + app.post('/api/lnd/newaddress', async (req, res) => { + try { + return res.json({ + address: await LV2.newAddress(req.body.type) + }) + } catch (e) { + return res.status(500).json({ + errorMessage: e.message + }) + } }) // connect peer to lnd node diff --git a/utils/lightningServices/v2.js b/utils/lightningServices/v2.js index 34f42f44..89132e47 100644 --- a/utils/lightningServices/v2.js +++ b/utils/lightningServices/v2.js @@ -402,9 +402,28 @@ const decodePayReq = payReq => ) }) +/** + * @param {0|1} type + * @returns {Promise} + */ +const newAddress = (type = 0) => { + const { lightning } = lightningServices.getServices() + + return Common.Utils.makePromise((res, rej) => { + lightning.newAddress({ type }, (err, response) => { + if (err) { + rej(new Error(err.message)) + } else { + res(response.address) + } + }) + }) +} + module.exports = { sendPaymentV2Keysend, sendPaymentV2Invoice, listPayments, - decodePayReq + decodePayReq, + newAddress }