mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-26 06:08:40 +01:00
safeguards for monero subaddress list (#3242)
This commit is contained in:
@@ -34,8 +34,9 @@ abstract class MoneroSubaddressListBase with Store {
|
||||
try {
|
||||
_isUpdating = true;
|
||||
refresh(accountIndex: accountIndex);
|
||||
final newAddrs = await getAll();
|
||||
subaddresses.clear();
|
||||
subaddresses.addAll(await getAll());
|
||||
subaddresses.addAll(newAddrs);
|
||||
_isUpdating = false;
|
||||
} catch (e) {
|
||||
_isUpdating = false;
|
||||
|
||||
@@ -214,7 +214,7 @@ abstract class WalletAddressListViewModelBase extends WalletChangeListenerViewMo
|
||||
final addressList = ObservableList<ListItem>();
|
||||
|
||||
if (wallet.type == WalletType.monero) {
|
||||
final primaryAddress = monero!.getSubaddressList(wallet).subaddresses.first;
|
||||
final primaryAddress = monero!.getSubaddressList(wallet).subaddresses.firstOrNull;
|
||||
final addressItems = monero!.getSubaddressList(wallet).subaddresses.map((subaddress) {
|
||||
final isPrimary = subaddress == primaryAddress;
|
||||
|
||||
|
||||
@@ -25,9 +25,16 @@ Future<void> createNewAddress(WalletBase wallet, String label) async {
|
||||
await monero!
|
||||
.getSubaddressList(wallet)
|
||||
.addSubaddress(wallet, accountIndex: monero!.getCurrentAccount(wallet).id, label: label);
|
||||
final addr = await monero!
|
||||
final subaddressList = await monero!
|
||||
.getSubaddressList(wallet)
|
||||
.subaddresses
|
||||
.subaddresses;
|
||||
if(subaddressList.isEmpty) {
|
||||
// this shouldn't happen, we just added an addr.
|
||||
// somehow, it happened once in prod regardless.
|
||||
// we just return instead of crashing, user can press the button again ig
|
||||
return;
|
||||
}
|
||||
final addr = subaddressList
|
||||
.first
|
||||
.address; // first because the order is reversed
|
||||
wallet.walletAddresses.manualAddresses.add(addr);
|
||||
|
||||
Reference in New Issue
Block a user