Browse Source

lightning: connect send button

dependabot/pip/contrib/deterministic-build/ecdsa-0.13.3
ThomasV 7 years ago
parent
commit
34d5f1b2e3
  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

@ -774,7 +774,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()
@ -1875,11 +1883,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:
@ -1917,6 +1925,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