mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 07:09:15 +01:00
Merge bitcoin/bitcoin#34113: refactor: [rpc] Remove confusing and brittle integral casts
fa66e2d07arefactor: [rpc] Remove confusing and brittle integral casts (MarcoFalke) Pull request description: When constructing an UniValue from integral values, historically (long ago), in some cases casts where needed. With the current UniValue constructor, only very few are actually needed. Keeping the unused casts around is: * confusing, because code readers do not understand why they are needed * brittle, because some may copy them into new places, where they will lead to hard-to-find logic bugs, such as the ones fixed in pull https://github.com/bitcoin/bitcoin/pull/34112 So fix all issues by removing them, except for a few cases, where casting was required: * `ret.pushKV("coinbase", static_cast<bool>(coin->fCoinBase));`, or * `static_cast<std::underlying_type_t<decltype(info.nServices)>>(info.nServices)`. This hardening refactor does not fix any bugs and does not change any behavior. ACKs for top commit: sedited: ACKfa66e2d07arkrux: ACKfa66e2d07aTree-SHA512: 13c9c59ad021ea03cdabe10d58850cef96d792634c499e62227cc2e7e5cace066ebd9a8ef3f979eaba98cadf8a525c6e6df909a07115559c0450bd9fc3a9763e
This commit is contained in:
@@ -469,7 +469,7 @@ static RPCHelpMan getmininginfo()
|
||||
obj.pushKV("difficulty", GetDifficulty(tip));
|
||||
obj.pushKV("target", GetTarget(tip, chainman.GetConsensus().powLimit).GetHex());
|
||||
obj.pushKV("networkhashps", getnetworkhashps().HandleRequest(request));
|
||||
obj.pushKV("pooledtx", (uint64_t)mempool.size());
|
||||
obj.pushKV("pooledtx", mempool.size());
|
||||
BlockAssembler::Options assembler_options;
|
||||
ApplyArgsManOptions(*node.args, assembler_options);
|
||||
obj.pushKV("blockmintxfee", ValueFromAmount(assembler_options.blockMinFeeRate.GetFeePerK()));
|
||||
@@ -988,7 +988,7 @@ static RPCHelpMan getblocktemplate()
|
||||
result.pushKV("previousblockhash", block.hashPrevBlock.GetHex());
|
||||
result.pushKV("transactions", std::move(transactions));
|
||||
result.pushKV("coinbaseaux", std::move(aux));
|
||||
result.pushKV("coinbasevalue", (int64_t)block.vtx[0]->vout[0].nValue);
|
||||
result.pushKV("coinbasevalue", block.vtx[0]->vout[0].nValue);
|
||||
result.pushKV("longpollid", tip.GetHex() + ToString(nTransactionsUpdatedLast));
|
||||
result.pushKV("target", hashTarget.GetHex());
|
||||
result.pushKV("mintime", GetMinimumTime(pindexPrev, consensusParams.DifficultyAdjustmentInterval()));
|
||||
@@ -1005,11 +1005,11 @@ static RPCHelpMan getblocktemplate()
|
||||
result.pushKV("sigoplimit", nSigOpLimit);
|
||||
result.pushKV("sizelimit", nSizeLimit);
|
||||
if (!fPreSegWit) {
|
||||
result.pushKV("weightlimit", (int64_t)MAX_BLOCK_WEIGHT);
|
||||
result.pushKV("weightlimit", MAX_BLOCK_WEIGHT);
|
||||
}
|
||||
result.pushKV("curtime", block.GetBlockTime());
|
||||
result.pushKV("bits", strprintf("%08x", block.nBits));
|
||||
result.pushKV("height", (int64_t)(pindexPrev->nHeight+1));
|
||||
result.pushKV("height", pindexPrev->nHeight + 1);
|
||||
|
||||
if (consensusParams.signet_blocks) {
|
||||
result.pushKV("signet_challenge", HexStr(consensusParams.signet_challenge));
|
||||
|
||||
Reference in New Issue
Block a user