diff --git a/ConsensusSpecPreset-mainnet.md b/ConsensusSpecPreset-mainnet.md index c08408b0d..7380dd101 100644 --- a/ConsensusSpecPreset-mainnet.md +++ b/ConsensusSpecPreset-mainnet.md @@ -2410,16 +2410,19 @@ OK: 4/4 Fail: 0/4 Skip: 0/4 + Testing BlobIdentifier OK + Testing BlobSidecar OK + Testing Checkpoint OK ++ Testing ConsolidationRequest OK + Testing ContributionAndProof OK + Testing DataColumnIdentifier OK + Testing DataColumnSidecar OK + Testing Deposit OK + Testing DepositData OK + Testing DepositMessage OK ++ Testing DepositRequest OK + Testing Eth1Block OK + Testing Eth1Data OK + Testing ExecutionPayload OK + Testing ExecutionPayloadHeader OK ++ Testing ExecutionRequests OK + Testing Fork OK + Testing ForkData OK + Testing HistoricalBatch OK @@ -2432,6 +2435,9 @@ OK: 4/4 Fail: 0/4 Skip: 0/4 + Testing LightClientUpdate OK + Testing MatrixEntry OK + Testing PendingAttestation OK ++ Testing PendingConsolidation OK ++ Testing PendingDeposit OK ++ Testing PendingPartialWithdrawal OK + Testing PowBlock OK + Testing ProposerSlashing OK + Testing SignedAggregateAndProof OK @@ -2441,6 +2447,7 @@ OK: 4/4 Fail: 0/4 Skip: 0/4 + Testing SignedContributionAndProof OK + Testing SignedVoluntaryExit OK + Testing SigningData OK ++ Testing SingleAttestation OK + Testing SyncAggregate OK + Testing SyncAggregatorSelectionData OK + Testing SyncCommittee OK @@ -2449,8 +2456,9 @@ OK: 4/4 Fail: 0/4 Skip: 0/4 + Testing Validator OK + Testing VoluntaryExit OK + Testing Withdrawal OK ++ Testing WithdrawalRequest OK ``` -OK: 51/51 Fail: 0/51 Skip: 0/51 +OK: 59/59 Fail: 0/59 Skip: 0/59 ## EF - Electra - Epoch Processing - Effective balance updates [Preset: mainnet] ```diff + Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK @@ -2528,10 +2536,14 @@ OK: 10/10 Fail: 0/10 Skip: 0/10 + Pending consolidations - consolidation_not_yet_withdrawable_validator [Preset: mainnet] OK + Pending consolidations - pending_consolidation_compounding_creds [Preset: mainnet] OK + Pending consolidations - pending_consolidation_future_epoch [Preset: mainnet] OK ++ Pending consolidations - pending_consolidation_source_balance_greater_than_max_effective [ OK ++ Pending consolidations - pending_consolidation_source_balance_greater_than_max_effective_c OK ++ Pending consolidations - pending_consolidation_source_balance_less_than_max_effective [Pre OK ++ Pending consolidations - pending_consolidation_source_balance_less_than_max_effective_comp OK + Pending consolidations - pending_consolidation_with_pending_deposit [Preset: mainnet] OK + Pending consolidations - skip_consolidation_when_source_slashed [Preset: mainnet] OK ``` -OK: 7/7 Fail: 0/7 Skip: 0/7 +OK: 11/11 Fail: 0/11 Skip: 0/11 ## EF - Electra - Epoch Processing - Pending deposits [Preset: mainnet] ```diff + Pending deposits - apply_pending_deposit_compounding_withdrawal_credentials_max [Preset: m OK @@ -2588,6 +2600,11 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + Registry updates - activation_queue_activation_and_ejection__churn_limit [Preset: mainnet] OK + Registry updates - activation_queue_activation_and_ejection__exceed_churn_limit [Preset: m OK + Registry updates - activation_queue_efficiency_min [Preset: mainnet] OK ++ Registry updates - activation_queue_eligibility__greater_than_min_activation_balance [Pres OK ++ Registry updates - activation_queue_eligibility__less_than_min_activation_balance [Preset: OK ++ Registry updates - activation_queue_eligibility__min_activation_balance [Preset: mainnet] OK ++ Registry updates - activation_queue_eligibility__min_activation_balance_compounding_creds OK ++ Registry updates - activation_queue_eligibility__min_activation_balance_eth1_creds [Preset OK + Registry updates - activation_queue_no_activation_no_finality [Preset: mainnet] OK + Registry updates - activation_queue_sorting [Preset: mainnet] OK + Registry updates - activation_queue_to_activated_if_finalized [Preset: mainnet] OK @@ -2596,7 +2613,7 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + Registry updates - ejection_past_churn_limit_min [Preset: mainnet] OK + Registry updates - invalid_large_withdrawable_epoch [Preset: mainnet] OK ``` -OK: 11/11 Fail: 0/11 Skip: 0/11 +OK: 16/16 Fail: 0/16 Skip: 0/16 ## EF - Electra - Epoch Processing - Rewards and penalties [Preset: mainnet] ```diff + Rewards and penalties - almost_empty_attestations [Preset: mainnet] OK @@ -2648,15 +2665,19 @@ OK: 5/5 Fail: 0/5 Skip: 0/5 + EF - Electra - Fork - electra_fork_random_low_balances [Preset: mainnet] OK + EF - Electra - Fork - electra_fork_random_misc_balances [Preset: mainnet] OK + EF - Electra - Fork - fork_base_state [Preset: mainnet] OK ++ EF - Electra - Fork - fork_earliest_exit_epoch_is_max_validator_exit_epoch [Preset: mainne OK ++ EF - Electra - Fork - fork_earliest_exit_epoch_less_than_current_epoch [Preset: mainnet] OK ++ EF - Electra - Fork - fork_earliest_exit_epoch_no_validator_exits [Preset: mainnet] OK + EF - Electra - Fork - fork_has_compounding_withdrawal_credential [Preset: mainnet] OK + EF - Electra - Fork - fork_many_next_epoch [Preset: mainnet] OK + EF - Electra - Fork - fork_next_epoch [Preset: mainnet] OK + EF - Electra - Fork - fork_next_epoch_with_block [Preset: mainnet] OK ++ EF - Electra - Fork - fork_pending_deposits_are_sorted [Preset: mainnet] OK + EF - Electra - Fork - fork_pre_activation [Preset: mainnet] OK + EF - Electra - Fork - fork_random_low_balances [Preset: mainnet] OK + EF - Electra - Fork - fork_random_misc_balances [Preset: mainnet] OK ``` -OK: 14/14 Fail: 0/14 Skip: 0/14 +OK: 18/18 Fail: 0/18 Skip: 0/18 ## EF - Electra - Operations - Attestation [Preset: mainnet] ```diff + [Invalid] EF - Electra - Operations - Attestation - invalid_after_max_inclusion_slot OK @@ -2664,7 +2685,7 @@ OK: 14/14 Fail: 0/14 Skip: 0/14 + [Invalid] EF - Electra - Operations - Attestation - invalid_attestation_signature OK + [Invalid] EF - Electra - Operations - Attestation - invalid_bad_source_root OK + [Invalid] EF - Electra - Operations - Attestation - invalid_before_inclusion_delay OK -+ [Invalid] EF - Electra - Operations - Attestation - invalid_committe_index OK ++ [Invalid] EF - Electra - Operations - Attestation - invalid_committee_index OK + [Invalid] EF - Electra - Operations - Attestation - invalid_correct_attestation_included_a OK + [Invalid] EF - Electra - Operations - Attestation - invalid_current_source_root OK + [Invalid] EF - Electra - Operations - Attestation - invalid_empty_participants_seemingly_v OK @@ -2676,14 +2697,14 @@ OK: 14/14 Fail: 0/14 Skip: 0/14 + [Invalid] EF - Electra - Operations - Attestation - invalid_index OK + [Invalid] EF - Electra - Operations - Attestation - invalid_mismatched_target_and_slot OK + [Invalid] EF - Electra - Operations - Attestation - invalid_new_source_epoch OK -+ [Invalid] EF - Electra - Operations - Attestation - invalid_nonset_committe_bits OK ++ [Invalid] EF - Electra - Operations - Attestation - invalid_nonset_committee_bits OK + [Invalid] EF - Electra - Operations - Attestation - invalid_old_source_epoch OK + [Invalid] EF - Electra - Operations - Attestation - invalid_old_target_epoch OK + [Invalid] EF - Electra - Operations - Attestation - invalid_previous_source_root OK + [Invalid] EF - Electra - Operations - Attestation - invalid_source_root_is_target_root OK + [Invalid] EF - Electra - Operations - Attestation - invalid_too_few_aggregation_bits OK + [Invalid] EF - Electra - Operations - Attestation - invalid_too_many_aggregation_bits OK -+ [Invalid] EF - Electra - Operations - Attestation - invalid_too_many_committe_bits OK ++ [Invalid] EF - Electra - Operations - Attestation - invalid_too_many_committee_bits OK + [Invalid] EF - Electra - Operations - Attestation - invalid_wrong_index_for_committee_sign OK + [Invalid] EF - Electra - Operations - Attestation - invalid_wrong_index_for_slot_0 OK + [Invalid] EF - Electra - Operations - Attestation - invalid_wrong_index_for_slot_1 OK @@ -2958,8 +2979,9 @@ OK: 24/24 Fail: 0/24 Skip: 0/24 + [Valid] EF - Electra - Operations - Withdrawal Request - partial_withdrawal_incorrect_wi OK + [Valid] EF - Electra - Operations - Withdrawal Request - partial_withdrawal_on_exit_init OK + [Valid] EF - Electra - Operations - Withdrawal Request - pending_withdrawals_consume_all OK ++ [Valid] EF - Electra - Operations - Withdrawal Request - unknown_pubkey OK ``` -OK: 18/18 Fail: 0/18 Skip: 0/18 +OK: 19/19 Fail: 0/19 Skip: 0/19 ## EF - Electra - Operations - Withdrawals [Preset: mainnet] ```diff + [Invalid] EF - Electra - Operations - Withdrawals - invalid_a_lot_fully_withdrawable_too_f OK @@ -2983,7 +3005,18 @@ OK: 18/18 Fail: 0/18 Skip: 0/18 + [Invalid] EF - Electra - Operations - Withdrawals - invalid_two_expected_partial_withdrawa OK + [Valid] EF - Electra - Operations - Withdrawals - all_withdrawal OK + [Valid] EF - Electra - Operations - Withdrawals - no_withdrawals_but_some_next_epoch OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_at_max OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_at_max_mixed_with_ OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_exiting_validator OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_low_effective_bala OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_mixed_with_sweep_a OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_next_epoch OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_no_excess_balance OK + [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_one_skipped_one_ef OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_with_effective_swe OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_with_ineffective_s OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_with_ineffective_s OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_with_sweep_differe OK + [Valid] EF - Electra - Operations - Withdrawals - random_0 OK + [Valid] EF - Electra - Operations - Withdrawals - random_full_withdrawals_0 OK + [Valid] EF - Electra - Operations - Withdrawals - random_full_withdrawals_1 OK @@ -3018,7 +3051,7 @@ OK: 18/18 Fail: 0/18 Skip: 0/18 + [Valid] EF - Electra - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK + [Valid] EF - Electra - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK ``` -OK: 55/55 Fail: 0/55 Skip: 0/55 +OK: 66/66 Fail: 0/66 Skip: 0/66 ## EF - Electra - Random [Preset: mainnet] ```diff + [Valid] EF - Electra - Random - randomized_0 [Preset: mainnet] OK @@ -3125,6 +3158,7 @@ OK: 34/34 Fail: 0/34 Skip: 0/34 + Testing SignedContributionAndProof OK + Testing SignedVoluntaryExit OK + Testing SigningData OK ++ Testing SingleAttestation OK + Testing SyncAggregate OK + Testing SyncAggregatorSelectionData OK + Testing SyncCommittee OK @@ -3135,7 +3169,7 @@ OK: 34/34 Fail: 0/34 Skip: 0/34 + Testing Withdrawal OK + Testing WithdrawalRequest OK ``` -OK: 55/55 Fail: 0/55 Skip: 0/55 +OK: 56/56 Fail: 0/56 Skip: 0/56 ## EF - Electra - Sanity - Blocks [Preset: mainnet] ```diff + [Invalid] EF - Electra - Sanity - Blocks - deposit_transition__invalid_eth1_deposits_overl OK @@ -3245,6 +3279,8 @@ OK: 6/6 Fail: 0/6 Skip: 0/6 + EF - Electra - Transition - transition_with_attester_slashing_right_before_fork [Preset: m OK + EF - Electra - Transition - transition_with_btec_right_after_fork [Preset: mainnet] OK + EF - Electra - Transition - transition_with_btec_right_before_fork [Preset: mainnet] OK ++ EF - Electra - Transition - transition_with_consolidation_request_right_after_fork [Preset OK ++ EF - Electra - Transition - transition_with_deposit_request_right_after_fork [Preset: main OK + EF - Electra - Transition - transition_with_deposit_right_after_fork [Preset: mainnet] OK + EF - Electra - Transition - transition_with_deposit_right_before_fork [Preset: mainnet] OK + EF - Electra - Transition - transition_with_finality [Preset: mainnet] OK @@ -3258,7 +3294,7 @@ OK: 6/6 Fail: 0/6 Skip: 0/6 + EF - Electra - Transition - transition_with_random_half_participation [Preset: mainnet] OK + EF - Electra - Transition - transition_with_random_three_quarters_participation [Preset: m OK ``` -OK: 25/25 Fail: 0/25 Skip: 0/25 +OK: 27/27 Fail: 0/27 Skip: 0/27 ## EF - Electra - Unittests - Light client - Sync protocol [Preset: mainnet] ```diff + process_light_client_update_finality_updated OK @@ -3804,4 +3840,4 @@ OK: 69/88 Fail: 0/88 Skip: 19/88 OK: 3/3 Fail: 0/3 Skip: 0/3 ---TOTAL--- -OK: 3078/3098 Fail: 0/3098 Skip: 20/3098 +OK: 3114/3134 Fail: 0/3134 Skip: 20/3134 diff --git a/ConsensusSpecPreset-minimal.md b/ConsensusSpecPreset-minimal.md index 3990cb4a0..6fe472a13 100644 --- a/ConsensusSpecPreset-minimal.md +++ b/ConsensusSpecPreset-minimal.md @@ -2519,16 +2519,19 @@ OK: 4/4 Fail: 0/4 Skip: 0/4 + Testing BlobIdentifier OK + Testing BlobSidecar OK + Testing Checkpoint OK ++ Testing ConsolidationRequest OK + Testing ContributionAndProof OK + Testing DataColumnIdentifier OK + Testing DataColumnSidecar OK + Testing Deposit OK + Testing DepositData OK + Testing DepositMessage OK ++ Testing DepositRequest OK + Testing Eth1Block OK + Testing Eth1Data OK + Testing ExecutionPayload OK + Testing ExecutionPayloadHeader OK ++ Testing ExecutionRequests OK + Testing Fork OK + Testing ForkData OK + Testing HistoricalBatch OK @@ -2541,6 +2544,9 @@ OK: 4/4 Fail: 0/4 Skip: 0/4 + Testing LightClientUpdate OK + Testing MatrixEntry OK + Testing PendingAttestation OK ++ Testing PendingConsolidation OK ++ Testing PendingDeposit OK ++ Testing PendingPartialWithdrawal OK + Testing PowBlock OK + Testing ProposerSlashing OK + Testing SignedAggregateAndProof OK @@ -2550,6 +2556,7 @@ OK: 4/4 Fail: 0/4 Skip: 0/4 + Testing SignedContributionAndProof OK + Testing SignedVoluntaryExit OK + Testing SigningData OK ++ Testing SingleAttestation OK + Testing SyncAggregate OK + Testing SyncAggregatorSelectionData OK + Testing SyncCommittee OK @@ -2558,8 +2565,9 @@ OK: 4/4 Fail: 0/4 Skip: 0/4 + Testing Validator OK + Testing VoluntaryExit OK + Testing Withdrawal OK ++ Testing WithdrawalRequest OK ``` -OK: 51/51 Fail: 0/51 Skip: 0/51 +OK: 59/59 Fail: 0/59 Skip: 0/59 ## EF - Electra - Epoch Processing - Effective balance updates [Preset: minimal] ```diff + Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK @@ -2639,10 +2647,14 @@ OK: 12/12 Fail: 0/12 Skip: 0/12 + Pending consolidations - consolidation_not_yet_withdrawable_validator [Preset: minimal] OK + Pending consolidations - pending_consolidation_compounding_creds [Preset: minimal] OK + Pending consolidations - pending_consolidation_future_epoch [Preset: minimal] OK ++ Pending consolidations - pending_consolidation_source_balance_greater_than_max_effective [ OK ++ Pending consolidations - pending_consolidation_source_balance_greater_than_max_effective_c OK ++ Pending consolidations - pending_consolidation_source_balance_less_than_max_effective [Pre OK ++ Pending consolidations - pending_consolidation_source_balance_less_than_max_effective_comp OK + Pending consolidations - pending_consolidation_with_pending_deposit [Preset: minimal] OK + Pending consolidations - skip_consolidation_when_source_slashed [Preset: minimal] OK ``` -OK: 7/7 Fail: 0/7 Skip: 0/7 +OK: 11/11 Fail: 0/11 Skip: 0/11 ## EF - Electra - Epoch Processing - Pending deposits [Preset: minimal] ```diff + Pending deposits - apply_pending_deposit_compounding_withdrawal_credentials_max [Preset: m OK @@ -2683,11 +2695,12 @@ OK: 7/7 Fail: 0/7 Skip: 0/7 + Pending deposits - process_pending_deposits_multiple_skipped_deposits_exiting_validators [ OK + Pending deposits - process_pending_deposits_not_finalized [Preset: minimal] OK + Pending deposits - process_pending_deposits_preexisting_churn [Preset: minimal] OK ++ Pending deposits - process_pending_deposits_scaled_churn [Preset: minimal] OK + Pending deposits - process_pending_deposits_skipped_deposit_exiting_validator [Preset: min OK + Pending deposits - process_pending_deposits_withdrawable_validator [Preset: minimal] OK + Pending deposits - process_pending_deposits_withdrawable_validator_not_churned [Preset: mi OK ``` -OK: 41/41 Fail: 0/41 Skip: 0/41 +OK: 42/42 Fail: 0/42 Skip: 0/42 ## EF - Electra - Epoch Processing - RANDAO mixes reset [Preset: minimal] ```diff + RANDAO mixes reset - updated_randao_mixes [Preset: minimal] OK @@ -2705,6 +2718,11 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + Registry updates - activation_queue_activation_and_ejection__scaled_churn_limit [Preset: m OK + Registry updates - activation_queue_efficiency_min [Preset: minimal] OK + Registry updates - activation_queue_efficiency_scaled [Preset: minimal] OK ++ Registry updates - activation_queue_eligibility__greater_than_min_activation_balance [Pres OK ++ Registry updates - activation_queue_eligibility__less_than_min_activation_balance [Preset: OK ++ Registry updates - activation_queue_eligibility__min_activation_balance [Preset: minimal] OK ++ Registry updates - activation_queue_eligibility__min_activation_balance_compounding_creds OK ++ Registry updates - activation_queue_eligibility__min_activation_balance_eth1_creds [Preset OK + Registry updates - activation_queue_no_activation_no_finality [Preset: minimal] OK + Registry updates - activation_queue_sorting [Preset: minimal] OK + Registry updates - activation_queue_to_activated_if_finalized [Preset: minimal] OK @@ -2714,7 +2732,7 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + Registry updates - ejection_past_churn_limit_scaled [Preset: minimal] OK + Registry updates - invalid_large_withdrawable_epoch [Preset: minimal] OK ``` -OK: 18/18 Fail: 0/18 Skip: 0/18 +OK: 23/23 Fail: 0/23 Skip: 0/23 ## EF - Electra - Epoch Processing - Rewards and penalties [Preset: minimal] ```diff + Rewards and penalties - almost_empty_attestations [Preset: minimal] OK @@ -2776,16 +2794,20 @@ OK: 5/5 Fail: 0/5 Skip: 0/5 + EF - Electra - Fork - electra_fork_random_low_balances [Preset: minimal] OK + EF - Electra - Fork - electra_fork_random_misc_balances [Preset: minimal] OK + EF - Electra - Fork - fork_base_state [Preset: minimal] OK ++ EF - Electra - Fork - fork_earliest_exit_epoch_is_max_validator_exit_epoch [Preset: minima OK ++ EF - Electra - Fork - fork_earliest_exit_epoch_less_than_current_epoch [Preset: minimal] OK ++ EF - Electra - Fork - fork_earliest_exit_epoch_no_validator_exits [Preset: minimal] OK + EF - Electra - Fork - fork_has_compounding_withdrawal_credential [Preset: minimal] OK + EF - Electra - Fork - fork_many_next_epoch [Preset: minimal] OK + EF - Electra - Fork - fork_next_epoch [Preset: minimal] OK + EF - Electra - Fork - fork_next_epoch_with_block [Preset: minimal] OK ++ EF - Electra - Fork - fork_pending_deposits_are_sorted [Preset: minimal] OK + EF - Electra - Fork - fork_pre_activation [Preset: minimal] OK + EF - Electra - Fork - fork_random_large_validator_set [Preset: minimal] OK + EF - Electra - Fork - fork_random_low_balances [Preset: minimal] OK + EF - Electra - Fork - fork_random_misc_balances [Preset: minimal] OK ``` -OK: 16/16 Fail: 0/16 Skip: 0/16 +OK: 20/20 Fail: 0/20 Skip: 0/20 ## EF - Electra - Operations - Attestation [Preset: minimal] ```diff + [Invalid] EF - Electra - Operations - Attestation - invalid_after_max_inclusion_slot OK @@ -2793,7 +2815,7 @@ OK: 16/16 Fail: 0/16 Skip: 0/16 + [Invalid] EF - Electra - Operations - Attestation - invalid_attestation_signature OK + [Invalid] EF - Electra - Operations - Attestation - invalid_bad_source_root OK + [Invalid] EF - Electra - Operations - Attestation - invalid_before_inclusion_delay OK -+ [Invalid] EF - Electra - Operations - Attestation - invalid_committe_index OK ++ [Invalid] EF - Electra - Operations - Attestation - invalid_committee_index OK + [Invalid] EF - Electra - Operations - Attestation - invalid_correct_attestation_included_a OK + [Invalid] EF - Electra - Operations - Attestation - invalid_current_source_root OK + [Invalid] EF - Electra - Operations - Attestation - invalid_empty_participants_seemingly_v OK @@ -2805,14 +2827,16 @@ OK: 16/16 Fail: 0/16 Skip: 0/16 + [Invalid] EF - Electra - Operations - Attestation - invalid_index OK + [Invalid] EF - Electra - Operations - Attestation - invalid_mismatched_target_and_slot OK + [Invalid] EF - Electra - Operations - Attestation - invalid_new_source_epoch OK -+ [Invalid] EF - Electra - Operations - Attestation - invalid_nonset_committe_bits OK ++ [Invalid] EF - Electra - Operations - Attestation - invalid_nonset_bits_for_one_committee OK ++ [Invalid] EF - Electra - Operations - Attestation - invalid_nonset_committee_bits OK ++ [Invalid] EF - Electra - Operations - Attestation - invalid_nonset_multiple_committee_bits OK + [Invalid] EF - Electra - Operations - Attestation - invalid_old_source_epoch OK + [Invalid] EF - Electra - Operations - Attestation - invalid_old_target_epoch OK + [Invalid] EF - Electra - Operations - Attestation - invalid_previous_source_root OK + [Invalid] EF - Electra - Operations - Attestation - invalid_source_root_is_target_root OK + [Invalid] EF - Electra - Operations - Attestation - invalid_too_few_aggregation_bits OK + [Invalid] EF - Electra - Operations - Attestation - invalid_too_many_aggregation_bits OK -+ [Invalid] EF - Electra - Operations - Attestation - invalid_too_many_committe_bits OK ++ [Invalid] EF - Electra - Operations - Attestation - invalid_too_many_committee_bits OK + [Invalid] EF - Electra - Operations - Attestation - invalid_wrong_index_for_committee_sign OK + [Invalid] EF - Electra - Operations - Attestation - invalid_wrong_index_for_slot_0 OK + [Invalid] EF - Electra - Operations - Attestation - invalid_wrong_index_for_slot_1 OK @@ -2831,10 +2855,12 @@ OK: 16/16 Fail: 0/16 Skip: 0/16 + [Valid] EF - Electra - Operations - Attestation - incorrect_target_included_at_min_inclu OK + [Valid] EF - Electra - Operations - Attestation - incorrect_target_included_at_sqrt_epoc OK + [Valid] EF - Electra - Operations - Attestation - multi_proposer_index_iterations OK ++ [Valid] EF - Electra - Operations - Attestation - multiple_committees OK + [Valid] EF - Electra - Operations - Attestation - one_basic_attestation OK ++ [Valid] EF - Electra - Operations - Attestation - one_committee_with_gap OK + [Valid] EF - Electra - Operations - Attestation - previous_epoch OK ``` -OK: 45/45 Fail: 0/45 Skip: 0/45 +OK: 49/49 Fail: 0/49 Skip: 0/49 ## EF - Electra - Operations - Attester Slashing [Preset: minimal] ```diff + [Invalid] EF - Electra - Operations - Attester Slashing - invalid_all_empty_indices OK @@ -2919,6 +2945,8 @@ OK: 6/6 Fail: 0/6 Skip: 0/6 + [Valid] EF - Electra - Operations - Consolidation Request - incorrect_no_source_executio OK + [Valid] EF - Electra - Operations - Consolidation Request - incorrect_no_target_executio OK + [Valid] EF - Electra - Operations - Consolidation Request - incorrect_not_enough_consoli OK ++ [Valid] EF - Electra - Operations - Consolidation Request - incorrect_source_has_pending OK ++ [Valid] EF - Electra - Operations - Consolidation Request - incorrect_source_not_active_ OK + [Valid] EF - Electra - Operations - Consolidation Request - incorrect_unknown_source_pub OK + [Valid] EF - Electra - Operations - Consolidation Request - incorrect_unknown_target_pub OK + [Valid] EF - Electra - Operations - Consolidation Request - switch_to_compounding_exited OK @@ -2930,7 +2958,7 @@ OK: 6/6 Fail: 0/6 Skip: 0/6 + [Valid] EF - Electra - Operations - Consolidation Request - switch_to_compounding_with_e OK + [Valid] EF - Electra - Operations - Consolidation Request - switch_to_compounding_with_p OK ``` -OK: 30/30 Fail: 0/30 Skip: 0/30 +OK: 32/32 Fail: 0/32 Skip: 0/32 ## EF - Electra - Operations - Deposit [Preset: minimal] ```diff + [Invalid] EF - Electra - Operations - Deposit - invalid_bad_merkle_proof OK @@ -3111,8 +3139,9 @@ OK: 20/20 Fail: 0/20 Skip: 0/20 + [Valid] EF - Electra - Operations - Withdrawal Request - partial_withdrawal_request_with OK + [Valid] EF - Electra - Operations - Withdrawal Request - partial_withdrawal_request_with OK + [Valid] EF - Electra - Operations - Withdrawal Request - pending_withdrawals_consume_all OK ++ [Valid] EF - Electra - Operations - Withdrawal Request - unknown_pubkey OK ``` -OK: 28/28 Fail: 0/28 Skip: 0/28 +OK: 29/29 Fail: 0/29 Skip: 0/29 ## EF - Electra - Operations - Withdrawals [Preset: minimal] ```diff + [Invalid] EF - Electra - Operations - Withdrawals - invalid_a_lot_fully_withdrawable_too_f OK @@ -3136,7 +3165,18 @@ OK: 28/28 Fail: 0/28 Skip: 0/28 + [Invalid] EF - Electra - Operations - Withdrawals - invalid_two_expected_partial_withdrawa OK + [Valid] EF - Electra - Operations - Withdrawals - all_withdrawal OK + [Valid] EF - Electra - Operations - Withdrawals - no_withdrawals_but_some_next_epoch OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_at_max OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_at_max_mixed_with_ OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_exiting_validator OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_low_effective_bala OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_mixed_with_sweep_a OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_next_epoch OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_no_excess_balance OK + [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_one_skipped_one_ef OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_with_effective_swe OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_with_ineffective_s OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_with_ineffective_s OK ++ [Valid] EF - Electra - Operations - Withdrawals - pending_withdrawals_with_sweep_differe OK + [Valid] EF - Electra - Operations - Withdrawals - random_0 OK + [Valid] EF - Electra - Operations - Withdrawals - random_full_withdrawals_0 OK + [Valid] EF - Electra - Operations - Withdrawals - random_full_withdrawals_1 OK @@ -3172,7 +3212,7 @@ OK: 28/28 Fail: 0/28 Skip: 0/28 + [Valid] EF - Electra - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK + [Valid] EF - Electra - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK ``` -OK: 56/56 Fail: 0/56 Skip: 0/56 +OK: 67/67 Fail: 0/67 Skip: 0/67 ## EF - Electra - Random [Preset: minimal] ```diff + [Valid] EF - Electra - Random - randomized_0 [Preset: minimal] OK @@ -3279,6 +3319,7 @@ OK: 34/34 Fail: 0/34 Skip: 0/34 + Testing SignedContributionAndProof OK + Testing SignedVoluntaryExit OK + Testing SigningData OK ++ Testing SingleAttestation OK + Testing SyncAggregate OK + Testing SyncAggregatorSelectionData OK + Testing SyncCommittee OK @@ -3289,7 +3330,7 @@ OK: 34/34 Fail: 0/34 Skip: 0/34 + Testing Withdrawal OK + Testing WithdrawalRequest OK ``` -OK: 55/55 Fail: 0/55 Skip: 0/55 +OK: 56/56 Fail: 0/56 Skip: 0/56 ## EF - Electra - Sanity - Blocks [Preset: minimal] ```diff + [Invalid] EF - Electra - Sanity - Blocks - deposit_transition__invalid_eth1_deposits_overl OK @@ -3407,9 +3448,12 @@ OK: 6/6 Fail: 0/6 Skip: 0/6 + EF - Electra - Transition - transition_with_attester_slashing_right_before_fork [Preset: m OK + EF - Electra - Transition - transition_with_btec_right_after_fork [Preset: minimal] OK + EF - Electra - Transition - transition_with_btec_right_before_fork [Preset: minimal] OK ++ EF - Electra - Transition - transition_with_consolidation_request_right_after_fork [Preset OK ++ EF - Electra - Transition - transition_with_deposit_request_right_after_fork [Preset: mini OK + EF - Electra - Transition - transition_with_deposit_right_after_fork [Preset: minimal] OK + EF - Electra - Transition - transition_with_deposit_right_before_fork [Preset: minimal] OK + EF - Electra - Transition - transition_with_finality [Preset: minimal] OK ++ EF - Electra - Transition - transition_with_full_withdrawal_request_right_after_fork [Pres OK + EF - Electra - Transition - transition_with_leaking_at_fork [Preset: minimal] OK + EF - Electra - Transition - transition_with_leaking_pre_fork [Preset: minimal] OK + EF - Electra - Transition - transition_with_no_attestations_until_after_fork [Preset: mini OK @@ -3424,7 +3468,7 @@ OK: 6/6 Fail: 0/6 Skip: 0/6 + EF - Electra - Transition - transition_with_voluntary_exit_right_after_fork [Preset: minim OK + EF - Electra - Transition - transition_with_voluntary_exit_right_before_fork [Preset: mini OK ``` -OK: 30/30 Fail: 0/30 Skip: 0/30 +OK: 33/33 Fail: 0/33 Skip: 0/33 ## EF - Electra - Unittests - Light client - Sync protocol [Preset: minimal] ```diff + process_light_client_update_finality_updated OK @@ -4142,4 +4186,4 @@ OK: 185/207 Fail: 0/207 Skip: 22/207 OK: 3/3 Fail: 0/3 Skip: 0/3 ---TOTAL--- -OK: 3385/3408 Fail: 0/3408 Skip: 23/3408 +OK: 3429/3452 Fail: 0/3452 Skip: 23/3452 diff --git a/beacon_chain/spec/beaconstate.nim b/beacon_chain/spec/beaconstate.nim index 48c2a7a21..6dacae023 100644 --- a/beacon_chain/spec/beaconstate.nim +++ b/beacon_chain/spec/beaconstate.nim @@ -86,7 +86,7 @@ func get_validator_from_deposit*( # https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.7/specs/electra/beacon-chain.md#deposits func get_validator_from_deposit*( - _: electra.BeaconState | fulu.BeaconState, + _: electra.BeaconState | fulu.BeaconState, pubkey: ValidatorPubKey, withdrawal_credentials: Eth2Digest, amount: Gwei): Validator = var validator = Validator( @@ -185,7 +185,7 @@ func get_state_exit_queue_info*( ExitQueueInfo( exit_queue_epoch: exit_queue_epoch, exit_queue_churn: exit_queue_churn) -func get_state_exit_queue_info*(state: electra.BeaconState | +func get_state_exit_queue_info*(state: electra.BeaconState | fulu.BeaconState): ExitQueueInfo = # Electra initiate_validator_exit doesn't have same quadratic aspect given @@ -381,7 +381,7 @@ func get_whistleblower_reward*( # https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.5/specs/electra/beacon-chain.md#modified-slash_validator func get_whistleblower_reward*( - state: electra.BeaconState | fulu.BeaconState, + state: electra.BeaconState | fulu.BeaconState, validator_effective_balance: Gwei): Gwei = validator_effective_balance div WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA @@ -982,6 +982,7 @@ proc check_attestation*( ok() +# https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.9/specs/electra/beacon-chain.md#modified-process_attestation proc check_attestation*( state: electra.BeaconState | fulu.BeaconState, attestation: electra.Attestation | electra.TrustedAttestation, @@ -1002,15 +1003,32 @@ proc check_attestation*( return err("Electra attestation data index not 0") when on_chain: - var participants_count = 0'u64 - for index in attestation.committee_bits.oneIndices: - if not (index.uint64 < get_committee_count_per_slot( + var committee_offset = 0 + for committee_index in attestation.committee_bits.oneIndices: + if not (committee_index.uint64 < get_committee_count_per_slot( state, data.target.epoch, cache)): return err("attestation wrong committee index len") - participants_count += - get_beacon_committee_len(state, data.slot, index.CommitteeIndex, cache) + let committee = get_beacon_committee( + state, data.slot, committee_index.CommitteeIndex, cache) - if not (lenu64(attestation.aggregation_bits) == participants_count): + if attestation.aggregation_bits.len < committee_offset + len(committee): + # This would overflow; see invalid_too_many_committee_bits test case + return err("Electra attestation has too many committee bits") + + # This construction modified slightly from spec version to early-exit and + # not create the actual set, but the result is it uses a flag variable to + # look similar. + var committee_attesters_nonzero = false + for i, attester_index in committee: + if attestation.aggregation_bits[committee_offset + i]: + committee_attesters_nonzero = true + break + if not committee_attesters_nonzero: + return err("Electra attestation committee not present in aggregated bits") + + committee_offset += len(committee) + + if not (len(attestation.aggregation_bits) == committee_offset): return err("attestation wrong aggregation bit length") else: let @@ -1314,7 +1332,7 @@ func switch_to_compounding_validator*( # https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.8/specs/electra/beacon-chain.md#new-get_pending_balance_to_withdraw func get_pending_balance_to_withdraw*( - state: electra.BeaconState | fulu.BeaconState, + state: electra.BeaconState | fulu.BeaconState, validator_index: ValidatorIndex): Gwei = var pending_balance: Gwei for withdrawal in state.pending_partial_withdrawals: @@ -1409,7 +1427,7 @@ func get_expected_withdrawals*( # to cleanly treat the results of get_expected_withdrawals as a seq[Withdrawal] # are valuable enough to make that the default version of this spec function. template get_expected_withdrawals_with_partial_count_aux*( - state: electra.BeaconState | fulu.BeaconState, + state: electra.BeaconState | fulu.BeaconState, epoch: Epoch, fetch_balance: untyped): (seq[Withdrawal], uint64) = doAssert epoch - get_current_epoch(state) in [0'u64, 1'u64] @@ -1417,7 +1435,7 @@ template get_expected_withdrawals_with_partial_count_aux*( var withdrawal_index = state.next_withdrawal_index withdrawals: seq[Withdrawal] = @[] - partial_withdrawals_count: uint64 = 0 + processed_partial_withdrawals_count: uint64 = 0 # [New in Electra:EIP7251] Consume pending partial withdrawals for withdrawal in state.pending_partial_withdrawals: @@ -1459,7 +1477,7 @@ template get_expected_withdrawals_with_partial_count_aux*( withdrawals.add w withdrawal_index += 1 - partial_withdrawals_count += 1 + processed_partial_withdrawals_count += 1 let bound = min(len(state.validators), MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP) @@ -1470,7 +1488,14 @@ template get_expected_withdrawals_with_partial_count_aux*( for _ in 0 ..< bound: let validator = state.validators.item(validator_index) - balance = fetch_balance + # [Modified in Electra:EIP7251] + partially_withdrawn_balance = block: + var subtot: Gwei + for withdrawal in withdrawals: + if withdrawal.validator_index == validator_index: + subtot += withdrawal.amount + subtot + balance = fetch_balance - partially_withdrawn_balance if is_fully_withdrawable_validator( typeof(state).kind, validator, balance, epoch): var w = Withdrawal( @@ -1494,7 +1519,7 @@ template get_expected_withdrawals_with_partial_count_aux*( break validator_index = (validator_index + 1) mod num_validators - (withdrawals, partial_withdrawals_count) + (withdrawals, processed_partial_withdrawals_count) template get_expected_withdrawals_with_partial_count*( state: electra.BeaconState | fulu.BeaconState): (seq[Withdrawal], uint64) = @@ -1502,7 +1527,7 @@ template get_expected_withdrawals_with_partial_count*( state, get_current_epoch(state)) do: state.balances.item(validator_index) -func get_expected_withdrawals*(state: electra.BeaconState | fulu.BeaconState): +func get_expected_withdrawals*(state: electra.BeaconState | fulu.BeaconState): seq[Withdrawal] = get_expected_withdrawals_with_partial_count(state)[0] @@ -2083,17 +2108,13 @@ func upgrade_to_electra*( blob_gas_used: pre.latest_execution_payload_header.blob_gas_used, excess_blob_gas: pre.latest_execution_payload_header.excess_blob_gas) - var max_exit_epoch = FAR_FUTURE_EPOCH + var earliest_exit_epoch = + compute_activation_exit_epoch(get_current_epoch(pre)) for v in pre.validators: if v.exit_epoch != FAR_FUTURE_EPOCH: - max_exit_epoch = - if max_exit_epoch == FAR_FUTURE_EPOCH: - v.exit_epoch - else: - max(max_exit_epoch, v.exit_epoch) - if max_exit_epoch == FAR_FUTURE_EPOCH: - max_exit_epoch = get_current_epoch(pre) - let earliest_exit_epoch = max_exit_epoch + 1 + if v.exit_epoch > earliest_exit_epoch: + earliest_exit_epoch = v.exit_epoch + earliest_exit_epoch += 1 let post = (ref electra.BeaconState)( # Versioning diff --git a/beacon_chain/spec/datatypes/base.nim b/beacon_chain/spec/datatypes/base.nim index 01ce1cb70..78f0e9154 100644 --- a/beacon_chain/spec/datatypes/base.nim +++ b/beacon_chain/spec/datatypes/base.nim @@ -74,7 +74,7 @@ export tables, results, endians2, json_serialization, sszTypes, beacon_time, crypto, digest, presets -const SPEC_VERSION* = "1.5.0-alpha.8" +const SPEC_VERSION* = "1.5.0-alpha.9" ## Spec version we're aiming to be compatible with, right now const @@ -960,7 +960,7 @@ func checkForkConsistency*(cfg: RuntimeConfig) = let forkVersions = [cfg.GENESIS_FORK_VERSION, cfg.ALTAIR_FORK_VERSION, cfg.BELLATRIX_FORK_VERSION, cfg.CAPELLA_FORK_VERSION, - cfg.DENEB_FORK_VERSION, cfg.ELECTRA_FORK_VERSION, + cfg.DENEB_FORK_VERSION, cfg.ELECTRA_FORK_VERSION, cfg.FULU_FORK_VERSION] for i in 0 ..< forkVersions.len: diff --git a/beacon_chain/spec/datatypes/electra.nim b/beacon_chain/spec/datatypes/electra.nim index e3a4fac84..bc915fd89 100644 --- a/beacon_chain/spec/datatypes/electra.nim +++ b/beacon_chain/spec/datatypes/electra.nim @@ -179,6 +179,13 @@ type source_pubkey*: ValidatorPubKey target_pubkey*: ValidatorPubKey + # https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.9/specs/electra/beacon-chain.md#singleattestation + SingleAttestation* = object + committee_index*: uint64 + attester_index*: uint64 + data*: AttestationData + signature*: ValidatorSig + # https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.8/specs/phase0/validator.md#aggregateandproof AggregateAndProof* = object aggregator_index*: uint64 # `ValidatorIndex` after validation diff --git a/beacon_chain/spec/eth2_merkleization.nim b/beacon_chain/spec/eth2_merkleization.nim index f7cee32d6..4092494ba 100644 --- a/beacon_chain/spec/eth2_merkleization.nim +++ b/beacon_chain/spec/eth2_merkleization.nim @@ -34,8 +34,8 @@ type func hash_tree_root*( x: phase0.HashedBeaconState | altair.HashedBeaconState | bellatrix.HashedBeaconState | capella.HashedBeaconState | - deneb.HashedBeaconState | electra.SignedBeaconBlock | - fulu.SignedBeaconBlock) {. + deneb.HashedBeaconState | electra.HashedBeaconState | + fulu.HashedBeaconState) {. error: "HashedBeaconState should not be hashed".} func hash_tree_root*( diff --git a/beacon_chain/spec/state_transition_block.nim b/beacon_chain/spec/state_transition_block.nim index b8e42ceb0..2fddf6995 100644 --- a/beacon_chain/spec/state_transition_block.nim +++ b/beacon_chain/spec/state_transition_block.nim @@ -563,7 +563,7 @@ func process_withdrawal_request*( # https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.7/specs/electra/beacon-chain.md#new-is_valid_switch_to_compounding_request func is_valid_switch_to_compounding_request( - state: electra.BeaconState | fulu.BeaconState, + state: electra.BeaconState | fulu.BeaconState, consolidation_request: ConsolidationRequest, source_validator: Validator): bool = # Switch to compounding requires source and target be equal @@ -665,6 +665,15 @@ func process_consolidation_request*( if target_validator.exit_epoch != FAR_FUTURE_EPOCH: return + # Verify the source has been active long enough + if current_epoch < + source_validator.activation_epoch + cfg.SHARD_COMMITTEE_PERIOD: + return + + # Verify the source has no pending withdrawals in the queue + if get_pending_balance_to_withdraw(state, source_index) > 0.Gwei: + return + # Initiate source validator exit and append pending consolidation source_validator[].exit_epoch = compute_consolidation_epoch_and_update_churn( cfg, state, source_validator[].effective_balance, cache) diff --git a/tests/consensus_spec/eip7594/test_fixture_ssz_consensus_objects.nim b/tests/consensus_spec/eip7594/test_fixture_ssz_consensus_objects.nim index 03fae0ca2..a6cf222a5 100644 --- a/tests/consensus_spec/eip7594/test_fixture_ssz_consensus_objects.nim +++ b/tests/consensus_spec/eip7594/test_fixture_ssz_consensus_objects.nim @@ -17,8 +17,8 @@ import yaml, # Beacon chain internals ../../../beacon_chain/spec/datatypes/[ - altair, - deneb, + altair, + electra, fulu], # Status libraries snappy, @@ -29,7 +29,8 @@ from ../../../beacon_chain/spec/datatypes/bellatrix import PowBlock from ../../../beacon_chain/spec/datatypes/capella import BLSToExecutionChange, SignedBLSToExecutionChange, HistoricalSummary, Withdrawal - +from ../../../beacon_chain/spec/datatypes/deneb import + BlobIdentifier, BlobSidecar # SSZ tests of consensus objects (minimal/mainnet preset specific) @@ -51,7 +52,7 @@ type # Checking the values against the yaml file is TODO (require more flexible Yaml parser) proc checkSSZ( - T: type deneb.SignedBeaconBlock, + T: type electra.SignedBeaconBlock, dir: string, expectedHash: SSZHashTreeRoot ) {.raises: [IOError, SerializationError, UnconsumedInput].} = @@ -117,55 +118,63 @@ suite "EF - EIP7594 - SSZ consensus objects " & preset(): let hash = loadExpectedHashTreeRoot(path) case sszType: - of "AggregateAndProof": checkSSZ(phase0.AggregateAndProof, path, hash) - of "Attestation": checkSSZ(phase0.Attestation, path, hash) + of "AggregateAndProof": checkSSZ(electra.AggregateAndProof, path, hash) + of "Attestation": checkSSZ(electra.Attestation, path, hash) of "AttestationData": checkSSZ(AttestationData, path, hash) - of "AttesterSlashing": checkSSZ(phase0.AttesterSlashing, path, hash) - of "BeaconBlock": checkSSZ(deneb.BeaconBlock, path, hash) - of "BeaconBlockBody": checkSSZ(deneb.BeaconBlockBody, path, hash) + of "AttesterSlashing": checkSSZ(electra.AttesterSlashing, path, hash) + of "BeaconBlock": checkSSZ(electra.BeaconBlock, path, hash) + of "BeaconBlockBody": checkSSZ(electra.BeaconBlockBody, path, hash) of "BeaconBlockHeader": checkSSZ(BeaconBlockHeader, path, hash) - of "BeaconState": checkSSZ(deneb.BeaconState, path, hash) + of "BeaconState": checkSSZ(electra.BeaconState, path, hash) of "BlobIdentifier": checkSSZ(BlobIdentifier, path, hash) of "BlobSidecar": checkSSZ(BlobSidecar, path, hash) of "BLSToExecutionChange": checkSSZ(BLSToExecutionChange, path, hash) of "Checkpoint": checkSSZ(Checkpoint, path, hash) + of "ConsolidationRequest": checkSSZ(ConsolidationRequest, path, hash) of "ContributionAndProof": checkSSZ(ContributionAndProof, path, hash) of "DataColumnSidecar": checkSSZ(DataColumnSidecar, path, hash) of "DataColumnIdentifier": checkSSZ(DataColumnIdentifier, path, hash) of "Deposit": checkSSZ(Deposit, path, hash) of "DepositData": checkSSZ(DepositData, path, hash) of "DepositMessage": checkSSZ(DepositMessage, path, hash) + of "DepositRequest": checkSSZ(DepositRequest, path, hash) of "Eth1Block": checkSSZ(Eth1Block, path, hash) of "Eth1Data": checkSSZ(Eth1Data, path, hash) of "ExecutionPayload": - checkSSZ(deneb.ExecutionPayload, path, hash) + checkSSZ(electra.ExecutionPayload, path, hash) of "ExecutionPayloadHeader": - checkSSZ(deneb.ExecutionPayloadHeader, path, hash) + checkSSZ(electra.ExecutionPayloadHeader, path, hash) + of "ExecutionRequests": + checkSSZ(electra.ExecutionRequests, path, hash) of "Fork": checkSSZ(Fork, path, hash) of "ForkData": checkSSZ(ForkData, path, hash) of "HistoricalBatch": checkSSZ(HistoricalBatch, path, hash) of "HistoricalSummary": checkSSZ(HistoricalSummary, path, hash) of "IndexedAttestation": - checkSSZ(phase0.IndexedAttestation, path, hash) + checkSSZ(electra.IndexedAttestation, path, hash) of "LightClientBootstrap": - checkSSZ(deneb.LightClientBootstrap, path, hash) + checkSSZ(electra.LightClientBootstrap, path, hash) of "LightClientHeader": - checkSSZ(deneb.LightClientHeader, path, hash) + checkSSZ(electra.LightClientHeader, path, hash) of "LightClientUpdate": - checkSSZ(deneb.LightClientUpdate, path, hash) + checkSSZ(electra.LightClientUpdate, path, hash) of "LightClientFinalityUpdate": - checkSSZ(deneb.LightClientFinalityUpdate, path, hash) + checkSSZ(electra.LightClientFinalityUpdate, path, hash) of "LightClientOptimisticUpdate": - checkSSZ(deneb.LightClientOptimisticUpdate, path, hash) + checkSSZ(electra.LightClientOptimisticUpdate, path, hash) of "MatrixEntry": checkSSZ(MatrixEntry, path, hash) of "PendingAttestation": checkSSZ(PendingAttestation, path, hash) + of "PendingConsolidation": checkSSZ(PendingConsolidation, path, hash) + of "PendingDeposit": checkSSZ(PendingDeposit, path, hash) + of "PendingPartialWithdrawal": + checkSSZ(PendingPartialWithdrawal, path, hash) of "PowBlock": checkSSZ(PowBlock, path, hash) of "ProposerSlashing": checkSSZ(ProposerSlashing, path, hash) of "SignedAggregateAndProof": - checkSSZ(phase0.SignedAggregateAndProof, path, hash) + checkSSZ(electra.SignedAggregateAndProof, path, hash) of "SignedBeaconBlock": - checkSSZ(deneb.SignedBeaconBlock, path, hash) + checkSSZ(electra.SignedBeaconBlock, path, hash) of "SignedBeaconBlockHeader": checkSSZ(SignedBeaconBlockHeader, path, hash) of "SignedBLSToExecutionChange": @@ -174,6 +183,7 @@ suite "EF - EIP7594 - SSZ consensus objects " & preset(): checkSSZ(SignedContributionAndProof, path, hash) of "SignedVoluntaryExit": checkSSZ(SignedVoluntaryExit, path, hash) of "SigningData": checkSSZ(SigningData, path, hash) + of "SingleAttestation": checkSSZ(SingleAttestation, path, hash) of "SyncAggregate": checkSSZ(SyncAggregate, path, hash) of "SyncAggregatorSelectionData": checkSSZ(SyncAggregatorSelectionData, path, hash) @@ -182,6 +192,7 @@ suite "EF - EIP7594 - SSZ consensus objects " & preset(): checkSSZ(SyncCommitteeContribution, path, hash) of "SyncCommitteeMessage": checkSSZ(SyncCommitteeMessage, path, hash) of "Withdrawal": checkSSZ(Withdrawal, path, hash) + of "WithdrawalRequest": checkSSZ(WithdrawalRequest, path, hash) of "Validator": checkSSZ(Validator, path, hash) of "VoluntaryExit": checkSSZ(VoluntaryExit, path, hash) else: diff --git a/tests/consensus_spec/electra/test_fixture_ssz_consensus_objects.nim b/tests/consensus_spec/electra/test_fixture_ssz_consensus_objects.nim index 14e75ed94..5b7771295 100644 --- a/tests/consensus_spec/electra/test_fixture_ssz_consensus_objects.nim +++ b/tests/consensus_spec/electra/test_fixture_ssz_consensus_objects.nim @@ -175,6 +175,7 @@ suite "EF - Electra - SSZ consensus objects " & preset(): checkSSZ(SignedContributionAndProof, path, hash) of "SignedVoluntaryExit": checkSSZ(SignedVoluntaryExit, path, hash) of "SigningData": checkSSZ(SigningData, path, hash) + of "SingleAttestation": checkSSZ(SingleAttestation, path, hash) of "SyncAggregate": checkSSZ(SyncAggregate, path, hash) of "SyncAggregatorSelectionData": checkSSZ(SyncAggregatorSelectionData, path, hash) diff --git a/vendor/nim-eth2-scenarios b/vendor/nim-eth2-scenarios index 93996ec08..32b3e569a 160000 --- a/vendor/nim-eth2-scenarios +++ b/vendor/nim-eth2-scenarios @@ -1 +1 @@ -Subproject commit 93996ec0865765d94b1f72825bd98a5aef215a12 +Subproject commit 32b3e569a3bc28909ed8463a896541976c698ef6