From 758e4d4f4c5eab99f5d64e2003919a31d5aea558 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 21 Mar 2023 15:49:38 +0900 Subject: [PATCH] Disable LN on macaroon fail --- backend/src/api/lightning/lnd/lnd-api.ts | 25 +++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/backend/src/api/lightning/lnd/lnd-api.ts b/backend/src/api/lightning/lnd/lnd-api.ts index 31b868df9..fb5991111 100644 --- a/backend/src/api/lightning/lnd/lnd-api.ts +++ b/backend/src/api/lightning/lnd/lnd-api.ts @@ -4,21 +4,28 @@ import * as fs from 'fs'; import { AbstractLightningApi } from '../lightning-api-abstract-factory'; import { ILightningApi } from '../lightning-api.interface'; import config from '../../../config'; +import logger from '../../../logger'; class LndApi implements AbstractLightningApi { axiosConfig: AxiosRequestConfig = {}; constructor() { if (config.LIGHTNING.ENABLED) { - this.axiosConfig = { - headers: { - 'Grpc-Metadata-macaroon': fs.readFileSync(config.LND.MACAROON_PATH).toString('hex') - }, - httpsAgent: new Agent({ - ca: fs.readFileSync(config.LND.TLS_CERT_PATH) - }), - timeout: config.LND.TIMEOUT - }; + try { + const macaroon = fs.readFileSync(config.LND.MACAROON_PATH).toString('hex'); + this.axiosConfig = { + headers: { + 'Grpc-Metadata-macaroon': macaroon + }, + httpsAgent: new Agent({ + ca: fs.readFileSync(config.LND.TLS_CERT_PATH) + }), + timeout: config.LND.TIMEOUT + }; + } catch (e) { + logger.err(`Could not initialize LND Macaroon/TLS Cert. Disabling LIGHTNING. ` + (e instanceof Error ? e.message : e)); + config.LIGHTNING.ENABLED = false; + } } }