better handle of sendpaymentsync response

This commit is contained in:
Daniel Lugo 2020-01-14 18:26:14 -04:00
parent c3fff0a432
commit 8ce9e65a8d

View file

@ -921,18 +921,31 @@ const sendPayment = async (to, amount, memo, gun, user, SEA) => {
services: { lightning } services: { lightning }
} = LightningServices } = LightningServices
/**
* Partial
* https://api.lightning.community/#grpc-response-sendresponse-2
* @typedef {object} SendResponse
* @prop {string|null} payment_error
* @prop {any[]|null} payment_route
*/
await new Promise((rej, resolve) => { await new Promise((rej, resolve) => {
lightning.sendPaymentSync( lightning.sendPaymentSync(
{ {
payment_request: decInvoice payment_request: decInvoice
}, },
(/** @type {any} */ err, /** @type {any} */ res) => { (_, /** @type {SendResponse} */ res) => {
if (err) { if (res.payment_error) {
console.log(err) rej(new Error(res.payment_error))
rej(err) } else if (res.payment_route) {
} else {
console.log(res)
resolve() resolve()
} else {
rej(
new Error(
'Unexpected response from sendPaymentSync() -> ' +
JSON.stringify(res)
)
)
} }
} }
) )