refactor: enable readability-container-contains clang-tidy rule
Replace the last few instances of `.count() != 0` and `.count() == 0` and `.count()` patterns with the more expressive C++20 `.contains()` method: * `std::set<std::string>` in `getblocktemplate` RPC; * `std::map<std::string, ...>` in `transaction_tests`; * other bare `std::unordered_set` and `std::map` count calls. With no remaining violations, enable the `readability-container-contains` clang-tidy check to prevent future regressions.
This commit is contained in:
5 files changed
+11
-10
No files matched your search
@@ -25,6 +25,7 @@ performance-*,
|
|||||||
-performance-noexcept-move-constructor,
|
-performance-noexcept-move-constructor,
|
||||||
-performance-unnecessary-value-param,
|
-performance-unnecessary-value-param,
|
||||||
readability-const-return-type,
|
readability-const-return-type,
|
||||||
|
readability-container-contains,
|
||||||
readability-redundant-declaration,
|
readability-redundant-declaration,
|
||||||
readability-redundant-string-init,
|
readability-redundant-string-init,
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
|||||||
{
|
{
|
||||||
strHTML += "<b>" + tr("Source") + ":</b> " + tr("Generated") + "<br>";
|
strHTML += "<b>" + tr("Source") + ":</b> " + tr("Generated") + "<br>";
|
||||||
}
|
}
|
||||||
else if (wtx.value_map.count("from") && !wtx.value_map["from"].empty())
|
else if (wtx.value_map.contains("from") && !wtx.value_map["from"].empty())
|
||||||
{
|
{
|
||||||
// Online transaction
|
// Online transaction
|
||||||
strHTML += "<b>" + tr("From") + ":</b> " + GUIUtil::HtmlEscape(wtx.value_map["from"]) + "<br>";
|
strHTML += "<b>" + tr("From") + ":</b> " + GUIUtil::HtmlEscape(wtx.value_map["from"]) + "<br>";
|
||||||
@@ -157,7 +157,7 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
|||||||
//
|
//
|
||||||
// To
|
// To
|
||||||
//
|
//
|
||||||
if (wtx.value_map.count("to") && !wtx.value_map["to"].empty())
|
if (wtx.value_map.contains("to") && !wtx.value_map["to"].empty())
|
||||||
{
|
{
|
||||||
// Online transaction
|
// Online transaction
|
||||||
std::string strAddress = wtx.value_map["to"];
|
std::string strAddress = wtx.value_map["to"];
|
||||||
@@ -212,7 +212,7 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
|||||||
if (toSelf && all_from_me)
|
if (toSelf && all_from_me)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!wtx.value_map.count("to") || wtx.value_map["to"].empty())
|
if (!wtx.value_map.contains("to") || wtx.value_map["to"].empty())
|
||||||
{
|
{
|
||||||
// Offline transaction
|
// Offline transaction
|
||||||
CTxDestination address;
|
CTxDestination address;
|
||||||
@@ -273,9 +273,9 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
|||||||
//
|
//
|
||||||
// Message
|
// Message
|
||||||
//
|
//
|
||||||
if (wtx.value_map.count("message") && !wtx.value_map["message"].empty())
|
if (wtx.value_map.contains("message") && !wtx.value_map["message"].empty())
|
||||||
strHTML += "<br><b>" + tr("Message") + ":</b><br>" + GUIUtil::HtmlEscape(wtx.value_map["message"], true) + "<br>";
|
strHTML += "<br><b>" + tr("Message") + ":</b><br>" + GUIUtil::HtmlEscape(wtx.value_map["message"], true) + "<br>";
|
||||||
if (wtx.value_map.count("comment") && !wtx.value_map["comment"].empty())
|
if (wtx.value_map.contains("comment") && !wtx.value_map["comment"].empty())
|
||||||
strHTML += "<br><b>" + tr("Comment") + ":</b><br>" + GUIUtil::HtmlEscape(wtx.value_map["comment"], true) + "<br>";
|
strHTML += "<br><b>" + tr("Comment") + ":</b><br>" + GUIUtil::HtmlEscape(wtx.value_map["comment"], true) + "<br>";
|
||||||
|
|
||||||
strHTML += "<b>" + tr("Transaction ID") + ":</b> " + rec->getTxHash() + "<br>";
|
strHTML += "<b>" + tr("Transaction ID") + ":</b> " + rec->getTxHash() + "<br>";
|
||||||
|
|||||||
+2
-2
@@ -846,12 +846,12 @@ static RPCHelpMan getblocktemplate()
|
|||||||
const Consensus::Params& consensusParams = chainman.GetParams().GetConsensus();
|
const Consensus::Params& consensusParams = chainman.GetParams().GetConsensus();
|
||||||
|
|
||||||
// GBT must be called with 'signet' set in the rules for signet chains
|
// GBT must be called with 'signet' set in the rules for signet chains
|
||||||
if (consensusParams.signet_blocks && setClientRules.count("signet") != 1) {
|
if (consensusParams.signet_blocks && !setClientRules.contains("signet")) {
|
||||||
throw JSONRPCError(RPC_INVALID_PARAMETER, "getblocktemplate must be called with the signet rule set (call with {\"rules\": [\"segwit\", \"signet\"]})");
|
throw JSONRPCError(RPC_INVALID_PARAMETER, "getblocktemplate must be called with the signet rule set (call with {\"rules\": [\"segwit\", \"signet\"]})");
|
||||||
}
|
}
|
||||||
|
|
||||||
// GBT must be called with 'segwit' set in the rules
|
// GBT must be called with 'segwit' set in the rules
|
||||||
if (setClientRules.count("segwit") != 1) {
|
if (!setClientRules.contains("segwit")) {
|
||||||
throw JSONRPCError(RPC_INVALID_PARAMETER, "getblocktemplate must be called with the segwit rule set (call with {\"rules\": [\"segwit\"]})");
|
throw JSONRPCError(RPC_INVALID_PARAMETER, "getblocktemplate must be called with the segwit rule set (call with {\"rules\": [\"segwit\"]})");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ script_verify_flags ParseScriptFlags(std::string strFlags)
|
|||||||
std::vector<std::string> words = SplitString(strFlags, ',');
|
std::vector<std::string> words = SplitString(strFlags, ',');
|
||||||
for (const std::string& word : words)
|
for (const std::string& word : words)
|
||||||
{
|
{
|
||||||
if (!mapFlagNames.count(word)) {
|
if (!mapFlagNames.contains(word)) {
|
||||||
BOOST_ERROR("Bad test: unknown verification flag '" << word << "'");
|
BOOST_ERROR("Bad test: unknown verification flag '" << word << "'");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -90,7 +90,7 @@ bool CheckTxScripts(const CTransaction& tx, const std::map<COutPoint, CScript>&
|
|||||||
ScriptError err = expect_valid ? SCRIPT_ERR_UNKNOWN_ERROR : SCRIPT_ERR_OK;
|
ScriptError err = expect_valid ? SCRIPT_ERR_UNKNOWN_ERROR : SCRIPT_ERR_OK;
|
||||||
for (unsigned int i = 0; i < tx.vin.size() && tx_valid; ++i) {
|
for (unsigned int i = 0; i < tx.vin.size() && tx_valid; ++i) {
|
||||||
const CTxIn input = tx.vin[i];
|
const CTxIn input = tx.vin[i];
|
||||||
const CAmount amount = map_prevout_values.count(input.prevout) ? map_prevout_values.at(input.prevout) : 0;
|
const CAmount amount = map_prevout_values.contains(input.prevout) ? map_prevout_values.at(input.prevout) : 0;
|
||||||
try {
|
try {
|
||||||
tx_valid = VerifyScript(input.scriptSig, map_prevout_scriptPubKeys.at(input.prevout),
|
tx_valid = VerifyScript(input.scriptSig, map_prevout_scriptPubKeys.at(input.prevout),
|
||||||
&input.scriptWitness, flags, TransactionSignatureChecker(&tx, i, amount, txdata, MissingDataBehavior::ASSERT_FAIL), &err);
|
&input.scriptWitness, flags, TransactionSignatureChecker(&tx, i, amount, txdata, MissingDataBehavior::ASSERT_FAIL), &err);
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ FUZZ_TARGET(scriptpubkeyman, .init = initialize_spkm)
|
|||||||
[&] {
|
[&] {
|
||||||
const CScript script{ConsumeScript(fuzzed_data_provider)};
|
const CScript script{ConsumeScript(fuzzed_data_provider)};
|
||||||
if (spk_manager->IsMine(script)) {
|
if (spk_manager->IsMine(script)) {
|
||||||
assert(spk_manager->GetScriptPubKeys().count(script));
|
assert(spk_manager->GetScriptPubKeys().contains(script));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[&] {
|
[&] {
|
||||||
|
|||||||
Reference in new issue
Block a user