make parsing lightning qr codes more robust
This commit is contained in:
@@ -253,7 +253,7 @@ class SendScreen(CScreen):
|
|||||||
self.payment_request = None
|
self.payment_request = None
|
||||||
|
|
||||||
def do_paste(self):
|
def do_paste(self):
|
||||||
data = self.app._clipboard.paste()
|
data = self.app._clipboard.paste().strip()
|
||||||
if not data:
|
if not data:
|
||||||
self.app.show_info(_("Clipboard is empty"))
|
self.app.show_info(_("Clipboard is empty"))
|
||||||
return
|
return
|
||||||
@@ -267,9 +267,12 @@ class SendScreen(CScreen):
|
|||||||
if tx:
|
if tx:
|
||||||
self.app.tx_dialog(tx)
|
self.app.tx_dialog(tx)
|
||||||
return
|
return
|
||||||
|
lower = data.lower()
|
||||||
|
if lower.startswith('lightning:ln'):
|
||||||
|
lower = lower[10:]
|
||||||
# try to decode as URI/address
|
# try to decode as URI/address
|
||||||
if data.startswith('ln'):
|
if lower.startswith('ln'):
|
||||||
self.set_ln_invoice(data.rstrip())
|
self.set_ln_invoice(lower)
|
||||||
else:
|
else:
|
||||||
self.set_URI(data)
|
self.set_URI(data)
|
||||||
# save automatically
|
# save automatically
|
||||||
|
|||||||
@@ -131,12 +131,12 @@ class PayToEdit(CompletionTextEdit, ScanQRTextEdit, Logger):
|
|||||||
if data.startswith("bitcoin:"):
|
if data.startswith("bitcoin:"):
|
||||||
self.win.pay_to_URI(data)
|
self.win.pay_to_URI(data)
|
||||||
return
|
return
|
||||||
l = data.lower()
|
lower = data.lower()
|
||||||
if l.startswith("lightning:"):
|
if lower.startswith("lightning:ln"):
|
||||||
data = l[10:]
|
lower = lower[10:]
|
||||||
if data.startswith("ln"):
|
if lower.startswith("ln"):
|
||||||
self.win.parse_lightning_invoice(data)
|
self.win.parse_lightning_invoice(lower)
|
||||||
self.lightning_invoice = data
|
self.lightning_invoice = lower
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
self.payto_address = self.parse_output(data)
|
self.payto_address = self.parse_output(data)
|
||||||
|
|||||||
Reference in New Issue
Block a user