fix: address list

This commit is contained in:
Rafael Saes 2025-01-24 17:37:57 -03:00
parent 309dca9ac9
commit be1b964967
5 changed files with 19 additions and 5 deletions

View file

@ -31,6 +31,9 @@ abstract class BitcoinWalletAddressesBase extends ElectrumWalletAddresses with S
silentPaymentWallets = [silentPaymentWallet!];
}
@override
final walletAddressTypes = BITCOIN_ADDRESS_TYPES;
static const OLD_SP_PATH = "m/352'/1'/0'/#'/0";
static const BITCOIN_ADDRESS_TYPES = [
SegwitAddressType.p2wpkh,
@ -53,6 +56,8 @@ abstract class BitcoinWalletAddressesBase extends ElectrumWalletAddresses with S
@override
Future<void> init() async {
super.init();
// TODO: if restored from snapshot
if (allAddresses.where((address) => address.type == SegwitAddressType.p2wpkh).isEmpty) {

View file

@ -1349,7 +1349,7 @@ abstract class ElectrumWalletBase
await save();
} else if (response.completed) {
checkAddressesGap();
// checkAddressesGap();
}
}

View file

@ -65,17 +65,17 @@ abstract class ElectrumWalletAddressesBase extends WalletAddresses with Store {
@computed
List<BaseBitcoinAddressRecord> get selectedReceiveAddresses =>
receiveAddressesByType[_addressPageType]!;
receiveAddressesByType[_addressPageType] ?? [];
@computed
List<BaseBitcoinAddressRecord> get selectedChangeAddresses =>
receiveAddressesByType[_addressPageType]!;
changeAddressesByType[_addressPageType] ?? [];
List<BaseBitcoinAddressRecord> getAddressesByType(
BitcoinAddressType type, [
bool isChange = false,
]) =>
isChange ? changeAddressesByType[type]! : receiveAddressesByType[type]!;
(isChange ? changeAddressesByType[type] : receiveAddressesByType[type]) ?? [];
@computed
BitcoinAddressType get addressPageType => _addressPageType;
@ -282,7 +282,6 @@ abstract class ElectrumWalletAddressesBase extends WalletAddresses with Store {
@action
void updateAddressesByType() {
receiveAddressesByType.clear();
walletAddressTypes.forEach((type) {
receiveAddressesByType[type] =
_allAddresses.where((addr) => _isAddressByType(addr, type)).toList();

View file

@ -37,6 +37,11 @@ abstract class LitecoinWalletAddressesBase extends ElectrumWalletAddresses with
printV("initialized with ${mwebAddrs.length} mweb addresses");
}
@override
final walletAddressTypes = LITECOIN_ADDRESS_TYPES;
static const LITECOIN_ADDRESS_TYPES = [SegwitAddressType.p2wpkh];
final ObservableList<LitecoinMWEBAddressRecord> mwebAddresses;
late final Bip32Slip10Secp256k1? mwebHd;

View file

@ -20,6 +20,11 @@ abstract class BitcoinCashWalletAddressesBase extends ElectrumWalletAddresses wi
super.initialAddressPageType,
}) : super(walletInfo);
@override
final walletAddressTypes = BITCOIN_CASH_ADDRESS_TYPES;
static const BITCOIN_CASH_ADDRESS_TYPES = [P2pkhAddressType.p2pkh];
@override
Future<void> init() async {
await generateInitialAddresses(type: P2pkhAddressType.p2pkh);