From 762b79fde2fc5b30720177d45f042a7b83789dc3 Mon Sep 17 00:00:00 2001 From: fusion44 Date: Sat, 4 Jun 2022 14:16:19 +0200 Subject: [PATCH] refactor: make running without LN explicit in .env --- .env_sample | 2 +- app/repositories/lightning.py | 2 +- app/repositories/ln_impl/lnd_grpc.py | 9 +++++---- app/utils.py | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.env_sample b/.env_sample index 0682df0..a3d58d6 100644 --- a/.env_sample +++ b/.env_sample @@ -71,7 +71,7 @@ bitcoind_zmq_block_port_testnet=28332 bitcoind_user=raspibolt bitcoind_pw=please_please_update_me_please -# lnd_grpc, cln_grpc +# lnd_grpc, cln_grpc, none # Please refer to the documentation for the install procedure # for each implementation. ln_node=lnd_grpc diff --git a/app/repositories/lightning.py b/app/repositories/lightning.py index 6f652c8..6b2e763 100644 --- a/app/repositories/lightning.py +++ b/app/repositories/lightning.py @@ -23,7 +23,7 @@ from app.models.lightning import ( from app.models.system import APIPlatform from app.utils import SSE, lightning_config, redis_get, send_sse_message -if lightning_config.ln_node == "lnd": +if lightning_config.ln_node == "lnd_grpc": import app.repositories.ln_impl.lnd_grpc as ln elif lightning_config.ln_node == "cln_grpc": import app.repositories.ln_impl.cln_grpc as ln diff --git a/app/repositories/ln_impl/lnd_grpc.py b/app/repositories/ln_impl/lnd_grpc.py index 06bbbfc..3288733 100644 --- a/app/repositories/ln_impl/lnd_grpc.py +++ b/app/repositories/ln_impl/lnd_grpc.py @@ -31,7 +31,7 @@ from app.utils import send_sse_message def get_implementation_name() -> str: - return "LND" + return "LND_GRPC" async def get_wallet_balance_impl() -> WalletBalance: @@ -94,9 +94,10 @@ async def list_all_tx_impl( if p.payment_request in memo_cache: comment = memo_cache[p.payment_request] else: - pr = await decode_pay_request_impl(p.payment_request) - comment = pr.description - memo_cache[p.payment_request] = pr.description + if p.payment_request is not None and p.payment_request != "": + pr = await decode_pay_request_impl(p.payment_request) + comment = pr.description + memo_cache[p.payment_request] = pr.description tx.append(GenericTx.from_lnd_grpc_payment(p, comment)) def sortKey(e: GenericTx): diff --git a/app/utils.py b/app/utils.py index 4aa17a8..760b5ea 100644 --- a/app/utils.py +++ b/app/utils.py @@ -18,7 +18,7 @@ from fastapi_plugins import redis_plugin from starlette import status node_type = config("ln_node") -if node_type == "lnd": +if node_type == "lnd_grpc": import app.repositories.ln_impl.protos.lnd.lightning_pb2_grpc as lnrpc import app.repositories.ln_impl.protos.lnd.router_pb2_grpc as routerrpc import app.repositories.ln_impl.protos.lnd.walletunlocker_pb2_grpc as unlockerrpc @@ -104,12 +104,12 @@ class LightningConfig: opts = (("grpc.ssl_target_name_override", "cln"),) self._channel = grpc.aio.secure_channel(cln_grpc_url, creds, options=opts) self.cln_stub = clnrpc.NodeStub(self._channel) - elif self.ln_node == "": + elif self.ln_node == "none": # its ok to run raspiblitz also without lightning pass else: raise NameError( - f'Node type "{self.ln_node}" is unknown. Use "lnd" or "clightning"' + f'Node type "{self.ln_node}" is unknown. Use "lnd_grpc" or "cln_grpc" or "none"' ) def metadata_callback(self, context, callback):