Browse Source

lightning: connect send button

regtest_lnd
ThomasV 7 years ago
committed by SomberNight
parent
commit
cad1916589
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 3
      electrum/commands.py
  2. 11
      electrum/gui/qt/main_window.py
  3. 2
      electrum/gui/qt/paytoedit.py
  4. 2
      lib/lnworker.py

3
electrum/commands.py

@ -778,7 +778,8 @@ class Commands:
@command('wn')
def lnpay(self, invoice):
self.wallet.lnworker.pay(invoice)
f = self.wallet.lnworker.pay(invoice)
return f.result()
@command('wn')
def addinvoice(self, requested_amount, message):

11
electrum/gui/qt/main_window.py

@ -1648,7 +1648,15 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
def do_preview(self):
self.do_send(preview = True)
def pay_lightning_invoice(self, invoice):
f = self.wallet.lnworker.pay(invoice)
self.do_clear()
def do_send(self, preview = False):
if self.payto_e.is_lightning:
self.pay_lightning_invoice(self.payto_e.lightning_invoice)
return
#
if run_hook('abort_send', self):
return
outputs, fee_estimator, tx_desc, coins = self.read_send_tab()
@ -1870,11 +1878,11 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
else:
description = ''
self.payto_e.setFrozen(True)
self.payto_e.setGreen()
self.payto_e.setText(pubkey)
self.message_e.setText(description)
self.amount_e.setAmount(lnaddr.amount)
#self.amount_e.textEdited.emit("")
self.payto_e.is_lightning = True
def pay_to_URI(self, URI):
if not URI:
@ -1912,6 +1920,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
self.not_enough_funds = False
self.payment_request = None
self.payto_e.is_pr = False
self.payto_e.is_lightning = False
for e in [self.payto_e, self.message_e, self.amount_e, self.fiat_send_e,
self.fee_e, self.feerate_e]:
e.setText('')

2
electrum/gui/qt/paytoedit.py

@ -61,6 +61,7 @@ class PayToEdit(CompletionTextEdit, ScanQRTextEdit, Logger):
self.errors = []
self.is_pr = False
self.is_alias = False
self.is_lightning = False
self.update_size()
self.payto_address = None
self.previous_payto = ''
@ -132,6 +133,7 @@ class PayToEdit(CompletionTextEdit, ScanQRTextEdit, Logger):
return
if data.startswith("ln"):
self.win.parse_lightning_invoice(data)
self.lightning_invoice = data
return
try:
self.payto_address = self.parse_output(data)

2
lib/lnworker.py

@ -193,7 +193,7 @@ class LNWorker(PrintError):
def pay(self, invoice):
coro = self._pay_coroutine(invoice)
return asyncio.run_coroutine_threadsafe(coro, self.network.asyncio_loop).result()
return asyncio.run_coroutine_threadsafe(coro, self.network.asyncio_loop)
# not aiosafe because we call .result() which will propagate an exception
async def _pay_coroutine(self, invoice):

Loading…
Cancel
Save