From 72f4e833333d251d179984a707724e6ca51e3208 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Tue, 18 Feb 2020 17:06:54 +0100 Subject: [PATCH] fix race in check_onchain_situation --- electrum/lnwatcher.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/electrum/lnwatcher.py b/electrum/lnwatcher.py index 92c2dadb0..85fef6b95 100644 --- a/electrum/lnwatcher.py +++ b/electrum/lnwatcher.py @@ -170,13 +170,14 @@ class LNWatcher(AddressSynchronizer): if not self.synchronizer: self.logger.info("synchronizer not set yet") return - if not self.up_to_date: - return for address, outpoint in self.channels.items(): await self.check_onchain_situation(address, outpoint) async def check_onchain_situation(self, address, funding_outpoint): spenders = self.inspect_tx_candidate(funding_outpoint, 0) + # inspect_tx_candidate might have added new addresses, in which case we return ealy + if not self.is_up_to_date(): + return funding_txid = funding_outpoint.split(':')[0] funding_height = self.get_tx_height(funding_txid) closing_txid = spenders.get(funding_outpoint)