* protobuf for new block template notification structs
* appmessage and wire for new block template notification structs
* Set up the entire handler/call-chain for managing the new-block-template event
* Fix a bug in the case where syncer chain is fully known to syncee
* Extract chain negotiation to a separated method
* Bump version and update the changelog
* Add zoom-in progress validation and some debug logs
* Improved error explanation
* go fmt
* Validate zoom-in progress through a total count
* Improve output of non-critical protocol errors to avoid user panic
* Add log messages at the end of IBD with headers proof
* Found a case where this was falsely triggered due to the wrong equality test
* The first message is expected to contain headers and not a "done" message (+comment and error text fixes)
* Dequeue w/o timeout during pp anticone batch processing
* Add a verification step for catching possible new IBD errors
* Fetch missing bodies for both, syncer selected tip past and relay block past
* Make sure the syncer is behaving correctly to avoid out of index errors
* Make sure progress reporter does not exceed 100%
* No orphan roots, so no need to queue the empty list
* Add a log to report utxo fetch failure with err message
* A duplicate blocks should not appear as a warning
* typo
* add p2p v5 which is currently identical to v4
* set all internal imports to v5
* set default version to 5
* Send pruning point and its anticone in batches
* go lint
* Fix jsom format
* Use DequeueWithTimeout
* Assert that batch size < route capacity
* oops, this is a flow handler, by definition it needs to be w/o a timeout
* here however, a timeout is required
* Keep IDs of prev messages unmodified
* previous merge operation accidentally erased an important part of this pr
* Extend timeout of simple sync
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* add p2p v5 which is currently identical to v4
* set all internal imports to v5
* wip
* set default version to 5
* protobuf gen for new ibd chain locator
* wire for new ibd chain locator types
* new ibd shared block algo -- only basic test passing
* address the case where pruning points disagree, now both IBD tests pass
* protobuf gen for new past diff request message
* wire for new request past diff message
* handle and flow for new request past diff message - logic unimplemented yet
* implement ibd sync past diff of relay and selected tip
* go fmt
* remove unused methods
* missed one err check
* addressing simple comments
* apply the traversal limit logic and sort headers
* rename pastdiff -> anticone
* apply Don't relay blocks in virtual anticone #1970 to v5
* go fmt
* Fixed minor comments
* Limit the number of chain negotiation restarts