use v1.4.0-alpha.0 consensus spec test vectors (#4990)
This commit is contained in:
parent
f16c368f5c
commit
10569ff2e9
|
@ -478,6 +478,7 @@ ConsensusSpecPreset-mainnet
|
|||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_incorrect_proposer_index_sig_from_expec OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_incorrect_proposer_index_sig_from_propo OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_incorrect_state_root [Preset: mainnet] OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_is_execution_enabled_false [Preset: mai OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_only_increase_deposit_count [Preset: ma OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_parent_from_same_slot [Preset: mainnet] OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_prev_slot_block_transition [Preset: mai OK
|
||||
|
@ -492,10 +493,12 @@ ConsensusSpecPreset-mainnet
|
|||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: mai OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block [ OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pres OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_exceed_max_blobs_per_block [Preset: mainn OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_incorrect_block_sig [Preset: mainnet] OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_incorrect_proposer_index_sig_from_expecte OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_incorrect_proposer_index_sig_from_propose OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_incorrect_state_root [Preset: mainnet] OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_is_execution_enabled_false [Preset: mainn OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_only_increase_deposit_count [Preset: main OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_parent_from_same_slot [Preset: mainnet] OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_prev_slot_block_transition [Preset: mainn OK
|
||||
|
@ -672,7 +675,6 @@ ConsensusSpecPreset-mainnet
|
|||
+ [Valid] EF - Capella - Sanity - Blocks - historical_batch [Preset: mainnet] OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - inactivity_scores_full_participation_leaking [P OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - inactivity_scores_leaking [Preset: mainnet] OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - is_execution_enabled_false [Preset: mainnet] OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [P OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - multiple_attester_slashings_partial_overlap [Pr OK
|
||||
|
@ -737,9 +739,8 @@ ConsensusSpecPreset-mainnet
|
|||
+ [Valid] EF - Deneb - Sanity - Blocks - historical_batch [Preset: mainnet] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_full_participation_leaking [Pre OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_leaking [Preset: mainnet] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - is_execution_enabled_false [Preset: mainnet] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [Pre OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - max_blobs [Preset: mainnet] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - max_blobs_per_block [Preset: mainnet] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: m OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_attester_slashings_partial_overlap [Pres OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_different_proposer_slashings_same_block OK
|
||||
|
@ -761,6 +762,7 @@ ConsensusSpecPreset-mainnet
|
|||
+ [Valid] EF - Deneb - Sanity - Blocks - top_up_to_fully_withdrawn_validator [Preset: main OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - voluntary_exit [Preset: mainnet] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - withdrawal_success_two_blocks [Preset: mainnet] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - zero_blob [Preset: mainnet] OK
|
||||
+ [Valid] EF - Phase 0 - Finality - finality_no_updates_at_genesis [Preset: mainnet] OK
|
||||
+ [Valid] EF - Phase 0 - Finality - finality_rule_1 [Preset: mainnet] OK
|
||||
+ [Valid] EF - Phase 0 - Finality - finality_rule_2 [Preset: mainnet] OK
|
||||
|
@ -807,7 +809,7 @@ ConsensusSpecPreset-mainnet
|
|||
+ [Valid] EF - Phase 0 - Sanity - Blocks - slash_and_exit_diff_index [Preset: mainnet] OK
|
||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - voluntary_exit [Preset: mainnet] OK
|
||||
```
|
||||
OK: 796/804 Fail: 0/804 Skip: 8/804
|
||||
OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||
## Attestation
|
||||
```diff
|
||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_epoch_slots OK
|
||||
|
@ -1362,13 +1364,15 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
|||
+ Inactivity - random_inactivity_scores_full_participation_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation [Preset: mainnet] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - randomized_state [Preset: mainnet] OK
|
||||
+ Inactivity - randomized_state_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_exited_full_random_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_full_random [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_full_random_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation_leaking [Preset: mainnet] OK
|
||||
```
|
||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||
## EF - Altair - Epoch Processing - Justification & Finalization [Preset: mainnet]
|
||||
```diff
|
||||
+ Justification & Finalization - 123_ok_support [Preset: mainnet] OK
|
||||
|
@ -1533,13 +1537,15 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
|||
+ Inactivity - random_inactivity_scores_full_participation_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation [Preset: mainnet] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - randomized_state [Preset: mainnet] OK
|
||||
+ Inactivity - randomized_state_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_exited_full_random_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_full_random [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_full_random_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation_leaking [Preset: mainnet] OK
|
||||
```
|
||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||
## EF - Bellatrix - Epoch Processing - Justification & Finalization [Preset: mainnet]
|
||||
```diff
|
||||
+ Justification & Finalization - 123_ok_support [Preset: mainnet] OK
|
||||
|
@ -1699,13 +1705,15 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
|||
+ Inactivity - random_inactivity_scores_full_participation_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation [Preset: mainnet] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - randomized_state [Preset: mainnet] OK
|
||||
+ Inactivity - randomized_state_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_exited_full_random_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_full_random [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_full_random_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation_leaking [Preset: mainnet] OK
|
||||
```
|
||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||
## EF - Capella - Epoch Processing - Justification & Finalization [Preset: mainnet]
|
||||
```diff
|
||||
+ Justification & Finalization - 123_ok_support [Preset: mainnet] OK
|
||||
|
@ -1877,13 +1885,15 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
|||
+ Inactivity - random_inactivity_scores_full_participation_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation [Preset: mainnet] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - randomized_state [Preset: mainnet] OK
|
||||
+ Inactivity - randomized_state_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_exited_full_random_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_full_random [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_full_random_leaking [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation [Preset: mainnet] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation_leaking [Preset: mainnet] OK
|
||||
```
|
||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||
## EF - Deneb - Epoch Processing - Justification & Finalization [Preset: mainnet]
|
||||
```diff
|
||||
+ Justification & Finalization - 123_ok_support [Preset: mainnet] OK
|
||||
|
@ -2026,6 +2036,11 @@ OK: 49/49 Fail: 0/49 Skip: 0/49
|
|||
+ test_process_light_client_update_not_timeout OK
|
||||
```
|
||||
OK: 4/4 Fail: 0/4 Skip: 0/4
|
||||
## EF - Light client - Single merkle proof [Preset: mainnet]
|
||||
```diff
|
||||
Light client - Single merkle proof - eip6110 Skip
|
||||
```
|
||||
OK: 0/1 Fail: 0/1 Skip: 1/1
|
||||
## EF - Phase 0 - Epoch Processing - Effective balance updates [Preset: mainnet]
|
||||
```diff
|
||||
+ Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK
|
||||
|
@ -2168,6 +2183,7 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_everything_regular_p OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_execution_first_payl OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_execution_regular_pa OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_parent_hash_first_pa OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_parent_hash_regular_ OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_pre_randao_regular_p OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_prev_randao_first_pa OK
|
||||
|
@ -2181,9 +2197,12 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_everything_regular_pay OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_execution_first_payloa OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_execution_regular_payl OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_parent_hash_first_payl OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_parent_hash_regular_pa OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_pre_randao_regular_pay OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_prev_randao_first_payl OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_correct_input__execution_i OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_exceed_max_blobs_per_block OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_future_timestamp_first_pay OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_future_timestamp_regular_p OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_past_timestamp_first_paylo OK
|
||||
|
@ -2203,7 +2222,6 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Valid] EF - Bellatrix - Operations - Execution Payload - success_regular_payload_with_g OK
|
||||
+ [Valid] EF - Bellatrix - Operations - Execution Payload - zero_length_transaction_first_ OK
|
||||
+ [Valid] EF - Bellatrix - Operations - Execution Payload - zero_length_transaction_regula OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - bad_parent_hash_first_payload OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - non_empty_extra_data_first_paylo OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - non_empty_extra_data_regular_pay OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - non_empty_transactions_first_pay OK
|
||||
|
@ -2216,7 +2234,12 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Valid] EF - Capella - Operations - Execution Payload - success_regular_payload_with_gap OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - zero_length_transaction_first_pa OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - zero_length_transaction_regular_ OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - bad_parent_hash_first_payload OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_blob_tx_type OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_block_hash OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_commitment OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_commitments_order OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_transaction_length_1_byt OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_transaction_length_32_by OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - non_empty_extra_data_first_payload OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - non_empty_extra_data_regular_paylo OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - non_empty_transactions_first_paylo OK
|
||||
|
@ -2229,8 +2252,9 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Valid] EF - Deneb - Operations - Execution Payload - success_regular_payload_with_gap_s OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - zero_length_transaction_first_payl OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - zero_length_transaction_regular_pa OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - zeroed_commitment OK
|
||||
```
|
||||
OK: 78/78 Fail: 0/78 Skip: 0/78
|
||||
OK: 87/87 Fail: 0/87 Skip: 0/87
|
||||
## Proposer Slashing
|
||||
```diff
|
||||
+ [Invalid] EF - Altair - Operations - Proposer Slashing - invalid_different_proposer_indice OK
|
||||
|
@ -2591,4 +2615,4 @@ OK: 63/63 Fail: 0/63 Skip: 0/63
|
|||
OK: 100/100 Fail: 0/100 Skip: 0/100
|
||||
|
||||
---TOTAL---
|
||||
OK: 2289/2297 Fail: 0/2297 Skip: 8/2297
|
||||
OK: 2308/2317 Fail: 0/2317 Skip: 9/2317
|
||||
|
|
|
@ -642,6 +642,7 @@ ConsensusSpecPreset-minimal
|
|||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_incorrect_proposer_index_sig_from_expec OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_incorrect_proposer_index_sig_from_propo OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_incorrect_state_root [Preset: minimal] OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_is_execution_enabled_false [Preset: min OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_only_increase_deposit_count [Preset: mi OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_parent_from_same_slot [Preset: minimal] OK
|
||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_prev_slot_block_transition [Preset: min OK
|
||||
|
@ -656,10 +657,12 @@ ConsensusSpecPreset-minimal
|
|||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: min OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block [ OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pres OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_exceed_max_blobs_per_block [Preset: minim OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_incorrect_block_sig [Preset: minimal] OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_incorrect_proposer_index_sig_from_expecte OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_incorrect_proposer_index_sig_from_propose OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_incorrect_state_root [Preset: minimal] OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_is_execution_enabled_false [Preset: minim OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_only_increase_deposit_count [Preset: mini OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_parent_from_same_slot [Preset: minimal] OK
|
||||
+ [Invalid] EF - Deneb - Sanity - Blocks - invalid_prev_slot_block_transition [Preset: minim OK
|
||||
|
@ -853,7 +856,6 @@ ConsensusSpecPreset-minimal
|
|||
+ [Valid] EF - Capella - Sanity - Blocks - historical_batch [Preset: minimal] OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - inactivity_scores_full_participation_leaking [P OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - inactivity_scores_leaking [Preset: minimal] OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - is_execution_enabled_false [Preset: minimal] OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [P OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: OK
|
||||
+ [Valid] EF - Capella - Sanity - Blocks - multiple_attester_slashings_partial_overlap [Pr OK
|
||||
|
@ -925,9 +927,8 @@ ConsensusSpecPreset-minimal
|
|||
+ [Valid] EF - Deneb - Sanity - Blocks - historical_batch [Preset: minimal] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_full_participation_leaking [Pre OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_leaking [Preset: minimal] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - is_execution_enabled_false [Preset: minimal] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [Pre OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - max_blobs [Preset: minimal] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - max_blobs_per_block [Preset: minimal] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: m OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_attester_slashings_partial_overlap [Pres OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_different_proposer_slashings_same_block OK
|
||||
|
@ -949,6 +950,7 @@ ConsensusSpecPreset-minimal
|
|||
+ [Valid] EF - Deneb - Sanity - Blocks - top_up_to_fully_withdrawn_validator [Preset: mini OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - voluntary_exit [Preset: minimal] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - withdrawal_success_two_blocks [Preset: minimal] OK
|
||||
+ [Valid] EF - Deneb - Sanity - Blocks - zero_blob [Preset: minimal] OK
|
||||
+ [Valid] EF - Phase 0 - Finality - finality_no_updates_at_genesis [Preset: minimal] OK
|
||||
+ [Valid] EF - Phase 0 - Finality - finality_rule_1 [Preset: minimal] OK
|
||||
+ [Valid] EF - Phase 0 - Finality - finality_rule_2 [Preset: minimal] OK
|
||||
|
@ -1000,7 +1002,7 @@ ConsensusSpecPreset-minimal
|
|||
+ [Valid] EF - Phase 0 - Sanity - Blocks - slash_and_exit_diff_index [Preset: minimal] OK
|
||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - voluntary_exit [Preset: minimal] OK
|
||||
```
|
||||
OK: 989/997 Fail: 0/997 Skip: 8/997
|
||||
OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||
## Attestation
|
||||
```diff
|
||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_epoch_slots OK
|
||||
|
@ -1554,13 +1556,15 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
|||
+ Inactivity - random_inactivity_scores_full_participation_leaking [Preset: minimal] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation [Preset: minimal] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation_leaking [Preset: minimal] OK
|
||||
+ Inactivity - randomized_state [Preset: minimal] OK
|
||||
+ Inactivity - randomized_state_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_exited_full_random_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_full_random [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_full_random_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation_leaking [Preset: minimal] OK
|
||||
```
|
||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||
## EF - Altair - Epoch Processing - Justification & Finalization [Preset: minimal]
|
||||
```diff
|
||||
+ Justification & Finalization - 123_ok_support [Preset: minimal] OK
|
||||
|
@ -1740,13 +1744,15 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
|||
+ Inactivity - random_inactivity_scores_full_participation_leaking [Preset: minimal] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation [Preset: minimal] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation_leaking [Preset: minimal] OK
|
||||
+ Inactivity - randomized_state [Preset: minimal] OK
|
||||
+ Inactivity - randomized_state_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_exited_full_random_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_full_random [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_full_random_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation_leaking [Preset: minimal] OK
|
||||
```
|
||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||
## EF - Bellatrix - Epoch Processing - Justification & Finalization [Preset: minimal]
|
||||
```diff
|
||||
+ Justification & Finalization - 123_ok_support [Preset: minimal] OK
|
||||
|
@ -1921,13 +1927,15 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
|||
+ Inactivity - random_inactivity_scores_full_participation_leaking [Preset: minimal] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation [Preset: minimal] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation_leaking [Preset: minimal] OK
|
||||
+ Inactivity - randomized_state [Preset: minimal] OK
|
||||
+ Inactivity - randomized_state_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_exited_full_random_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_full_random [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_full_random_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation_leaking [Preset: minimal] OK
|
||||
```
|
||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||
## EF - Capella - Epoch Processing - Justification & Finalization [Preset: minimal]
|
||||
```diff
|
||||
+ Justification & Finalization - 123_ok_support [Preset: minimal] OK
|
||||
|
@ -2114,13 +2122,15 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
|||
+ Inactivity - random_inactivity_scores_full_participation_leaking [Preset: minimal] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation [Preset: minimal] OK
|
||||
+ Inactivity - random_inactivity_scores_random_participation_leaking [Preset: minimal] OK
|
||||
+ Inactivity - randomized_state [Preset: minimal] OK
|
||||
+ Inactivity - randomized_state_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_exited_full_random_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_full_random [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_full_random_leaking [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation [Preset: minimal] OK
|
||||
+ Inactivity - some_slashed_zero_scores_full_participation_leaking [Preset: minimal] OK
|
||||
```
|
||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||
## EF - Deneb - Epoch Processing - Justification & Finalization [Preset: minimal]
|
||||
```diff
|
||||
+ Justification & Finalization - 123_ok_support [Preset: minimal] OK
|
||||
|
@ -2278,6 +2288,16 @@ OK: 49/49 Fail: 0/49 Skip: 0/49
|
|||
+ test_process_light_client_update_not_timeout OK
|
||||
```
|
||||
OK: 4/4 Fail: 0/4 Skip: 0/4
|
||||
## EF - Light client - Single merkle proof [Preset: minimal]
|
||||
```diff
|
||||
Light client - Single merkle proof - eip6110 Skip
|
||||
```
|
||||
OK: 0/1 Fail: 0/1 Skip: 1/1
|
||||
## EF - Light client - Update ranking [Preset: minimal]
|
||||
```diff
|
||||
Light client - Update ranking - eip6110 Skip
|
||||
```
|
||||
OK: 0/1 Fail: 0/1 Skip: 1/1
|
||||
## EF - Phase 0 - Epoch Processing - Effective balance updates [Preset: minimal]
|
||||
```diff
|
||||
+ Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK
|
||||
|
@ -2424,6 +2444,7 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_everything_regular_p OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_execution_first_payl OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_execution_regular_pa OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_parent_hash_first_pa OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_parent_hash_regular_ OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_pre_randao_regular_p OK
|
||||
+ [Invalid] EF - Capella - Operations - Execution Payload - invalid_bad_prev_randao_first_pa OK
|
||||
|
@ -2437,9 +2458,12 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_everything_regular_pay OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_execution_first_payloa OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_execution_regular_payl OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_parent_hash_first_payl OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_parent_hash_regular_pa OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_pre_randao_regular_pay OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_bad_prev_randao_first_payl OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_correct_input__execution_i OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_exceed_max_blobs_per_block OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_future_timestamp_first_pay OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_future_timestamp_regular_p OK
|
||||
+ [Invalid] EF - Deneb - Operations - Execution Payload - invalid_past_timestamp_first_paylo OK
|
||||
|
@ -2459,7 +2483,6 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Valid] EF - Bellatrix - Operations - Execution Payload - success_regular_payload_with_g OK
|
||||
+ [Valid] EF - Bellatrix - Operations - Execution Payload - zero_length_transaction_first_ OK
|
||||
+ [Valid] EF - Bellatrix - Operations - Execution Payload - zero_length_transaction_regula OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - bad_parent_hash_first_payload OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - non_empty_extra_data_first_paylo OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - non_empty_extra_data_regular_pay OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - non_empty_transactions_first_pay OK
|
||||
|
@ -2472,7 +2495,12 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Valid] EF - Capella - Operations - Execution Payload - success_regular_payload_with_gap OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - zero_length_transaction_first_pa OK
|
||||
+ [Valid] EF - Capella - Operations - Execution Payload - zero_length_transaction_regular_ OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - bad_parent_hash_first_payload OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_blob_tx_type OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_block_hash OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_commitment OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_commitments_order OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_transaction_length_1_byt OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - incorrect_transaction_length_32_by OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - non_empty_extra_data_first_payload OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - non_empty_extra_data_regular_paylo OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - non_empty_transactions_first_paylo OK
|
||||
|
@ -2485,8 +2513,9 @@ OK: 27/27 Fail: 0/27 Skip: 0/27
|
|||
+ [Valid] EF - Deneb - Operations - Execution Payload - success_regular_payload_with_gap_s OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - zero_length_transaction_first_payl OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - zero_length_transaction_regular_pa OK
|
||||
+ [Valid] EF - Deneb - Operations - Execution Payload - zeroed_commitment OK
|
||||
```
|
||||
OK: 78/78 Fail: 0/78 Skip: 0/78
|
||||
OK: 87/87 Fail: 0/87 Skip: 0/87
|
||||
## Proposer Slashing
|
||||
```diff
|
||||
+ [Invalid] EF - Altair - Operations - Proposer Slashing - invalid_different_proposer_indice OK
|
||||
|
@ -2846,4 +2875,4 @@ OK: 68/68 Fail: 0/68 Skip: 0/68
|
|||
OK: 102/102 Fail: 0/102 Skip: 0/102
|
||||
|
||||
---TOTAL---
|
||||
OK: 2528/2536 Fail: 0/2536 Skip: 8/2536
|
||||
OK: 2547/2557 Fail: 0/2557 Skip: 10/2557
|
||||
|
|
|
@ -74,7 +74,7 @@ export
|
|||
tables, results, json_serialization, timer, sszTypes, beacon_time, crypto,
|
||||
digest, presets
|
||||
|
||||
const SPEC_VERSION* = "1.3.0"
|
||||
const SPEC_VERSION* = "1.4.0-alpha.0"
|
||||
## Spec version we're aiming to be compatible with, right now
|
||||
|
||||
const
|
||||
|
|
|
@ -42,7 +42,7 @@ const
|
|||
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS* = 4096'u64
|
||||
|
||||
type
|
||||
KzgCommitments* = List[KzgCommitment, Limit MAX_BLOBS_PER_BLOCK]
|
||||
KzgCommitments* = List[KzgCommitment, Limit MAX_BLOB_COMMITMENTS_PER_BLOCK]
|
||||
Blobs* = List[Blob, Limit MAX_BLOBS_PER_BLOCK]
|
||||
|
||||
# TODO this apparently is suppposed to be SSZ-equivalent to Bytes32, but
|
||||
|
|
|
@ -1,7 +1,16 @@
|
|||
# beacon_chain
|
||||
# Copyright (c) 2023 Status Research & Development GmbH
|
||||
# Licensed and distributed under either of
|
||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
||||
|
||||
# Mainnet preset - Deneb
|
||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0/presets/mainnet/deneb.yaml
|
||||
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.0/presets/mainnet/deneb.yaml
|
||||
const
|
||||
# `uint64(4096)`
|
||||
FIELD_ELEMENTS_PER_BLOB*: uint64 = 4096
|
||||
# `uint64(2**12)` (= 4096)
|
||||
MAX_BLOB_COMMITMENTS_PER_BLOCK*: uint64 = 4096
|
||||
# `uint64(2**2)` (= 4)
|
||||
MAX_BLOBS_PER_BLOCK*: uint64 = 4
|
||||
|
|
|
@ -1,7 +1,16 @@
|
|||
# beacon_chain
|
||||
# Copyright (c) 2023 Status Research & Development GmbH
|
||||
# Licensed and distributed under either of
|
||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
||||
|
||||
# Mainnet preset - Deneb
|
||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0/presets/mainnet/deneb.yaml
|
||||
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.0/presets/mainnet/deneb.yaml
|
||||
const
|
||||
# `uint64(4096)`
|
||||
FIELD_ELEMENTS_PER_BLOB*: uint64 = 4096
|
||||
# `uint64(2**12)` (= 4096)
|
||||
MAX_BLOB_COMMITMENTS_PER_BLOCK*: uint64 = 4096
|
||||
# `uint64(2**2)` (= 4)
|
||||
MAX_BLOBS_PER_BLOCK*: uint64 = 4
|
||||
|
|
|
@ -1,7 +1,16 @@
|
|||
# beacon_chain
|
||||
# Copyright (c) 2023 Status Research & Development GmbH
|
||||
# Licensed and distributed under either of
|
||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
||||
|
||||
# Minimal preset - Deneb
|
||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0/presets/minimal/deneb.yaml
|
||||
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.0/presets/minimal/deneb.yaml
|
||||
const
|
||||
# [customized]
|
||||
FIELD_ELEMENTS_PER_BLOB*: uint64 = 4
|
||||
# [customized]
|
||||
MAX_BLOB_COMMITMENTS_PER_BLOCK*: uint64 = 16
|
||||
# `uint64(2**2)` (= 4)
|
||||
MAX_BLOBS_PER_BLOCK*: uint64 = 4
|
||||
|
|
|
@ -519,8 +519,8 @@ proc process_sync_aggregate*(
|
|||
proc process_execution_payload*(
|
||||
state: var bellatrix.BeaconState, payload: bellatrix.ExecutionPayload,
|
||||
notify_new_payload: bellatrix.ExecutePayload): Result[void, cstring] =
|
||||
## Verify consistency of the parent hash with respect to the previous
|
||||
## execution payload header
|
||||
# Verify consistency of the parent hash with respect to the previous
|
||||
# execution payload header
|
||||
if is_merge_transition_complete(state):
|
||||
if not (payload.parent_hash ==
|
||||
state.latest_execution_payload_header.block_hash):
|
||||
|
@ -563,10 +563,9 @@ proc process_execution_payload*(
|
|||
notify_new_payload: capella.ExecutePayload): Result[void, cstring] =
|
||||
# Verify consistency of the parent hash with respect to the previous
|
||||
# execution payload header
|
||||
if is_merge_transition_complete(state):
|
||||
if not (payload.parent_hash ==
|
||||
state.latest_execution_payload_header.block_hash):
|
||||
return err("process_execution_payload: payload and state parent hash mismatch")
|
||||
if not (payload.parent_hash ==
|
||||
state.latest_execution_payload_header.block_hash):
|
||||
return err("process_execution_payload: payload and state parent hash mismatch")
|
||||
|
||||
# Verify prev_randao
|
||||
if not (payload.prev_randao == get_randao_mix(state, get_current_epoch(state))):
|
||||
|
@ -600,16 +599,23 @@ proc process_execution_payload*(
|
|||
|
||||
ok()
|
||||
|
||||
# TODO workaround for https://github.com/nim-lang/Nim/issues/18095
|
||||
# copy of datatypes/deneb.nim
|
||||
type SomeDenebBeaconBlockBody =
|
||||
deneb.BeaconBlockBody | deneb.SigVerifiedBeaconBlockBody |
|
||||
deneb.TrustedBeaconBlockBody
|
||||
|
||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/deneb/beacon-chain.md#process_execution_payload
|
||||
proc process_execution_payload*(
|
||||
state: var deneb.BeaconState, payload: deneb.ExecutionPayload,
|
||||
state: var deneb.BeaconState, body: SomeDenebBeaconBlockBody,
|
||||
notify_new_payload: deneb.ExecutePayload): Result[void, cstring] =
|
||||
template payload: auto = body.execution_payload
|
||||
|
||||
# Verify consistency of the parent hash with respect to the previous
|
||||
# execution payload header
|
||||
if is_merge_transition_complete(state):
|
||||
if not (payload.parent_hash ==
|
||||
state.latest_execution_payload_header.block_hash):
|
||||
return err("process_execution_payload: payload and state parent hash mismatch")
|
||||
if not (payload.parent_hash ==
|
||||
state.latest_execution_payload_header.block_hash):
|
||||
return err("process_execution_payload: payload and state parent hash mismatch")
|
||||
|
||||
# Verify prev_randao
|
||||
if not (payload.prev_randao == get_randao_mix(state, get_current_epoch(state))):
|
||||
|
@ -619,6 +625,10 @@ proc process_execution_payload*(
|
|||
if not (payload.timestamp == compute_timestamp_at_slot(state, state.slot)):
|
||||
return err("process_execution_payload: invalid timestamp")
|
||||
|
||||
# [New in Deneb] Verify commitments are under limit
|
||||
if not (lenu64(body.blob_kzg_commitments) <= MAX_BLOBS_PER_BLOCK):
|
||||
return err("process_execution_payload: too many KZG commitments")
|
||||
|
||||
# Verify the execution payload is valid
|
||||
if not notify_new_payload(payload):
|
||||
return err("process_execution_payload: execution payload invalid")
|
||||
|
@ -901,7 +911,7 @@ proc process_block*(
|
|||
if is_execution_enabled(state, blck.body):
|
||||
? process_withdrawals(state, blck.body.execution_payload)
|
||||
? process_execution_payload(
|
||||
state, blck.body.execution_payload,
|
||||
state, blck.body,
|
||||
func(_: deneb.ExecutionPayload): bool = true) # [Modified in Deneb]
|
||||
? process_randao(state, blck.body, flags, cache)
|
||||
? process_eth1_data(state, blck.body)
|
||||
|
|
|
@ -13,7 +13,7 @@ import
|
|||
unittest2,
|
||||
stew/results,
|
||||
# Beacon chain internals
|
||||
../../../beacon_chain/spec/[beaconstate, state_transition_block],
|
||||
../../../beacon_chain/spec/state_transition_block,
|
||||
../../../beacon_chain/spec/datatypes/bellatrix,
|
||||
# Test utilities
|
||||
../../testutil,
|
||||
|
@ -22,6 +22,8 @@ import
|
|||
|
||||
from std/sequtils import mapIt, toSeq
|
||||
from std/strutils import contains
|
||||
from ../../../beacon_chain/spec/beaconstate import
|
||||
get_base_reward_per_increment, get_total_active_balance, process_attestation
|
||||
|
||||
const
|
||||
OpDir = SszTestsDir/const_preset/"bellatrix"/"operations"
|
||||
|
@ -127,18 +129,17 @@ suite baseDescription & "Deposit " & preset():
|
|||
suite baseDescription & "Execution Payload " & preset():
|
||||
for path in walkTests(OpExecutionPayloadDir):
|
||||
proc applyExecutionPayload(
|
||||
preState: var bellatrix.BeaconState,
|
||||
executionPayload: bellatrix.ExecutionPayload):
|
||||
preState: var bellatrix.BeaconState, body: bellatrix.BeaconBlockBody):
|
||||
Result[void, cstring] =
|
||||
let payloadValid =
|
||||
os_ops.readFile(OpExecutionPayloadDir/"pyspec_tests"/path/"execution.yaml").
|
||||
contains("execution_valid: true")
|
||||
func executePayload(_: bellatrix.ExecutionPayload): bool = payloadValid
|
||||
process_execution_payload(
|
||||
preState, executionPayload, executePayload)
|
||||
preState, body.execution_payload, executePayload)
|
||||
|
||||
runTest[bellatrix.ExecutionPayload, typeof applyExecutionPayload](
|
||||
OpExecutionPayloadDir, "Execution Payload", "execution_payload",
|
||||
runTest[bellatrix.BeaconBlockBody, typeof applyExecutionPayload](
|
||||
OpExecutionPayloadDir, "Execution Payload", "body",
|
||||
applyExecutionPayload, path)
|
||||
|
||||
suite baseDescription & "Proposer Slashing " & preset():
|
||||
|
|
|
@ -8,20 +8,23 @@
|
|||
{.used.}
|
||||
|
||||
import
|
||||
# Standard library
|
||||
std/[sequtils, sets, strutils],
|
||||
# Utilities
|
||||
chronicles,
|
||||
unittest2,
|
||||
stew/results,
|
||||
# Beacon chain internals
|
||||
../../../beacon_chain/spec/[beaconstate, state_transition_block],
|
||||
../../../beacon_chain/spec/state_transition_block,
|
||||
../../../beacon_chain/spec/datatypes/capella,
|
||||
# Test utilities
|
||||
../../testutil,
|
||||
../fixtures_utils, ../os_ops,
|
||||
../../helpers/debug_state
|
||||
|
||||
from std/sequtils import mapIt, toSeq
|
||||
from std/strutils import contains
|
||||
from ../../../beacon_chain/spec/beaconstate import
|
||||
get_base_reward_per_increment, get_total_active_balance, process_attestation
|
||||
|
||||
const
|
||||
OpDir = SszTestsDir/const_preset/"capella"/"operations"
|
||||
OpAttestationsDir = OpDir/"attestation"
|
||||
|
@ -143,18 +146,17 @@ suite baseDescription & "Deposit " & preset():
|
|||
suite baseDescription & "Execution Payload " & preset():
|
||||
for path in walkTests(OpExecutionPayloadDir):
|
||||
proc applyExecutionPayload(
|
||||
preState: var capella.BeaconState,
|
||||
executionPayload: capella.ExecutionPayload):
|
||||
preState: var capella.BeaconState, body: capella.BeaconBlockBody):
|
||||
Result[void, cstring] =
|
||||
let payloadValid =
|
||||
os_ops.readFile(OpExecutionPayloadDir/"pyspec_tests"/path/"execution.yaml").
|
||||
contains("execution_valid: true")
|
||||
func executePayload(_: capella.ExecutionPayload): bool = payloadValid
|
||||
process_execution_payload(
|
||||
preState, executionPayload, executePayload)
|
||||
preState, body.execution_payload, executePayload)
|
||||
|
||||
runTest[capella.ExecutionPayload, typeof applyExecutionPayload](
|
||||
OpExecutionPayloadDir, "Execution Payload", "execution_payload",
|
||||
runTest[capella.BeaconBlockBody, typeof applyExecutionPayload](
|
||||
OpExecutionPayloadDir, "Execution Payload", "body",
|
||||
applyExecutionPayload, path)
|
||||
|
||||
suite baseDescription & "Proposer Slashing " & preset():
|
||||
|
|
|
@ -8,20 +8,23 @@
|
|||
{.used.}
|
||||
|
||||
import
|
||||
# Standard library
|
||||
std/[sequtils, sets, strutils],
|
||||
# Utilities
|
||||
chronicles,
|
||||
unittest2,
|
||||
stew/results,
|
||||
# Beacon chain internals
|
||||
../../../beacon_chain/spec/[beaconstate, state_transition_block],
|
||||
../../../beacon_chain/spec/state_transition_block,
|
||||
../../../beacon_chain/spec/datatypes/deneb,
|
||||
# Test utilities
|
||||
../../testutil,
|
||||
../fixtures_utils, ../os_ops,
|
||||
../../helpers/debug_state
|
||||
|
||||
from std/sequtils import mapIt, toSeq
|
||||
from std/strutils import contains
|
||||
from ../../../beacon_chain/spec/beaconstate import
|
||||
get_base_reward_per_increment, get_total_active_balance, process_attestation
|
||||
|
||||
const
|
||||
OpDir = SszTestsDir/const_preset/"deneb"/"operations"
|
||||
OpAttestationsDir = OpDir/"attestation"
|
||||
|
@ -146,18 +149,16 @@ suite baseDescription & "Deposit " & preset():
|
|||
suite baseDescription & "Execution Payload " & preset():
|
||||
for path in walkTests(OpExecutionPayloadDir):
|
||||
proc applyExecutionPayload(
|
||||
preState: var deneb.BeaconState,
|
||||
executionPayload: deneb.ExecutionPayload):
|
||||
preState: var deneb.BeaconState, body: deneb.BeaconBlockBody):
|
||||
Result[void, cstring] =
|
||||
let payloadValid =
|
||||
os_ops.readFile(OpExecutionPayloadDir/"pyspec_tests"/path/"execution.yaml").
|
||||
contains("execution_valid: true")
|
||||
func executePayload(_: deneb.ExecutionPayload): bool = payloadValid
|
||||
process_execution_payload(
|
||||
preState, executionPayload, executePayload)
|
||||
process_execution_payload(preState, body, executePayload)
|
||||
|
||||
runTest[deneb.ExecutionPayload, typeof applyExecutionPayload](
|
||||
OpExecutionPayloadDir, "Execution Payload", "execution_payload",
|
||||
runTest[deneb.BeaconBlockBody, typeof applyExecutionPayload](
|
||||
OpExecutionPayloadDir, "Execution Payload", "body",
|
||||
applyExecutionPayload, path)
|
||||
|
||||
suite baseDescription & "Proposer Slashing " & preset():
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
{.used.}
|
||||
|
||||
import
|
||||
# Standard library
|
||||
std/[json, sequtils, strutils, tables],
|
||||
# Status libraries
|
||||
stew/results, chronicles,
|
||||
eth/keys, taskpools,
|
||||
|
@ -28,6 +26,11 @@ import
|
|||
../testutil, ../testdbutil,
|
||||
./fixtures_utils, ./os_ops
|
||||
|
||||
from std/json import
|
||||
JsonNode, getBool, getInt, getStr, hasKey, items, len, pairs, `$`, `[]`
|
||||
from std/sequtils import toSeq
|
||||
from std/strutils import contains
|
||||
|
||||
# Test format described at https://github.com/ethereum/consensus-specs/tree/v1.3.0/tests/formats/fork_choice
|
||||
# Note that our implementation has been optimized with "ProtoArray"
|
||||
# instead of following the spec (in particular the "store").
|
||||
|
@ -420,6 +423,8 @@ template fcSuite(suiteName: static[string], testPathElem: static[string]) =
|
|||
let testsPath = presetPath/path/testPathElem
|
||||
if kind != pcDir or not os_ops.dirExists(testsPath):
|
||||
continue
|
||||
if testsPath.contains("/eip6110/") or testsPath.contains("\\eip6110\\"):
|
||||
continue
|
||||
let fork = forkForPathComponent(path).valueOr:
|
||||
raiseAssert "Unknown test fork: " & testsPath
|
||||
for kind, path in walkDir(testsPath, relative = true, checkDir = true):
|
||||
|
|
|
@ -20,6 +20,8 @@ import
|
|||
../testutil,
|
||||
./fixtures_utils, ./os_ops
|
||||
|
||||
from std/strutils import contains
|
||||
|
||||
type
|
||||
TestMeta = object
|
||||
genesis_validators_root: Eth2Digest
|
||||
|
@ -128,7 +130,10 @@ proc runTest(path: string) =
|
|||
proc loadTestMeta(): (RuntimeConfig, TestMeta) =
|
||||
let (cfg, unknowns) = readRuntimeConfig(path/"config.yaml")
|
||||
|
||||
doAssert unknowns.len == 0, "Unknown config constants: " & $unknowns
|
||||
when false:
|
||||
# TODO evaluate whether this is useful and if so, fix it
|
||||
# Unhandled defect: nimbus-eth2/tests/consensus_spec/test_fixture_light_client_sync.nim(131, 16) `unknowns.len == 0` Unknown config constants: @["MAXIMUM_GOSSIP_CLOCK_DISPARITY", "ATTESTATION_PROPAGATION_SLOT_RANGE", "MAX_REQUEST_BLOCKS", "SUBNETS_PER_NODE", "TTFB_TIMEOUT", "MIN_EPOCHS_FOR_BLOCK_REQUESTS", "MESSAGE_DOMAIN_VALID_SNAPPY", "ATTESTATION_SUBNET_EXTRA_BITS", "MAX_CHUNK_SIZE", "EPOCHS_PER_SUBNET_SUBSCRIPTION", "GOSSIP_MAX_SIZE", "ATTESTATION_SUBNET_PREFIX_BITS", "MESSAGE_DOMAIN_INVALID_SNAPPY", "RESP_TIMEOUT"] [AssertionDefect]
|
||||
doAssert unknowns.len == 0, "Unknown config constants: " & $unknowns
|
||||
|
||||
type TestMetaYaml {.sparse.} = object
|
||||
genesis_validators_root: string
|
||||
|
@ -266,4 +271,6 @@ suite "EF - Light client - Sync" & preset():
|
|||
continue
|
||||
for kind, path in walkDir(basePath, relative = true, checkDir = true):
|
||||
let combinedPath = basePath/path
|
||||
if combinedPath.contains("/eip6110/") or combinedPath.contains("\\eip6110\\"):
|
||||
continue
|
||||
runTest(basePath/path)
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit a79c0aa4fd4380d8604a80b321ee199649efd992
|
||||
Subproject commit 61e7d32088000a5af599df7197216a1ff5d54164
|
Loading…
Reference in New Issue