diff options
author | Gavin Andresen <gavinandresen@gmail.com> | 2011-03-27 14:56:18 -0400 |
---|---|---|
committer | Gavin Andresen <gavinandresen@gmail.com> | 2011-04-05 21:18:26 -0400 |
commit | 198fd7b0bd5a99db4e45009c422a66c0b1285767 (patch) | |
tree | 9656b3f9577f8516d12e965f6e1f4d5bc679be0a /main.cpp | |
parent | 0a4cb8697645b61f781421aa10cf3f7841f776e5 (diff) |
Report immature coinbase transactions in listtransactions
Report coin generation transactions as 'category':'immature' until they have 120 confirmations (when they are reported as 'category':'generate', as before).
If the block they are in is not part of the main chain (you lost a 'block race'), then they are reported as 'category':'orphan' (with 0 confirmations).
Diffstat (limited to 'main.cpp')
-rw-r--r-- | main.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -407,18 +407,20 @@ int CWalletTx::GetRequestCount() const return nRequests; } -void CWalletTx::GetAmounts(int64& nGenerated, list<pair<string, int64> >& listReceived, +void CWalletTx::GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, list<pair<string, int64> >& listReceived, list<pair<string, int64> >& listSent, int64& nFee, string& strSentAccount) const { - nGenerated = nFee = 0; + nGeneratedImmature = nGeneratedMature = nFee = 0; listReceived.clear(); listSent.clear(); strSentAccount = strFromAccount; if (IsCoinBase()) { - if (GetDepthInMainChain() >= COINBASE_MATURITY) - nGenerated = GetCredit(); + if (GetBlocksToMaturity() > 0) + nGeneratedImmature = CTransaction::GetCredit(); + else + nGeneratedMature = GetCredit(); return; } @@ -466,15 +468,15 @@ void CWalletTx::GetAccountAmounts(const string& strAccount, int64& nGenerated, i { nGenerated = nReceived = nSent = nFee = 0; - int64 allGenerated, allFee; - allGenerated = allFee = 0; + int64 allGeneratedImmature, allGeneratedMature, allFee; + allGeneratedImmature = allGeneratedMature = allFee = 0; string strSentAccount; list<pair<string, int64> > listReceived; list<pair<string, int64> > listSent; - GetAmounts(allGenerated, listReceived, listSent, allFee, strSentAccount); + GetAmounts(allGeneratedImmature, allGeneratedMature, listReceived, listSent, allFee, strSentAccount); if (strAccount == "") - nGenerated = allGenerated; + nGenerated = allGeneratedMature; if (strAccount == strSentAccount) { foreach(const PAIRTYPE(string,int64)& s, listSent) |