qml: QETxFinalizer: handle txid being None
fixes https://github.com/spesmilo/electrum/issues/10042
This commit is contained in:
@@ -509,5 +509,7 @@ class QETxDetails(QObject, QtEventListener):
|
|||||||
@pyqtSlot(result='QVariantList')
|
@pyqtSlot(result='QVariantList')
|
||||||
def getSerializedTx(self):
|
def getSerializedTx(self):
|
||||||
txqr = self._tx.to_qr_data()
|
txqr = self._tx.to_qr_data()
|
||||||
label = self._wallet.wallet.get_label_for_txid(self._tx.txid())
|
label = ""
|
||||||
|
if txid := self._tx.txid():
|
||||||
|
label = self._wallet.wallet.get_label_for_txid(txid)
|
||||||
return [str(self._tx), txqr[0], txqr[1], label]
|
return [str(self._tx), txqr[0], txqr[1], label]
|
||||||
|
|||||||
@@ -495,7 +495,9 @@ class QETxFinalizer(TxFeeSlider):
|
|||||||
@pyqtSlot(result='QVariantList')
|
@pyqtSlot(result='QVariantList')
|
||||||
def getSerializedTx(self):
|
def getSerializedTx(self):
|
||||||
txqr = self._tx.to_qr_data()
|
txqr = self._tx.to_qr_data()
|
||||||
label = self._wallet.wallet.get_label_for_txid(self._tx.txid())
|
label = ""
|
||||||
|
if txid := self._tx.txid():
|
||||||
|
label = self._wallet.wallet.get_label_for_txid(txid)
|
||||||
return [str(self._tx), txqr[0], txqr[1], label]
|
return [str(self._tx), txqr[0], txqr[1], label]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -256,7 +256,8 @@ class HistoryModel(CustomModel, Logger):
|
|||||||
|
|
||||||
def update_label(self, index):
|
def update_label(self, index):
|
||||||
tx_item = index.internalPointer().get_data()
|
tx_item = index.internalPointer().get_data()
|
||||||
tx_item['label'] = self.window.wallet.get_label_for_txid(get_item_key(tx_item))
|
tx_item['label'] = self.window.wallet.get_label_for_txid(
|
||||||
|
get_item_key(tx_item)) # FIXME get_item_key might return an RHASH, but we call get_label_for_txid?!
|
||||||
topLeft = bottomRight = self.createIndex(index.row(), HistoryColumns.DESCRIPTION)
|
topLeft = bottomRight = self.createIndex(index.row(), HistoryColumns.DESCRIPTION)
|
||||||
self.dataChanged.emit(topLeft, bottomRight, [Qt.ItemDataRole.DisplayRole])
|
self.dataChanged.emit(topLeft, bottomRight, [Qt.ItemDataRole.DisplayRole])
|
||||||
self.window.utxo_list.update()
|
self.window.utxo_list.update()
|
||||||
|
|||||||
@@ -1683,7 +1683,8 @@ class Abstract_Wallet(ABC, Logger, EventListener):
|
|||||||
self._default_labels['group:' + group_id] = label
|
self._default_labels['group:' + group_id] = label
|
||||||
|
|
||||||
def get_label_for_txid(self, tx_hash: str) -> str:
|
def get_label_for_txid(self, tx_hash: str) -> str:
|
||||||
return self._labels.get(tx_hash) or self._get_default_label_for_txid(tx_hash)
|
assert tx_hash, f"expected a txid, got {tx_hash!r}"
|
||||||
|
return self._labels.get(tx_hash) or self._get_default_label_for_txid(tx_hash) or ""
|
||||||
|
|
||||||
def _get_default_label_for_txid(self, tx_hash: str) -> str:
|
def _get_default_label_for_txid(self, tx_hash: str) -> str:
|
||||||
if label := self._default_labels.get(tx_hash):
|
if label := self._default_labels.get(tx_hash):
|
||||||
|
|||||||
Reference in New Issue
Block a user