Browse Source

Merge pull request #2272 from gavinandresen/getbalancefix

Fix getbalance discrepency
miguelfreitas
Gavin Andresen 12 years ago
parent
commit
1829134afe
  1. 4
      src/rpcwallet.cpp
  2. 2
      src/wallet.cpp

4
src/rpcwallet.cpp

@ -520,12 +520,12 @@ Value getbalance(const Array& params, bool fHelp)
if (params[0].get_str() == "*") { if (params[0].get_str() == "*") {
// Calculate total balance a different way from GetBalance() // Calculate total balance a different way from GetBalance()
// (GetBalance() sums up all unspent TxOuts) // (GetBalance() sums up all unspent TxOuts)
// getbalance and getbalance '*' should always return the same number. // getbalance and getbalance '*' 0 should return the same number
int64 nBalance = 0; int64 nBalance = 0;
for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it) for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
{ {
const CWalletTx& wtx = (*it).second; const CWalletTx& wtx = (*it).second;
if (!wtx.IsFinal()) if (!wtx.IsConfirmed())
continue; continue;
int64 allFee; int64 allFee;

2
src/wallet.cpp

@ -910,7 +910,7 @@ int64 CWallet::GetBalance() const
for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
{ {
const CWalletTx* pcoin = &(*it).second; const CWalletTx* pcoin = &(*it).second;
if (pcoin->IsFinal() && pcoin->IsConfirmed()) if (pcoin->IsConfirmed())
nTotal += pcoin->GetAvailableCredit(); nTotal += pcoin->GetAvailableCredit();
} }
} }

Loading…
Cancel
Save