1
0

wallet: don't restart wallet/network when init_lightning

This commit is contained in:
Sander van Grieken
2023-04-17 10:46:22 +02:00
committed by accumulator
parent 76786ab670
commit 99a78d4d6c

View File

@@ -438,11 +438,9 @@ class Abstract_Wallet(ABC, Logger, EventListener):
node = BIP32Node.from_rootseed(seed, xtype='standard')
ln_xprv = node.to_xprv()
self.db.put('lightning_privkey2', ln_xprv)
if self.network:
self.network.run_from_another_thread(self.stop())
self.lnworker = LNWallet(self, ln_xprv)
if self.network:
self.start_network(self.network)
self.start_network_lightning()
async def stop(self):
"""Stop all networking and save DB to disk."""
@@ -539,10 +537,15 @@ class Abstract_Wallet(ABC, Logger, EventListener):
asyncio.run_coroutine_threadsafe(self.main_loop(), self.network.asyncio_loop)
self.adb.start_network(network)
if self.lnworker:
self.lnworker.start_network(network)
# only start gossiping when we already have channels
if self.db.get('channels'):
self.network.start_gossip()
self.start_network_lightning()
def start_network_lightning(self):
assert self.lnworker
assert self.lnworker.network is None, 'lnworker network already initialized'
self.lnworker.start_network(self.network)
# only start gossiping when we already have channels
if self.db.get('channels'):
self.network.start_gossip()
@abstractmethod
def load_keystore(self) -> None: