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