Add blocks to maturity in transaction JSON for listtransactions RPC API

This commit is contained in:
miketout
2018-05-09 02:06:55 -07:00
parent 3b03d0670c
commit c2f6623fdf
2 changed files with 8 additions and 3 deletions

View File

@@ -1608,10 +1608,14 @@ void ListTransactions(const CWalletTx& wtx, const string& strAccount, int nMinDe
MaybePushAddress(entry, r.destination); MaybePushAddress(entry, r.destination);
if (wtx.IsCoinBase()) if (wtx.IsCoinBase())
{ {
int btm;
if (wtx.GetDepthInMainChain() < 1) if (wtx.GetDepthInMainChain() < 1)
entry.push_back(Pair("category", "orphan")); entry.push_back(Pair("category", "orphan"));
else if (wtx.GetBlocksToMaturity() > 0) else if ((btm = wtx.GetBlocksToMaturity()) > 0)
{
entry.push_back(Pair("category", "immature")); entry.push_back(Pair("category", "immature"));
entry.push_back(Pair("blockstomaturity", btm));
}
else else
entry.push_back(Pair("category", "generate")); entry.push_back(Pair("category", "generate"));
} }

View File

@@ -3917,8 +3917,9 @@ int CMerkleTx::GetBlocksToMaturity() const
return 0; return 0;
int32_t depth = GetDepthInMainChain(); int32_t depth = GetDepthInMainChain();
int32_t ut = UnlockTime(0); int32_t ut = UnlockTime(0);
int32_t toMaturity = ut - chainActive.Height() < 0 ? 0 : ut - chainActive.Height(); int32_t toMaturity = (ut - chainActive.Height()) < 0 ? 0 : ut - chainActive.Height();
ut = COINBASE_MATURITY - depth < 0 ? 0 : COINBASE_MATURITY - depth; //printf("depth.%i, unlockTime.%i, toMaturity.%i\n", depth, ut, toMaturity);
ut = (COINBASE_MATURITY - depth) < 0 ? 0 : COINBASE_MATURITY - depth;
return(ut < toMaturity ? toMaturity : ut); return(ut < toMaturity ? toMaturity : ut);
} }