update spectests to 1.6.0-beta.0 (#15741)

* update spectests to 1.6.0-beta.0

* start fixing ethspecify
This commit is contained in:
Potuz
2025-09-24 15:13:46 -03:00
committed by GitHub
parent 08be6fde92
commit 98532a2df3
4 changed files with 46 additions and 25 deletions

View File

@@ -253,16 +253,16 @@ filegroup(
url = "https://github.com/ethereum/EIPs/archive/5480440fe51742ed23342b68cf106cefd427e39d.tar.gz",
)
consensus_spec_version = "v1.6.0-alpha.6"
consensus_spec_version = "v1.6.0-beta.0"
load("@prysm//tools:download_spectests.bzl", "consensus_spec_tests")
consensus_spec_tests(
name = "consensus_spec_tests",
flavors = {
"general": "sha256-7wkWuahuCO37uVYnxq8Badvi+jY907pBj68ixL8XDOI=",
"minimal": "sha256-Qy/f27N0LffS/ej7VhIubwDejD6LMK0VdenKkqtZVt4=",
"mainnet": "sha256-3H7mu5yE+FGz2Wr/nc8Nd9aEu93YoEpsYtn0zBSoeDE=",
"general": "sha256-rT3jQp2+ZaDiO66gIQggetzqr+kGeexaLqEhbx4HDMY=",
"minimal": "sha256-wowwwyvd0KJLsE+oDOtPkrhZyJndJpJ0lbXYsLH6XBw=",
"mainnet": "sha256-4ZLrLNeO7NihZ4TuWH5V5fUhvW9Y3mAPBQDCqrfShps=",
},
version = consensus_spec_version,
)
@@ -278,7 +278,7 @@ filegroup(
visibility = ["//visibility:public"],
)
""",
integrity = "sha256-uvz3XfMTGfy3/BtQQoEp5XQOgrWgcH/5Zo/gR0iiP+k=",
integrity = "sha256-sBe3Rx8zGq9IrvfgIhZQpYidGjy3mE1SiCb6/+pjLdY=",
strip_prefix = "consensus-specs-" + consensus_spec_version[1:],
url = "https://github.com/ethereum/consensus-specs/archive/refs/tags/%s.tar.gz" % consensus_spec_version,
)

View File

@@ -0,0 +1,3 @@
### Added
- Update spectests to 1.6.0-beta.0

View File

@@ -1,4 +1,4 @@
version: v1.6.0-alpha.6
version: v1.6.0-beta.0
style: full
specrefs:
@@ -90,14 +90,14 @@ exceptions:
- BuilderPendingWithdrawal#gloas
- DataColumnSidecar#gloas
- ExecutionPayloadEnvelope#gloas
- ExecutionPayloadHeader#gloas
- ExecutionPayloadBid#gloas
- ForkChoiceNode#gloas
- IndexedPayloadAttestation#gloas
- PayloadAttestation#gloas
- PayloadAttestationData#gloas
- PayloadAttestationMessage#gloas
- SignedExecutionPayloadEnvelope#gloas
- SignedExecutionPayloadHeader#gloas
- SignedExecutionPayloadBid#gloas
dataclasses:
# Not implemented
@@ -172,7 +172,9 @@ exceptions:
- compute_pulled_up_tip#phase0
- filter_block_tree#phase0
- get_aggregate_and_proof#phase0
- get_aggregate_due_ms#phase0
- get_attestation_component_deltas#phase0
- get_attestation_due_ms#phase0
- get_attesting_balance#phase0
- get_base_reward#phase0
- get_checkpoint_block#phase0
@@ -186,6 +188,7 @@ exceptions:
- get_matching_source_attestations#phase0
- get_matching_target_attestations#phase0
- get_proposer_head#phase0
- get_proposer_reorg_cutoff_ms#phase0
- get_proposer_score#phase0
- get_slot_component_duration_ms#phase0
- get_slot_signature#phase0
@@ -214,11 +217,13 @@ exceptions:
- compute_sync_committee_period_at_slot#altair
- compute_timestamp_at_slot#bellatrix
- get_contribution_and_proof#altair
- get_contribution_due_ms#altair
- get_index_for_new_validator#altair
- get_safety_threshold#altair
- get_subtree_index#altair
- get_sync_committee_message#altair
- get_sync_committee_selection_proof#altair
- get_sync_message_due_ms#altair
- get_unslashed_participating_indices#altair
- is_assigned_to_sync_committee#altair
- is_finality_update#altair
@@ -294,13 +299,17 @@ exceptions:
- compute_fork_version#gloas
- compute_proposer_indices#gloas
- get_ancestor#gloas
- get_aggregate_due_ms#gloas
- get_attestation_due_ms#gloas
- get_attestation_participation_flag_indices#gloas
- get_builder_payment_quorum_threshold#gloas
- get_checkpoint_block#gloas
- get_contribution_due_ms#gloas
- get_data_column_sidecars#gloas
- get_data_column_sidecars_from_block#gloas
- get_data_column_sidecars_from_column_sidecar#gloas
- get_execution_payload_envelope_signature#gloas
- get_execution_payload_header_signature#gloas
- get_execution_payload_bid_signature#gloas
- get_expected_withdrawals#gloas
- get_forkchoice_store#gloas
- get_head#gloas
@@ -308,8 +317,11 @@ exceptions:
- get_next_sync_committee_indices#gloas
- get_node_children#gloas
- get_parent_payload_status#gloas
- get_payload_attestation_due_ms#gloas
- get_payload_attestation_message_signature#gloas
- get_payload_status_tiebreaker#gloas
- get_pending_balance_to_withdraw#gloas
- get_sync_message_due_ms#gloas
- get_ptc#gloas
- get_ptc_assignment#gloas
- get_weight#gloas
@@ -334,9 +346,10 @@ exceptions:
- process_builder_pending_payments#gloas
- process_epoch#gloas
- process_execution_payload#gloas
- process_execution_payload_header#gloas
- process_execution_payload_bid#gloas
- process_operations#gloas
- process_payload_attestation#gloas
- process_proposer_slashing#gloas
- process_slot#gloas
- process_withdrawals#gloas
- remove_flag#gloas
@@ -347,4 +360,4 @@ exceptions:
- validate_on_attestation#gloas
- verify_data_column_sidecar_inclusion_proof#gloas
- verify_execution_payload_envelope_signature#gloas
- verify_execution_payload_header_signature#gloas
- verify_execution_payload_bid_signature#gloas

View File

@@ -4200,11 +4200,12 @@
- name: is_proposing_on_time
sources: []
spec: |
<spec fn="is_proposing_on_time" fork="phase0" hash="cadfde05">
<spec fn="is_proposing_on_time" fork="phase0" hash="dc5256b4">
def is_proposing_on_time(store: Store) -> bool:
seconds_since_genesis = store.time - store.genesis_time
time_into_slot_ms = seconds_to_milliseconds(seconds_since_genesis) % SLOT_DURATION_MS
proposer_reorg_cutoff_ms = get_slot_component_duration_ms(PROPOSER_REORG_CUTOFF_BPS)
epoch = get_current_store_epoch(store)
proposer_reorg_cutoff_ms = get_proposer_reorg_cutoff_ms(epoch)
return time_into_slot_ms <= proposer_reorg_cutoff_ms
</spec>
@@ -4655,7 +4656,7 @@
- file: beacon-chain/blockchain/receive_block.go
search: func (s *Service) ReceiveBlock(
spec: |
<spec fn="on_block" fork="phase0" hash="0bd081f0">
<spec fn="on_block" fork="phase0" hash="aff24b59">
def on_block(store: Store, signed_block: SignedBeaconBlock) -> None:
block = signed_block.message
# Parent block must be known
@@ -4688,7 +4689,8 @@
# Add block timeliness to the store
seconds_since_genesis = store.time - store.genesis_time
time_into_slot_ms = seconds_to_milliseconds(seconds_since_genesis) % SLOT_DURATION_MS
attestation_threshold_ms = get_slot_component_duration_ms(ATTESTATION_DUE_BPS)
epoch = get_current_store_epoch(store)
attestation_threshold_ms = get_attestation_due_ms(epoch)
is_before_attesting_interval = time_into_slot_ms < attestation_threshold_ms
is_timely = get_current_slot(store) == block.slot and is_before_attesting_interval
store.block_timeliness[hash_tree_root(block)] = is_timely
@@ -4710,7 +4712,7 @@
- file: beacon-chain/blockchain/receive_block.go
search: func (s *Service) ReceiveBlock(
spec: |
<spec fn="on_block" fork="bellatrix" hash="cceac63a">
<spec fn="on_block" fork="bellatrix" hash="a3193d92">
def on_block(store: Store, signed_block: SignedBeaconBlock) -> None:
"""
Run ``on_block`` upon receiving a new block.
@@ -4754,7 +4756,8 @@
# Add block timeliness to the store
seconds_since_genesis = store.time - store.genesis_time
time_into_slot_ms = seconds_to_milliseconds(seconds_since_genesis) % SLOT_DURATION_MS
attestation_threshold_ms = get_slot_component_duration_ms(ATTESTATION_DUE_BPS)
epoch = get_current_store_epoch(store)
attestation_threshold_ms = get_attestation_due_ms(epoch)
is_before_attesting_interval = time_into_slot_ms < attestation_threshold_ms
is_timely = get_current_slot(store) == block.slot and is_before_attesting_interval
store.block_timeliness[hash_tree_root(block)] = is_timely
@@ -4776,7 +4779,7 @@
- file: beacon-chain/blockchain/receive_block.go
search: func (s *Service) ReceiveBlock(
spec: |
<spec fn="on_block" fork="capella" hash="b051b7c6">
<spec fn="on_block" fork="capella" hash="560056ad">
def on_block(store: Store, signed_block: SignedBeaconBlock) -> None:
"""
Run ``on_block`` upon receiving a new block.
@@ -4812,7 +4815,8 @@
# Add block timeliness to the store
seconds_since_genesis = store.time - store.genesis_time
time_into_slot_ms = seconds_to_milliseconds(seconds_since_genesis) % SLOT_DURATION_MS
attestation_threshold_ms = get_slot_component_duration_ms(ATTESTATION_DUE_BPS)
epoch = get_current_store_epoch(store)
attestation_threshold_ms = get_attestation_due_ms(epoch)
is_before_attesting_interval = time_into_slot_ms < attestation_threshold_ms
is_timely = get_current_slot(store) == block.slot and is_before_attesting_interval
store.block_timeliness[hash_tree_root(block)] = is_timely
@@ -4834,7 +4838,7 @@
- file: beacon-chain/blockchain/receive_block.go
search: func (s *Service) ReceiveBlock(
spec: |
<spec fn="on_block" fork="deneb" hash="1f48df4d">
<spec fn="on_block" fork="deneb" hash="9565acee">
def on_block(store: Store, signed_block: SignedBeaconBlock) -> None:
"""
Run ``on_block`` upon receiving a new block.
@@ -4875,7 +4879,8 @@
# Add block timeliness to the store
seconds_since_genesis = store.time - store.genesis_time
time_into_slot_ms = seconds_to_milliseconds(seconds_since_genesis) % SLOT_DURATION_MS
attestation_threshold_ms = get_slot_component_duration_ms(ATTESTATION_DUE_BPS)
epoch = get_current_store_epoch(store)
attestation_threshold_ms = get_attestation_due_ms(epoch)
is_before_attesting_interval = time_into_slot_ms < attestation_threshold_ms
is_timely = get_current_slot(store) == block.slot and is_before_attesting_interval
store.block_timeliness[hash_tree_root(block)] = is_timely
@@ -4897,7 +4902,7 @@
- file: beacon-chain/blockchain/receive_block.go
search: func (s *Service) ReceiveBlock(
spec: |
<spec fn="on_block" fork="fulu" hash="a27a9edb">
<spec fn="on_block" fork="fulu" hash="4f955de9">
def on_block(store: Store, signed_block: SignedBeaconBlock) -> None:
"""
Run ``on_block`` upon receiving a new block.
@@ -4938,7 +4943,8 @@
# Add block timeliness to the store
seconds_since_genesis = store.time - store.genesis_time
time_into_slot_ms = seconds_to_milliseconds(seconds_since_genesis) % SLOT_DURATION_MS
attestation_threshold_ms = get_slot_component_duration_ms(ATTESTATION_DUE_BPS)
epoch = get_current_store_epoch(store)
attestation_threshold_ms = get_attestation_due_ms(epoch)
is_before_attesting_interval = time_into_slot_ms < attestation_threshold_ms
is_timely = get_current_slot(store) == block.slot and is_before_attesting_interval
store.block_timeliness[hash_tree_root(block)] = is_timely
@@ -7034,7 +7040,7 @@
- file: beacon-chain/core/blocks/exit.go
search: func ProcessVoluntaryExits(
spec: |
<spec fn="process_voluntary_exit" fork="electra" hash="6dcb5530">
<spec fn="process_voluntary_exit" fork="electra" hash="51b07d36">
def process_voluntary_exit(state: BeaconState, signed_voluntary_exit: SignedVoluntaryExit) -> None:
voluntary_exit = signed_voluntary_exit.message
validator = state.validators[voluntary_exit.validator_index]
@@ -7048,7 +7054,6 @@
assert get_current_epoch(state) >= validator.activation_epoch + SHARD_COMMITTEE_PERIOD
# [New in Electra:EIP7251]
# Only exit validator if it has no pending withdrawals in the queue
assert get_pending_balance_to_withdraw(state, voluntary_exit.validator_index) == 0
# Verify signature
domain = compute_domain(