kivy: handle lightning invoices on wallets that do not have lightning. fix #6371
This commit is contained in:
@@ -98,7 +98,7 @@ class InvoiceDialog(Factory.Popup):
|
||||
self.description = invoice.message
|
||||
self.is_lightning = invoice.is_lightning()
|
||||
self.update_status()
|
||||
self.log = self.app.wallet.lnworker.logs[self.key] if self.is_lightning else []
|
||||
self.log = self.app.wallet.lnworker.logs[self.key] if self.is_lightning and self.app.wallet.lnworker else []
|
||||
|
||||
def update_status(self):
|
||||
invoice = self.app.wallet.get_invoice(self.key)
|
||||
|
||||
@@ -233,9 +233,10 @@ class SendScreen(CScreen, Logger):
|
||||
assert isinstance(item, LNInvoice)
|
||||
key = item.rhash
|
||||
address = key
|
||||
log = self.app.wallet.lnworker.logs.get(key)
|
||||
if status == PR_INFLIGHT and log:
|
||||
status_str += '... (%d)'%len(log)
|
||||
if self.app.wallet.lnworker:
|
||||
log = self.app.wallet.lnworker.logs.get(key)
|
||||
if status == PR_INFLIGHT and log:
|
||||
status_str += '... (%d)'%len(log)
|
||||
is_bip70 = False
|
||||
else:
|
||||
assert isinstance(item, OnchainInvoice)
|
||||
@@ -345,8 +346,10 @@ class SendScreen(CScreen, Logger):
|
||||
|
||||
def do_pay_invoice(self, invoice):
|
||||
if invoice.is_lightning():
|
||||
self.app.protected(_('Pay lightning invoice?'), self._do_pay_lightning, (invoice,))
|
||||
return
|
||||
if self.app.wallet.lnworker:
|
||||
self.app.protected(_('Pay lightning invoice?'), self._do_pay_lightning, (invoice,))
|
||||
else:
|
||||
self.app.show_error(_("Lightning payments are not available for this wallet"))
|
||||
else:
|
||||
do_pay = lambda rbf: self._do_pay_onchain(invoice, rbf)
|
||||
if self.app.electrum_config.get('use_rbf'):
|
||||
|
||||
Reference in New Issue
Block a user