lighthouse-pulse/beacon_node/beacon_chain
GeemoCandama f857811e5f light client optimistic update reprocessing (#3799)
Currently there is a race between receiving blocks and receiving light client optimistic updates (in unstable), which results in processing errors. This is a continuation of PR #3693 and seeks to progress on issue #3651

Add the parent_root to ReprocessQueueMessage::BlockImported so we can remove blocks from queue when a block arrives that has the same parent root. We use the parent root as opposed to the block_root because the LightClientOptimisticUpdate does not contain the block_root.

If light_client_optimistic_update.attested_header.canonical_root() != head_block.message().parent_root() then we queue the update. Otherwise we process immediately.
michaelsproul came up with this idea.
The code was heavily based off of the attestation reprocessing.
I have not properly tested this to see if it works as intended.
2023-01-25 14:23:33 +01:00
..
src light client optimistic update reprocessing (#3799) 2023-01-25 14:23:33 +01:00
tests Implement sync_committee_rewards API (per-validator reward) (#3903) 2023-01-25 14:22:15 +01:00
Cargo.toml merge capella 2023-01-12 12:51:09 -05:00