mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-28 12:29:51 +00:00
fix auto-generate electrum subaddress
This commit is contained in:
parent
81ca38857f
commit
4fef76e9e3
1 changed files with 16 additions and 13 deletions
|
@ -146,21 +146,24 @@ abstract class ElectrumWalletAddressesBase extends WalletAddresses with Store {
|
|||
|
||||
String receiveAddress;
|
||||
|
||||
final typeMatchingReceiveAddresses =
|
||||
receiveAddresses.where(_isAddressPageTypeMatch).where((addr) => !addr.isUsed);
|
||||
final typeMatchingUnusedReceiveAddresses = receiveAddresses
|
||||
.where(_isAddressPageTypeMatch)
|
||||
.where((addr) => !addr.isUsed)
|
||||
.toList();
|
||||
|
||||
if ((isEnabledAutoGenerateSubaddress && receiveAddresses.isEmpty) ||
|
||||
typeMatchingReceiveAddresses.isEmpty) {
|
||||
receiveAddress = generateNewAddress().address;
|
||||
} else {
|
||||
final previousAddressMatchesType =
|
||||
previousAddressRecord != null && previousAddressRecord!.type == addressPageType;
|
||||
|
||||
if (previousAddressMatchesType &&
|
||||
typeMatchingReceiveAddresses.first.address != addressesByReceiveType.first.address) {
|
||||
receiveAddress = previousAddressRecord!.address;
|
||||
if (isEnabledAutoGenerateSubaddress) {
|
||||
if (typeMatchingUnusedReceiveAddresses.isEmpty) {
|
||||
receiveAddress = generateNewAddress().address;
|
||||
} else {
|
||||
receiveAddress = typeMatchingReceiveAddresses.first.address;
|
||||
receiveAddress = typeMatchingUnusedReceiveAddresses.first.address;
|
||||
}
|
||||
} else {
|
||||
if (previousAddressRecord != null && previousAddressRecord!.type == addressPageType) {
|
||||
receiveAddress = previousAddressRecord!.address;
|
||||
} else if (typeMatchingUnusedReceiveAddresses.isNotEmpty) {
|
||||
receiveAddress = typeMatchingUnusedReceiveAddresses.first.address;
|
||||
} else {
|
||||
receiveAddress = generateNewAddress().address;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue