From 0c81dc13a0a2c451d961fe40620b7138cf9ce694 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 10 Aug 2022 23:23:00 +0200 Subject: [PATCH] wallet: rm confusing get_request_by_address method The _receive_requests dict is keyed by either 'address' or 'rhash' (see get_key_for_receive_request): - 'rhash' is used if `req.lightning_invoice is not None` - address is used otherwise The `get_request_by_address` method was quite error-prone: it only worked for requests that had an LN part... --- electrum/wallet.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/electrum/wallet.py b/electrum/wallet.py index d53d111cf..d45bff036 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -1343,7 +1343,7 @@ class Abstract_Wallet(ABC, Logger, EventListener): def get_label_for_address(self, addr: str) -> str: label = self._labels.get(addr) or '' - if not label and (request := self.get_request_by_address(addr)): + if not label and (request := self.get_request(addr)): label = request.get_message() return label @@ -2350,13 +2350,12 @@ class Abstract_Wallet(ABC, Logger, EventListener): status = PR_PAID return self.check_expired_status(r, status) - def get_request(self, key): - return self._receive_requests.get(key) or self.get_request_by_address(key) - - def get_request_by_address(self, addr): - rhash = self._requests_addr_to_rhash.get(addr) - if rhash: - return self._receive_requests.get(rhash) + def get_request(self, key: str) -> Optional[Invoice]: + if req := self._receive_requests.get(key): + return req + # try 'key' as a fallback address for lightning invoices + if (rhash := self._requests_addr_to_rhash.get(key)) and (req := self._receive_requests.get(rhash)): + return req def get_formatted_request(self, key): x = self.get_request(key)