diff options
author | Philip Kaufmann <phil.kaufmann@t-online.de> | 2012-06-18 08:32:33 +0200 |
---|---|---|
committer | Philip Kaufmann <phil.kaufmann@t-online.de> | 2012-11-13 07:56:48 +0100 |
commit | 966a0e8cc94f2590521e0a2513e0cea32b5bb005 (patch) | |
tree | a6fb31a0f82a7edc186bd46f1478f3d75930368f /src/wallet.h | |
parent | 0d5b1d2a3e0c154da2228632524a077b2b65aa2a (diff) |
add CWalletTx::GetImmatureCredit() and use it in CWallet::GetImmatureBalance()
Diffstat (limited to 'src/wallet.h')
-rw-r--r-- | src/wallet.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/wallet.h b/src/wallet.h index 43b695c597..5e2f8e0ba1 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -375,10 +375,12 @@ public: // memory only mutable bool fDebitCached; mutable bool fCreditCached; + mutable bool fImmatureCreditCached; mutable bool fAvailableCreditCached; mutable bool fChangeCached; mutable int64 nDebitCached; mutable int64 nCreditCached; + mutable int64 nImmatureCreditCached; mutable int64 nAvailableCreditCached; mutable int64 nChangeCached; @@ -416,10 +418,12 @@ public: vfSpent.clear(); fDebitCached = false; fCreditCached = false; + fImmatureCreditCached = false; fAvailableCreditCached = false; fChangeCached = false; nDebitCached = 0; nCreditCached = 0; + nImmatureCreditCached = 0; nAvailableCreditCached = 0; nChangeCached = 0; nOrderPos = -1; @@ -563,6 +567,20 @@ public: return nCreditCached; } + int64 GetImmatureCredit(bool fUseCache=true) const + { + if (IsCoinBase() && GetBlocksToMaturity() > 0 && IsInMainChain()) + { + if (fUseCache && fImmatureCreditCached) + return nImmatureCreditCached; + nImmatureCreditCached = pwallet->GetCredit(*this); + fImmatureCreditCached = true; + return nImmatureCreditCached; + } + + return 0; + } + int64 GetAvailableCredit(bool fUseCache=true) const { // Must wait until coinbase is safely deep enough in the chain before valuing it |