fix race between lnwatcher/lnworker
channels were sometimes not getting re-established
This commit is contained in:
@@ -93,7 +93,8 @@ class LNWatcher(PrintError):
|
|||||||
e_tx2 = EncumberedTransaction.from_json(e_tx)
|
e_tx2 = EncumberedTransaction.from_json(e_tx)
|
||||||
self.sweepstore[funding_outpoint][ctx_txid].add(e_tx2)
|
self.sweepstore[funding_outpoint][ctx_txid].add(e_tx2)
|
||||||
|
|
||||||
self.network.register_callback(self.on_network_update, ['network_updated', 'blockchain_updated', 'verified'])
|
self.network.register_callback(self.on_network_update,
|
||||||
|
['network_updated', 'blockchain_updated', 'verified', 'wallet_updated'])
|
||||||
|
|
||||||
def write_to_disk(self):
|
def write_to_disk(self):
|
||||||
# FIXME: json => every update takes linear instead of constant disk write
|
# FIXME: json => every update takes linear instead of constant disk write
|
||||||
@@ -128,7 +129,7 @@ class LNWatcher(PrintError):
|
|||||||
|
|
||||||
@aiosafe
|
@aiosafe
|
||||||
async def on_network_update(self, event, *args):
|
async def on_network_update(self, event, *args):
|
||||||
if event == 'verified':
|
if event in ('verified', 'wallet_updated'):
|
||||||
wallet = args[0]
|
wallet = args[0]
|
||||||
if wallet != self.addr_sync:
|
if wallet != self.addr_sync:
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user