Merge pull request #4937
ccca27a [Wallet] Watch-only fixes (Cozz Lovan)
This commit is contained in:
34
src/wallet.h
34
src/wallet.h
@@ -230,6 +230,7 @@ public:
|
||||
|
||||
// Adds a watch-only address to the store, and saves it to disk.
|
||||
bool AddWatchOnly(const CScript &dest);
|
||||
bool RemoveWatchOnly(const CScript &dest);
|
||||
// Adds a watch-only address to the store, without saving it to disk (used by LoadWallet)
|
||||
bool LoadWatchOnly(const CScript &dest);
|
||||
|
||||
@@ -709,18 +710,37 @@ public:
|
||||
return debit;
|
||||
}
|
||||
|
||||
CAmount GetCredit(bool fUseCache=true) const
|
||||
CAmount GetCredit(const isminefilter& filter) const
|
||||
{
|
||||
// Must wait until coinbase is safely deep enough in the chain before valuing it
|
||||
if (IsCoinBase() && GetBlocksToMaturity() > 0)
|
||||
return 0;
|
||||
|
||||
// GetBalance can assume transactions in mapWallet won't change
|
||||
if (fUseCache && fCreditCached)
|
||||
return nCreditCached;
|
||||
nCreditCached = pwallet->GetCredit(*this, ISMINE_ALL);
|
||||
fCreditCached = true;
|
||||
return nCreditCached;
|
||||
int64_t credit = 0;
|
||||
if (filter & ISMINE_SPENDABLE)
|
||||
{
|
||||
// GetBalance can assume transactions in mapWallet won't change
|
||||
if (fCreditCached)
|
||||
credit += nCreditCached;
|
||||
else
|
||||
{
|
||||
nCreditCached = pwallet->GetCredit(*this, ISMINE_SPENDABLE);
|
||||
fCreditCached = true;
|
||||
credit += nCreditCached;
|
||||
}
|
||||
}
|
||||
if (filter & ISMINE_WATCH_ONLY)
|
||||
{
|
||||
if (fWatchCreditCached)
|
||||
credit += nWatchCreditCached;
|
||||
else
|
||||
{
|
||||
nWatchCreditCached = pwallet->GetCredit(*this, ISMINE_WATCH_ONLY);
|
||||
fWatchCreditCached = true;
|
||||
credit += nWatchCreditCached;
|
||||
}
|
||||
}
|
||||
return credit;
|
||||
}
|
||||
|
||||
CAmount GetImmatureCredit(bool fUseCache=true) const
|
||||
|
||||
Reference in New Issue
Block a user