diff --git a/src/merkleblock.cpp b/src/merkleblock.cpp index 34ff06e53a7..f5aaddbae22 100644 --- a/src/merkleblock.cpp +++ b/src/merkleblock.cpp @@ -29,7 +29,7 @@ std::vector BytesToBits(const std::vector& bytes) CMerkleBlock::CMerkleBlock(const CBlock& block, CBloomFilter* filter, const std::set* txids) { - header = block.GetBlockHeader(); + header = static_cast(block); std::vector vMatch; std::vector vHashes; diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 5fd11d3c370..3a712f2f800 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -4666,7 +4666,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, mapBlockSource.emplace(hash, std::make_pair(pfrom.GetId(), true)); // Check claimed work on this block against our anti-dos thresholds. - if (prev_block && prev_block->nChainWork + GetBlockProof(pblock->GetBlockHeader()) >= GetAntiDoSWorkThreshold()) { + if (prev_block && prev_block->nChainWork + GetBlockProof(*pblock) >= GetAntiDoSWorkThreshold()) { min_pow_checked = true; } } diff --git a/src/primitives/block.h b/src/primitives/block.h index 207d2b2980c..afaeba0dc5a 100644 --- a/src/primitives/block.h +++ b/src/primitives/block.h @@ -101,18 +101,6 @@ public: m_checked_merkle_root = false; } - CBlockHeader GetBlockHeader() const - { - CBlockHeader block; - block.nVersion = nVersion; - block.hashPrevBlock = hashPrevBlock; - block.hashMerkleRoot = hashMerkleRoot; - block.nTime = nTime; - block.nBits = nBits; - block.nNonce = nNonce; - return block; - } - std::string ToString() const; }; diff --git a/src/test/blockfilter_index_tests.cpp b/src/test/blockfilter_index_tests.cpp index 224acb8b079..4a3f4d428f2 100644 --- a/src/test/blockfilter_index_tests.cpp +++ b/src/test/blockfilter_index_tests.cpp @@ -102,10 +102,9 @@ bool BuildChainTestingSetup::BuildChain(const CBlockIndex* pindex, chain.resize(length); for (auto& block : chain) { block = std::make_shared(CreateBlock(pindex, no_txns, coinbase_script_pub_key)); - CBlockHeader header = block->GetBlockHeader(); BlockValidationState state; - if (!Assert(m_node.chainman)->ProcessNewBlockHeaders({{header}}, true, state, &pindex)) { + if (!Assert(m_node.chainman)->ProcessNewBlockHeaders({{*block}}, true, state, &pindex)) { return false; } } diff --git a/src/test/fuzz/block_header.cpp b/src/test/fuzz/block_header.cpp index 2e446b16ebe..12a9e1a2d7a 100644 --- a/src/test/fuzz/block_header.cpp +++ b/src/test/fuzz/block_header.cpp @@ -33,10 +33,10 @@ FUZZ_TARGET(block_header) mut_block_header.SetNull(); assert(mut_block_header.IsNull()); CBlock block{*block_header}; - assert(block.GetBlockHeader().GetHash() == block_header->GetHash()); + assert(block.GetHash() == block_header->GetHash()); (void)block.ToString(); block.SetNull(); - assert(block.GetBlockHeader().GetHash() == mut_block_header.GetHash()); + assert(block.GetHash() == mut_block_header.GetHash()); } { std::optional block_locator = ConsumeDeserializable(fuzzed_data_provider); diff --git a/src/test/fuzz/utxo_snapshot.cpp b/src/test/fuzz/utxo_snapshot.cpp index 56d3615570f..35faa73a5ae 100644 --- a/src/test/fuzz/utxo_snapshot.cpp +++ b/src/test/fuzz/utxo_snapshot.cpp @@ -89,7 +89,7 @@ void initialize_chain() auto& chainman{*setup->m_node.chainman}; for (const auto& block : chain) { BlockValidationState dummy; - bool processed{chainman.ProcessNewBlockHeaders({{block->GetBlockHeader()}}, true, dummy)}; + bool processed{chainman.ProcessNewBlockHeaders({{*block}}, true, dummy)}; Assert(processed); const auto* index{WITH_LOCK(::cs_main, return chainman.m_blockman.LookupBlockIndex(block->GetHash()))}; Assert(index); @@ -171,7 +171,7 @@ void utxo_snapshot_fuzz(FuzzBufferType buffer) if constexpr (!INVALID) { for (const auto& block : *g_chain) { BlockValidationState dummy; - bool processed{chainman.ProcessNewBlockHeaders({{block->GetBlockHeader()}}, true, dummy)}; + bool processed{chainman.ProcessNewBlockHeaders({{*block}}, true, dummy)}; Assert(processed); const auto* index{WITH_LOCK(::cs_main, return chainman.m_blockman.LookupBlockIndex(block->GetHash()))}; Assert(index); diff --git a/src/test/validation_block_tests.cpp b/src/test/validation_block_tests.cpp index a0b23f5d3b7..6497a243b70 100644 --- a/src/test/validation_block_tests.cpp +++ b/src/test/validation_block_tests.cpp @@ -104,7 +104,7 @@ std::shared_ptr MinerTestingSetup::FinalizeBlock(std::shared_ptr // submit block header, so that miner can get the block height from the // global state and the node has the topology of the chain BlockValidationState ignored; - BOOST_CHECK(Assert(m_node.chainman)->ProcessNewBlockHeaders({{pblock->GetBlockHeader()}}, true, ignored)); + BOOST_CHECK(Assert(m_node.chainman)->ProcessNewBlockHeaders({{*pblock}}, true, ignored)); return pblock; }