From a6f8dc6a861306c3be81a5a1d0d59791759ca62c Mon Sep 17 00:00:00 2001 From: Byron Hambly Date: Wed, 4 Dec 2024 10:52:04 +0200 Subject: [PATCH] tidy: fixes for clang tidy ci job --- ci/test/06_script_b.sh | 6 +++--- src/assetsdir.cpp | 3 +-- src/bench/checkqueue.cpp | 2 +- src/bench/verify_script.cpp | 2 +- src/blind.cpp | 12 ++++++------ src/blindpsbt.cpp | 2 +- src/coins.cpp | 2 +- src/confidential_validation.cpp | 14 +++++++------- src/consensus/merkle.cpp | 2 +- src/consensus/tx_verify.cpp | 2 +- src/core_write.cpp | 10 +++++----- src/crypto/sha256.cpp | 2 +- src/key.cpp | 2 +- src/mainchainrpc.cpp | 12 +++++------- src/node/miner.cpp | 2 +- src/node/miner.h | 2 +- src/pegins.cpp | 8 ++++---- src/policy/policy.cpp | 4 ++-- src/primitives/txwitness.cpp | 2 +- src/qt/bitcoinamountfield.cpp | 4 +--- src/rpc/rawtransaction_util.cpp | 2 +- src/script/bitcoinconsensus.cpp | 2 +- src/script/interpreter.cpp | 30 +++++++++++++++--------------- src/script/sigcache.cpp | 2 +- src/test/fuzz/coins_view.cpp | 2 +- src/test/fuzz/witness_program.cpp | 4 ++-- src/test/pegin_spent_tests.cpp | 4 ++-- src/test/pegin_witness_tests.cpp | 6 +++--- src/test/script_tests.cpp | 18 +++++++++--------- src/validation.cpp | 12 ++++++------ src/wallet/rpc/coins.cpp | 6 +++--- src/wallet/rpc/elements.cpp | 16 ++-------------- src/wallet/rpc/transactions.cpp | 6 +++--- src/wallet/spend.cpp | 4 ++-- src/wallet/wallet.cpp | 4 ++-- 35 files changed, 98 insertions(+), 115 deletions(-) diff --git a/ci/test/06_script_b.sh b/ci/test/06_script_b.sh index 5bdb392ba3..1606eaf9f4 100755 --- a/ci/test/06_script_b.sh +++ b/ci/test/06_script_b.sh @@ -36,9 +36,9 @@ fi if [ "${RUN_TIDY}" = "true" ]; then set -eo pipefail - export P_CI_DIR="${BASE_BUILD_DIR}/bitcoin-$HOST/src/" + export P_CI_DIR="${BASE_BUILD_DIR}/elements-$HOST/src/" ( CI_EXEC run-clang-tidy -quiet "${MAKEJOBS}" ) | grep -C5 "error" - export P_CI_DIR="${BASE_BUILD_DIR}/bitcoin-$HOST/" + export P_CI_DIR="${BASE_BUILD_DIR}/elements-$HOST/" CI_EXEC "python3 ${DIR_IWYU}/include-what-you-use/iwyu_tool.py"\ " src/compat"\ " src/dbwrapper.cpp"\ @@ -68,7 +68,7 @@ if [ "${RUN_TIDY}" = "true" ]; then " src/util/string.cpp"\ " src/util/syserror.cpp"\ " src/util/url.cpp"\ - " -p . ${MAKEJOBS} -- -Xiwyu --cxx17ns -Xiwyu --mapping_file=${BASE_BUILD_DIR}/bitcoin-$HOST/contrib/devtools/iwyu/bitcoin.core.imp" + " -p . ${MAKEJOBS} -- -Xiwyu --cxx17ns -Xiwyu --mapping_file=${BASE_BUILD_DIR}/elements-$HOST/contrib/devtools/iwyu/bitcoin.core.imp" fi if [ "$RUN_SECURITY_TESTS" = "true" ]; then diff --git a/src/assetsdir.cpp b/src/assetsdir.cpp index 8d3194d9c9..385ba8d5c4 100644 --- a/src/assetsdir.cpp +++ b/src/assetsdir.cpp @@ -29,7 +29,7 @@ void CAssetsDir::SetHex(const std::string& assetHex, const std::string& label) throw std::runtime_error("The asset must be hex string of length 64"); const std::vector protectedLabels = {"", "*", "bitcoin", "Bitcoin", "btc"}; - for (std::string proLabel : protectedLabels) { + for (const std::string& proLabel : protectedLabels) { if (label == proLabel) { throw std::runtime_error(strprintf("'%s' label is protected", proLabel)); } @@ -110,4 +110,3 @@ void ClearGlobalAssetDir() { _gAssetsDir = CAssetsDir(); } - diff --git a/src/bench/checkqueue.cpp b/src/bench/checkqueue.cpp index f2801f2e34..7ffb8890b7 100644 --- a/src/bench/checkqueue.cpp +++ b/src/bench/checkqueue.cpp @@ -62,7 +62,7 @@ static void CCheckQueueSpeedPrevectorJob(benchmark::Bench& bench) bench.minEpochIterations(10).batch(BATCH_SIZE * BATCHES).unit("job").run([&] { // Make insecure_rand here so that each iteration is identical. CCheckQueueControl control(&queue); - for (auto vChecks : vBatches) { + for (const auto& vChecks : vBatches) { control.Add(vChecks); } // control waits for completion by RAII, but diff --git a/src/bench/verify_script.cpp b/src/bench/verify_script.cpp index e03a6d106f..9effa7dcf8 100644 --- a/src/bench/verify_script.cpp +++ b/src/bench/verify_script.cpp @@ -68,7 +68,7 @@ static void VerifyScriptBench(benchmark::Bench& bench) CDataStream streamVal(SER_NETWORK, PROTOCOL_VERSION); streamVal << txCredit.vout[0].nValue; int csuccess = bitcoinconsensus_verify_script_with_amount( - NULL, + nullptr, txCredit.vout[0].scriptPubKey.data(), txCredit.vout[0].scriptPubKey.size(), (const unsigned char*)&streamVal[0], streamVal.size(), diff --git a/src/blind.cpp b/src/blind.cpp index d84fec1f27..1cd5cab3db 100644 --- a/src/blind.cpp +++ b/src/blind.cpp @@ -11,22 +11,22 @@ #include #include -secp256k1_context* secp256k1_blind_context = NULL; +secp256k1_context* secp256k1_blind_context = nullptr; class Blind_ECC_Init { public: Blind_ECC_Init() { - assert(secp256k1_blind_context == NULL); + assert(secp256k1_blind_context == nullptr); secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY); - assert(ctx != NULL); + assert(ctx != nullptr); secp256k1_blind_context = ctx; } ~Blind_ECC_Init() { secp256k1_context *ctx = secp256k1_blind_context; - secp256k1_blind_context = NULL; + secp256k1_blind_context = nullptr; if (ctx) { secp256k1_context_destroy(ctx); @@ -153,7 +153,7 @@ bool UnblindConfidentialPair(const CKey& blinding_key, const CConfidentialValue& // Rewind rangeproof uint64_t min_value, max_value, amount; - if (!secp256k1_rangeproof_rewind(secp256k1_blind_context, blinding_factor_out.begin(), &amount, msg, &msg_size, nonce.begin(), &min_value, &max_value, &value_commit, &vchRangeproof[0], vchRangeproof.size(), (committedScript.size() && !blank_nonce)? &committedScript.front(): NULL, blank_nonce ? 0 : committedScript.size(), &observed_gen)) { + if (!secp256k1_rangeproof_rewind(secp256k1_blind_context, blinding_factor_out.begin(), &amount, msg, &msg_size, nonce.begin(), &min_value, &max_value, &value_commit, &vchRangeproof[0], vchRangeproof.size(), (committedScript.size() && !blank_nonce)? &committedScript.front(): nullptr, blank_nonce ? 0 : committedScript.size(), &observed_gen)) { return false; } @@ -259,7 +259,7 @@ bool GenerateRangeproof(std::vector& rangeproof, const std::vecto int ct_bits = (int)gArgs.GetIntArg("-ct_bits", 52); // If min_value is 0, scriptPubKey must be unspendable uint64_t min_value = scriptPubKey.IsUnspendable() ? 0 : 1; - int res = secp256k1_rangeproof_sign(secp256k1_blind_context, rangeproof.data(), &nRangeProofLen, min_value, &value_commit, value_blindptrs.back(), nonce.begin(), ct_exponent, ct_bits, amount, asset_message, sizeof(asset_message), scriptPubKey.size() ? &scriptPubKey.front() : NULL, scriptPubKey.size(), &gen); + int res = secp256k1_rangeproof_sign(secp256k1_blind_context, rangeproof.data(), &nRangeProofLen, min_value, &value_commit, value_blindptrs.back(), nonce.begin(), ct_exponent, ct_bits, amount, asset_message, sizeof(asset_message), scriptPubKey.size() ? &scriptPubKey.front() : nullptr, scriptPubKey.size(), &gen); rangeproof.resize(nRangeProofLen); return (res == 1); } diff --git a/src/blindpsbt.cpp b/src/blindpsbt.cpp index 2e12c18776..9e02be62d5 100644 --- a/src/blindpsbt.cpp +++ b/src/blindpsbt.cpp @@ -114,7 +114,7 @@ bool CreateValueRangeProof(std::vector& rangeproof, const uint256 int ct_bits = (int)gArgs.GetIntArg("-ct_bits", 52); // If min_value is 0, scriptPubKey must be unspendable uint64_t min_value = scriptPubKey.IsUnspendable() ? 0 : 1; - int res = secp256k1_rangeproof_sign(secp256k1_blind_context, rangeproof.data(), &rangeproof_len, min_value, &value_commit, value_blinder.begin(), nonce.begin(), ct_exponent, ct_bits, amount, asset_message, sizeof(asset_message), scriptPubKey.size() ? &scriptPubKey.front() : NULL, scriptPubKey.size(), &gen); + int res = secp256k1_rangeproof_sign(secp256k1_blind_context, rangeproof.data(), &rangeproof_len, min_value, &value_commit, value_blinder.begin(), nonce.begin(), ct_exponent, ct_bits, amount, asset_message, sizeof(asset_message), scriptPubKey.size() ? &scriptPubKey.front() : nullptr, scriptPubKey.size(), &gen); rangeproof.resize(rangeproof_len); return (res == 1); } diff --git a/src/coins.cpp b/src/coins.cpp index 00667cd238..f72e8afd9b 100644 --- a/src/coins.cpp +++ b/src/coins.cpp @@ -113,7 +113,7 @@ void CCoinsViewCache::AddCoin(const COutPoint &outpoint, Coin&& coin, bool possi outpoint.hash.data(), (uint32_t)outpoint.n, (uint32_t)it->second.coin.nHeight, - it->second.coin.out.nValue.IsExplicit() ? (int64_t)coin.out.nValue.GetAmount() : 0, + it->second.coin.out.nValue.IsExplicit() ? (int64_t)it->second.coin.out.nValue.GetAmount() : 0, (bool)it->second.coin.IsCoinBase()); } diff --git a/src/confidential_validation.cpp b/src/confidential_validation.cpp index efc7b753c4..51712c9bc4 100644 --- a/src/confidential_validation.cpp +++ b/src/confidential_validation.cpp @@ -11,14 +11,14 @@ static secp256k1_context *secp256k1_ctx_verify_amounts; class CSecp256k1Init { public: CSecp256k1Init() { - assert(secp256k1_ctx_verify_amounts == NULL); + assert(secp256k1_ctx_verify_amounts == nullptr); secp256k1_ctx_verify_amounts = secp256k1_context_create(SECP256K1_CONTEXT_VERIFY | SECP256K1_CONTEXT_SIGN); - assert(secp256k1_ctx_verify_amounts != NULL); + assert(secp256k1_ctx_verify_amounts != nullptr); } ~CSecp256k1Init() { - assert(secp256k1_ctx_verify_amounts != NULL); + assert(secp256k1_ctx_verify_amounts != nullptr); secp256k1_context_destroy(secp256k1_ctx_verify_amounts); - secp256k1_ctx_verify_amounts = NULL; + secp256k1_ctx_verify_amounts = nullptr; } }; static CSecp256k1Init instance_of_csecp256k1; @@ -77,7 +77,7 @@ bool CSurjectionCheck::operator()() { // Destroys the check in the case of no queue, or passes its ownership to the queue. ScriptError QueueCheck(std::vector* queue, CCheck* check) { - if (queue != NULL) { + if (queue != nullptr) { queue->push_back(check); return SCRIPT_ERR_OK; } @@ -356,7 +356,7 @@ bool VerifyAmounts(const std::vector& inputs, const CTransaction& tx, st const CConfidentialValue& val = tx.vout[i].nValue; const CConfidentialAsset& asset = tx.vout[i].nAsset; std::vector vchAssetCommitment = asset.vchCommitment; - const CTxOutWitness* ptxoutwit = tx.witness.vtxoutwit.size() <= i? NULL: &tx.witness.vtxoutwit[i]; + const CTxOutWitness* ptxoutwit = tx.witness.vtxoutwit.size() <= i ? nullptr : &tx.witness.vtxoutwit[i]; if (val.IsExplicit()) { if (ptxoutwit && !ptxoutwit->vchRangeproof.empty()) @@ -380,7 +380,7 @@ bool VerifyAmounts(const std::vector& inputs, const CTransaction& tx, st for (size_t i = 0; i < tx.vout.size(); i++) { const CConfidentialAsset& asset = tx.vout[i].nAsset; - const CTxOutWitness* ptxoutwit = tx.witness.vtxoutwit.size() <= i? NULL: &tx.witness.vtxoutwit[i]; + const CTxOutWitness* ptxoutwit = tx.witness.vtxoutwit.size() <= i ? nullptr : &tx.witness.vtxoutwit[i]; // No need for surjection proof if (asset.IsExplicit()) { if (ptxoutwit && !ptxoutwit->vchSurjectionproof.empty()) { diff --git a/src/consensus/merkle.cpp b/src/consensus/merkle.cpp index b49688bd7c..847d61cbc9 100644 --- a/src/consensus/merkle.cpp +++ b/src/consensus/merkle.cpp @@ -81,7 +81,7 @@ uint256 BlockWitnessMerkleRoot(const CBlock& block, bool* mutated) for (size_t s = 0; s < block.vtx.size(); s++) { leaves[s] = block.vtx[s]->GetWitnessOnlyHash(); } - return ComputeFastMerkleRoot(std::move(leaves)); + return ComputeFastMerkleRoot(leaves); } else { leaves[0].SetNull(); // The witness hash of the coinbase is 0. for (size_t s = 1; s < block.vtx.size(); s++) { diff --git a/src/consensus/tx_verify.cpp b/src/consensus/tx_verify.cpp index 2c3f934027..f40fae9a1b 100644 --- a/src/consensus/tx_verify.cpp +++ b/src/consensus/tx_verify.cpp @@ -187,7 +187,7 @@ int64_t GetTransactionSigOpCost(const CTransaction& tx, const CCoinsViewCache& i scriptPubKey = coin.out.scriptPubKey; } - const CScriptWitness* pScriptWitness = tx.witness.vtxinwit.size() > i ? &tx.witness.vtxinwit[i].scriptWitness : NULL; + const CScriptWitness* pScriptWitness = tx.witness.vtxinwit.size() > i ? &tx.witness.vtxinwit[i].scriptWitness : nullptr; nSigOps += CountWitnessSigOps(tx.vin[i].scriptSig, scriptPubKey, pScriptWitness, flags); } return nSigOps; diff --git a/src/core_write.cpp b/src/core_write.cpp index 25367a803a..d7b50c4fcb 100644 --- a/src/core_write.cpp +++ b/src/core_write.cpp @@ -28,22 +28,22 @@ #include #include -static secp256k1_context* secp256k1_blind_context = NULL; +static secp256k1_context* secp256k1_blind_context = nullptr; class RPCRawTransaction_ECC_Init { public: RPCRawTransaction_ECC_Init() { - assert(secp256k1_blind_context == NULL); + assert(secp256k1_blind_context == nullptr); secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_NONE); - assert(ctx != NULL); + assert(ctx != nullptr); secp256k1_blind_context = ctx; } ~RPCRawTransaction_ECC_Init() { secp256k1_context *ctx = secp256k1_blind_context; - secp256k1_blind_context = NULL; + secp256k1_blind_context = nullptr; if (ctx) { secp256k1_context_destroy(ctx); @@ -359,7 +359,7 @@ void TxToUniv(const CTransaction& tx, const uint256& block_hash, UniValue& entry int mantissa; uint64_t minv; uint64_t maxv; - const CTxOutWitness* ptxoutwit = tx.witness.vtxoutwit.size() <= i? NULL: &tx.witness.vtxoutwit[i]; + const CTxOutWitness* ptxoutwit = tx.witness.vtxoutwit.size() <= i ? nullptr : &tx.witness.vtxoutwit[i]; if (ptxoutwit) { if (ptxoutwit->vchRangeproof.size() && secp256k1_rangeproof_info(secp256k1_blind_context, &exp, &mantissa, &minv, &maxv, &ptxoutwit->vchRangeproof[0], ptxoutwit->vchRangeproof.size())) { if (exp == -1) { diff --git a/src/crypto/sha256.cpp b/src/crypto/sha256.cpp index 621616afc5..96118c6254 100644 --- a/src/crypto/sha256.cpp +++ b/src/crypto/sha256.cpp @@ -728,7 +728,7 @@ void CSHA256::Finalize(unsigned char hash[OUTPUT_SIZE]) WriteBE64(sizedesc, bytes << 3); Write(pad, 1 + ((119 - (bytes % 64)) % 64)); Write(sizedesc, 8); - Midstate(hash, NULL, NULL); + Midstate(hash, nullptr, nullptr); } void CSHA256::Midstate(unsigned char hash[OUTPUT_SIZE], uint64_t* len, unsigned char *buffer) diff --git a/src/key.cpp b/src/key.cpp index 631815a640..161ce81a16 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -216,7 +216,7 @@ uint256 CKey::ECDH(const CPubKey& pubkey) const { uint256 result; secp256k1_pubkey pkey; assert(secp256k1_ec_pubkey_parse(secp256k1_context_sign, &pkey, pubkey.begin(), pubkey.size())); - assert(secp256k1_ecdh(secp256k1_context_sign, result.begin(), &pkey, begin(), NULL, NULL)); + assert(secp256k1_ecdh(secp256k1_context_sign, result.begin(), &pkey, begin(), nullptr, nullptr)); return result; } diff --git a/src/mainchainrpc.cpp b/src/mainchainrpc.cpp index 780c087242..b1f1938ee1 100644 --- a/src/mainchainrpc.cpp +++ b/src/mainchainrpc.cpp @@ -16,10 +16,8 @@ /** Reply structure for request_done to fill in */ struct HTTPReply { - HTTPReply(): status(0), error(-1) {} - - int status; - int error; + int status{0}; + int error{-1}; std::string body; }; @@ -49,8 +47,8 @@ static void http_request_done(struct evhttp_request *req, void *ctx) { HTTPReply *reply = static_cast(ctx); - if (req == NULL) { - /* If req is NULL, it means an error occurred while connecting: the + if (req == nullptr) { + /* If req is nullptr, it means an error occurred while connecting: the * error code will have been passed to http_error_cb. */ reply->status = 0; @@ -92,7 +90,7 @@ UniValue CallMainChainRPC(const std::string& strMethod, const UniValue& params) HTTPReply response; raii_evhttp_request req = obtain_evhttp_request(http_request_done, (void*)&response); - if (req == NULL) + if (req == nullptr) throw std::runtime_error("create http request failed"); #if LIBEVENT_VERSION_NUMBER >= 0x02010300 evhttp_request_set_error_cb(req.get(), http_error_cb); diff --git a/src/node/miner.cpp b/src/node/miner.cpp index 1d08e484a6..6960712640 100644 --- a/src/node/miner.cpp +++ b/src/node/miner.cpp @@ -202,7 +202,7 @@ std::unique_ptr BlockAssembler::CreateNewBlock(const CScript& sc coinbaseTx.vin[0].scriptSig = CScript() << nHeight << OP_0; // Non-consensus commitment output before finishing coinbase transaction if (commit_scripts && !commit_scripts->empty()) { - for (auto commit_script: *commit_scripts) { + for (const auto& commit_script: *commit_scripts) { coinbaseTx.vout.insert(std::prev(coinbaseTx.vout.end()), CTxOut(policyAsset, 0, commit_script)); } } diff --git a/src/node/miner.h b/src/node/miner.h index a1bfca572d..a60e5e69cb 100644 --- a/src/node/miner.h +++ b/src/node/miner.h @@ -189,7 +189,7 @@ private: /** Add transactions based on feerate including unconfirmed ancestors * Increments nPackagesSelected / nDescendantsUpdated with corresponding * statistics from the package selection (for logging statistics). */ - void addPackageTxs(const CTxMemPool& mempool, int& nPackagesSelected, int& nDescendantsUpdated, std::chrono::seconds required_wait = std::chrono::seconds(0)) EXCLUSIVE_LOCKS_REQUIRED(m_mempool.cs); + void addPackageTxs(const CTxMemPool& mempool, int& nPackagesSelected, int& nDescendantsUpdated, std::chrono::seconds required_wait = std::chrono::seconds(0)) EXCLUSIVE_LOCKS_REQUIRED(mempool.cs); // helper functions for addPackageTxs() /** Remove confirmed (inBlock) entries from given set */ diff --git a/src/pegins.cpp b/src/pegins.cpp index 72551d2c3b..25e8e4161a 100644 --- a/src/pegins.cpp +++ b/src/pegins.cpp @@ -35,15 +35,15 @@ class Secp256k1Ctx { public: Secp256k1Ctx() { - assert(secp256k1_ctx_validation == NULL); + assert(secp256k1_ctx_validation == nullptr); secp256k1_ctx_validation = secp256k1_context_create(SECP256K1_CONTEXT_VERIFY | SECP256K1_CONTEXT_SIGN); - assert(secp256k1_ctx_validation != NULL); + assert(secp256k1_ctx_validation != nullptr); } ~Secp256k1Ctx() { - assert(secp256k1_ctx_validation != NULL); + assert(secp256k1_ctx_validation != nullptr); secp256k1_context_destroy(secp256k1_ctx_validation); - secp256k1_ctx_validation = NULL; + secp256k1_ctx_validation = nullptr; } }; static Secp256k1Ctx instance_of_secp256k1ctx; diff --git a/src/policy/policy.cpp b/src/policy/policy.cpp index 0ae091189c..9700a86a2a 100644 --- a/src/policy/policy.cpp +++ b/src/policy/policy.cpp @@ -84,7 +84,7 @@ bool IsStandard(const CScript& scriptPubKey, const std::optional& max_ std::vector > vSolutions; whichType = Solver(scriptPubKey, vSolutions); - CChainParams params = Params(); + const CChainParams& params = Params(); if (whichType == TxoutType::NONSTANDARD) { return false; } else if (whichType == TxoutType::MULTISIG) { @@ -145,7 +145,7 @@ bool IsStandardTx(const CTransaction& tx, const std::optional& max_dat } } - CChainParams params = Params(); + const CChainParams& params = Params(); unsigned int nDataOut = 0; TxoutType whichType; for (const CTxOut& txout : tx.vout) { diff --git a/src/primitives/txwitness.cpp b/src/primitives/txwitness.cpp index ddfedb5ea0..6a0a99c40b 100644 --- a/src/primitives/txwitness.cpp +++ b/src/primitives/txwitness.cpp @@ -44,7 +44,7 @@ uint256 CTxOutWitness::GetHash() const static inline void MerkleHash_Sha256Midstate(uint256& parent, const uint256& left, const uint256& right) { - CSHA256().Write(left.begin(), 32).Write(right.begin(), 32).Midstate(parent.begin(), NULL, NULL); + CSHA256().Write(left.begin(), 32).Write(right.begin(), 32).Midstate(parent.begin(), nullptr, nullptr); } uint256 ComputeFastMerkleRoot(const std::vector& hashes) { diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp index d8dc220e2e..0236f5e5ad 100644 --- a/src/qt/bitcoinamountfield.cpp +++ b/src/qt/bitcoinamountfield.cpp @@ -32,9 +32,7 @@ class AmountSpinBox: public QAbstractSpinBox public: explicit AmountSpinBox(QWidget *parent): - QAbstractSpinBox(parent), - currentUnit(BitcoinUnit::BTC), - singleStep(0) + QAbstractSpinBox(parent) { current_asset = Params().GetConsensus().pegged_asset; diff --git a/src/rpc/rawtransaction_util.cpp b/src/rpc/rawtransaction_util.cpp index c0e658fda0..c11fd9d037 100644 --- a/src/rpc/rawtransaction_util.cpp +++ b/src/rpc/rawtransaction_util.cpp @@ -158,7 +158,7 @@ CMutableTransaction ConstructTransaction(const UniValue& inputs_in, const UniVal inputs = inputs_in.get_array(); } - UniValue outputs = outputs_in.get_array(); + const UniValue& outputs = outputs_in.get_array(); CMutableTransaction rawTx; diff --git a/src/script/bitcoinconsensus.cpp b/src/script/bitcoinconsensus.cpp index c4713675ca..a3305378a7 100644 --- a/src/script/bitcoinconsensus.cpp +++ b/src/script/bitcoinconsensus.cpp @@ -99,7 +99,7 @@ static int verify_script(const unsigned char *hash_genesis_block, auto hash_genesis_block_ = hash_genesis_block ? uint256{hash_genesis_block, 32} : uint256{}; PrecomputedTransactionData txdata(hash_genesis_block_); txdata.Init(tx, {}); - const CScriptWitness* pScriptWitness = (tx.witness.vtxinwit.size() > nIn ? &tx.witness.vtxinwit[nIn].scriptWitness : NULL); + const CScriptWitness* pScriptWitness = (tx.witness.vtxinwit.size() > nIn ? &tx.witness.vtxinwit[nIn].scriptWitness : nullptr); return VerifyScript(tx.vin[nIn].scriptSig, CScript(scriptPubKey, scriptPubKey + scriptPubKeyLen), pScriptWitness, flags, TransactionSignatureChecker(&tx, nIn, amount, txdata, MissingDataBehavior::FAIL), nullptr); } catch (const std::exception&) { return set_error(err, bitcoinconsensus_ERR_TX_DESERIALIZE); // Error deserializing diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp index f755053224..69424531ae 100644 --- a/src/script/interpreter.cpp +++ b/src/script/interpreter.cpp @@ -2582,15 +2582,15 @@ void PrecomputedTransactionData::Init(const T& txTo, std::vector&& spent simplicityRawInput[i].prevTxid = txTo.vin[i].prevout.hash.begin(); simplicityRawInput[i].prevIx = txTo.vin[i].prevout.n; simplicityRawInput[i].sequence = txTo.vin[i].nSequence; - simplicityRawInput[i].txo.asset = m_spent_outputs[i].nAsset.vchCommitment.empty() ? NULL : m_spent_outputs[i].nAsset.vchCommitment.data(); - simplicityRawInput[i].txo.value = m_spent_outputs[i].nValue.vchCommitment.empty() ? NULL : m_spent_outputs[i].nValue.vchCommitment.data(); + simplicityRawInput[i].txo.asset = m_spent_outputs[i].nAsset.vchCommitment.empty() ? nullptr : m_spent_outputs[i].nAsset.vchCommitment.data(); + simplicityRawInput[i].txo.value = m_spent_outputs[i].nValue.vchCommitment.empty() ? nullptr : m_spent_outputs[i].nValue.vchCommitment.data(); simplicityRawInput[i].txo.scriptPubKey.buf = m_spent_outputs[i].scriptPubKey.data(); simplicityRawInput[i].txo.scriptPubKey.len = m_spent_outputs[i].scriptPubKey.size(); simplicityRawInput[i].issuance.blindingNonce = txTo.vin[i].assetIssuance.assetBlindingNonce.begin(); simplicityRawInput[i].issuance.assetEntropy = txTo.vin[i].assetIssuance.assetEntropy.begin(); - simplicityRawInput[i].issuance.amount = txTo.vin[i].assetIssuance.nAmount.vchCommitment.empty() ? NULL : txTo.vin[i].assetIssuance.nAmount.vchCommitment.data(); - simplicityRawInput[i].issuance.inflationKeys = txTo.vin[i].assetIssuance.nInflationKeys.vchCommitment.empty() ? NULL : txTo.vin[i].assetIssuance.nInflationKeys.vchCommitment.data(); - simplicityRawInput[i].annex = NULL; + simplicityRawInput[i].issuance.amount = txTo.vin[i].assetIssuance.nAmount.vchCommitment.empty() ? nullptr : txTo.vin[i].assetIssuance.nAmount.vchCommitment.data(); + simplicityRawInput[i].issuance.inflationKeys = txTo.vin[i].assetIssuance.nInflationKeys.vchCommitment.empty() ? nullptr : txTo.vin[i].assetIssuance.nInflationKeys.vchCommitment.data(); + simplicityRawInput[i].annex = nullptr; if (i < txTo.witness.vtxinwit.size()) { Span stack{txTo.witness.vtxinwit[i].scriptWitness.stack}; if (stack.size() >= 2 && !stack.back().empty() && stack.back()[0] == ANNEX_TAG) { @@ -2603,22 +2603,22 @@ void PrecomputedTransactionData::Init(const T& txTo, std::vector&& spent simplicityRawInput[i].issuance.inflationKeysRangePrf.buf = txTo.witness.vtxinwit[i].vchInflationKeysRangeproof.data(); simplicityRawInput[i].issuance.inflationKeysRangePrf.len = txTo.witness.vtxinwit[i].vchInflationKeysRangeproof.size(); assert(!txTo.vin[i].m_is_pegin || ( txTo.witness.vtxinwit[i].m_pegin_witness.stack.size() >= 4 && txTo.witness.vtxinwit[i].m_pegin_witness.stack[2].size() == 32)); - simplicityRawInput[i].pegin = txTo.vin[i].m_is_pegin ? txTo.witness.vtxinwit[i].m_pegin_witness.stack[2].data() : 0; + simplicityRawInput[i].pegin = txTo.vin[i].m_is_pegin ? txTo.witness.vtxinwit[i].m_pegin_witness.stack[2].data() : nullptr; } else { - simplicityRawInput[i].issuance.amountRangePrf.buf = NULL; + simplicityRawInput[i].issuance.amountRangePrf.buf = nullptr; simplicityRawInput[i].issuance.amountRangePrf.len = 0; - simplicityRawInput[i].issuance.inflationKeysRangePrf.buf = NULL; + simplicityRawInput[i].issuance.inflationKeysRangePrf.buf = nullptr; simplicityRawInput[i].issuance.inflationKeysRangePrf.len = 0; assert(!txTo.vin[i].m_is_pegin); - simplicityRawInput[i].pegin = 0; + simplicityRawInput[i].pegin = nullptr; } } std::vector simplicityRawOutput(txTo.vout.size()); for (size_t i = 0; i < txTo.vout.size(); ++i) { - simplicityRawOutput[i].asset = txTo.vout[i].nAsset.vchCommitment.empty() ? NULL : txTo.vout[i].nAsset.vchCommitment.data(); - simplicityRawOutput[i].value = txTo.vout[i].nValue.vchCommitment.empty() ? NULL : txTo.vout[i].nValue.vchCommitment.data(); - simplicityRawOutput[i].nonce = txTo.vout[i].nNonce.vchCommitment.empty() ? NULL : txTo.vout[i].nNonce.vchCommitment.data(); + simplicityRawOutput[i].asset = txTo.vout[i].nAsset.vchCommitment.empty() ? nullptr : txTo.vout[i].nAsset.vchCommitment.data(); + simplicityRawOutput[i].value = txTo.vout[i].nValue.vchCommitment.empty() ? nullptr : txTo.vout[i].nValue.vchCommitment.data(); + simplicityRawOutput[i].nonce = txTo.vout[i].nNonce.vchCommitment.empty() ? nullptr : txTo.vout[i].nNonce.vchCommitment.data(); simplicityRawOutput[i].scriptPubKey.buf = txTo.vout[i].scriptPubKey.data(); simplicityRawOutput[i].scriptPubKey.len = txTo.vout[i].scriptPubKey.size(); if (i < txTo.witness.vtxoutwit.size()) { @@ -2627,9 +2627,9 @@ void PrecomputedTransactionData::Init(const T& txTo, std::vector&& spent simplicityRawOutput[i].rangeProof.buf = txTo.witness.vtxoutwit[i].vchRangeproof.data(); simplicityRawOutput[i].rangeProof.len = txTo.witness.vtxoutwit[i].vchRangeproof.size(); } else { - simplicityRawOutput[i].surjectionProof.buf = NULL; + simplicityRawOutput[i].surjectionProof.buf = nullptr; simplicityRawOutput[i].surjectionProof.len = 0; - simplicityRawOutput[i].rangeProof.buf = NULL; + simplicityRawOutput[i].rangeProof.buf = nullptr; simplicityRawOutput[i].rangeProof.len = 0; } } @@ -3095,7 +3095,7 @@ bool GenericTransactionSignatureChecker::CheckSimplicity(const valtype& progr assert(txdata->m_simplicity_tx_data); assert(simplicityTapEnv); - if (!simplicity_elements_execSimplicity(&error, 0, txdata->m_simplicity_tx_data, nIn, simplicityTapEnv, txdata->m_hash_genesis_block.data(), budget, 0, program.data(), program.size(), witness.data(), witness.size())) { + if (!simplicity_elements_execSimplicity(&error, nullptr, txdata->m_simplicity_tx_data, nIn, simplicityTapEnv, txdata->m_hash_genesis_block.data(), budget, nullptr, program.data(), program.size(), witness.data(), witness.size())) { assert(!"simplicity_elements_execSimplicity internal error"); } free(simplicityTapEnv); diff --git a/src/script/sigcache.cpp b/src/script/sigcache.cpp index 809c75d511..51ff40ff0f 100644 --- a/src/script/sigcache.cpp +++ b/src/script/sigcache.cpp @@ -197,7 +197,7 @@ bool CachingRangeProofChecker::VerifyRangeProof(const std::vector if (secp256k1_generator_parse(secp256k1_ctx_verify_amounts, &tag, &vchAssetCommitment[0]) != 1) return false; - if (!secp256k1_rangeproof_verify(secp256k1_ctx_verify_amounts, &min_value, &max_value, &commit, vchRangeProof.data(), vchRangeProof.size(), scriptPubKey.size() ? &scriptPubKey.front() : NULL, scriptPubKey.size(), &tag)) { + if (!secp256k1_rangeproof_verify(secp256k1_ctx_verify_amounts, &min_value, &max_value, &commit, vchRangeProof.data(), vchRangeProof.size(), scriptPubKey.size() ? &scriptPubKey.front() : nullptr, scriptPubKey.size(), &tag)) { return false; } diff --git a/src/test/fuzz/coins_view.cpp b/src/test/fuzz/coins_view.cpp index f7d89306db..ea24b0861b 100644 --- a/src/test/fuzz/coins_view.cpp +++ b/src/test/fuzz/coins_view.cpp @@ -247,7 +247,7 @@ FUZZ_TARGET_INIT(coins_view, initialize_coins_view) } std::vector> fedpegscripts; // ELEMENTS: we ought to populate this and have a more useful fuzztest std::set > setPeginsSpent; - if (Consensus::CheckTxInputs(transaction, state, coins_view_cache, fuzzed_data_provider.ConsumeIntegralInRange(0, std::numeric_limits::max()), tx_fee_map, setPeginsSpent, NULL, false, true, fedpegscripts)) { + if (Consensus::CheckTxInputs(transaction, state, coins_view_cache, fuzzed_data_provider.ConsumeIntegralInRange(0, std::numeric_limits::max()), tx_fee_map, setPeginsSpent, nullptr, false, true, fedpegscripts)) { assert(MoneyRange(tx_fee_map)); } }, diff --git a/src/test/fuzz/witness_program.cpp b/src/test/fuzz/witness_program.cpp index 552b2e56d8..ef7f5be820 100644 --- a/src/test/fuzz/witness_program.cpp +++ b/src/test/fuzz/witness_program.cpp @@ -90,7 +90,7 @@ FUZZ_TARGET_INIT(witness_program, initialize_witness_program) txdata.Init(tx, std::move(spent_outs)); DummySigChecker checker{&tx, nIn, amountIn, txdata, MissingDataBehavior::ASSERT_FAIL}; - VerifyScript(/* scriptSig */ CScript{}, scriptPubKey, &witness, flags, checker, /* serror */ NULL); + VerifyScript(/* scriptSig */ CScript{}, scriptPubKey, &witness, flags, checker, /* serror */ nullptr); /* segwit v1 (taproot) */ } else { /* Generate keys */ @@ -136,7 +136,7 @@ FUZZ_TARGET_INIT(witness_program, initialize_witness_program) txdata.Init(tx, std::move(spent_outs)); GenericTransactionSignatureChecker checker{&tx, nIn, amountIn, txdata, MissingDataBehavior::ASSERT_FAIL}; - VerifyScript(/* scriptSig */ CScript{}, scriptPubKey, &witness, flags, checker, /* serror */ NULL); + VerifyScript(/* scriptSig */ CScript{}, scriptPubKey, &witness, flags, checker, /* serror */ nullptr); } } catch (const std::ios_base::failure&) { return; diff --git a/src/test/pegin_spent_tests.cpp b/src/test/pegin_spent_tests.cpp index bc060e3ebe..76b2a32653 100644 --- a/src/test/pegin_spent_tests.cpp +++ b/src/test/pegin_spent_tests.cpp @@ -26,7 +26,7 @@ BOOST_FIXTURE_TEST_SUITE(pegin_spent_tests, TestingSetup) class CCoinsViewTester : public CCoinsView { public: - bool IsPeginSpentCalled; + bool IsPeginSpentCalled{false}; bool IsPeginSpent(const std::pair &outpoint) const override { const_cast(IsPeginSpentCalled) = true; return CCoinsView::IsPeginSpent(outpoint); @@ -42,7 +42,7 @@ public: return CCoinsView::BatchWrite(mapCoins, hashBlock); } - CCoinsViewTester() : IsPeginSpentCalled(false) {} + CCoinsViewTester() {} }; BOOST_AUTO_TEST_CASE(PeginSpent_validity) diff --git a/src/test/pegin_witness_tests.cpp b/src/test/pegin_witness_tests.cpp index 60b011672e..4050a3f54e 100644 --- a/src/test/pegin_witness_tests.cpp +++ b/src/test/pegin_witness_tests.cpp @@ -123,7 +123,7 @@ BOOST_AUTO_TEST_CASE(witness_valid) CCoinsViewCache coins(&coinsDummy); // Get the latest block index to look up fedpegscripts // For these tests, should be genesis-block-hardcoded consensus.fedpegscript - BOOST_CHECK(Consensus::CheckTxInputs(tx, state, coins, 0, fee_map, setPeginsSpent, NULL, false, true, fedpegscripts)); + BOOST_CHECK(Consensus::CheckTxInputs(tx, state, coins, 0, fee_map, setPeginsSpent, nullptr, false, true, fedpegscripts)); BOOST_CHECK(setPeginsSpent.size() == 1); setPeginsSpent.clear(); @@ -131,7 +131,7 @@ BOOST_AUTO_TEST_CASE(witness_valid) CMutableTransaction mtxn(tx); mtxn.witness.vtxinwit[0].m_pegin_witness.SetNull(); CTransaction tx2(mtxn); - BOOST_CHECK(!Consensus::CheckTxInputs(tx2, state, coins, 0, fee_map, setPeginsSpent, NULL, false, true, fedpegscripts)); + BOOST_CHECK(!Consensus::CheckTxInputs(tx2, state, coins, 0, fee_map, setPeginsSpent, nullptr, false, true, fedpegscripts)); BOOST_CHECK(setPeginsSpent.empty()); // Invalidate peg-in (and spending) authorization by pegin marker. @@ -140,7 +140,7 @@ BOOST_AUTO_TEST_CASE(witness_valid) CMutableTransaction mtxn2(tx); mtxn2.vin[0].m_is_pegin = false; CTransaction tx3(mtxn2); - BOOST_CHECK(!Consensus::CheckTxInputs(tx3, state, coins, 0, fee_map, setPeginsSpent, NULL, false, true, fedpegscripts)); + BOOST_CHECK(!Consensus::CheckTxInputs(tx3, state, coins, 0, fee_map, setPeginsSpent, nullptr, false, true, fedpegscripts)); BOOST_CHECK(setPeginsSpent.empty()); diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp index aca5e05fdc..b733718f82 100644 --- a/src/test/script_tests.cpp +++ b/src/test/script_tests.cpp @@ -198,10 +198,10 @@ void DoTest(const CScript& scriptPubKey, const CScript& scriptSig, const CScript if (libconsensus_flags == flags) { int expectedSuccessCode = expect ? 1 : 0; if (flags & bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS) { - BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script_with_amount(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(streamVal.data()), streamVal.size(), UCharCast(stream.data()), stream.size(), 0, libconsensus_flags, nullptr) == expectedSuccessCode, message); + BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script_with_amount(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(streamVal.data()), streamVal.size(), UCharCast(stream.data()), stream.size(), 0, libconsensus_flags, nullptr) == expectedSuccessCode, message); } else { - BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script_with_amount(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(streamVal0.data()), streamVal0.size(), UCharCast(stream.data()), stream.size(), 0, libconsensus_flags, nullptr) == expectedSuccessCode, message); - BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), 0, libconsensus_flags, nullptr) == expectedSuccessCode, message); + BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script_with_amount(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(streamVal0.data()), streamVal0.size(), UCharCast(stream.data()), stream.size(), 0, libconsensus_flags, nullptr) == expectedSuccessCode, message); + BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), 0, libconsensus_flags, nullptr) == expectedSuccessCode, message); } } #endif @@ -1563,7 +1563,7 @@ BOOST_AUTO_TEST_CASE(bitcoinconsensus_verify_script_returns_true) stream << spendTx; bitcoinconsensus_error err; - int result = bitcoinconsensus_verify_script(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); + int result = bitcoinconsensus_verify_script(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); BOOST_CHECK_EQUAL(result, 1); BOOST_CHECK_EQUAL(err, bitcoinconsensus_ERR_OK); } @@ -1586,7 +1586,7 @@ BOOST_AUTO_TEST_CASE(bitcoinconsensus_verify_script_tx_index_err) stream << spendTx; bitcoinconsensus_error err; - int result = bitcoinconsensus_verify_script(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); + int result = bitcoinconsensus_verify_script(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); BOOST_CHECK_EQUAL(result, 0); BOOST_CHECK_EQUAL(err, bitcoinconsensus_ERR_TX_INDEX); } @@ -1609,7 +1609,7 @@ BOOST_AUTO_TEST_CASE(bitcoinconsensus_verify_script_tx_size) stream << spendTx; bitcoinconsensus_error err; - int result = bitcoinconsensus_verify_script(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size() * 2, nIn, libconsensus_flags, &err); + int result = bitcoinconsensus_verify_script(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size() * 2, nIn, libconsensus_flags, &err); BOOST_CHECK_EQUAL(result, 0); BOOST_CHECK_EQUAL(err, bitcoinconsensus_ERR_TX_SIZE_MISMATCH); } @@ -1632,7 +1632,7 @@ BOOST_AUTO_TEST_CASE(bitcoinconsensus_verify_script_tx_serialization) stream << 0xffffffff; bitcoinconsensus_error err; - int result = bitcoinconsensus_verify_script(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); + int result = bitcoinconsensus_verify_script(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); BOOST_CHECK_EQUAL(result, 0); BOOST_CHECK_EQUAL(err, bitcoinconsensus_ERR_TX_DESERIALIZE); } @@ -1655,7 +1655,7 @@ BOOST_AUTO_TEST_CASE(bitcoinconsensus_verify_script_amount_required_err) stream << spendTx; bitcoinconsensus_error err; - int result = bitcoinconsensus_verify_script(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); + int result = bitcoinconsensus_verify_script(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); BOOST_CHECK_EQUAL(result, 0); BOOST_CHECK_EQUAL(err, bitcoinconsensus_ERR_AMOUNT_REQUIRED); } @@ -1678,7 +1678,7 @@ BOOST_AUTO_TEST_CASE(bitcoinconsensus_verify_script_invalid_flags) stream << spendTx; bitcoinconsensus_error err; - int result = bitcoinconsensus_verify_script(NULL, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); + int result = bitcoinconsensus_verify_script(nullptr, scriptPubKey.data(), scriptPubKey.size(), UCharCast(stream.data()), stream.size(), nIn, libconsensus_flags, &err); BOOST_CHECK_EQUAL(result, 0); BOOST_CHECK_EQUAL(err, bitcoinconsensus_ERR_INVALID_FLAGS); } diff --git a/src/validation.cpp b/src/validation.cpp index d910a73d7d..d64c466f73 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -870,7 +870,7 @@ bool MemPoolAccept::PreChecks(ATMPArgs& args, Workspace& ws) // The mempool holds txs for the next block, so pass height+1 to CheckTxInputs CAmountMap fee_map; - if (!Consensus::CheckTxInputs(tx, state, m_view, m_active_chainstate.m_chain.Height() + 1, fee_map, setPeginsSpent, NULL, true, true, fedpegscripts)) { + if (!Consensus::CheckTxInputs(tx, state, m_view, m_active_chainstate.m_chain.Height() + 1, fee_map, setPeginsSpent, nullptr, true, true, fedpegscripts)) { return false; // state filled in by CheckTxInputs } @@ -1757,7 +1757,7 @@ void UpdateCoins(const CTransaction& tx, CCoinsViewCache& inputs, CTxUndo &txund bool CScriptCheck::operator()() { const CScript &scriptSig = ptxTo->vin[nIn].scriptSig; - const CScriptWitness *witness = ptxTo->witness.vtxinwit.size() > nIn ? &ptxTo->witness.vtxinwit[nIn].scriptWitness : NULL; + const CScriptWitness *witness = ptxTo->witness.vtxinwit.size() > nIn ? &ptxTo->witness.vtxinwit[nIn].scriptWitness : nullptr; return VerifyScript(scriptSig, m_tx_out.scriptPubKey, witness, nFlags, CachingTransactionSignatureChecker(ptxTo, nIn, m_tx_out.nValue, cacheStore, *txdata), &error); } @@ -2408,8 +2408,8 @@ bool Chainstate::ConnectBlock(const CBlock& block, BlockValidationState& state, bool fCacheResults = fJustCheck; /* Don't cache results if we're actually connecting blocks (still consult the cache, though) */ TxValidationState tx_state; if (!Consensus::CheckTxInputs(tx, tx_state, view, pindex->nHeight, fee_map, - setPeginsSpent == NULL ? setPeginsSpentDummy : *setPeginsSpent, - g_parallel_script_checks ? &vChecks : NULL, fCacheResults, fScriptChecks, fedpegscripts)) { + setPeginsSpent == nullptr ? setPeginsSpentDummy : *setPeginsSpent, + g_parallel_script_checks ? &vChecks : nullptr, fCacheResults, fScriptChecks, fedpegscripts)) { // Any transaction validation failure in ConnectBlock is a block consensus failure state.Invalid(BlockValidationResult::BLOCK_CONSENSUS, tx_state.GetRejectReason(), tx_state.GetDebugMessage()); @@ -4375,7 +4375,7 @@ bool TestBlockValidity(BlockValidationState& state, return error("%s: Consensus::CheckBlock: %s", __func__, state.ToString()); if (!ContextualCheckBlock(block, state, chainstate.m_chainman, pindexPrev)) return error("%s: Consensus::ContextualCheckBlock: %s", __func__, state.ToString()); - if (!chainstate.ConnectBlock(block, state, &indexDummy, viewNew, NULL, true)) { + if (!chainstate.ConnectBlock(block, state, &indexDummy, viewNew, nullptr, true)) { return false; } assert(state.IsValid()); @@ -5183,7 +5183,7 @@ bool Chainstate::ResizeCoinsCaches(size_t coinstip_size, size_t coinsdb_size) //! We can extrapolate the last block time to the current time to estimate how many more blocks //! we expect. double GuessVerificationProgress(const CBlockIndex* pindex, int64_t blockInterval) { - if (pindex == NULL || pindex->nHeight < 1) { + if (pindex == nullptr || pindex->nHeight < 1) { return 0.0; } diff --git a/src/wallet/rpc/coins.cpp b/src/wallet/rpc/coins.cpp index 54b0b73c73..1ff4069e6f 100644 --- a/src/wallet/rpc/coins.cpp +++ b/src/wallet/rpc/coins.cpp @@ -127,7 +127,7 @@ RPCHelpMan getreceivedbyaddress() LOCK(pwallet->cs_wallet); - std::string asset = ""; + std::string asset; if (request.params.size() > 2 && request.params[2].isStr()) { asset = request.params[2].get_str(); } @@ -179,7 +179,7 @@ RPCHelpMan getreceivedbylabel() LOCK(pwallet->cs_wallet); - std::string asset = ""; + std::string asset; if (request.params.size() > 2 && request.params[2].isStr()) { asset = request.params[2].get_str(); } @@ -244,7 +244,7 @@ RPCHelpMan getbalance() bool avoid_reuse = GetAvoidReuseFlag(*pwallet, request.params[3]); - std::string asset = ""; + std::string asset; if (!request.params[4].isNull() && request.params[4].isStr()) { asset = request.params[4].get_str(); } diff --git a/src/wallet/rpc/elements.cpp b/src/wallet/rpc/elements.cpp index 730f4bf90c..dca6d04fd2 100644 --- a/src/wallet/rpc/elements.cpp +++ b/src/wallet/rpc/elements.cpp @@ -23,18 +23,6 @@ #include #include -using wallet::BlindDetails; -using wallet::CAddressBookData; -using wallet::CCoinControl; -using wallet::CRecipient; -using wallet::CWallet; -using wallet::CWalletTx; -using wallet::GetMinimumFee; -using wallet::GetWalletForJSONRPCRequest; -using wallet::IssuanceDetails; -using wallet::mapValue_t; -using wallet::LegacyScriptPubKeyMan; - // forward declarations namespace wallet { UniValue SendMoney(CWallet& wallet, const CCoinControl &coin_control, std::vector &recipients, mapValue_t map_value, bool verbose, bool ignore_blind_fail); @@ -328,7 +316,7 @@ RPCHelpMan initpegoutwallet() } std::string bitcoin_desc = request.params[0].get_str(); - std::string xpub_str = ""; + std::string xpub_str; // First check for naked xpub, and impute it as pkh(/0/*) for backwards compat CExtPubKey xpub = DecodeExtPubKey(bitcoin_desc); @@ -1289,7 +1277,7 @@ RPCHelpMan blindrawtransaction() } } - if (BlindTransaction(input_blinds, input_asset_blinds, input_assets, input_amounts, output_blinds, output_asset_blinds, output_pubkeys, asset_keys, token_keys, tx, (auxiliary_generators.size() ? &auxiliary_generators : NULL)) != num_pubkeys) { + if (BlindTransaction(input_blinds, input_asset_blinds, input_assets, input_amounts, output_blinds, output_asset_blinds, output_pubkeys, asset_keys, token_keys, tx, (auxiliary_generators.size() ? &auxiliary_generators : nullptr)) != num_pubkeys) { // TODO Have more rich return values, communicating to user what has been blinded // User may be ok not blinding something that for instance has no corresponding type on input throw JSONRPCError(RPC_INVALID_PARAMETER, "Unable to blind transaction: Are you sure each asset type to blind is represented in the inputs?"); diff --git a/src/wallet/rpc/transactions.cpp b/src/wallet/rpc/transactions.cpp index 959c7ed00d..acf620b3cc 100644 --- a/src/wallet/rpc/transactions.cpp +++ b/src/wallet/rpc/transactions.cpp @@ -98,7 +98,7 @@ static UniValue ListReceived(const CWallet& wallet, const UniValue& params, cons filtered_address = DecodeDestination(params[3].get_str()); } - std::string strasset = ""; + std::string strasset; if (params.size() > 4 && params[4].isStr()) { strasset = params[4].get_str(); } @@ -750,7 +750,7 @@ RPCHelpMan gettransaction() "\"immature\" Coinbase transactions received with 100 or fewer confirmations.\n" "\"orphan\" Orphaned coinbase transactions received."}, {RPCResult::Type::STR_AMOUNT, "amount", "The amount in " + CURRENCY_UNIT}, - {RPCResult::Type::STR_HEX, "amountblinder", /*optionl=*/true, "The blinding factor for the amount"}, // ELEMENTS FIXME: is this really optional? + {RPCResult::Type::STR_HEX, "amountblinder", /*optional=*/true, "The blinding factor for the amount"}, // ELEMENTS FIXME: is this really optional? {RPCResult::Type::STR_HEX, "asset", "The asset being transacted"}, {RPCResult::Type::STR_HEX, "assetblinder", /*optional=*/true, "The blinding factor for the asset"}, // ELEMENTS FIXME: is this really optional? {RPCResult::Type::STR, "label", /*optional=*/true, "A comment for the address/transaction, if any"}, @@ -798,7 +798,7 @@ RPCHelpMan gettransaction() bool verbose = request.params[2].isNull() ? false : request.params[2].get_bool(); - std::string asset = ""; + std::string asset; if (request.params[3].isStr() && !request.params[3].get_str().empty()) { asset = request.params[3].get_str(); } diff --git a/src/wallet/spend.cpp b/src/wallet/spend.cpp index c8c126493a..c50815c133 100644 --- a/src/wallet/spend.cpp +++ b/src/wallet/spend.cpp @@ -634,9 +634,9 @@ std::optional ChooseSelectionResult(const CWallet& wallet, cons } // Get output groups that only contain this asset. std::vector asset_groups; - for (OutputGroup g : positive_groups) { + for (const OutputGroup& g : positive_groups) { bool add = true; - for (COutput c : g.m_outputs) { + for (const COutput& c : g.m_outputs) { if (c.asset != asset) { add = false; break; diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index da4f7a23ee..04bc44e1a1 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -4227,7 +4227,7 @@ std::map > CWallet::GetReissuanceTokenTypes() CKey CWallet::GetBlindingKey(const CScript* script) const { CKey key; - if (script != NULL) { + if (script != nullptr) { std::map::const_iterator it = mapSpecificBlindingKeys.find(CScriptID(*script)); if (it != mapSpecificBlindingKeys.end()) { key.Set(it->second.begin(), it->second.end(), true); @@ -4237,7 +4237,7 @@ CKey CWallet::GetBlindingKey(const CScript* script) const { } } - if (script != NULL && !blinding_derivation_key.IsNull()) { + if (script != nullptr && !blinding_derivation_key.IsNull()) { unsigned char vch[32]; CHMAC_SHA256(blinding_derivation_key.begin(), blinding_derivation_key.size()).Write(&((*script)[0]), script->size()).Finalize(vch); key.Set(&vch[0], &vch[32], true);