mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-02-11 14:06:47 +00:00
8936212f93
The sync protocol does not distinguish between: - All requested slots are empty - Peer does not have data available about requested range Therefore, we treat EOF for `beacon_blocks_by_range` and for `beacon_blocks_by_range` as valid responses, as if the entire epoch really contained no single block for any slot. Once a followup response provides new blocks, we detect that some blocks were missing and rewind. During backfill, we also request the known-to-exist `backfill.slot`, so we can actually detect whether an epoch really does not have blocks or whether a response is incomplete (`PeerScoreNoBlocks`).