You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge #598: Avoid recalculating the wallet balance - use model cache
4584d30 GUI: remove now unneeded 'm_balances' field from overviewpage (furszy)
050e8b1 GUI: 'getAvailableBalance', use cached balance if the user did not select UTXO manually (furszy)
96e3264 GUI: use cached balance in overviewpage and sendcoinsdialog (furszy)
321335b GUI: add getter for WalletModel::m_cached_balances field (furszy)
e62958d GUI: sendCoinsDialog, remove duplicate wallet().getBalances() call (furszy)
Pull request description:
As per the title says, we are recalculating the entire wallet balance on different situations calling to `wallet().getBalances()`, when should instead make use of the wallet model cached balance.
This has the benefits of (1) not spending resources calculating a balance that we already have cached, and (2) avoid blocking the main thread for a long time, in case of big wallets, walking through the entire wallet's tx map more than what it's really needed.
Changes:
1) Fix: `SendCoinsDialog` was calling `wallet().getBalances()` twice during `setModel`.
2) Use the cached balance if the user did not select any UTXO manually inside the wallet model `getAvailableBalance` call.
-----------------------
As an extra note, this work born in [#25005](bitcoin/bitcoin#25005) but grew out of scope of it.
ACKs for top commit:
jarolrod:
ACK 4584d30
hebasto:
re-ACK 4584d30, only suggested changes and commit message formatting since my [recent](#598 (review)) review.
Tree-SHA512: 6633ce7f9a82a3e46e75aa7295df46c80a4cd4a9f3305427af203c9bc8670573fa8a1927f14a279260c488cc975a08d238faba2e9751588086fea1dcf8ea2b28
0 commit comments