From 758e4d4f4c5eab99f5d64e2003919a31d5aea558 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 21 Mar 2023 15:49:38 +0900 Subject: [PATCH 1/5] 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; + } } } From d337bf3ee2919821b2128afc5336f7557bee6ff4 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 21 Mar 2023 15:50:33 +0900 Subject: [PATCH 2/5] Turn off LN if Macaroon is missing --- backend/src/api/lightning/lnd/lnd-api.ts | 32 ++++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/backend/src/api/lightning/lnd/lnd-api.ts b/backend/src/api/lightning/lnd/lnd-api.ts index fb5991111..7db792178 100644 --- a/backend/src/api/lightning/lnd/lnd-api.ts +++ b/backend/src/api/lightning/lnd/lnd-api.ts @@ -10,22 +10,22 @@ class LndApi implements AbstractLightningApi { axiosConfig: AxiosRequestConfig = {}; constructor() { - if (config.LIGHTNING.ENABLED) { - 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; - } + if (!config.LIGHTNING.ENABLED) { + return; + } + try { + 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 + }; + } catch (e) { + logger.err(`Could not initialize LND Macaroon/TLS Cert. Disabling LIGHTNING. ` + (e instanceof Error ? e.message : e)); + config.LIGHTNING.ENABLED = false; } } From cb8fdb5e8de98f3bede276fa18ed4d6874266c38 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 21 Mar 2023 15:56:11 +0900 Subject: [PATCH 3/5] Hack docker frontend entrypoint to auto-enable lightning --- docker/frontend/entrypoint.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/frontend/entrypoint.sh b/docker/frontend/entrypoint.sh index 45d852c45..1721bcad5 100644 --- a/docker/frontend/entrypoint.sh +++ b/docker/frontend/entrypoint.sh @@ -10,6 +10,8 @@ cp /etc/nginx/nginx.conf /patch/nginx.conf sed -i "s/__MEMPOOL_FRONTEND_HTTP_PORT__/${__MEMPOOL_FRONTEND_HTTP_PORT__}/g" /patch/nginx.conf cat /patch/nginx.conf > /etc/nginx/nginx.conf +[ "${APP_LIGHTNING_NODE_PORT}" = "9735" ] && LIGHTNING=true + # Runtime overrides - read env vars defined in docker compose __TESTNET_ENABLED__=${TESTNET_ENABLED:=false} From d76e3a5939c3757a301a1c7680d6a3ec7078f34c Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 21 Mar 2023 16:02:46 +0900 Subject: [PATCH 4/5] Audit disabled related UX fixes --- .../pool-ranking/pool-ranking.component.html | 16 +++++++-------- .../app/components/pool/pool.component.html | 20 +++++++++++-------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/frontend/src/app/components/pool-ranking/pool-ranking.component.html b/frontend/src/app/components/pool-ranking/pool-ranking.component.html index 32a186fb8..57909c74f 100644 --- a/frontend/src/app/components/pool-ranking/pool-ranking.component.html +++ b/frontend/src/app/components/pool-ranking/pool-ranking.component.html @@ -32,7 +32,7 @@
-
+
Pools Ranking