qml: qeinvoice: fix regression in update_userinfo
follow-up 3b0cdef871
```
29.60 | E | lnworker.LNWallet.[test_segwit_2] | Exception in pay_invoice: TypeError("unhashable type: 'list'")
Traceback (most recent call last):
File "/home/user/wspace/electrum/electrum/util.py", line 1153, in wrapper
return await func(*args, **kwargs)
File "/home/user/wspace/electrum/electrum/lnworker.py", line 1518, in pay_invoice
self.set_invoice_status(key, PR_INFLIGHT)
File "/home/user/wspace/electrum/electrum/lnworker.py", line 2404, in set_invoice_status
util.trigger_callback('invoice_status', self.wallet, key, status)
File "/home/user/wspace/electrum/electrum/util.py", line 1796, in trigger_callback
callback(*args)
File "/home/user/wspace/electrum/electrum/gui/qml/qeinvoice.py", line 90, in on_event_invoice_status
self.update_userinfo()
File "/home/user/wspace/electrum/electrum/gui/qml/qeinvoice.py", line 327, in update_userinfo
self.userinfo = userinfo_for_invoice_status([self.status])
File "/home/user/wspace/electrum/electrum/gui/qml/qeinvoice.py", line 305, in userinfo_for_invoice_status
return {
TypeError: unhashable type: 'list'
```
This commit is contained in:
@@ -301,7 +301,7 @@ class QEInvoice(QObject, QtEventListener):
|
|||||||
if amount.isEmpty and self.status == PR_UNPAID: # unspecified amount
|
if amount.isEmpty and self.status == PR_UNPAID: # unspecified amount
|
||||||
return
|
return
|
||||||
|
|
||||||
def userinfo_for_invoice_status(status):
|
def userinfo_for_invoice_status(status: int) -> str:
|
||||||
return {
|
return {
|
||||||
PR_EXPIRED: _('This invoice has expired'),
|
PR_EXPIRED: _('This invoice has expired'),
|
||||||
PR_PAID: _('This invoice was already paid'),
|
PR_PAID: _('This invoice was already paid'),
|
||||||
@@ -324,13 +324,13 @@ class QEInvoice(QObject, QtEventListener):
|
|||||||
# TODO: subtract fee?
|
# TODO: subtract fee?
|
||||||
self.userinfo = _('Insufficient balance')
|
self.userinfo = _('Insufficient balance')
|
||||||
else:
|
else:
|
||||||
self.userinfo = userinfo_for_invoice_status([self.status])
|
self.userinfo = userinfo_for_invoice_status(self.status)
|
||||||
elif self.invoiceType == QEInvoice.Type.OnchainInvoice:
|
elif self.invoiceType == QEInvoice.Type.OnchainInvoice:
|
||||||
if self.status in [PR_UNPAID, PR_FAILED]:
|
if self.status in [PR_UNPAID, PR_FAILED]:
|
||||||
if not ((amount.isMax and self.get_max_spendable_onchain() > 0) or (self.get_max_spendable_onchain() >= amount.satsInt)):
|
if not ((amount.isMax and self.get_max_spendable_onchain() > 0) or (self.get_max_spendable_onchain() >= amount.satsInt)):
|
||||||
self.userinfo = _('Insufficient balance')
|
self.userinfo = _('Insufficient balance')
|
||||||
else:
|
else:
|
||||||
self.userinfo = userinfo_for_invoice_status([self.status])
|
self.userinfo = userinfo_for_invoice_status(self.status)
|
||||||
|
|
||||||
def determine_can_pay(self):
|
def determine_can_pay(self):
|
||||||
self.canPay = False
|
self.canPay = False
|
||||||
|
|||||||
Reference in New Issue
Block a user