diff --git a/src/headerssync.cpp b/src/headerssync.cpp index 757b942cd96..a3adfb4f701 100644 --- a/src/headerssync.cpp +++ b/src/headerssync.cpp @@ -24,11 +24,11 @@ static_assert(sizeof(CompressedHeader) == 48); HeadersSyncState::HeadersSyncState(NodeId id, const Consensus::Params& consensus_params, const CBlockIndex* chain_start, const arith_uint256& minimum_required_work) : + m_commit_offset(GetRand(HEADER_COMMITMENT_PERIOD)), m_id(id), m_consensus_params(consensus_params), m_chain_start(chain_start), m_minimum_required_work(minimum_required_work), m_current_chain_work(chain_start->nChainWork), - m_commit_offset(GetRand(HEADER_COMMITMENT_PERIOD)), m_last_header_received(m_chain_start->GetBlockHeader()), m_current_height(chain_start->nHeight) { diff --git a/src/headerssync.h b/src/headerssync.h index 16da9642462..e93f67e6da1 100644 --- a/src/headerssync.h +++ b/src/headerssync.h @@ -175,6 +175,13 @@ public: */ CBlockLocator NextHeadersRequestLocator() const; +protected: + /** The (secret) offset on the heights for which to create commitments. + * + * m_header_commitments entries are created at any height h for which + * (h % HEADER_COMMITMENT_PERIOD) == m_commit_offset. */ + const unsigned m_commit_offset; + private: /** Clear out all download state that might be in progress (freeing any used * memory), and mark this object as no longer usable. @@ -222,12 +229,6 @@ private: /** A queue of commitment bits, created during the 1st phase, and verified during the 2nd. */ bitdeque<> m_header_commitments; - /** The (secret) offset on the heights for which to create commitments. - * - * m_header_commitments entries are created at any height h for which - * (h % HEADER_COMMITMENT_PERIOD) == m_commit_offset. */ - const unsigned m_commit_offset; - /** m_max_commitments is a bound we calculate on how long an honest peer's chain could be, * given the MTP rule. *