mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-23 17:47:31 +00:00
kivy: fix open_channel (API was changed)
This commit is contained in:
parent
557987d4eb
commit
ddeb176b3d
3 changed files with 12 additions and 4 deletions
|
@ -133,6 +133,7 @@ class LightningOpenChannelDialog(Factory.Popup):
|
|||
def on_qr(self, conn_str):
|
||||
self.pubkey = conn_str
|
||||
|
||||
# FIXME "max" button in amount_dialog should enforce LN_MAX_FUNDING_SAT
|
||||
def open_channel(self):
|
||||
if not self.pubkey or not self.amount:
|
||||
self.app.show_info(_('All fields must be filled out'))
|
||||
|
@ -145,8 +146,11 @@ class LightningOpenChannelDialog(Factory.Popup):
|
|||
self.dismiss()
|
||||
|
||||
def do_open_channel(self, conn_str, amount, password):
|
||||
coins = self.app.wallet.get_spendable_coins(None, nonlocal_only=True)
|
||||
funding_tx = self.app.wallet.lnworker.mktx_for_open_channel(coins=coins, funding_sat=amount)
|
||||
try:
|
||||
chan, funding_tx = self.app.wallet.lnworker.open_channel(connect_str=conn_str,
|
||||
funding_tx=funding_tx,
|
||||
funding_sat=amount,
|
||||
push_amt_sat=0,
|
||||
password=password)
|
||||
|
|
|
@ -1618,7 +1618,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
|
|||
|
||||
def mktx_for_open_channel(self, funding_sat):
|
||||
coins = self.get_coins(nonlocal_only=True)
|
||||
make_tx = partial(self.wallet.lnworker.mktx_for_open_channel, coins, funding_sat)
|
||||
make_tx = lambda fee_est: self.wallet.lnworker.mktx_for_open_channel(coins=coins,
|
||||
funding_sat=funding_sat,
|
||||
fee_est=fee_est)
|
||||
return make_tx
|
||||
|
||||
def open_channel(self, connect_str, funding_sat, push_amt):
|
||||
|
|
|
@ -53,7 +53,7 @@ from .lnutil import (Outpoint, LNPeerAddr,
|
|||
UpdateAddHtlc, Direction, LnLocalFeatures, format_short_channel_id,
|
||||
ShortChannelID)
|
||||
from .lnutil import ln_dummy_address
|
||||
from .transaction import PartialTxOutput, PartialTransaction
|
||||
from .transaction import PartialTxOutput, PartialTransaction, PartialTxInput
|
||||
from .lnonion import OnionFailureCode
|
||||
from .lnmsg import decode_msg
|
||||
from .i18n import _
|
||||
|
@ -848,7 +848,8 @@ class LNWallet(LNWorker):
|
|||
peer = await self._add_peer(host, port, node_id)
|
||||
return peer
|
||||
|
||||
def mktx_for_open_channel(self, coins, funding_sat, fee_est):
|
||||
def mktx_for_open_channel(self, *, coins: Sequence[PartialTxInput], funding_sat: int,
|
||||
fee_est=None) -> PartialTransaction:
|
||||
dummy_address = ln_dummy_address()
|
||||
outputs = [PartialTxOutput.from_address_and_value(dummy_address, funding_sat)]
|
||||
tx = self.wallet.make_unsigned_transaction(
|
||||
|
@ -861,7 +862,8 @@ class LNWallet(LNWorker):
|
|||
def open_channel(self, *, connect_str: str, funding_tx: PartialTransaction,
|
||||
funding_sat: int, push_amt_sat: int, password: str = None,
|
||||
timeout: Optional[int] = 20) -> Tuple[Channel, PartialTransaction]:
|
||||
assert funding_sat <= LN_MAX_FUNDING_SAT
|
||||
if funding_sat > LN_MAX_FUNDING_SAT:
|
||||
raise Exception(_("Requested channel capacity is over protocol allowed maximum."))
|
||||
coro = self._open_channel_coroutine(connect_str=connect_str, funding_tx=funding_tx, funding_sat=funding_sat,
|
||||
push_sat=push_amt_sat, password=password)
|
||||
fut = asyncio.run_coroutine_threadsafe(coro, self.network.asyncio_loop)
|
||||
|
|
Loading…
Add table
Reference in a new issue