Changeset View
Changeset View
Standalone View
Standalone View
src/rpc/mining.cpp
Show First 20 Lines • Show All 635 Lines • ▼ Show 20 Lines | for (const auto &it : pblock->vtx) { | ||||
Pair("fee", pblocktemplate->vTxFees[index_in_template] / SATOSHI)); | Pair("fee", pblocktemplate->vTxFees[index_in_template] / SATOSHI)); | ||||
int64_t nTxSigOps = pblocktemplate->vTxSigOpsCount[index_in_template]; | int64_t nTxSigOps = pblocktemplate->vTxSigOpsCount[index_in_template]; | ||||
entry.pushKV("sigops", nTxSigOps); | entry.pushKV("sigops", nTxSigOps); | ||||
transactions.push_back(entry); | transactions.push_back(entry); | ||||
} | } | ||||
UniValue aux(UniValue::VOBJ); | UniValue aux(UniValue::VOBJ); | ||||
aux.push_back( | aux.pushKV("flags", HexStr(COINBASE_FLAGS.begin(), COINBASE_FLAGS.end())); | ||||
Pair("flags", HexStr(COINBASE_FLAGS.begin(), COINBASE_FLAGS.end()))); | |||||
arith_uint256 hashTarget = arith_uint256().SetCompact(pblock->nBits); | arith_uint256 hashTarget = arith_uint256().SetCompact(pblock->nBits); | ||||
UniValue aMutable(UniValue::VARR); | UniValue aMutable(UniValue::VARR); | ||||
aMutable.push_back("time"); | aMutable.push_back("time"); | ||||
aMutable.push_back("transactions"); | aMutable.push_back("transactions"); | ||||
aMutable.push_back("prevblock"); | aMutable.push_back("prevblock"); | ||||
UniValue result(UniValue::VOBJ); | UniValue result(UniValue::VOBJ); | ||||
result.pushKV("capabilities", aCaps); | result.pushKV("capabilities", aCaps); | ||||
result.pushKV("version", pblock->nVersion); | result.pushKV("version", pblock->nVersion); | ||||
result.pushKV("previousblockhash", pblock->hashPrevBlock.GetHex()); | result.pushKV("previousblockhash", pblock->hashPrevBlock.GetHex()); | ||||
result.pushKV("transactions", transactions); | result.pushKV("transactions", transactions); | ||||
result.pushKV("coinbaseaux", aux); | result.pushKV("coinbaseaux", aux); | ||||
result.push_back(Pair("coinbasevalue", | result.push_back(Pair("coinbasevalue", | ||||
Fabien: dito | |||||
int64_t(pblock->vtx[0]->vout[0].nValue / SATOSHI))); | int64_t(pblock->vtx[0]->vout[0].nValue / SATOSHI))); | ||||
result.push_back(Pair("longpollid", | result.push_back(Pair("longpollid", | ||||
FabienAuthorUnsubmitted Not Done Inline Actionsdito Fabien: dito | |||||
chainActive.Tip()->GetBlockHash().GetHex() + | chainActive.Tip()->GetBlockHash().GetHex() + | ||||
i64tostr(nTransactionsUpdatedLast))); | i64tostr(nTransactionsUpdatedLast))); | ||||
result.pushKV("target", hashTarget.GetHex()); | result.pushKV("target", hashTarget.GetHex()); | ||||
result.push_back( | result.pushKV("mintime", int64_t(pindexPrev->GetMedianTimePast()) + 1); | ||||
Pair("mintime", int64_t(pindexPrev->GetMedianTimePast()) + 1)); | |||||
result.pushKV("mutable", aMutable); | result.pushKV("mutable", aMutable); | ||||
result.pushKV("noncerange", "00000000ffffffff"); | result.pushKV("noncerange", "00000000ffffffff"); | ||||
// FIXME: Allow for mining block greater than 1M. | // FIXME: Allow for mining block greater than 1M. | ||||
result.push_back( | result.pushKV("sigoplimit", GetMaxBlockSigOpsCount(DEFAULT_MAX_BLOCK_SIZE)); | ||||
Pair("sigoplimit", GetMaxBlockSigOpsCount(DEFAULT_MAX_BLOCK_SIZE))); | |||||
result.pushKV("sizelimit", DEFAULT_MAX_BLOCK_SIZE); | result.pushKV("sizelimit", DEFAULT_MAX_BLOCK_SIZE); | ||||
result.pushKV("curtime", pblock->GetBlockTime()); | result.pushKV("curtime", pblock->GetBlockTime()); | ||||
result.pushKV("bits", strprintf("%08x", pblock->nBits)); | result.pushKV("bits", strprintf("%08x", pblock->nBits)); | ||||
result.pushKV("height", int64_t(pindexPrev->nHeight) + 1); | result.pushKV("height", int64_t(pindexPrev->nHeight) + 1); | ||||
return result; | return result; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 153 Lines • Show Last 20 Lines |
dito