diff --git a/cw_bitcoin/lib/bitcoin_wallet.dart b/cw_bitcoin/lib/bitcoin_wallet.dart index 0616f3400..84758a1cb 100644 --- a/cw_bitcoin/lib/bitcoin_wallet.dart +++ b/cw_bitcoin/lib/bitcoin_wallet.dart @@ -164,6 +164,8 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store { } } + bool get isLightningInitialized => lightningWallet?.isInitialized == true; + @override bool get hasRescan => true; @@ -339,7 +341,7 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store { @override Future fetchBalances() async { final balance = await super.fetchBalances(); - if (lightningWallet == null) { + if (!isLightningInitialized || lightningWallet == null) { return balance; } @@ -358,7 +360,7 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store { @override @action Future subscribeForUpdates() async { - if (lightningWallet != null) { + if (isLightningInitialized && lightningWallet != null) { lightningWallet!.setEventListener( onTransactionEvent: (tx) async { if (transactionHistory.transactions[tx.id]?.isPending != tx.isPending) { diff --git a/cw_bitcoin/lib/lightning/lightning_wallet.dart b/cw_bitcoin/lib/lightning/lightning_wallet.dart index 12a28776b..bfc5647f0 100644 --- a/cw_bitcoin/lib/lightning/lightning_wallet.dart +++ b/cw_bitcoin/lib/lightning/lightning_wallet.dart @@ -41,6 +41,8 @@ class LightningWallet { StreamSubscription? _logSubscription; + bool get isInitialized => _eventStream != null; + void _subscribeToLogStream(File logFile) { _logSubscription = _logStream?.listen((logEntry) { logFile.writeAsStringSync("[${logEntry.level}] ${logEntry.line}\n", mode: FileMode.append);