From ef077c864763488cc25f6b0cc985971c8c0f6c10 Mon Sep 17 00:00:00 2001 From: Matthew Fosse <matt@fosse.co> Date: Mon, 19 Aug 2024 15:11:08 -0400 Subject: [PATCH] change address fixes --- cw_bitcoin/lib/litecoin_wallet.dart | 2 ++ cw_bitcoin/lib/litecoin_wallet_addresses.dart | 15 ++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/cw_bitcoin/lib/litecoin_wallet.dart b/cw_bitcoin/lib/litecoin_wallet.dart index 7d8e70c41..bb1023164 100644 --- a/cw_bitcoin/lib/litecoin_wallet.dart +++ b/cw_bitcoin/lib/litecoin_wallet.dart @@ -83,6 +83,7 @@ abstract class LitecoinWalletBase extends ElectrumWallet with Store { sideHd: accountHD.childKey(Bip32KeyIndex(1)), network: network, mwebHd: mwebHd, + mwebEnabled: mwebEnabled, ); autorun((_) { this.walletAddresses.isEnabledAutoGenerateSubaddress = this.isEnabledAutoGenerateSubaddress; @@ -822,6 +823,7 @@ abstract class LitecoinWalletBase extends ElectrumWallet with Store { } mwebEnabled = enabled; + (walletAddresses as LitecoinWalletAddresses).mwebEnabled = enabled; stopSync(); startSync(); } diff --git a/cw_bitcoin/lib/litecoin_wallet_addresses.dart b/cw_bitcoin/lib/litecoin_wallet_addresses.dart index 46ab1d12a..24cdd04d8 100644 --- a/cw_bitcoin/lib/litecoin_wallet_addresses.dart +++ b/cw_bitcoin/lib/litecoin_wallet_addresses.dart @@ -17,8 +17,9 @@ abstract class LitecoinWalletAddressesBase extends ElectrumWalletAddresses with WalletInfo walletInfo, { required super.mainHd, required super.sideHd, - required this.mwebHd, required super.network, + required this.mwebHd, + required this.mwebEnabled, super.initialAddresses, super.initialRegularAddressIndex, super.initialChangeAddressIndex, @@ -27,6 +28,7 @@ abstract class LitecoinWalletAddressesBase extends ElectrumWalletAddresses with } final Bip32Slip10Secp256k1 mwebHd; + bool mwebEnabled; List<int> get scanSecret => mwebHd.childKey(Bip32KeyIndex(0x80000000)).privateKey.privKey.raw; List<int> get spendPubkey => @@ -78,11 +80,10 @@ abstract class LitecoinWalletAddressesBase extends ElectrumWalletAddresses with @action @override Future<String> getChangeAddress() async { - // super.getChangeAddress(); - // updateChangeAddresses(); - // print("getChangeAddress @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); - // this means all change addresses used will be mweb addresses!: - await topUpMweb(0); - return mwebAddrs[0]; + if (mwebEnabled) { + await topUpMweb(0); + return mwebAddrs[0]; + } + return super.getChangeAddress(); } }