diff --git a/electrum/wallet.py b/electrum/wallet.py index 9a8cbe2fa..d5fd202da 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -1061,6 +1061,10 @@ class Abstract_Wallet(ABC, Logger, EventListener): self._requests_addr_to_key = {} for req in self._receive_requests.values(): if req.is_lightning() and (addr:=req.get_address()): + # give priority to not-yet-expired requests, to postpone reusing the address + # FIXME maybe self._receive_requests should be a multi-map instead + if req.has_expired() and addr in self._requests_addr_to_key: + continue self._requests_addr_to_key[addr] = req.get_id() def _prepare_onchain_invoice_paid_detection(self):