You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The implementation of get_proposer_head is modified to also account for store.unsatisfied_inclusion_list_blocks.
defget_proposer_head(store: Store, head_root: Root, slot: Slot) ->Root:
head_block=store.blocks[head_root]
parent_root=head_block.parent_rootparent_block=store.blocks[parent_root]
# Only re-org the head block if it arrived later than the attestation deadline.head_late=is_head_late(store, head_root)
# Do not re-org on an epoch boundary where the proposer shuffling could change.shuffling_stable=is_shuffling_stable(slot)
# Ensure that the FFG information of the new head will be competitive with the current head.ffg_competitive=is_ffg_competitive(store, head_root, parent_root)
# Do not re-org if the chain is not finalizing with acceptable frequency.finalization_ok=is_finalization_ok(store, slot)
# Only re-org if we are proposing on-time.proposing_on_time=is_proposing_on_time(store)
# Only re-org a single slot at most.parent_slot_ok=parent_block.slot+1==head_block.slotcurrent_time_ok=head_block.slot+1==slotsingle_slot_reorg=parent_slot_okandcurrent_time_ok# Check that the head has few enough votes to be overpowered by our proposer boost.assertstore.proposer_boost_root!=head_root# ensure boost has worn offhead_weak=is_head_weak(store, head_root)
# Check that the missing votes are assigned to the parent and not being hoarded.parent_strong=is_parent_strong(store, parent_root)
reorg_prerequisites=all([shuffling_stable, ffg_competitive, finalization_ok,
proposing_on_time, single_slot_reorg, head_weak, parent_strong])
# Check that the head block is in the unsatisfied inclusion list blocksinclusion_list_not_satisfied=head_rootinstore.unsatisfied_inclusion_list_blocks# [New in EIP-7805]ifreorg_prerequisitesand (head_lateorinclusion_list_not_satisfied):
returnparent_rootelse:
returnhead_root
The text was updated successfully, but these errors were encountered:
Modified
get_proposer_head
The implementation of
get_proposer_head
is modified to also account forstore.unsatisfied_inclusion_list_blocks
.The text was updated successfully, but these errors were encountered: