1414// CompressedHeader (we should re-calculate parameters if we compress further).
1515static_assert (sizeof (CompressedHeader) == 48 );
1616
17- HeadersSyncState::HeadersSyncState (NodeId id, const Consensus::Params& consensus_params,
18- const HeadersSyncParams& params, const CBlockIndex* chain_start,
19- const arith_uint256& minimum_required_work) :
20- m_commit_offset((assert (params.commitment_period > 0 ), // HeadersSyncParams field must be initialized to non-zero.
21- FastRandomContext().randrange(params.commitment_period))),
22- m_id(id), m_consensus_params(consensus_params),
23- m_params(params),
24- m_chain_start(chain_start),
25- m_minimum_required_work(minimum_required_work),
26- m_current_chain_work(chain_start->nChainWork),
27- m_last_header_received(m_chain_start->GetBlockHeader ()),
28- m_current_height(chain_start->nHeight)
17+ HeadersSyncState::HeadersSyncState (NodeId id,
18+ const Consensus::Params& consensus_params,
19+ const HeadersSyncParams& params,
20+ const CBlockIndex& chain_start,
21+ const arith_uint256& minimum_required_work)
22+ : m_commit_offset((assert (params.commitment_period > 0 ), // HeadersSyncParams field must be initialized to non-zero.
23+ FastRandomContext().randrange(params.commitment_period))),
24+ m_id(id),
25+ m_consensus_params(consensus_params),
26+ m_params(params),
27+ m_chain_start(chain_start),
28+ m_minimum_required_work(minimum_required_work),
29+ m_current_chain_work(chain_start.nChainWork),
30+ m_last_header_received(m_chain_start.GetBlockHeader()),
31+ m_current_height(chain_start.nHeight)
2932{
3033 // Estimate the number of blocks that could possibly exist on the peer's
3134 // chain *right now* using 6 blocks/second (fastest blockrate given the MTP
@@ -35,7 +38,7 @@ HeadersSyncState::HeadersSyncState(NodeId id, const Consensus::Params& consensus
3538 // exceeds this bound, because it's not possible for a consensus-valid
3639 // chain to be longer than this (at the current time -- in the future we
3740 // could try again, if necessary, to sync a longer chain).
38- const auto max_seconds_since_start{(Ticks<std::chrono::seconds>(NodeClock::now () - NodeSeconds{std::chrono::seconds{chain_start-> GetMedianTimePast ()}}))
41+ const auto max_seconds_since_start{(Ticks<std::chrono::seconds>(NodeClock::now () - NodeSeconds{std::chrono::seconds{chain_start. GetMedianTimePast ()}}))
3942 + MAX_FUTURE_BLOCK_TIME};
4043 m_max_commitments = 6 * max_seconds_since_start / m_params.commitment_period ;
4144
@@ -161,10 +164,10 @@ bool HeadersSyncState::ValidateAndStoreHeadersCommitments(std::span<const CBlock
161164
162165 if (m_current_chain_work >= m_minimum_required_work) {
163166 m_redownloaded_headers.clear ();
164- m_redownload_buffer_last_height = m_chain_start-> nHeight ;
165- m_redownload_buffer_first_prev_hash = m_chain_start-> GetBlockHash ();
166- m_redownload_buffer_last_hash = m_chain_start-> GetBlockHash ();
167- m_redownload_chain_work = m_chain_start-> nChainWork ;
167+ m_redownload_buffer_last_height = m_chain_start. nHeight ;
168+ m_redownload_buffer_first_prev_hash = m_chain_start. GetBlockHash ();
169+ m_redownload_buffer_last_hash = m_chain_start. GetBlockHash ();
170+ m_redownload_chain_work = m_chain_start. nChainWork ;
168171 m_download_state = State::REDOWNLOAD;
169172 LogDebug (BCLog::NET, " Initial headers sync transition with peer=%d: reached sufficient work at height=%i, redownloading from height=%i\n " , m_id, m_current_height, m_redownload_buffer_last_height);
170173 }
@@ -228,7 +231,7 @@ bool HeadersSyncState::ValidateAndStoreRedownloadedHeader(const CBlockHeader& he
228231 if (!m_redownloaded_headers.empty ()) {
229232 previous_nBits = m_redownloaded_headers.back ().nBits ;
230233 } else {
231- previous_nBits = m_chain_start-> nBits ;
234+ previous_nBits = m_chain_start. nBits ;
232235 }
233236
234237 if (!PermittedDifficultyTransition (m_consensus_params, next_height,
@@ -295,7 +298,7 @@ CBlockLocator HeadersSyncState::NextHeadersRequestLocator() const
295298 Assume (m_download_state != State::FINAL);
296299 if (m_download_state == State::FINAL) return {};
297300
298- auto chain_start_locator = LocatorEntries (m_chain_start);
301+ auto chain_start_locator = LocatorEntries (& m_chain_start);
299302 std::vector<uint256> locator;
300303
301304 if (m_download_state == State::PRESYNC) {
0 commit comments