use v1.3.0-alpha.1 consensus spec test vectors (#4338)
This commit is contained in:
parent
eb661565ed
commit
1146470f7d
|
@ -131,6 +131,11 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
+ Tail block only in common OK
|
+ Tail block only in common OK
|
||||||
```
|
```
|
||||||
OK: 2/2 Fail: 0/2 Skip: 0/2
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
||||||
|
## Doppelganger protection test suite
|
||||||
|
```diff
|
||||||
|
+ doppelgangerCheck() test OK
|
||||||
|
```
|
||||||
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
## EF - SSZ generic types
|
## EF - SSZ generic types
|
||||||
```diff
|
```diff
|
||||||
Testing basic_vector inputs - invalid Skip
|
Testing basic_vector inputs - invalid Skip
|
||||||
|
@ -608,4 +613,4 @@ OK: 2/2 Fail: 0/2 Skip: 0/2
|
||||||
OK: 9/9 Fail: 0/9 Skip: 0/9
|
OK: 9/9 Fail: 0/9 Skip: 0/9
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 337/342 Fail: 0/342 Skip: 5/342
|
OK: 338/343 Fail: 0/343 Skip: 5/343
|
||||||
|
|
|
@ -284,15 +284,15 @@ ConsensusSpecPreset-mainnet
|
||||||
ForkChoice - mainnet/phase0/fork_choice/on_block/pyspec_tests/on_block_future_block Skip
|
ForkChoice - mainnet/phase0/fork_choice/on_block/pyspec_tests/on_block_future_block Skip
|
||||||
+ ForkChoice - mainnet/phase0/fork_choice/on_block/pyspec_tests/proposer_boost OK
|
+ ForkChoice - mainnet/phase0/fork_choice/on_block/pyspec_tests/proposer_boost OK
|
||||||
+ ForkChoice - mainnet/phase0/fork_choice/on_block/pyspec_tests/proposer_boost_root_same_slo OK
|
+ ForkChoice - mainnet/phase0/fork_choice/on_block/pyspec_tests/proposer_boost_root_same_slo OK
|
||||||
+ Light client - Single merkle proof - mainnet/altair/light_client/single_merkle_proof/pyspe OK
|
+ Light client - Single merkle proof - mainnet/altair/light_client/single_merkle_proof/Beaco OK
|
||||||
+ Light client - Single merkle proof - mainnet/altair/light_client/single_merkle_proof/pyspe OK
|
+ Light client - Single merkle proof - mainnet/altair/light_client/single_merkle_proof/Beaco OK
|
||||||
+ Light client - Single merkle proof - mainnet/altair/light_client/single_merkle_proof/pyspe OK
|
+ Light client - Single merkle proof - mainnet/altair/light_client/single_merkle_proof/Beaco OK
|
||||||
+ Light client - Single merkle proof - mainnet/bellatrix/light_client/single_merkle_proof/py OK
|
+ Light client - Single merkle proof - mainnet/bellatrix/light_client/single_merkle_proof/Be OK
|
||||||
+ Light client - Single merkle proof - mainnet/bellatrix/light_client/single_merkle_proof/py OK
|
+ Light client - Single merkle proof - mainnet/bellatrix/light_client/single_merkle_proof/Be OK
|
||||||
+ Light client - Single merkle proof - mainnet/bellatrix/light_client/single_merkle_proof/py OK
|
+ Light client - Single merkle proof - mainnet/bellatrix/light_client/single_merkle_proof/Be OK
|
||||||
+ Light client - Single merkle proof - mainnet/capella/light_client/single_merkle_proof/pysp OK
|
+ Light client - Single merkle proof - mainnet/capella/light_client/single_merkle_proof/Beac OK
|
||||||
+ Light client - Single merkle proof - mainnet/capella/light_client/single_merkle_proof/pysp OK
|
+ Light client - Single merkle proof - mainnet/capella/light_client/single_merkle_proof/Beac OK
|
||||||
+ Light client - Single merkle proof - mainnet/capella/light_client/single_merkle_proof/pysp OK
|
+ Light client - Single merkle proof - mainnet/capella/light_client/single_merkle_proof/Beac OK
|
||||||
+ Slots - double_empty_epoch OK
|
+ Slots - double_empty_epoch OK
|
||||||
+ Slots - empty_epoch OK
|
+ Slots - empty_epoch OK
|
||||||
+ Slots - over_epoch_boundary OK
|
+ Slots - over_epoch_boundary OK
|
||||||
|
@ -300,56 +300,63 @@ ConsensusSpecPreset-mainnet
|
||||||
+ Slots - slots_2 OK
|
+ Slots - slots_2 OK
|
||||||
+ Sync - mainnet/bellatrix/sync/optimistic/pyspec_tests/from_syncing_to_invalid OK
|
+ Sync - mainnet/bellatrix/sync/optimistic/pyspec_tests/from_syncing_to_invalid OK
|
||||||
+ Sync - mainnet/capella/sync/optimistic/pyspec_tests/from_syncing_to_invalid OK
|
+ Sync - mainnet/capella/sync/optimistic/pyspec_tests/from_syncing_to_invalid OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - double_same_proposer_slashings_same_block [Prese OK
|
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - double_similar_proposer_slashings_same_block [Pr OK
|
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - double_validator_exit_same_block [Preset: mainne OK
|
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - duplicate_attester_slashing [Preset: mainnet] OK
|
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - expected_deposit_in_block [Preset: mainnet] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - expected_deposit_in_block [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_block_sig [Preset: mainnet] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_block_sig [Preset: mainnet] OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block [ OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: ma OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pre OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propose OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propose OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index [ OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index [ OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [P OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_state_root [Preset: mainnet] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_state_root [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - parent_from_same_slot [Preset: mainnet] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - parent_from_same_slot [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - prev_slot_block_transition [Preset: mainnet] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - prev_slot_block_transition [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - same_slot_block_transition [Preset: mainnet] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - same_slot_block_transition [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - slash_and_exit_same_index [Preset: mainnet] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - slash_and_exit_same_index [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - zero_block_sig [Preset: mainnet] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - zero_block_sig [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - double_same_proposer_slashings_same_block [Pr OK
|
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - double_similar_proposer_slashings_same_block OK
|
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - double_validator_exit_same_block [Preset: mai OK
|
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - duplicate_attester_slashing [Preset: mainnet] OK
|
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - expected_deposit_in_block [Preset: mainnet] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - expected_deposit_in_block [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_block_sig [Preset: mainnet] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_block_sig [Preset: mainnet] OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_duplicate_attester_slashing_same_bloc OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_blo OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [ OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_proposer_index_sig_from_expected_prop OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_proposer_index_sig_from_expected_prop OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_inde OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_inde OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_similar_proposer_slashings_same_block OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_state_root [Preset: mainnet] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_state_root [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - parent_from_same_slot [Preset: mainnet] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - parent_from_same_slot [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - prev_slot_block_transition [Preset: mainnet] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - prev_slot_block_transition [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - same_slot_block_transition [Preset: mainnet] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - same_slot_block_transition [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - slash_and_exit_same_index [Preset: mainnet] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - slash_and_exit_same_index [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - zero_block_sig [Preset: mainnet] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - zero_block_sig [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - double_same_proposer_slashings_same_block [Pres OK
|
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - double_similar_proposer_slashings_same_block [P OK
|
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - double_validator_exit_same_block [Preset: mainn OK
|
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - duplicate_attester_slashing [Preset: mainnet] OK
|
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - expected_deposit_in_block [Preset: mainnet] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - expected_deposit_in_block [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_block_sig [Preset: mainnet] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_block_sig [Preset: mainnet] OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_bls_changes_same_block [Prese OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: m OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pr OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propos OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propos OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [ OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_state_root [Preset: mainnet] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_state_root [Preset: mainnet] OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_two_bls_changes_of_different_addresses_ OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - parent_from_same_slot [Preset: mainnet] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - parent_from_same_slot [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - prev_slot_block_transition [Preset: mainnet] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - prev_slot_block_transition [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - same_slot_block_transition [Preset: mainnet] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - same_slot_block_transition [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - slash_and_exit_same_index [Preset: mainnet] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - slash_and_exit_same_index [Preset: mainnet] OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - withdrawal_fail_second_block_payload_isnt_compa OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - zero_block_sig [Preset: mainnet] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - zero_block_sig [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - double_same_proposer_slashings_same_block [Pres OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - double_similar_proposer_slashings_same_block [P OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - double_validator_exit_same_block [Preset: mainn OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - duplicate_attester_slashing [Preset: mainnet] OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - expected_deposit_in_block [Preset: mainnet] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - expected_deposit_in_block [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_block_sig [Preset: mainnet] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_block_sig [Preset: mainnet] OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: m OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pr OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propos OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propos OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [ OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_state_root [Preset: mainnet] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_state_root [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - parent_from_same_slot [Preset: mainnet] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - parent_from_same_slot [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - prev_slot_block_transition [Preset: mainnet] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - prev_slot_block_transition [Preset: mainnet] OK
|
||||||
|
@ -383,6 +390,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - balance_driven_status_transitions [Preset: mainn OK
|
+ [Valid] EF - Altair - Sanity - Blocks - balance_driven_status_transitions [Preset: mainn OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - deposit_in_block [Preset: mainnet] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - deposit_in_block [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - deposit_top_up [Preset: mainnet] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - deposit_top_up [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - Altair - Sanity - Blocks - duplicate_attestation_same_block [Preset: mainne OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - empty_block_transition [Preset: mainnet] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - empty_block_transition [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - empty_epoch_transition [Preset: mainnet] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - empty_epoch_transition [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - empty_sync_committee_committee [Preset: mainnet] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - empty_sync_committee_committee [Preset: mainnet] OK
|
||||||
|
@ -435,6 +443,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - balance_driven_status_transitions [Preset: ma OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - balance_driven_status_transitions [Preset: ma OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - deposit_in_block [Preset: mainnet] OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - deposit_in_block [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - deposit_top_up [Preset: mainnet] OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - deposit_top_up [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - duplicate_attestation_same_block [Preset: mai OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition [Preset: mainnet] OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition_no_tx [Preset: mainnet OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition_no_tx [Preset: mainnet OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition_randomized_payload [Pr OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition_randomized_payload [Pr OK
|
||||||
|
@ -490,13 +499,13 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - balance_driven_status_transitions [Preset: main OK
|
+ [Valid] EF - Capella - Sanity - Blocks - balance_driven_status_transitions [Preset: main OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - deposit_in_block [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - deposit_in_block [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - deposit_top_up [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - deposit_top_up [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - Capella - Sanity - Blocks - duplicate_attestation_same_block [Preset: mainn OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition_no_tx [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition_no_tx [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition_randomized_payload [Pres OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition_randomized_payload [Pres OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_epoch_transition [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_epoch_transition [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_sync_committee_committee [Preset: mainnet OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_sync_committee_committee [Preset: mainnet OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_sync_committee_committee_genesis [Preset: OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_sync_committee_committee_genesis [Preset: OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - exit_and_bls_change [Preset: mainnet] OK
|
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_0 [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_0 [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_1 [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_1 [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_2 [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_2 [Preset: mainnet] OK
|
||||||
|
@ -522,8 +531,10 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - proposer_slashing [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - proposer_slashing [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - skipped_slots [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - skipped_slots [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - slash_and_exit_diff_index [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - slash_and_exit_diff_index [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - successful_bls_change [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - success_bls_change [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - Capella - Sanity - Blocks - success_exit_and_bls_change [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - voluntary_exit [Preset: mainnet] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - voluntary_exit [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - Capella - Sanity - Blocks - withdrawal_success_two_blocks [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Phase 0 - Finality - finality_no_updates_at_genesis [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_1 [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Phase 0 - Finality - finality_rule_2 [Preset: mainnet] OK
|
+ [Valid] EF - Phase 0 - Finality - finality_rule_2 [Preset: mainnet] OK
|
||||||
|
@ -550,6 +561,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - balance_driven_status_transitions [Preset: main OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - balance_driven_status_transitions [Preset: main OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - deposit_in_block [Preset: mainnet] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - deposit_in_block [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - deposit_top_up [Preset: mainnet] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - deposit_top_up [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - duplicate_attestation_same_block [Preset: mainn OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_block_transition [Preset: mainnet] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_block_transition [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_epoch_transition [Preset: mainnet] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_epoch_transition [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - full_random_operations_0 [Preset: mainnet] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - full_random_operations_0 [Preset: mainnet] OK
|
||||||
|
@ -582,6 +594,12 @@ ConsensusSpecPreset-mainnet
|
||||||
+ bellatrix_fork_random_3 OK
|
+ bellatrix_fork_random_3 OK
|
||||||
+ bellatrix_fork_random_low_balances OK
|
+ bellatrix_fork_random_low_balances OK
|
||||||
+ bellatrix_fork_random_misc_balances OK
|
+ bellatrix_fork_random_misc_balances OK
|
||||||
|
+ capella_fork_random_0 OK
|
||||||
|
+ capella_fork_random_1 OK
|
||||||
|
+ capella_fork_random_2 OK
|
||||||
|
+ capella_fork_random_3 OK
|
||||||
|
+ capella_fork_random_low_balances OK
|
||||||
|
+ capella_fork_random_misc_balances OK
|
||||||
+ fork_base_state OK
|
+ fork_base_state OK
|
||||||
+ fork_many_next_epoch OK
|
+ fork_many_next_epoch OK
|
||||||
+ fork_next_epoch OK
|
+ fork_next_epoch OK
|
||||||
|
@ -589,7 +607,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ fork_random_low_balances OK
|
+ fork_random_low_balances OK
|
||||||
+ fork_random_misc_balances OK
|
+ fork_random_misc_balances OK
|
||||||
```
|
```
|
||||||
OK: 578/586 Fail: 0/586 Skip: 8/586
|
OK: 596/604 Fail: 0/604 Skip: 8/604
|
||||||
## Attestation
|
## Attestation
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - after_epoch_slots OK
|
+ [Invalid] EF - Altair - Operations - Attestation - after_epoch_slots OK
|
||||||
|
@ -1341,22 +1359,6 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
+ Eth1 data reset - eth1_vote_reset [Preset: mainnet] OK
|
+ Eth1 data reset - eth1_vote_reset [Preset: mainnet] OK
|
||||||
```
|
```
|
||||||
OK: 2/2 Fail: 0/2 Skip: 0/2
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
||||||
## EF - Capella - Epoch Processing - Full withdrawals [Preset: mainnet]
|
|
||||||
```diff
|
|
||||||
+ Full withdrawals - all_withdrawal [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - multi_withdrawal [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - no_withdrawable_validators [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - no_withdrawals_but_some_next_epoch [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - random_withdrawals_0 [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - random_withdrawals_1 [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - random_withdrawals_2 [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - random_withdrawals_3 [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - single_withdrawal [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - withdrawable_epoch_but_0_balance [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - withdrawable_epoch_but_0_effective_balance_0_balance [Preset: mainnet] OK
|
|
||||||
+ Full withdrawals - withdrawable_epoch_but_0_effective_balance_nonzero_balance [Preset: mai OK
|
|
||||||
```
|
|
||||||
OK: 12/12 Fail: 0/12 Skip: 0/12
|
|
||||||
## EF - Capella - Epoch Processing - Historical roots update [Preset: mainnet]
|
## EF - Capella - Epoch Processing - Historical roots update [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
+ Historical roots update - historical_root_accumulator [Preset: mainnet] OK
|
+ Historical roots update - historical_root_accumulator [Preset: mainnet] OK
|
||||||
|
@ -1399,28 +1401,6 @@ OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||||
+ Justification & Finalization - balance_threshold_with_exited_validators [Preset: mainnet] OK
|
+ Justification & Finalization - balance_threshold_with_exited_validators [Preset: mainnet] OK
|
||||||
```
|
```
|
||||||
OK: 10/10 Fail: 0/10 Skip: 0/10
|
OK: 10/10 Fail: 0/10 Skip: 0/10
|
||||||
## EF - Capella - Epoch Processing - Partial withdrawals [Preset: mainnet]
|
|
||||||
```diff
|
|
||||||
+ Partial withdrawals - random_0 [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - random_1 [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - random_2 [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - random_3 [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - random_4 [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - random_5 [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_excess_balance_but_no_max_effective_balance [Preset: mainnet OK
|
|
||||||
+ Partial withdrawals - success_max_partial_withdrawable [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_no_excess_balance [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_no_max_effective_balance [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_no_withdrawable [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_active_and_slashed [Preset: mainnet OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_exited [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_exited_and_slashed [Preset: mainnet OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_in_exit_queue [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_not_yet_active [Preset: mainnet] OK
|
|
||||||
+ Partial withdrawals - success_two_partial_withdrawable [Preset: mainnet] OK
|
|
||||||
```
|
|
||||||
OK: 18/18 Fail: 0/18 Skip: 0/18
|
|
||||||
## EF - Capella - Epoch Processing - Participation flag updates [Preset: mainnet]
|
## EF - Capella - Epoch Processing - Participation flag updates [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
+ Participation flag updates - all_zeroed [Preset: mainnet] OK
|
+ Participation flag updates - all_zeroed [Preset: mainnet] OK
|
||||||
|
@ -1903,22 +1883,58 @@ OK: 66/66 Fail: 0/66 Skip: 0/66
|
||||||
OK: 48/48 Fail: 0/48 Skip: 0/48
|
OK: 48/48 Fail: 0/48 Skip: 0/48
|
||||||
## Withdrawals
|
## Withdrawals
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_a_lot_in_queue_too_few_in_withdra OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_a_lot_fully_withdrawable_too_few_ OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_empty_queue_non_empty_withdrawals OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_a_lot_mixed_withdrawable_in_queue OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_dequeue_address OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_a_lot_partially_withdrawable_too_ OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_dequeue_amount OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_address_full OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_dequeue_index OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_address_partial OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_many_dequeued_incorrectly OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_amount_full OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_max_per_slot_in_queue_one_less_in OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_amount_partial OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_in_queue_none_in_withdrawals OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_withdrawal_index OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_in_queue_two_in_withdrawals OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_many_incorrectly_full OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_of_many_dequeued_incorrectly OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_many_incorrectly_partial OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - success_a_lot_in_queue OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_max_per_slot_full_withdrawals_and OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - success_empty_queue OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_max_per_slot_partial_withdrawals_ OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - success_max_per_slot_in_queue OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_non_withdrawable_non_empty_withdr OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_in_queue OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_expected_full_withdrawal_and_ OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_expected_full_withdrawal_and_ OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_expected_partial_withdrawal_a OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_of_many_incorrectly_full OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_of_many_incorrectly_partial OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_two_expected_partial_withdrawal_a OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - all_withdrawal OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - no_withdrawals_but_some_next_epoch OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_0 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_full_withdrawals_0 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_full_withdrawals_1 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_full_withdrawals_2 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_full_withdrawals_3 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_1 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_2 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_3 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_4 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_5 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_all_fully_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_all_partially_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_excess_balance_but_no_max_effe OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_max_partial_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_max_per_slot OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_no_excess_balance OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_no_max_effective_balance OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_full_withdrawal OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_activ OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_exite OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_exite OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_in_ex OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_not_y OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawal OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_two_partial_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_zero_expected_withdrawals OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_balance OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
```
|
```
|
||||||
OK: 14/14 Fail: 0/14 Skip: 0/14
|
OK: 50/50 Fail: 0/50 Skip: 0/50
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 1667/1675 Fail: 0/1675 Skip: 8/1675
|
OK: 1691/1699 Fail: 0/1699 Skip: 8/1699
|
||||||
|
|
|
@ -328,15 +328,15 @@ ConsensusSpecPreset-minimal
|
||||||
+ ForkChoice - minimal/phase0/fork_choice/on_block/pyspec_tests/on_block_update_justified_ch OK
|
+ ForkChoice - minimal/phase0/fork_choice/on_block/pyspec_tests/on_block_update_justified_ch OK
|
||||||
+ ForkChoice - minimal/phase0/fork_choice/on_block/pyspec_tests/proposer_boost OK
|
+ ForkChoice - minimal/phase0/fork_choice/on_block/pyspec_tests/proposer_boost OK
|
||||||
+ ForkChoice - minimal/phase0/fork_choice/on_block/pyspec_tests/proposer_boost_root_same_slo OK
|
+ ForkChoice - minimal/phase0/fork_choice/on_block/pyspec_tests/proposer_boost_root_same_slo OK
|
||||||
+ Light client - Single merkle proof - minimal/altair/light_client/single_merkle_proof/pyspe OK
|
+ Light client - Single merkle proof - minimal/altair/light_client/single_merkle_proof/Beaco OK
|
||||||
+ Light client - Single merkle proof - minimal/altair/light_client/single_merkle_proof/pyspe OK
|
+ Light client - Single merkle proof - minimal/altair/light_client/single_merkle_proof/Beaco OK
|
||||||
+ Light client - Single merkle proof - minimal/altair/light_client/single_merkle_proof/pyspe OK
|
+ Light client - Single merkle proof - minimal/altair/light_client/single_merkle_proof/Beaco OK
|
||||||
+ Light client - Single merkle proof - minimal/bellatrix/light_client/single_merkle_proof/py OK
|
+ Light client - Single merkle proof - minimal/bellatrix/light_client/single_merkle_proof/Be OK
|
||||||
+ Light client - Single merkle proof - minimal/bellatrix/light_client/single_merkle_proof/py OK
|
+ Light client - Single merkle proof - minimal/bellatrix/light_client/single_merkle_proof/Be OK
|
||||||
+ Light client - Single merkle proof - minimal/bellatrix/light_client/single_merkle_proof/py OK
|
+ Light client - Single merkle proof - minimal/bellatrix/light_client/single_merkle_proof/Be OK
|
||||||
+ Light client - Single merkle proof - minimal/capella/light_client/single_merkle_proof/pysp OK
|
+ Light client - Single merkle proof - minimal/capella/light_client/single_merkle_proof/Beac OK
|
||||||
+ Light client - Single merkle proof - minimal/capella/light_client/single_merkle_proof/pysp OK
|
+ Light client - Single merkle proof - minimal/capella/light_client/single_merkle_proof/Beac OK
|
||||||
+ Light client - Single merkle proof - minimal/capella/light_client/single_merkle_proof/pysp OK
|
+ Light client - Single merkle proof - minimal/capella/light_client/single_merkle_proof/Beac OK
|
||||||
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/advance_finality_witho OK
|
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/advance_finality_witho OK
|
||||||
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/light_client_sync OK
|
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/light_client_sync OK
|
||||||
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/supply_sync_committee_ OK
|
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/supply_sync_committee_ OK
|
||||||
|
@ -349,6 +349,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ Light client - Update ranking - minimal/altair/light_client/update_ranking/pyspec_tests/up OK
|
+ Light client - Update ranking - minimal/altair/light_client/update_ranking/pyspec_tests/up OK
|
||||||
+ Light client - Update ranking - minimal/bellatrix/light_client/update_ranking/pyspec_tests OK
|
+ Light client - Update ranking - minimal/bellatrix/light_client/update_ranking/pyspec_tests OK
|
||||||
+ Light client - Update ranking - minimal/capella/light_client/update_ranking/pyspec_tests/u OK
|
+ Light client - Update ranking - minimal/capella/light_client/update_ranking/pyspec_tests/u OK
|
||||||
|
+ Light client - Update ranking - minimal/eip4844/light_client/update_ranking/pyspec_tests/u OK
|
||||||
+ Slots - double_empty_epoch OK
|
+ Slots - double_empty_epoch OK
|
||||||
+ Slots - empty_epoch OK
|
+ Slots - empty_epoch OK
|
||||||
+ Slots - over_epoch_boundary OK
|
+ Slots - over_epoch_boundary OK
|
||||||
|
@ -356,56 +357,63 @@ ConsensusSpecPreset-minimal
|
||||||
+ Slots - slots_2 OK
|
+ Slots - slots_2 OK
|
||||||
+ Sync - minimal/bellatrix/sync/optimistic/pyspec_tests/from_syncing_to_invalid OK
|
+ Sync - minimal/bellatrix/sync/optimistic/pyspec_tests/from_syncing_to_invalid OK
|
||||||
+ Sync - minimal/capella/sync/optimistic/pyspec_tests/from_syncing_to_invalid OK
|
+ Sync - minimal/capella/sync/optimistic/pyspec_tests/from_syncing_to_invalid OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - double_same_proposer_slashings_same_block [Prese OK
|
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - double_similar_proposer_slashings_same_block [Pr OK
|
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - double_validator_exit_same_block [Preset: minima OK
|
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - duplicate_attester_slashing [Preset: minimal] OK
|
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - expected_deposit_in_block [Preset: minimal] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - expected_deposit_in_block [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_block_sig [Preset: minimal] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_block_sig [Preset: minimal] OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block [ OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: mi OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pre OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propose OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propose OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index [ OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index [ OK
|
||||||
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [P OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_state_root [Preset: minimal] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - invalid_state_root [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - parent_from_same_slot [Preset: minimal] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - parent_from_same_slot [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - prev_slot_block_transition [Preset: minimal] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - prev_slot_block_transition [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - same_slot_block_transition [Preset: minimal] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - same_slot_block_transition [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - slash_and_exit_same_index [Preset: minimal] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - slash_and_exit_same_index [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Altair - Sanity - Blocks - zero_block_sig [Preset: minimal] OK
|
+ [Invalid] EF - Altair - Sanity - Blocks - zero_block_sig [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - double_same_proposer_slashings_same_block [Pr OK
|
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - double_similar_proposer_slashings_same_block OK
|
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - double_validator_exit_same_block [Preset: min OK
|
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - duplicate_attester_slashing [Preset: minimal] OK
|
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - expected_deposit_in_block [Preset: minimal] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - expected_deposit_in_block [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_block_sig [Preset: minimal] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_block_sig [Preset: minimal] OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_duplicate_attester_slashing_same_bloc OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_blo OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [ OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_proposer_index_sig_from_expected_prop OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_proposer_index_sig_from_expected_prop OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_inde OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_inde OK
|
||||||
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_similar_proposer_slashings_same_block OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_state_root [Preset: minimal] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - invalid_state_root [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - parent_from_same_slot [Preset: minimal] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - parent_from_same_slot [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - prev_slot_block_transition [Preset: minimal] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - prev_slot_block_transition [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - same_slot_block_transition [Preset: minimal] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - same_slot_block_transition [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - slash_and_exit_same_index [Preset: minimal] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - slash_and_exit_same_index [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Bellatrix - Sanity - Blocks - zero_block_sig [Preset: minimal] OK
|
+ [Invalid] EF - Bellatrix - Sanity - Blocks - zero_block_sig [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - double_same_proposer_slashings_same_block [Pres OK
|
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - double_similar_proposer_slashings_same_block [P OK
|
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - double_validator_exit_same_block [Preset: minim OK
|
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - duplicate_attester_slashing [Preset: minimal] OK
|
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - expected_deposit_in_block [Preset: minimal] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - expected_deposit_in_block [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_block_sig [Preset: minimal] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_block_sig [Preset: minimal] OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_bls_changes_same_block [Prese OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: m OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pr OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propos OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propos OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [ OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_state_root [Preset: minimal] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_state_root [Preset: minimal] OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - invalid_two_bls_changes_of_different_addresses_ OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - parent_from_same_slot [Preset: minimal] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - parent_from_same_slot [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - prev_slot_block_transition [Preset: minimal] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - prev_slot_block_transition [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - same_slot_block_transition [Preset: minimal] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - same_slot_block_transition [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - slash_and_exit_same_index [Preset: minimal] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - slash_and_exit_same_index [Preset: minimal] OK
|
||||||
|
+ [Invalid] EF - Capella - Sanity - Blocks - withdrawal_fail_second_block_payload_isnt_compa OK
|
||||||
+ [Invalid] EF - Capella - Sanity - Blocks - zero_block_sig [Preset: minimal] OK
|
+ [Invalid] EF - Capella - Sanity - Blocks - zero_block_sig [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - double_same_proposer_slashings_same_block [Pres OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - double_similar_proposer_slashings_same_block [P OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - double_validator_exit_same_block [Preset: minim OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - duplicate_attester_slashing [Preset: minimal] OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - expected_deposit_in_block [Preset: minimal] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - expected_deposit_in_block [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_block_sig [Preset: minimal] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_block_sig [Preset: minimal] OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: m OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pr OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propos OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_proposer_index_sig_from_expected_propos OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_proposer_index_sig_from_proposer_index OK
|
||||||
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [ OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_state_root [Preset: minimal] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_state_root [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - parent_from_same_slot [Preset: minimal] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - parent_from_same_slot [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - prev_slot_block_transition [Preset: minimal] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - prev_slot_block_transition [Preset: minimal] OK
|
||||||
|
@ -439,6 +447,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - balance_driven_status_transitions [Preset: minim OK
|
+ [Valid] EF - Altair - Sanity - Blocks - balance_driven_status_transitions [Preset: minim OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - deposit_in_block [Preset: minimal] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - deposit_in_block [Preset: minimal] OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - deposit_top_up [Preset: minimal] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - deposit_top_up [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - Altair - Sanity - Blocks - duplicate_attestation_same_block [Preset: minima OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - empty_block_transition [Preset: minimal] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - empty_block_transition [Preset: minimal] OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - empty_block_transition_large_validator_set [Pres OK
|
+ [Valid] EF - Altair - Sanity - Blocks - empty_block_transition_large_validator_set [Pres OK
|
||||||
+ [Valid] EF - Altair - Sanity - Blocks - empty_epoch_transition [Preset: minimal] OK
|
+ [Valid] EF - Altair - Sanity - Blocks - empty_epoch_transition [Preset: minimal] OK
|
||||||
|
@ -496,6 +505,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - balance_driven_status_transitions [Preset: mi OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - balance_driven_status_transitions [Preset: mi OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - deposit_in_block [Preset: minimal] OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - deposit_in_block [Preset: minimal] OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - deposit_top_up [Preset: minimal] OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - deposit_top_up [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - duplicate_attestation_same_block [Preset: min OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition [Preset: minimal] OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition [Preset: minimal] OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition_large_validator_set [P OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition_large_validator_set [P OK
|
||||||
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition_no_tx [Preset: minimal OK
|
+ [Valid] EF - Bellatrix - Sanity - Blocks - empty_block_transition_no_tx [Preset: minimal OK
|
||||||
|
@ -556,6 +566,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - balance_driven_status_transitions [Preset: mini OK
|
+ [Valid] EF - Capella - Sanity - Blocks - balance_driven_status_transitions [Preset: mini OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - deposit_in_block [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - deposit_in_block [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - deposit_top_up [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - deposit_top_up [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - Capella - Sanity - Blocks - duplicate_attestation_same_block [Preset: minim OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition_large_validator_set [Pre OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition_large_validator_set [Pre OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition_no_tx [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_block_transition_no_tx [Preset: minimal] OK
|
||||||
|
@ -567,7 +578,6 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - empty_sync_committee_committee_genesis [Preset: OK
|
+ [Valid] EF - Capella - Sanity - Blocks - empty_sync_committee_committee_genesis [Preset: OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - eth1_data_votes_consensus [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - eth1_data_votes_consensus [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - eth1_data_votes_no_consensus [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - eth1_data_votes_no_consensus [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - exit_and_bls_change [Preset: minimal] OK
|
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_0 [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_0 [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_1 [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_1 [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_2 [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - full_random_operations_2 [Preset: minimal] OK
|
||||||
|
@ -593,8 +603,10 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - proposer_slashing [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - proposer_slashing [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - skipped_slots [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - skipped_slots [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - slash_and_exit_diff_index [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - slash_and_exit_diff_index [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - successful_bls_change [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - success_bls_change [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - Capella - Sanity - Blocks - success_exit_and_bls_change [Preset: minimal] OK
|
||||||
+ [Valid] EF - Capella - Sanity - Blocks - voluntary_exit [Preset: minimal] OK
|
+ [Valid] EF - Capella - Sanity - Blocks - voluntary_exit [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - Capella - Sanity - Blocks - withdrawal_success_two_blocks [Preset: minimal] OK
|
||||||
+ [Valid] EF - Phase 0 - Finality - finality_no_updates_at_genesis [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_1 [Preset: minimal] OK
|
||||||
+ [Valid] EF - Phase 0 - Finality - finality_rule_2 [Preset: minimal] OK
|
+ [Valid] EF - Phase 0 - Finality - finality_rule_2 [Preset: minimal] OK
|
||||||
|
@ -621,6 +633,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - balance_driven_status_transitions [Preset: mini OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - balance_driven_status_transitions [Preset: mini OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - deposit_in_block [Preset: minimal] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - deposit_in_block [Preset: minimal] OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - deposit_top_up [Preset: minimal] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - deposit_top_up [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - duplicate_attestation_same_block [Preset: minim OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_block_transition [Preset: minimal] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_block_transition [Preset: minimal] OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_block_transition_large_validator_set [Pre OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_block_transition_large_validator_set [Pre OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_epoch_transition [Preset: minimal] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - empty_epoch_transition [Preset: minimal] OK
|
||||||
|
@ -660,6 +673,13 @@ ConsensusSpecPreset-minimal
|
||||||
+ bellatrix_fork_random_large_validator_set OK
|
+ bellatrix_fork_random_large_validator_set OK
|
||||||
+ bellatrix_fork_random_low_balances OK
|
+ bellatrix_fork_random_low_balances OK
|
||||||
+ bellatrix_fork_random_misc_balances OK
|
+ bellatrix_fork_random_misc_balances OK
|
||||||
|
+ capella_fork_random_0 OK
|
||||||
|
+ capella_fork_random_1 OK
|
||||||
|
+ capella_fork_random_2 OK
|
||||||
|
+ capella_fork_random_3 OK
|
||||||
|
+ capella_fork_random_large_validator_set OK
|
||||||
|
+ capella_fork_random_low_balances OK
|
||||||
|
+ capella_fork_random_misc_balances OK
|
||||||
+ fork_base_state OK
|
+ fork_base_state OK
|
||||||
+ fork_many_next_epoch OK
|
+ fork_many_next_epoch OK
|
||||||
+ fork_next_epoch OK
|
+ fork_next_epoch OK
|
||||||
|
@ -668,7 +688,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ fork_random_low_balances OK
|
+ fork_random_low_balances OK
|
||||||
+ fork_random_misc_balances OK
|
+ fork_random_misc_balances OK
|
||||||
```
|
```
|
||||||
OK: 657/665 Fail: 0/665 Skip: 8/665
|
OK: 677/685 Fail: 0/685 Skip: 8/685
|
||||||
## Attestation
|
## Attestation
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - after_epoch_slots OK
|
+ [Invalid] EF - Altair - Operations - Attestation - after_epoch_slots OK
|
||||||
|
@ -1450,22 +1470,6 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
+ Eth1 data reset - eth1_vote_reset [Preset: minimal] OK
|
+ Eth1 data reset - eth1_vote_reset [Preset: minimal] OK
|
||||||
```
|
```
|
||||||
OK: 2/2 Fail: 0/2 Skip: 0/2
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
||||||
## EF - Capella - Epoch Processing - Full withdrawals [Preset: minimal]
|
|
||||||
```diff
|
|
||||||
+ Full withdrawals - all_withdrawal [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - multi_withdrawal [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - no_withdrawable_validators [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - no_withdrawals_but_some_next_epoch [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - random_withdrawals_0 [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - random_withdrawals_1 [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - random_withdrawals_2 [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - random_withdrawals_3 [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - single_withdrawal [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - withdrawable_epoch_but_0_balance [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - withdrawable_epoch_but_0_effective_balance_0_balance [Preset: minimal] OK
|
|
||||||
+ Full withdrawals - withdrawable_epoch_but_0_effective_balance_nonzero_balance [Preset: min OK
|
|
||||||
```
|
|
||||||
OK: 12/12 Fail: 0/12 Skip: 0/12
|
|
||||||
## EF - Capella - Epoch Processing - Historical roots update [Preset: minimal]
|
## EF - Capella - Epoch Processing - Historical roots update [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
+ Historical roots update - historical_root_accumulator [Preset: minimal] OK
|
+ Historical roots update - historical_root_accumulator [Preset: minimal] OK
|
||||||
|
@ -1508,29 +1512,6 @@ OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||||
+ Justification & Finalization - balance_threshold_with_exited_validators [Preset: minimal] OK
|
+ Justification & Finalization - balance_threshold_with_exited_validators [Preset: minimal] OK
|
||||||
```
|
```
|
||||||
OK: 10/10 Fail: 0/10 Skip: 0/10
|
OK: 10/10 Fail: 0/10 Skip: 0/10
|
||||||
## EF - Capella - Epoch Processing - Partial withdrawals [Preset: minimal]
|
|
||||||
```diff
|
|
||||||
+ Partial withdrawals - random_0 [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - random_1 [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - random_2 [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - random_3 [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - random_4 [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - random_5 [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_excess_balance_but_no_max_effective_balance [Preset: minimal OK
|
|
||||||
+ Partial withdrawals - success_max_partial_withdrawable [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_max_plus_one_withdrawable [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_no_excess_balance [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_no_max_effective_balance [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_no_withdrawable [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_active_and_slashed [Preset: minimal OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_exited [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_exited_and_slashed [Preset: minimal OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_in_exit_queue [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_one_partial_withdrawable_not_yet_active [Preset: minimal] OK
|
|
||||||
+ Partial withdrawals - success_two_partial_withdrawable [Preset: minimal] OK
|
|
||||||
```
|
|
||||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
|
||||||
## EF - Capella - Epoch Processing - Participation flag updates [Preset: minimal]
|
## EF - Capella - Epoch Processing - Participation flag updates [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
+ Participation flag updates - all_zeroed [Preset: minimal] OK
|
+ Participation flag updates - all_zeroed [Preset: minimal] OK
|
||||||
|
@ -2042,22 +2023,59 @@ OK: 72/72 Fail: 0/72 Skip: 0/72
|
||||||
OK: 52/52 Fail: 0/52 Skip: 0/52
|
OK: 52/52 Fail: 0/52 Skip: 0/52
|
||||||
## Withdrawals
|
## Withdrawals
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_a_lot_in_queue_too_few_in_withdra OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_a_lot_fully_withdrawable_too_few_ OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_empty_queue_non_empty_withdrawals OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_a_lot_mixed_withdrawable_in_queue OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_dequeue_address OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_a_lot_partially_withdrawable_too_ OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_dequeue_amount OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_address_full OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_dequeue_index OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_address_partial OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_many_dequeued_incorrectly OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_amount_full OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_max_per_slot_in_queue_one_less_in OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_amount_partial OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_in_queue_none_in_withdrawals OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_incorrect_withdrawal_index OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_in_queue_two_in_withdrawals OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_many_incorrectly_full OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_of_many_dequeued_incorrectly OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_many_incorrectly_partial OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - success_a_lot_in_queue OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_max_per_slot_full_withdrawals_and OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - success_empty_queue OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_max_per_slot_partial_withdrawals_ OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - success_max_per_slot_in_queue OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_non_withdrawable_non_empty_withdr OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_in_queue OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_expected_full_withdrawal_and_ OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_expected_full_withdrawal_and_ OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_expected_partial_withdrawal_a OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_of_many_incorrectly_full OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_one_of_many_incorrectly_partial OK
|
||||||
|
+ [Invalid] EF - Capella - Operations - Withdrawals - fail_two_expected_partial_withdrawal_a OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - all_withdrawal OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - no_withdrawals_but_some_next_epoch OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_0 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_full_withdrawals_0 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_full_withdrawals_1 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_full_withdrawals_2 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_full_withdrawals_3 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_1 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_2 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_3 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_4 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_partial_withdrawals_5 OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_all_fully_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_all_partially_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_excess_balance_but_no_max_effe OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_max_partial_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_max_per_slot OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_max_plus_one_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_no_excess_balance OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_no_max_effective_balance OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_full_withdrawal OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_activ OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_exite OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_exite OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_in_ex OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawable_not_y OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_one_partial_withdrawal OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_two_partial_withdrawable OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - success_zero_expected_withdrawals OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_balance OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
```
|
```
|
||||||
OK: 14/14 Fail: 0/14 Skip: 0/14
|
OK: 51/51 Fail: 0/51 Skip: 0/51
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 1794/1802 Fail: 0/1802 Skip: 8/1802
|
OK: 1820/1828 Fail: 0/1828 Skip: 8/1828
|
||||||
|
|
|
@ -185,7 +185,7 @@ type
|
||||||
# Execution
|
# Execution
|
||||||
latest_execution_payload_header*: bellatrix.ExecutionPayloadHeader # [New in Bellatrix]
|
latest_execution_payload_header*: bellatrix.ExecutionPayloadHeader # [New in Bellatrix]
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#beaconstate
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#beaconstate
|
||||||
# Memory-representation-equivalent to a Capella BeaconState for in-place SSZ
|
# Memory-representation-equivalent to a Capella BeaconState for in-place SSZ
|
||||||
# reading and writing
|
# reading and writing
|
||||||
CapellaBeaconStateNoImmutableValidators* = object
|
CapellaBeaconStateNoImmutableValidators* = object
|
||||||
|
@ -246,6 +246,5 @@ type
|
||||||
latest_execution_payload_header*: capella.ExecutionPayloadHeader
|
latest_execution_payload_header*: capella.ExecutionPayloadHeader
|
||||||
|
|
||||||
# Withdrawals
|
# Withdrawals
|
||||||
withdrawal_queue*: HashList[Withdrawal, WITHDRAWAL_QUEUE_LIMIT] # [New in Capella]
|
|
||||||
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
||||||
next_partial_withdrawal_validator_index*: uint64 # [New in Capella]
|
next_withdrawal_validator_index*: uint64 # [New in Capella]
|
||||||
|
|
|
@ -957,7 +957,7 @@ func upgrade_to_bellatrix*(cfg: RuntimeConfig, pre: altair.BeaconState):
|
||||||
latest_execution_payload_header: default(bellatrix.ExecutionPayloadHeader)
|
latest_execution_payload_header: default(bellatrix.ExecutionPayloadHeader)
|
||||||
)
|
)
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/fork.md#upgrading-the-state
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/fork.md#upgrading-the-state
|
||||||
func upgrade_to_capella*(cfg: RuntimeConfig, pre: bellatrix.BeaconState):
|
func upgrade_to_capella*(cfg: RuntimeConfig, pre: bellatrix.BeaconState):
|
||||||
ref capella.BeaconState =
|
ref capella.BeaconState =
|
||||||
let
|
let
|
||||||
|
@ -1033,9 +1033,8 @@ func upgrade_to_capella*(cfg: RuntimeConfig, pre: bellatrix.BeaconState):
|
||||||
latest_execution_payload_header: latest_execution_payload_header,
|
latest_execution_payload_header: latest_execution_payload_header,
|
||||||
|
|
||||||
# Withdrawals
|
# Withdrawals
|
||||||
withdrawal_queue: HashList[Withdrawal, Limit WITHDRAWAL_QUEUE_LIMIT](),
|
|
||||||
next_withdrawal_index: 0,
|
next_withdrawal_index: 0,
|
||||||
next_partial_withdrawal_validator_index: 0
|
next_withdrawal_validator_index: 0
|
||||||
)
|
)
|
||||||
|
|
||||||
template isValidInState*(idx: ValidatorIndex, state: ForkyBeaconState): bool =
|
template isValidInState*(idx: ValidatorIndex, state: ForkyBeaconState): bool =
|
||||||
|
|
|
@ -77,7 +77,7 @@ export
|
||||||
tables, results, json_serialization, timer, sszTypes, beacon_time, crypto,
|
tables, results, json_serialization, timer, sszTypes, beacon_time, crypto,
|
||||||
digest, presets
|
digest, presets
|
||||||
|
|
||||||
const SPEC_VERSION* = "1.3.0-alpha.0"
|
const SPEC_VERSION* = "1.3.0-alpha.1"
|
||||||
## Spec version we're aiming to be compatible with, right now
|
## Spec version we're aiming to be compatible with, right now
|
||||||
|
|
||||||
const
|
const
|
||||||
|
|
|
@ -150,9 +150,8 @@ type
|
||||||
latest_execution_payload_header*: ExecutionPayloadHeader
|
latest_execution_payload_header*: ExecutionPayloadHeader
|
||||||
|
|
||||||
# Withdrawals
|
# Withdrawals
|
||||||
withdrawal_queue*: HashList[Withdrawal, WITHDRAWAL_QUEUE_LIMIT] # [New in Capella]
|
|
||||||
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
||||||
next_partial_withdrawal_validator_index*: uint64 # [New in Capella]
|
next_withdrawal_validator_index*: uint64 # [New in Capella]
|
||||||
|
|
||||||
# TODO Careful, not nil analysis is broken / incomplete and the semantics will
|
# TODO Careful, not nil analysis is broken / incomplete and the semantics will
|
||||||
# likely change in future versions of the language:
|
# likely change in future versions of the language:
|
||||||
|
|
|
@ -1,18 +1,6 @@
|
||||||
# Mainnet preset - Capella
|
# Mainnet preset - Capella
|
||||||
# https://github.com/ethereum/consensus-specs/blob/86e2f8fd7de25a7478c240f0cf5ba3c5264e96bf/presets/mainnet/capella.yaml
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/presets/mainnet/capella.yaml
|
||||||
const
|
const
|
||||||
# Misc
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 2**8 (= 256) withdrawals
|
|
||||||
MAX_PARTIAL_WITHDRAWALS_PER_EPOCH* = 256
|
|
||||||
|
|
||||||
|
|
||||||
# State list lengths
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 2**40 (= 1,099,511,627,776) withdrawals
|
|
||||||
WITHDRAWAL_QUEUE_LIMIT* = 1099511627776
|
|
||||||
|
|
||||||
|
|
||||||
# Max operations per block
|
# Max operations per block
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# 2**4 (= 16)
|
# 2**4 (= 16)
|
||||||
|
|
|
@ -1,18 +1,6 @@
|
||||||
# Minimal preset - Capella
|
# Minimal preset - Capella
|
||||||
# https://github.com/ethereum/consensus-specs/blob/86e2f8fd7de25a7478c240f0cf5ba3c5264e96bf/presets/minimal/capella.yaml
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/presets/minimal/capella.yaml
|
||||||
const
|
const
|
||||||
# Misc
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# # [customized] 16 for more interesting tests at low validator count
|
|
||||||
MAX_PARTIAL_WITHDRAWALS_PER_EPOCH* = 16
|
|
||||||
|
|
||||||
|
|
||||||
# State list lengths
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 2**40 (= 1,099,511,627,776) withdrawals
|
|
||||||
WITHDRAWAL_QUEUE_LIMIT* = 1099511627776
|
|
||||||
|
|
||||||
|
|
||||||
# Max operations per block
|
# Max operations per block
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# 2**4 (= 16)
|
# 2**4 (= 16)
|
||||||
|
@ -21,6 +9,5 @@ const
|
||||||
|
|
||||||
# Execution
|
# Execution
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# [customized] Lower than MAX_PARTIAL_WITHDRAWALS_PER_EPOCH so not all
|
# [customized] 2**2 (= 4)
|
||||||
# processed in one block
|
MAX_WITHDRAWALS_PER_PAYLOAD* = 4
|
||||||
MAX_WITHDRAWALS_PER_PAYLOAD* = 8
|
|
||||||
|
|
|
@ -30,7 +30,8 @@ import
|
||||||
"."/[beaconstate, eth2_merkleization, helpers, validator, signatures]
|
"."/[beaconstate, eth2_merkleization, helpers, validator, signatures]
|
||||||
|
|
||||||
from ./datatypes/capella import
|
from ./datatypes/capella import
|
||||||
BeaconState, MAX_WITHDRAWALS_PER_PAYLOAD, SignedBLSToExecutionChange
|
BeaconState, MAX_WITHDRAWALS_PER_PAYLOAD, SignedBLSToExecutionChange,
|
||||||
|
Withdrawal
|
||||||
|
|
||||||
export extras, phase0, altair
|
export extras, phase0, altair
|
||||||
|
|
||||||
|
@ -619,26 +620,84 @@ proc process_execution_payload*(
|
||||||
|
|
||||||
ok()
|
ok()
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#new-process_withdrawals
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#has_eth1_withdrawal_credential
|
||||||
|
func has_eth1_withdrawal_credential(validator: Validator): bool =
|
||||||
|
## Check if ``validator`` has an 0x01 prefixed "eth1" withdrawal credential.
|
||||||
|
validator.withdrawal_credentials.data[0] == ETH1_ADDRESS_WITHDRAWAL_PREFIX
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#is_fully_withdrawable_validator
|
||||||
|
func is_fully_withdrawable_validator(
|
||||||
|
validator: Validator, balance: Gwei, epoch: Epoch): bool =
|
||||||
|
## Check if ``validator`` is fully withdrawable.
|
||||||
|
has_eth1_withdrawal_credential(validator) and
|
||||||
|
validator.withdrawable_epoch <= epoch and balance > 0
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#is_partially_withdrawable_validator
|
||||||
|
func is_partially_withdrawable_validator(
|
||||||
|
validator: Validator, balance: Gwei): bool =
|
||||||
|
## Check if ``validator`` is partially withdrawable.
|
||||||
|
let
|
||||||
|
has_max_effective_balance =
|
||||||
|
validator.effective_balance == MAX_EFFECTIVE_BALANCE
|
||||||
|
has_excess_balance = balance > MAX_EFFECTIVE_BALANCE
|
||||||
|
has_eth1_withdrawal_credential(validator) and
|
||||||
|
has_max_effective_balance and has_excess_balance
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#new-get_expected_withdrawals
|
||||||
|
func get_expected_withdrawals(state: capella.BeaconState): seq[Withdrawal] =
|
||||||
|
let epoch = get_current_epoch(state)
|
||||||
|
var
|
||||||
|
withdrawal_index = state.next_withdrawal_index
|
||||||
|
validator_index = state.next_withdrawal_validator_index
|
||||||
|
withdrawals: seq[Withdrawal] = @[]
|
||||||
|
for _ in 0 ..< len(state.validators):
|
||||||
|
let
|
||||||
|
validator = state.validators[validator_index]
|
||||||
|
balance = state.balances[validator_index]
|
||||||
|
if is_fully_withdrawable_validator(validator, balance, epoch):
|
||||||
|
var w = Withdrawal(
|
||||||
|
index: withdrawal_index,
|
||||||
|
validator_index: validator_index,
|
||||||
|
amount: balance)
|
||||||
|
w.address.data[0..19] = validator.withdrawal_credentials.data[12..^1]
|
||||||
|
withdrawals.add w
|
||||||
|
withdrawal_index = WithdrawalIndex(withdrawal_index + 1)
|
||||||
|
elif is_partially_withdrawable_validator(validator, balance):
|
||||||
|
var w = Withdrawal(
|
||||||
|
index: withdrawal_index,
|
||||||
|
validator_index: validator_index,
|
||||||
|
amount: balance - MAX_EFFECTIVE_BALANCE)
|
||||||
|
w.address.data[0..19] = validator.withdrawal_credentials.data[12..^1]
|
||||||
|
withdrawals.add w
|
||||||
|
withdrawal_index = WithdrawalIndex(withdrawal_index + 1)
|
||||||
|
if len(withdrawals) == MAX_WITHDRAWALS_PER_PAYLOAD:
|
||||||
|
break
|
||||||
|
validator_index = (validator_index + 1) mod lenu64(state.validators)
|
||||||
|
withdrawals
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#new-process_withdrawals
|
||||||
func process_withdrawals*(
|
func process_withdrawals*(
|
||||||
state: var capella.BeaconState, payload: capella.ExecutionPayload):
|
state: var capella.BeaconState, payload: capella.ExecutionPayload):
|
||||||
Result[void, cstring] =
|
Result[void, cstring] =
|
||||||
let
|
let expected_withdrawals = get_expected_withdrawals(state)
|
||||||
num_withdrawals =
|
|
||||||
min(MAX_WITHDRAWALS_PER_PAYLOAD, len(state.withdrawal_queue))
|
|
||||||
dequeued_withdrawals = state.withdrawal_queue.asSeq[0 ..< num_withdrawals]
|
|
||||||
|
|
||||||
if not (len(dequeued_withdrawals) == len(payload.withdrawals)):
|
if not (len(payload.withdrawals) == len(expected_withdrawals)):
|
||||||
return err("process_withdrawals: different numbers of dequeued and payload withdrawals")
|
return err("process_withdrawals: different numbers of payload and expected withdrawals")
|
||||||
|
|
||||||
for i in 0 ..< len(dequeued_withdrawals):
|
for i in 0 ..< len(expected_withdrawals):
|
||||||
if not (dequeued_withdrawals[i] == payload.withdrawals[i]):
|
if expected_withdrawals[i] != payload.withdrawals[i]:
|
||||||
return err("process_withdrawals: mismatched queued and payload withdrawals")
|
return err("process_withdrawals: mismatched expected and payload withdrawal")
|
||||||
|
let validator_index =
|
||||||
# Remove dequeued withdrawals from state
|
ValidatorIndex.init(expected_withdrawals[i].validator_index).valueOr:
|
||||||
if num_withdrawals > 0:
|
return err("process_withdrawals: invalid validator index")
|
||||||
state.withdrawal_queue.asSeq.delete(0, num_withdrawals - 1)
|
decrease_balance(
|
||||||
state.withdrawal_queue.resetCache()
|
state, validator_index, expected_withdrawals[i].amount)
|
||||||
|
if len(expected_withdrawals) > 0:
|
||||||
|
let latest_withdrawal = expected_withdrawals[^1]
|
||||||
|
state.next_withdrawal_index = WithdrawalIndex(latest_withdrawal.index + 1)
|
||||||
|
let next_validator_index =
|
||||||
|
(latest_withdrawal.validator_index + 1) mod lenu64(state.validators)
|
||||||
|
state.next_withdrawal_validator_index = next_validator_index
|
||||||
|
|
||||||
ok()
|
ok()
|
||||||
|
|
||||||
|
|
|
@ -1046,83 +1046,6 @@ func process_inactivity_updates*(
|
||||||
if pre_inactivity_score != inactivity_score:
|
if pre_inactivity_score != inactivity_score:
|
||||||
state.inactivity_scores[index] = inactivity_score
|
state.inactivity_scores[index] = inactivity_score
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#has_eth1_withdrawal_credential
|
|
||||||
func has_eth1_withdrawal_credential(validator: Validator): bool =
|
|
||||||
## Check if ``validator`` has an 0x01 prefixed "eth1" withdrawal credential.
|
|
||||||
validator.withdrawal_credentials.data[0] == ETH1_ADDRESS_WITHDRAWAL_PREFIX
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#is_fully_withdrawable_validator
|
|
||||||
func is_fully_withdrawable_validator(
|
|
||||||
validator: Validator, balance: Gwei, epoch: Epoch): bool =
|
|
||||||
## Check if ``validator`` is fully withdrawable.
|
|
||||||
has_eth1_withdrawal_credential(validator) and
|
|
||||||
validator.withdrawable_epoch <= epoch and balance > 0
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#is_partially_withdrawable_validator
|
|
||||||
func is_partially_withdrawable_validator(
|
|
||||||
validator: Validator, balance: Gwei): bool =
|
|
||||||
## Check if ``validator`` is partially withdrawable.
|
|
||||||
let
|
|
||||||
has_max_effective_balance =
|
|
||||||
validator.effective_balance == MAX_EFFECTIVE_BALANCE
|
|
||||||
has_excess_balance = balance > MAX_EFFECTIVE_BALANCE
|
|
||||||
has_eth1_withdrawal_credential(validator) and
|
|
||||||
has_max_effective_balance and has_excess_balance
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#withdraw_balance
|
|
||||||
func withdraw_balance(
|
|
||||||
state: var capella.BeaconState, validator_index: ValidatorIndex,
|
|
||||||
amount: Gwei) =
|
|
||||||
# Decrease the validator's balance
|
|
||||||
decrease_balance(state, validator_index, amount)
|
|
||||||
|
|
||||||
# Create a corresponding withdrawal receipt
|
|
||||||
var withdrawal = Withdrawal(
|
|
||||||
index: state.next_withdrawal_index,
|
|
||||||
validator_index: validator_index.uint64,
|
|
||||||
amount: amount)
|
|
||||||
withdrawal.address.data[0 .. 19] =
|
|
||||||
state.validators.item(
|
|
||||||
validator_index).withdrawal_credentials.data.toOpenArray(12, 31)
|
|
||||||
state.next_withdrawal_index = WithdrawalIndex(state.next_withdrawal_index + 1)
|
|
||||||
#TODO TODO don't just discard, check if full
|
|
||||||
discard state.withdrawal_queue.add(withdrawal)
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#full-withdrawals
|
|
||||||
func process_full_withdrawals*(state: var capella.BeaconState) =
|
|
||||||
let current_epoch = get_current_epoch(state)
|
|
||||||
for index in 0 ..< len(state.validators):
|
|
||||||
let
|
|
||||||
balance = state.balances.item(index)
|
|
||||||
validator = state.validators.item(index)
|
|
||||||
if is_fully_withdrawable_validator(validator, balance, current_epoch):
|
|
||||||
withdraw_balance(state, ValidatorIndex(index), balance)
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#partial-withdrawals
|
|
||||||
func process_partial_withdrawals*(state: var capella.BeaconState) =
|
|
||||||
var partial_withdrawals_count = 0
|
|
||||||
|
|
||||||
# Begin where we left off last time
|
|
||||||
var validator_index = state.next_partial_withdrawal_validator_index
|
|
||||||
|
|
||||||
for _ in 0 ..< len(state.validators):
|
|
||||||
let
|
|
||||||
balance = state.balances.item(validator_index)
|
|
||||||
validator = state.validators.item(validator_index)
|
|
||||||
if is_partially_withdrawable_validator(validator, balance):
|
|
||||||
withdraw_balance(
|
|
||||||
state, validator_index.ValidatorIndex, balance - MAX_EFFECTIVE_BALANCE)
|
|
||||||
partial_withdrawals_count += 1
|
|
||||||
|
|
||||||
# Iterate to next validator to check for partial withdrawal
|
|
||||||
validator_index = (validator_index + 1) mod lenu64(state.validators)
|
|
||||||
|
|
||||||
# Exit if performed maximum allowable withdrawals
|
|
||||||
if partial_withdrawals_count == MAX_PARTIAL_WITHDRAWALS_PER_EPOCH:
|
|
||||||
break
|
|
||||||
|
|
||||||
state.next_partial_withdrawal_validator_index = validator_index
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/phase0/beacon-chain.md#epoch-processing
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/phase0/beacon-chain.md#epoch-processing
|
||||||
proc process_epoch*(
|
proc process_epoch*(
|
||||||
cfg: RuntimeConfig, state: var phase0.BeaconState, flags: UpdateFlags,
|
cfg: RuntimeConfig, state: var phase0.BeaconState, flags: UpdateFlags,
|
||||||
|
@ -1182,7 +1105,8 @@ func init*(
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/altair/beacon-chain.md#epoch-processing
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/altair/beacon-chain.md#epoch-processing
|
||||||
proc process_epoch*(
|
proc process_epoch*(
|
||||||
cfg: RuntimeConfig, state: var (altair.BeaconState | bellatrix.BeaconState),
|
cfg: RuntimeConfig,
|
||||||
|
state: var (altair.BeaconState | bellatrix.BeaconState | capella.BeaconState),
|
||||||
flags: UpdateFlags, cache: var StateCache, info: var altair.EpochInfo):
|
flags: UpdateFlags, cache: var StateCache, info: var altair.EpochInfo):
|
||||||
Result[void, cstring] =
|
Result[void, cstring] =
|
||||||
let currentEpoch = get_current_epoch(state)
|
let currentEpoch = get_current_epoch(state)
|
||||||
|
@ -1224,51 +1148,3 @@ proc process_epoch*(
|
||||||
process_sync_committee_updates(state) # [New in Altair]
|
process_sync_committee_updates(state) # [New in Altair]
|
||||||
|
|
||||||
ok()
|
ok()
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/capella/beacon-chain.md#epoch-processing
|
|
||||||
proc process_epoch*(
|
|
||||||
cfg: RuntimeConfig, state: var capella.BeaconState,
|
|
||||||
flags: UpdateFlags, cache: var StateCache, info: var altair.EpochInfo):
|
|
||||||
Result[void, cstring] =
|
|
||||||
let currentEpoch = get_current_epoch(state)
|
|
||||||
trace "process_epoch",
|
|
||||||
current_epoch = currentEpoch
|
|
||||||
|
|
||||||
info.init(state)
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/phase0/beacon-chain.md#justification-and-finalization
|
|
||||||
process_justification_and_finalization(state, info.balances, flags)
|
|
||||||
|
|
||||||
# state.slot hasn't been incremented yet.
|
|
||||||
if strictVerification in flags and currentEpoch >= 2:
|
|
||||||
doAssert state.current_justified_checkpoint.epoch + 2 >= currentEpoch
|
|
||||||
|
|
||||||
if strictVerification in flags and currentEpoch >= 3:
|
|
||||||
# Rule 2/3/4 finalization results in the most pessimal case. The other
|
|
||||||
# three finalization rules finalize more quickly as long as the any of
|
|
||||||
# the finalization rules triggered.
|
|
||||||
doAssert state.finalized_checkpoint.epoch + 3 >= currentEpoch
|
|
||||||
|
|
||||||
process_inactivity_updates(cfg, state, info) # [New in Altair]
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/phase0/beacon-chain.md#process_rewards_and_penalties
|
|
||||||
process_rewards_and_penalties(cfg, state, info)
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/phase0/beacon-chain.md#registry-updates
|
|
||||||
? process_registry_updates(cfg, state, cache)
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.0/specs/phase0/beacon-chain.md#slashings
|
|
||||||
process_slashings(state, info.balances.current_epoch)
|
|
||||||
|
|
||||||
process_eth1_data_reset(state)
|
|
||||||
process_effective_balance_updates(state)
|
|
||||||
process_slashings_reset(state)
|
|
||||||
process_randao_mixes_reset(state)
|
|
||||||
process_historical_roots_update(state)
|
|
||||||
process_participation_flag_updates(state)
|
|
||||||
process_sync_committee_updates(state)
|
|
||||||
|
|
||||||
process_full_withdrawals(state) # [New in Capella]
|
|
||||||
process_partial_withdrawals(state) # [New in Capella]
|
|
||||||
|
|
||||||
ok()
|
|
||||||
|
|
|
@ -38,8 +38,6 @@ const
|
||||||
HistoricalRootsUpdateDir = RootDir/"historical_roots_update"
|
HistoricalRootsUpdateDir = RootDir/"historical_roots_update"
|
||||||
ParticipationFlagDir = RootDir/"participation_flag_updates"
|
ParticipationFlagDir = RootDir/"participation_flag_updates"
|
||||||
SyncCommitteeDir = RootDir/"sync_committee_updates"
|
SyncCommitteeDir = RootDir/"sync_committee_updates"
|
||||||
FullWithdrawalsDir = RootDir/"full_withdrawals"
|
|
||||||
PartialWithdrawalsDir = RootDir/"partial_withdrawals"
|
|
||||||
RewardsAndPenaltiesDir = RootDir/"rewards_and_penalties"
|
RewardsAndPenaltiesDir = RootDir/"rewards_and_penalties"
|
||||||
|
|
||||||
doAssert (toHashSet(mapIt(toSeq(walkDir(RootDir, relative = false)), it.path)) -
|
doAssert (toHashSet(mapIt(toSeq(walkDir(RootDir, relative = false)), it.path)) -
|
||||||
|
@ -48,8 +46,7 @@ doAssert (toHashSet(mapIt(toSeq(walkDir(RootDir, relative = false)), it.path)) -
|
||||||
JustificationFinalizationDir, InactivityDir, RegistryUpdatesDir,
|
JustificationFinalizationDir, InactivityDir, RegistryUpdatesDir,
|
||||||
SlashingsDir, Eth1DataResetDir, EffectiveBalanceUpdatesDir,
|
SlashingsDir, Eth1DataResetDir, EffectiveBalanceUpdatesDir,
|
||||||
SlashingsResetDir, RandaoMixesResetDir, HistoricalRootsUpdateDir,
|
SlashingsResetDir, RandaoMixesResetDir, HistoricalRootsUpdateDir,
|
||||||
ParticipationFlagDir, FullWithDrawalsDir,
|
ParticipationFlagDir, RewardsAndPenaltiesDir])
|
||||||
PartialWithdrawalsDir, RewardsAndPenaltiesDir])
|
|
||||||
|
|
||||||
template runSuite(
|
template runSuite(
|
||||||
suiteDir, testName: string, transitionProc: untyped): untyped =
|
suiteDir, testName: string, transitionProc: untyped): untyped =
|
||||||
|
@ -154,15 +151,3 @@ when const_preset == "minimal":
|
||||||
Result[void, cstring].ok()
|
Result[void, cstring].ok()
|
||||||
else:
|
else:
|
||||||
doAssert not dirExists(SyncCommitteeDir)
|
doAssert not dirExists(SyncCommitteeDir)
|
||||||
|
|
||||||
# Full withdrawals
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
runSuite(FullWithdrawalsDir, "Full withdrawals"):
|
|
||||||
process_full_withdrawals(state)
|
|
||||||
Result[void, cstring].ok()
|
|
||||||
|
|
||||||
# Partial withdrawals
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
runSuite(PartialWithdrawalsDir, "Partial withdrawals"):
|
|
||||||
process_partial_withdrawals(state)
|
|
||||||
Result[void, cstring].ok()
|
|
||||||
|
|
|
@ -403,6 +403,10 @@ template fcSuite(suiteName: static[string], testPathElem: static[string]) =
|
||||||
if kind != pcDir or not dirExists(testsPath):
|
if kind != pcDir or not dirExists(testsPath):
|
||||||
continue
|
continue
|
||||||
let fork = forkForPathComponent(path).valueOr:
|
let fork = forkForPathComponent(path).valueOr:
|
||||||
|
if path.contains("eip4844"):
|
||||||
|
# TODO can either wait if/when 4844 is incorporated into capella or
|
||||||
|
# add it as next fork even not as part of 4844
|
||||||
|
continue
|
||||||
raiseAssert "Unknown test fork: " & testsPath
|
raiseAssert "Unknown test fork: " & testsPath
|
||||||
for kind, path in walkDir(testsPath, relative = true, checkDir = true):
|
for kind, path in walkDir(testsPath, relative = true, checkDir = true):
|
||||||
let basePath = testsPath/path/"pyspec_tests"
|
let basePath = testsPath/path/"pyspec_tests"
|
||||||
|
|
|
@ -37,7 +37,7 @@ proc runTest(path: string, fork: BeaconStateFork) =
|
||||||
yaml.load(s, res)
|
yaml.load(s, res)
|
||||||
res
|
res
|
||||||
|
|
||||||
state = loadForkedState(path/"state.ssz_snappy", fork)
|
state = loadForkedState(path/"object.ssz_snappy", fork)
|
||||||
|
|
||||||
withState(state[]):
|
withState(state[]):
|
||||||
var computedProof = newSeq[Eth2Digest](log2trunc(proof.leaf_index))
|
var computedProof = newSeq[Eth2Digest](log2trunc(proof.leaf_index))
|
||||||
|
@ -52,6 +52,8 @@ proc runTest(path: string, fork: BeaconStateFork) =
|
||||||
get_subtree_index(proof.leaf_index),
|
get_subtree_index(proof.leaf_index),
|
||||||
forkyState.root)
|
forkyState.root)
|
||||||
|
|
||||||
|
from std/strutils import contains
|
||||||
|
|
||||||
suite "EF - Light client - Single merkle proof" & preset():
|
suite "EF - Light client - Single merkle proof" & preset():
|
||||||
const presetPath = SszTestsDir/const_preset
|
const presetPath = SszTestsDir/const_preset
|
||||||
for kind, path in walkDir(presetPath, relative = true, checkDir = true):
|
for kind, path in walkDir(presetPath, relative = true, checkDir = true):
|
||||||
|
@ -60,7 +62,10 @@ suite "EF - Light client - Single merkle proof" & preset():
|
||||||
continue
|
continue
|
||||||
let
|
let
|
||||||
fork = forkForPathComponent(path).valueOr:
|
fork = forkForPathComponent(path).valueOr:
|
||||||
|
if path.contains("eip4844"):
|
||||||
|
# not yet supported, might be folded into capella first regardless
|
||||||
|
continue
|
||||||
raiseAssert "Unknown test fork: " & testsPath
|
raiseAssert "Unknown test fork: " & testsPath
|
||||||
basePath = testsPath/"pyspec_tests"
|
basePath = testsPath/"BeaconState"
|
||||||
for kind, path in walkDir(basePath, relative = true, checkDir = true):
|
for kind, path in walkDir(basePath, relative = true, checkDir = true):
|
||||||
runTest(basePath/path, fork)
|
runTest(basePath/path, fork)
|
||||||
|
|
|
@ -54,11 +54,11 @@ proc loadSteps(path: string): seq[TestStep] =
|
||||||
finalized_slot:
|
finalized_slot:
|
||||||
c["finalized_header"]["slot"].getInt().Slot,
|
c["finalized_header"]["slot"].getInt().Slot,
|
||||||
finalized_root:
|
finalized_root:
|
||||||
Eth2Digest.fromHex(c["finalized_header"]["root"].getStr()),
|
Eth2Digest.fromHex(c["finalized_header"]["beacon_root"].getStr()),
|
||||||
optimistic_slot:
|
optimistic_slot:
|
||||||
c["optimistic_header"]["slot"].getInt().Slot,
|
c["optimistic_header"]["slot"].getInt().Slot,
|
||||||
optimistic_root:
|
optimistic_root:
|
||||||
Eth2Digest.fromHex(c["optimistic_header"]["root"].getStr()))
|
Eth2Digest.fromHex(c["optimistic_header"]["beacon_root"].getStr()))
|
||||||
|
|
||||||
if step.hasKey"force_update":
|
if step.hasKey"force_update":
|
||||||
let s = step["force_update"]
|
let s = step["force_update"]
|
||||||
|
@ -116,9 +116,14 @@ proc runTest(path: string) =
|
||||||
store.optimistic_header.slot == step.checks.optimistic_slot
|
store.optimistic_header.slot == step.checks.optimistic_slot
|
||||||
hash_tree_root(store.optimistic_header) == step.checks.optimistic_root
|
hash_tree_root(store.optimistic_header) == step.checks.optimistic_root
|
||||||
|
|
||||||
|
from std/strutils import contains
|
||||||
|
|
||||||
suite "EF - Light client - Sync" & preset():
|
suite "EF - Light client - Sync" & preset():
|
||||||
const presetPath = SszTestsDir/const_preset
|
const presetPath = SszTestsDir/const_preset
|
||||||
for kind, path in walkDir(presetPath, relative = true, checkDir = true):
|
for kind, path in walkDir(presetPath, relative = true, checkDir = true):
|
||||||
|
if path.contains("eip4844"):
|
||||||
|
# this is a maybe temporary fork, maybe folded into capella soon
|
||||||
|
continue
|
||||||
let basePath =
|
let basePath =
|
||||||
presetPath/path/"light_client"/"sync"/"pyspec_tests"
|
presetPath/path/"light_client"/"sync"/"pyspec_tests"
|
||||||
if kind != pcDir or not dirExists(basePath):
|
if kind != pcDir or not dirExists(basePath):
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8bea46a757c119f3ea98d99ab779ba8c67ff598c
|
Subproject commit 9706d8ebb1dbbb2939f100fc189a5c853bbffe06
|
Loading…
Reference in New Issue