rearrange fork choice condition for clarity
This commit is contained in:
parent
479c40450d
commit
1dc6b55617
|
@ -372,15 +372,17 @@ def on_block(store: Store, signed_block: SignedBeaconBlock) -> None:
|
|||
if state.finalized_checkpoint.epoch > store.finalized_checkpoint.epoch:
|
||||
store.finalized_checkpoint = state.finalized_checkpoint
|
||||
|
||||
# Potentially update justified if different from store
|
||||
if store.justified_checkpoint != state.current_justified_checkpoint:
|
||||
finalized_slot = compute_start_slot_at_epoch(store.finalized_checkpoint.epoch)
|
||||
# Update justified if new justified is later than store justified
|
||||
# or if store justified is not in chain with finalized checkpoint
|
||||
if (
|
||||
state.current_justified_checkpoint.epoch > store.justified_checkpoint.epoch
|
||||
or get_ancestor(
|
||||
store, store.justified_checkpoint.root, finalized_slot) != store.finalized_checkpoint.root
|
||||
):
|
||||
if state.current_justified_checkpoint.epoch > store.justified_checkpoint.epoch:
|
||||
store.justified_checkpoint = state.current_justified_checkpoint
|
||||
return
|
||||
|
||||
# Update justified if store justified is not in chain with finalized checkpoint
|
||||
finalized_slot = compute_start_slot_at_epoch(store.finalized_checkpoint.epoch)
|
||||
ancestor_at_finalized_slot = get_ancestor(store, store.justified_checkpoint.root, finalized_slot)
|
||||
if ancestor_at_finalized_slot != store.finalized_checkpoint.root:
|
||||
store.justified_checkpoint = state.current_justified_checkpoint
|
||||
```
|
||||
|
||||
|
|
Loading…
Reference in New Issue