From 0f927ceb5b90ec02be36ddb20b2f4cff82589265 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Wed, 19 Dec 2012 15:44:25 -0500 Subject: [PATCH] use fee/sigop data in BlockTemplate struct instead of (not always correctly) calculating it ourselves --- src/rpcmining.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index e4b487aea4..47ca13528f 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -283,7 +283,6 @@ Value getblocktemplate(const Array& params, bool fHelp) Array transactions; map setTxIndex; int i = 0; - CCoinsViewCache &view = *pcoinsTip; BOOST_FOREACH (CTransaction& tx, pblock->vtx) { uint256 txHash = tx.GetHash(); @@ -308,13 +307,8 @@ Value getblocktemplate(const Array& params, bool fHelp) } entry.push_back(Pair("depends", deps)); - int64_t nSigOps = tx.GetLegacySigOpCount(); - if (tx.HaveInputs(view)) - { - entry.push_back(Pair("fee", (int64_t)(tx.GetValueIn(view) - tx.GetValueOut()))); - nSigOps += tx.GetP2SHSigOpCount(view); - } - entry.push_back(Pair("sigops", nSigOps)); + entry.push_back(Pair("fee", pblocktemplate->vTxFees[&tx - pblock->vtx.data()])); + entry.push_back(Pair("sigops", pblocktemplate->vTxSigOps[&tx - pblock->vtx.data()])); transactions.push_back(entry); }