From 5681311fc212e5c99cb269b5fe99e357cda0b116 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Thu, 22 Sep 2022 11:54:14 +0200 Subject: [PATCH] fix request_status callback not passing the correct request key --- electrum/gui/qml/qeinvoicelistmodel.py | 2 +- electrum/gui/qml/qerequestdetails.py | 3 +-- electrum/wallet.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/electrum/gui/qml/qeinvoicelistmodel.py b/electrum/gui/qml/qeinvoicelistmodel.py index 0951c1291..6afaa502b 100644 --- a/electrum/gui/qml/qeinvoicelistmodel.py +++ b/electrum/gui/qml/qeinvoicelistmodel.py @@ -155,7 +155,7 @@ class QERequestListModel(QEAbstractInvoiceListModel): def invoice_to_model(self, invoice: Invoice): item = super().invoice_to_model(invoice) item['type'] = 'request' - item['key'] = invoice.get_id() if invoice.is_lightning() else invoice.get_address() + item['key'] = invoice.get_id() return item diff --git a/electrum/gui/qml/qerequestdetails.py b/electrum/gui/qml/qerequestdetails.py index 06b6312e9..6a4ea082a 100644 --- a/electrum/gui/qml/qerequestdetails.py +++ b/electrum/gui/qml/qerequestdetails.py @@ -67,8 +67,7 @@ class QERequestDetails(QObject): req = self._wallet.wallet.get_request(self._key) return self._wallet.wallet.get_invoice_status(req) - statusStringChanged = pyqtSignal() - @pyqtProperty(str, notify=statusStringChanged) + @pyqtProperty(str, notify=statusChanged) def status_str(self): return self._req.get_status_str(self.status) diff --git a/electrum/wallet.py b/electrum/wallet.py index 2d85cc2d1..4ccc7de48 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -2446,7 +2446,7 @@ class Abstract_Wallet(ABC, Logger, EventListener): addr = txo.address if request:=self.get_request_by_addr(addr): status = self.get_invoice_status(request) - util.trigger_callback('request_status', self, addr, status) + util.trigger_callback('request_status', self, request.get_id(), status) for invoice_key in self._invoices_from_scriptpubkey_map.get(txo.scriptpubkey, set()): relevant_invoice_keys.add(invoice_key) self._update_onchain_invoice_paid_detection(relevant_invoice_keys)