electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 75902f8e35e2a6df67667aed40bdf9c7ad6633f5
parent 427f7f8eeb0d55f327deb594008b854af916daa7
Author: SomberNight <somber.night@protonmail.com>
Date:   Tue, 29 Oct 2019 20:39:58 +0100

fix logic error in lnworker.on_channel_closed

Diffstat:
Melectrum/lnwatcher.py | 4+++-
Melectrum/lnworker.py | 10+++++-----
2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/electrum/lnwatcher.py b/electrum/lnwatcher.py @@ -150,7 +150,9 @@ class LNWatcher(AddressSynchronizer): def get_channel_status(self, outpoint): return self.channel_status.get(outpoint, 'unknown') - def add_channel(self, outpoint, address): + def add_channel(self, outpoint: str, address: str) -> None: + assert isinstance(outpoint, str) + assert isinstance(address, str) self.add_address(address) self.channels[address] = outpoint diff --git a/electrum/lnworker.py b/electrum/lnworker.py @@ -638,18 +638,18 @@ class LNWallet(LNWorker): # create and broadcast transaction for prevout, sweep_info in sweep_info_dict.items(): name = sweep_info.name - spender = spenders.get(prevout) - if spender is not None: - spender_tx = await self.network.get_transaction(spender) + spender_txid = spenders.get(prevout) + if spender_txid is not None: + spender_tx = await self.network.get_transaction(spender_txid) spender_tx = Transaction(spender_tx) e_htlc_tx = chan.sweep_htlc(closing_tx, spender_tx) if e_htlc_tx: - spender2 = spenders.get(spender_tx.outputs()[0]) + spender2 = spenders.get(spender_txid+':0') if spender2: self.logger.info(f'htlc is already spent {name}: {prevout}') else: self.logger.info(f'trying to redeem htlc {name}: {prevout}') - await self.try_redeem(spender+':0', e_htlc_tx) + await self.try_redeem(spender_txid+':0', e_htlc_tx) else: self.logger.info(f'outpoint already spent {name}: {prevout}') else: