mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-08-29 08:49:52 +02:00
gui: 'getAvailableBalance', include watch only balance
Only for wallets with private keys disabled. The returned amount need to include the watch-only available balance too. Solves #26687.
This commit is contained in:
@@ -613,5 +613,17 @@ uint256 WalletModel::getLastBlockProcessed() const
|
||||
|
||||
CAmount WalletModel::getAvailableBalance(const CCoinControl* control)
|
||||
{
|
||||
return control && control->HasSelected() ? wallet().getAvailableBalance(*control) : getCachedBalance().balance;
|
||||
// No selected coins, return the cached balance
|
||||
if (!control || !control->HasSelected()) {
|
||||
const interfaces::WalletBalances& balances = getCachedBalance();
|
||||
CAmount available_balance = balances.balance;
|
||||
// if wallet private keys are disabled, this is a watch-only wallet
|
||||
// so, let's include the watch-only balance.
|
||||
if (balances.have_watch_only && m_wallet->privateKeysDisabled()) {
|
||||
available_balance += balances.watch_only_balance;
|
||||
}
|
||||
return available_balance;
|
||||
}
|
||||
// Fetch balance from the wallet, taking into account the selected coins
|
||||
return wallet().getAvailableBalance(*control);
|
||||
}
|
||||
|
Reference in New Issue
Block a user