diff --git a/electrum/lnworker.py b/electrum/lnworker.py index 054fa4c15..0994b4e38 100644 --- a/electrum/lnworker.py +++ b/electrum/lnworker.py @@ -1801,6 +1801,7 @@ class LNWallet(LNWorker): fallback_address: Optional[str], channels: Optional[Sequence[Channel]] = None, ) -> Tuple[LnAddr, str]: + assert isinstance(payment_hash, bytes), f"expected bytes, but got {type(payment_hash)}" pair = self._bolt11_cache.get(payment_hash) if pair: @@ -1856,6 +1857,7 @@ class LNWallet(LNWorker): self.wallet.save_db() def get_preimage(self, payment_hash: bytes) -> Optional[bytes]: + assert isinstance(payment_hash, bytes), f"expected bytes, but got {type(payment_hash)}" r = self.preimages.get(payment_hash.hex()) return bytes.fromhex(r) if r else None diff --git a/electrum/wallet.py b/electrum/wallet.py index 711923f08..567bb4fce 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -2605,10 +2605,12 @@ class Abstract_Wallet(ABC, Logger, EventListener): def get_bolt11_invoice(self, req: Request) -> str: if not self.lnworker: return '' + if (payment_hash := req.payment_hash) is None: # e.g. req might have been generated before enabling LN + return '' amount_msat = req.get_amount_msat() or None assert (amount_msat is None or amount_msat > 0), amount_msat lnaddr, invoice = self.lnworker.get_bolt11_invoice( - payment_hash=req.payment_hash, + payment_hash=payment_hash, amount_msat=amount_msat, message=req.message, expiry=req.exp,