mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-17 04:48:21 +00:00
Manual finalization endpoint (#7059)
* Load block roots from fork choice where possible to avoid loading state from disk when serving block by range requests. * Check if the start slot is newer than finalization (`start_slot >= finalized_slot`), and use fork choice in that case. * force finalization endpoint * cleanup * Remove ds store * Don't import blocks that conflict with the split * Disconnect and ban peer if we get blocks conflicting manual checkpoint * immediately commit state to cold db * revert * Fix descent from split check * Add safety check to checkpoint when doing manual finalization. --------- Co-authored-by: Jimmy Chen <jchen.tc@gmail.com> Co-authored-by: Michael Sproul <michael@sigmaprime.io> Co-authored-by: Pawan Dhananjay <pawandhananjay@gmail.com>
This commit is contained in:
@@ -740,6 +740,19 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
|
||||
debug!(self.log, "Finalized or earlier block processed";);
|
||||
Ok(())
|
||||
}
|
||||
BlockError::NotFinalizedDescendant { block_parent_root } => {
|
||||
debug!(
|
||||
self.log,
|
||||
"Not syncing to a chain that conflicts with the canonical or manual finalized checkpoint"
|
||||
);
|
||||
Err(ChainSegmentFailed {
|
||||
message: format!(
|
||||
"Block with parent_root {} conflicts with our checkpoint state",
|
||||
block_parent_root
|
||||
),
|
||||
peer_action: Some(PeerAction::Fatal),
|
||||
})
|
||||
}
|
||||
BlockError::GenesisBlock => {
|
||||
debug!(self.log, "Genesis block was processed");
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user