From 717b6dd5fb6a2eb671d295c639a9577215dc8656 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Wed, 19 Oct 2022 12:27:19 +0200 Subject: [PATCH] only create lightning invoice if the wallet has channels in a suitable state --- electrum/wallet.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/electrum/wallet.py b/electrum/wallet.py index 949181008..cc00d3772 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -81,6 +81,7 @@ from .interface import NetworkException from .mnemonic import Mnemonic from .logging import get_logger, Logger from .lnworker import LNWallet +from .lnchannel import ChannelState from .paymentrequest import PaymentRequest from .util import read_json_file, write_json_file, UserFacingException, FileImportFailed from .util import EventListener, event_listener @@ -2479,7 +2480,8 @@ class Abstract_Wallet(ABC, Logger, EventListener): exp_delay = exp_delay or 0 timestamp = int(time.time()) fallback_address = address if self.config.get('bolt11_fallback', True) else None - lightning = self.has_lightning() + lightning = self.has_lightning() and self.lnworker.channels \ + and any([c.get_state() <= ChannelState.OPEN for c in self.lnworker.channels]) if lightning: lightning_invoice = self.lnworker.add_request( amount_sat=amount_sat,