Fixes for randomize addresses for electrum wallets

M committed Jan 12, 2022 at 16:32 UTC 3b70cc91fe269ccea44e078b89b1110dbf725292
1 file changed +10 -1
cw_bitcoin/lib/electrum_wallet_addresses.dart
+10 -1
@@ -132,7 +132,16 @@ abstract class ElectrumWalletAddressesBase extends WalletAddresses with Store {
132 }
133
134 void randomizeAddress() {
135 + const minCountOfVisibleAddresses = 5;
136 final random = Random();
136 - address = addresses[random.nextInt(addresses.length)].address;
137 + var availableAddresses = addresses
138 + .where((addr) => !addr.isHidden)
139 + .toList();
140 +
141 + if (availableAddresses.length < minCountOfVisibleAddresses) {
142 + availableAddresses = addresses;
143 + }
144 +
145 + address = availableAddresses[random.nextInt(availableAddresses.length)].address;
146 }
147 }
\ No newline at end of file