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);
if (wtx.IsCoinBase())
{
int btm;
if (wtx.GetDepthInMainChain() < 1)
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("blockstomaturity", btm));
}
else
entry.push_back(Pair("category", "generate"));
}

View File

@@ -3917,8 +3917,9 @@ int CMerkleTx::GetBlocksToMaturity() const
return 0;
int32_t depth = GetDepthInMainChain();
int32_t ut = UnlockTime(0);
int32_t toMaturity = ut - chainActive.Height() < 0 ? 0 : ut - chainActive.Height();
ut = COINBASE_MATURITY - depth < 0 ? 0 : COINBASE_MATURITY - depth;
int32_t toMaturity = (ut - chainActive.Height()) < 0 ? 0 : ut - chainActive.Height();
//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);
}