Browse Source

make parsing lightning qr codes more robust

dependabot/pip/contrib/deterministic-build/ecdsa-0.13.3
ThomasV 6 years ago
parent
commit
3076eb75ea
  1. 9
      electrum/gui/kivy/uix/screens.py
  2. 12
      electrum/gui/qt/paytoedit.py

9
electrum/gui/kivy/uix/screens.py

@ -253,7 +253,7 @@ class SendScreen(CScreen):
self.payment_request = None
def do_paste(self):
data = self.app._clipboard.paste()
data = self.app._clipboard.paste().strip()
if not data:
self.app.show_info(_("Clipboard is empty"))
return
@ -267,9 +267,12 @@ class SendScreen(CScreen):
if tx:
self.app.tx_dialog(tx)
return
lower = data.lower()
if lower.startswith('lightning:ln'):
lower = lower[10:]
# try to decode as URI/address
if data.startswith('ln'):
self.set_ln_invoice(data.rstrip())
if lower.startswith('ln'):
self.set_ln_invoice(lower)
else:
self.set_URI(data)
# save automatically

12
electrum/gui/qt/paytoedit.py

@ -131,12 +131,12 @@ class PayToEdit(CompletionTextEdit, ScanQRTextEdit, Logger):
if data.startswith("bitcoin:"):
self.win.pay_to_URI(data)
return
l = data.lower()
if l.startswith("lightning:"):
data = l[10:]
if data.startswith("ln"):
self.win.parse_lightning_invoice(data)
self.lightning_invoice = data
lower = data.lower()
if lower.startswith("lightning:ln"):
lower = lower[10:]
if lower.startswith("ln"):
self.win.parse_lightning_invoice(lower)
self.lightning_invoice = lower
return
try:
self.payto_address = self.parse_output(data)

Loading…
Cancel
Save