1
0

use mktx_for_open_channel in commands module. fix indentation

This commit is contained in:
ThomasV
2021-03-12 19:05:25 +01:00
parent 7c2b7ca5c0
commit 018f09f2af
3 changed files with 26 additions and 16 deletions

View File

@@ -54,7 +54,6 @@ from .address_synchronizer import TX_HEIGHT_LOCAL
from .mnemonic import Mnemonic from .mnemonic import Mnemonic
from .lnutil import SENT, RECEIVED from .lnutil import SENT, RECEIVED
from .lnutil import LnFeatures from .lnutil import LnFeatures
from .lnutil import ln_dummy_address
from .lnpeer import channel_id_from_funding_tx from .lnpeer import channel_id_from_funding_tx
from .plugin import run_hook from .plugin import run_hook
from .version import ELECTRUM_VERSION from .version import ELECTRUM_VERSION
@@ -996,13 +995,17 @@ class Commands:
async def open_channel(self, connection_string, amount, push_amount=0, password=None, wallet: Abstract_Wallet = None): async def open_channel(self, connection_string, amount, push_amount=0, password=None, wallet: Abstract_Wallet = None):
funding_sat = satoshis(amount) funding_sat = satoshis(amount)
push_sat = satoshis(push_amount) push_sat = satoshis(push_amount)
dummy_output = PartialTxOutput.from_address_and_value(ln_dummy_address(), funding_sat) coins = wallet.get_spendable_coins(None)
funding_tx = wallet.mktx(outputs = [dummy_output], rbf=False, sign=False, nonlocal_only=True) funding_tx = wallet.lnworker.mktx_for_open_channel(
chan, funding_tx = await wallet.lnworker._open_channel_coroutine(connect_str=connection_string, coins=coins,
funding_tx=funding_tx, funding_sat=funding_sat,
funding_sat=funding_sat, fee_est=None)
push_sat=push_sat, chan, funding_tx = await wallet.lnworker._open_channel_coroutine(
password=password) connect_str=connection_string,
funding_tx=funding_tx,
funding_sat=funding_sat,
push_sat=push_sat,
password=password)
return chan.funding_outpoint.to_str() return chan.funding_outpoint.to_str()
@command('') @command('')

View File

@@ -984,8 +984,11 @@ class LNWallet(LNWorker):
self.remove_channel(chan.channel_id) self.remove_channel(chan.channel_id)
raise raise
def mktx_for_open_channel(self, *, coins: Sequence[PartialTxInput], funding_sat: int, def mktx_for_open_channel(
fee_est=None) -> PartialTransaction: self, *,
coins: Sequence[PartialTxInput],
funding_sat: int,
fee_est=None) -> PartialTransaction:
dummy_address = ln_dummy_address() dummy_address = ln_dummy_address()
outputs = [PartialTxOutput.from_address_and_value(dummy_address, funding_sat)] outputs = [PartialTxOutput.from_address_and_value(dummy_address, funding_sat)]
tx = self.wallet.make_unsigned_transaction( tx = self.wallet.make_unsigned_transaction(

View File

@@ -1330,13 +1330,17 @@ class Abstract_Wallet(AddressSynchronizer, ABC):
run_hook('make_unsigned_transaction', self, tx) run_hook('make_unsigned_transaction', self, tx)
return tx return tx
def mktx(self, *, outputs: List[PartialTxOutput], password=None, fee=None, change_addr=None, def mktx(self, *,
domain=None, rbf=False, nonlocal_only=False, tx_version=None, sign=True) -> PartialTransaction: outputs: List[PartialTxOutput],
password=None, fee=None, change_addr=None,
domain=None, rbf=False, nonlocal_only=False,
tx_version=None, sign=True) -> PartialTransaction:
coins = self.get_spendable_coins(domain, nonlocal_only=nonlocal_only) coins = self.get_spendable_coins(domain, nonlocal_only=nonlocal_only)
tx = self.make_unsigned_transaction(coins=coins, tx = self.make_unsigned_transaction(
outputs=outputs, coins=coins,
fee=fee, outputs=outputs,
change_addr=change_addr) fee=fee,
change_addr=change_addr)
tx.set_rbf(rbf) tx.set_rbf(rbf)
if tx_version is not None: if tx_version is not None:
tx.version = tx_version tx.version = tx_version