aboutsummaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2011-03-27 14:56:18 -0400
committerGavin Andresen <gavinandresen@gmail.com>2011-04-05 21:18:26 -0400
commit198fd7b0bd5a99db4e45009c422a66c0b1285767 (patch)
tree9656b3f9577f8516d12e965f6e1f4d5bc679be0a /main.cpp
parent0a4cb8697645b61f781421aa10cf3f7841f776e5 (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.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/main.cpp b/main.cpp
index 6bd90a32ad..cd4f92eab3 100644
--- a/main.cpp
+++ b/main.cpp
@@ -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)