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; + } } }