wallet: update info data before transactions

This commit is contained in:
ardocrat 2024-05-19 12:18:08 +03:00
parent 41ab01df0b
commit c35c63d4c7

View file

@ -916,7 +916,7 @@ impl Wallet {
} }
let instance = wallet.instance.clone().unwrap(); let instance = wallet.instance.clone().unwrap();
let _ = cancel_tx(instance, None, &None, Some(id), None); let _ = cancel_tx(instance, None, &None, Some(id), None);
// Setup posting flag, and ability to finalize. // Setup tx status, cancelling, posting flag, and ability to finalize.
{ {
let mut w_data = wallet.data.write(); let mut w_data = wallet.data.write();
let mut data = w_data.clone().unwrap(); let mut data = w_data.clone().unwrap();
@ -1185,7 +1185,18 @@ fn sync_wallet_data(wallet: &Wallet, from_node: bool) {
} }
if wallet.info_sync_progress() == 100 || !from_node { if wallet.info_sync_progress() == 100 || !from_node {
// Retrieve accounts data. {
// Update wallet info.
let mut w_data = wallet.data.write();
let txs = if w_data.is_some() {
w_data.clone().unwrap().txs
} else {
vec![]
};
*w_data = Some(WalletData { info: info.1.clone(), txs });
}
// Setup accounts data.
let last_height = info.1.last_confirmed_height; let last_height = info.1.last_confirmed_height;
let spendable = if wallet.get_data().is_none() { let spendable = if wallet.get_data().is_none() {
None None
@ -1335,9 +1346,14 @@ fn sync_wallet_data(wallet: &Wallet, from_node: bool) {
}) })
} }
// Update wallet data. // Update wallet txs.
let mut w_data = wallet.data.write(); let mut w_data = wallet.data.write();
*w_data = Some(WalletData { info: info.1, txs: new_txs }); let info = if w_data.is_some() {
w_data.clone().unwrap().info
} else {
info.1
};
*w_data = Some(WalletData { info, txs: new_txs });
return; return;
} }
} }