diff --git a/cw_bitcoin/lib/bitcoin_wallet.dart b/cw_bitcoin/lib/bitcoin_wallet.dart index 1614cbe2e..132227f27 100644 --- a/cw_bitcoin/lib/bitcoin_wallet.dart +++ b/cw_bitcoin/lib/bitcoin_wallet.dart @@ -160,9 +160,11 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store { lnurlDomain: "cake.cash", cachedAddress: cachedLightningAddress, ); + walletAddresses.lightningWallet = lightningWallet; walletAddresses.setLightningAddress(walletInfo.name); } } else { + lightningWallet?.close(); lightningWallet = null; } }); @@ -426,7 +428,7 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store { bool get hasPayjoinSupport => keys.privateKey.isNotEmpty; @override - bool get hasLightningSupport => lightningWallet?.sdk != null; + bool get hasLightningSupport => seed != null && LightningWallet.isAvailable; bool get isPayjoinAvailable => unspentCoinsInfo.values .where((element) => element.walletId == id && element.isSending && !element.isFrozen) @@ -727,7 +729,7 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store { if (option == BitcoinReceivePageOption.lightning) { // Lightning is tied to the primary account only - return !isExtraAccount && hasLightningSupport; + return !isExtraAccount && hasLightningSupport && isLightningInitialized; } if (option == BitcoinReceivePageOption.silent_payments) { diff --git a/cw_bitcoin/lib/electrum_wallet_addresses.dart b/cw_bitcoin/lib/electrum_wallet_addresses.dart index 2779e2ad0..37fb57775 100644 --- a/cw_bitcoin/lib/electrum_wallet_addresses.dart +++ b/cw_bitcoin/lib/electrum_wallet_addresses.dart @@ -171,7 +171,7 @@ abstract class ElectrumWalletAddressesBase extends WalletAddresses with Store { final Bip32Slip10Secp256k1 legacyMainHd; final Bip32Slip10Secp256k1 legacySideHd; final bool isHardwareWallet; - final LightningWallet? lightningWallet; + LightningWallet? lightningWallet; @observable ObservableMap lockedReceiveAddressByType;