HomePhabricator

Make validation interface capable of signalling header presync

Description

Make validation interface capable of signalling header presync

Summary:
This makes a number of changes:

  • Get rid of the verification_progress argument in the node interface NotifyHeaderTip (it was always 0.0).
  • Instead of passing a CBlockIndex* in the UI interface's NotifyHeaderTip, send separate height, timestamp fields. This is becuase in headers presync, no actual CBlockIndex object is available.
  • Add a bool presync argument to both of the above, to identify signals pertaining to the first headers sync phase.

Emit NotifyHeaderTip signals for pre-synchronization progress

This is a partial backport of core#25717
https://github.com/bitcoin/bitcoin/pull/25717/commits/376086fc5a187f5b2ab3a0d1202ed4e6c22bdb50
https://github.com/bitcoin/bitcoin/pull/25717/commits/738421c50f2dbd7395b50a5dbdf6168b07435e62

Depends on D15169

Test Plan:
ninja all check-all

Run a header sync on main net

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D15170

Details

Provenance
Pieter Wuille <pieter@wuille.net>Authored on Aug 13 2022, 18:21
PiRKCommitted on Jan 16 2024, 08:11
PiRKPushed on Jan 16 2024, 08:11
Reviewer
Restricted Project
Differential Revision
D15170: Make validation interface capable of signalling header presync
Parents
rABC1aed1e987d6e: Test large reorgs with headerssync logic
Branches
Unknown
Tags
Unknown