From 420e584f4eac91edec439277c406573a1059847b Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Tue, 24 Oct 2023 13:48:00 +0200 Subject: [PATCH] request: amount_msat is set to None in Request when creating request and amount is 0 or undefined. --- electrum/wallet.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/electrum/wallet.py b/electrum/wallet.py index b481f9f3e..4367e5893 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -2654,24 +2654,25 @@ class Abstract_Wallet(ABC, Logger, EventListener): fallback_address=req.get_address() if self.config.WALLET_BOLT11_FALLBACK else None) return invoice - def create_request(self, amount_sat: int, message: str, exp_delay: int, address: Optional[str]): + def create_request(self, amount_sat: Optional[int], message: Optional[str], exp_delay: Optional[int], address: Optional[str]): # for receiving amount_sat = amount_sat or 0 assert isinstance(amount_sat, int), f"{amount_sat!r}" + amount_msat = None if not amount_sat else amount_sat * 1000 # amount_sat in [None, 0] implies undefined. message = message or '' address = address or None # converts "" to None exp_delay = exp_delay or 0 timestamp = int(Request._get_cur_time()) payment_hash = None # type: Optional[bytes] if self.has_lightning(): - payment_hash = self.lnworker.create_payment_info(amount_msat=amount_sat * 1000, write_to_disk=False) - outputs = [ PartialTxOutput.from_address_and_value(address, amount_sat)] if address else [] + payment_hash = self.lnworker.create_payment_info(amount_msat=amount_msat, write_to_disk=False) + outputs = [PartialTxOutput.from_address_and_value(address, amount_sat)] if address else [] height = self.adb.get_local_height() req = Request( outputs=outputs, message=message, time=timestamp, - amount_msat=amount_sat*1000, + amount_msat=amount_msat, exp=exp_delay, height=height, bip70=None,