mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-13 17:15:11 +01:00
Merge bitcoin/bitcoin#32740: refactor: Header sync optimisations & simplifications
de4242f474refactor: Use reference for chain_start in HeadersSyncState (Daniela Brozzoni)e37555e540refactor: Use initializer list in CompressedHeader (Daniela Brozzoni)0488bdfeferefactor: Remove unused parameter in ReportHeadersPresync (Daniela Brozzoni)256246a9farefactor: Remove redundant parameter from CheckHeadersPoW (Daniela Brozzoni)ca0243e3a6refactor: Remove useless CBlock::GetBlockHeader (Pieter Wuille)4568652222refactor: Use std::span in HasValidProofOfWork (Daniela Brozzoni)4066bfe561refactor: Compute work from headers without CBlockIndex (Daniela Brozzoni)0bf6139e19p2p: Avoid an IsAncestorOfBestHeaderOrTip call (Pieter Wuille) Pull request description: This is a partial* revival of #25968 It contains a list of most-unrelated simplifications and optimizations to the code merged in #25717: - Avoid an IsAncestorOfBestHeaderOrTip call: Just don't call this function when it won't have any effect. - Compute work from headers without CBlockIndex: Avoid the need to construct a CBlockIndex object just to compute work for a header, when its nBits value suffices for that. Also use some Spans where possible. - Remove useless CBlock::GetBlockHeader: There is no need for a function to convert a CBlock to a CBlockHeader, as it's a child class of it. It also contains the following code cleanups, which were suggested by reviewers in #25968: - Remove redundant parameter from CheckHeadersPoW: No need to pass consensusParams, as CheckHeadersPow already has access to m_chainparams.GetConsensus() - Remove unused parameter in ReportHeadersPresync - Use initializer list in CompressedHeader, also make GetFullHeader const - Use reference for chain_start in HeadersSyncState: chain_start can never be null, so it's better to pass it as a reference rather than a raw pointer *I decided to leave out three commits that were in #25968 (4e7ac7b94d,ab52fb4e95,7f1cf440ca), since they're a bit more involved, and I'm a new contributor. If this PR gets merged, I'll comment under #25968 to note that these three commits are still up for grabs :) ACKs for top commit: l0rinc: ACKde4242f474polespinasa: re-ACKde4242f474sipa: ACKde4242f474achow101: ACKde4242f474hodlinator: re-ACKde4242f474Tree-SHA512: 1de4f3ce0854a196712505f2b52ccb985856f5133769552bf37375225ea8664a3a7a6a9578c4fd461e935cd94a7cbbb08f15751a1da7651f8962c866146d9d4b
This commit is contained in:
@@ -105,7 +105,7 @@ std::shared_ptr<CBlock> MinerTestingSetup::FinalizeBlock(std::shared_ptr<CBlock>
|
||||
// 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user