use v1.4.0-beta.0 consensus spec test vectors (#5120)
This commit is contained in:
parent
b62664915e
commit
9dbf63d8ca
|
@ -739,6 +739,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - historical_batch [Preset: mainnet] OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - historical_batch [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_full_participation_leaking [Pre OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_full_participation_leaking [Pre OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_leaking [Preset: mainnet] OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_leaking [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - Deneb - Sanity - Blocks - include_attestation_from_previous_fork_with_new_r OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [Pre OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [Pre OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - max_blobs_per_block [Preset: mainnet] OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - max_blobs_per_block [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: m OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: m OK
|
||||||
|
@ -809,10 +810,10 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - slash_and_exit_diff_index [Preset: mainnet] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - slash_and_exit_diff_index [Preset: mainnet] OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - voluntary_exit [Preset: mainnet] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - voluntary_exit [Preset: mainnet] OK
|
||||||
```
|
```
|
||||||
OK: 798/806 Fail: 0/806 Skip: 8/806
|
OK: 799/807 Fail: 0/807 Skip: 8/807
|
||||||
## Attestation
|
## Attestation
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -822,7 +823,7 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_empty_participants_zeroes_sig OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_empty_participants_zeroes_sig OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_future_target_epoch OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_future_target_epoch OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_head_and_target_inclu OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_head_and_target_inclu OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_head_included_after_e OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_head_included_after_m OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_target_included_after OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_target_included_after OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_index OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_index OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_mismatched_target_and_slot OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_mismatched_target_and_slot OK
|
||||||
|
@ -836,7 +837,7 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_committee_signa OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_committee_signa OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -860,7 +861,7 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_committee_si OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_committee_si OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -884,7 +885,7 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_committee_sign OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_committee_sign OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -894,7 +895,7 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_empty_participants_zeroes_sig OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_empty_participants_zeroes_sig OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_future_target_epoch OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_future_target_epoch OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_head_and_target_includ OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_head_and_target_includ OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_head_included_after_ep OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_head_included_after_ma OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_target_included_after_ OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_target_included_after_ OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_index OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_index OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_mismatched_target_and_slot OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_mismatched_target_and_slot OK
|
||||||
|
@ -908,7 +909,7 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_committee_signat OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_committee_signat OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -932,13 +933,15 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_committee_sign OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_committee_sign OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
|
+ [Valid] EF - Altair - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_max_inc OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_min_inc OK
|
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_min_inc OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_one_epo OK
|
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_one_epo OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_sqrt_ep OK
|
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_sqrt_ep OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_included_at_e OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_included_at_e OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_included_at_s OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_included_at_s OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_min_inclusion OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_min_inclusion OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_epoch_delay OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_max_inclusio OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_min_inclusio OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_min_inclusio OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_d OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_d OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_target_included_at_epoch_dela OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_target_included_at_epoch_dela OK
|
||||||
|
@ -947,13 +950,15 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - multi_proposer_index_iterations OK
|
+ [Valid] EF - Altair - Operations - Attestation - multi_proposer_index_iterations OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Altair - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Altair - Operations - Attestation - previous_epoch OK
|
||||||
|
+ [Valid] EF - Bellatrix - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_max_ OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_min_ OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_min_ OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_one_ OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_one_ OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_sqrt OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_sqrt OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_included_a OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_included_a OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_included_a OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_included_a OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_min_inclus OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_min_inclus OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_epoch_del OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_max_inclu OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_min_inclu OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_min_inclu OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_sqrt_epoc OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_sqrt_epoc OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_target_included_at_epoch_d OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_target_included_at_epoch_d OK
|
||||||
|
@ -962,13 +967,15 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - multi_proposer_index_iterations OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - multi_proposer_index_iterations OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - previous_epoch OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_max_in OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_min_in OK
|
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_min_in OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_one_ep OK
|
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_one_ep OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_sqrt_e OK
|
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_sqrt_e OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_min_inclusio OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_min_inclusio OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_epoch_delay OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_max_inclusi OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_min_inclusi OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_min_inclusi OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_ OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_ OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_target_included_at_epoch_del OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_target_included_at_epoch_del OK
|
||||||
|
@ -977,13 +984,15 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - multi_proposer_index_iterations OK
|
+ [Valid] EF - Capella - Operations - Attestation - multi_proposer_index_iterations OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Capella - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Capella - Operations - Attestation - previous_epoch OK
|
||||||
|
+ [Valid] EF - Deneb - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_max_incl OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_min_incl OK
|
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_min_incl OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_one_epoc OK
|
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_one_epoc OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_sqrt_epo OK
|
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_sqrt_epo OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_included_at_ep OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_included_at_ep OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_included_at_sq OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_included_at_sq OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_min_inclusion_ OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_min_inclusion_ OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_epoch_delay OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_max_inclusion OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_min_inclusion OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_min_inclusion OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_de OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_de OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_target_included_at_epoch_delay OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_target_included_at_epoch_delay OK
|
||||||
|
@ -992,13 +1001,15 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - multi_proposer_index_iterations OK
|
+ [Valid] EF - Deneb - Operations - Attestation - multi_proposer_index_iterations OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Deneb - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Deneb - Operations - Attestation - previous_epoch OK
|
||||||
|
+ [Valid] EF - Phase 0 - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_max_in OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_min_in OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_min_in OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_one_ep OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_one_ep OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_sqrt_e OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_sqrt_e OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_min_inclusio OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_min_inclusio OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_epoch_delay OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_max_inclusi OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_min_inclusi OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_min_inclusi OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_ OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_ OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_target_included_at_epoch_del OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_target_included_at_epoch_del OK
|
||||||
|
@ -1008,7 +1019,7 @@ OK: 798/806 Fail: 0/806 Skip: 8/806
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - previous_epoch OK
|
||||||
```
|
```
|
||||||
OK: 195/195 Fail: 0/195 Skip: 0/195
|
OK: 205/205 Fail: 0/205 Skip: 0/205
|
||||||
## Attester Slashing
|
## Attester Slashing
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Attester Slashing - invalid_all_empty_indices OK
|
+ [Invalid] EF - Altair - Operations - Attester Slashing - invalid_all_empty_indices OK
|
||||||
|
@ -2472,9 +2483,9 @@ OK: 104/104 Fail: 0/104 Skip: 0/104
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_validator_not_active OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_validator_not_active OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_validator_not_active_long_eno OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_validator_not_active_long_eno OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_current_f OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_current_f OK
|
||||||
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_current_f OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_genesis_f OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_genesis_f OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_genesis_f OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_genesis_f OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_previous_ OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_incorrect_signature OK
|
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_incorrect_signature OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_validator_already_exited OK
|
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_validator_already_exited OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_validator_exit_in_future OK
|
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_validator_exit_in_future OK
|
||||||
|
@ -2497,7 +2508,7 @@ OK: 104/104 Fail: 0/104 Skip: 0/104
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - basic OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - basic OK
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - default_exit_epoch_subsequent_exit OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - default_exit_epoch_subsequent_exit OK
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - success_exit_queue__min_churn OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - success_exit_queue__min_churn OK
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - voluntary_exit_with_current_fork_vers OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - voluntary_exit_with_previous_fork_ver OK
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - voluntary_exit_with_previous_fork_ver OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - voluntary_exit_with_previous_fork_ver OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Voluntary Exit - basic OK
|
+ [Valid] EF - Phase 0 - Operations - Voluntary Exit - basic OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Voluntary Exit - default_exit_epoch_subsequent_exit OK
|
+ [Valid] EF - Phase 0 - Operations - Voluntary Exit - default_exit_epoch_subsequent_exit OK
|
||||||
|
@ -2610,4 +2621,4 @@ OK: 63/63 Fail: 0/63 Skip: 0/63
|
||||||
OK: 100/100 Fail: 0/100 Skip: 0/100
|
OK: 100/100 Fail: 0/100 Skip: 0/100
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 2308/2316 Fail: 0/2316 Skip: 8/2316
|
OK: 2319/2327 Fail: 0/2327 Skip: 8/2327
|
||||||
|
|
|
@ -927,6 +927,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - historical_batch [Preset: minimal] OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - historical_batch [Preset: minimal] OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_full_participation_leaking [Pre OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_full_participation_leaking [Pre OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_leaking [Preset: minimal] OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - inactivity_scores_leaking [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - Deneb - Sanity - Blocks - include_attestation_from_previous_fork_with_new_r OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [Pre OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [Pre OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - max_blobs_per_block [Preset: minimal] OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - max_blobs_per_block [Preset: minimal] OK
|
||||||
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: m OK
|
+ [Valid] EF - Deneb - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: m OK
|
||||||
|
@ -1002,10 +1003,10 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - slash_and_exit_diff_index [Preset: minimal] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - slash_and_exit_diff_index [Preset: minimal] OK
|
||||||
+ [Valid] EF - Phase 0 - Sanity - Blocks - voluntary_exit [Preset: minimal] OK
|
+ [Valid] EF - Phase 0 - Sanity - Blocks - voluntary_exit [Preset: minimal] OK
|
||||||
```
|
```
|
||||||
OK: 991/999 Fail: 0/999 Skip: 8/999
|
OK: 992/1000 Fail: 0/1000 Skip: 8/1000
|
||||||
## Attestation
|
## Attestation
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -1015,7 +1016,7 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_empty_participants_zeroes_sig OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_empty_participants_zeroes_sig OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_future_target_epoch OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_future_target_epoch OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_head_and_target_inclu OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_head_and_target_inclu OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_head_included_after_e OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_head_included_after_m OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_target_included_after OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_incorrect_target_included_after OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_index OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_index OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_mismatched_target_and_slot OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_mismatched_target_and_slot OK
|
||||||
|
@ -1029,7 +1030,7 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_committee_signa OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_committee_signa OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -1053,7 +1054,7 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_committee_si OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_committee_si OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Bellatrix - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -1077,7 +1078,7 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_committee_sign OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_committee_sign OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Capella - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -1087,7 +1088,7 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_empty_participants_zeroes_sig OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_empty_participants_zeroes_sig OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_future_target_epoch OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_future_target_epoch OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_head_and_target_includ OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_head_and_target_includ OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_head_included_after_ep OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_head_included_after_ma OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_target_included_after_ OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_incorrect_target_included_after_ OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_index OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_index OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_mismatched_target_and_slot OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_mismatched_target_and_slot OK
|
||||||
|
@ -1101,7 +1102,7 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_committee_signat OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_committee_signat OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Deneb - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_after_max_inclusion_slot OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_attestation_signature OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_attestation_signature OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_bad_source_root OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_bad_source_root OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_before_inclusion_delay OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_before_inclusion_delay OK
|
||||||
|
@ -1125,13 +1126,15 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_committee_sign OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_committee_sign OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_slot_0 OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
+ [Invalid] EF - Phase 0 - Operations - Attestation - invalid_wrong_index_for_slot_1 OK
|
||||||
|
+ [Valid] EF - Altair - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_max_inc OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_min_inc OK
|
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_min_inc OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_one_epo OK
|
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_one_epo OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_sqrt_ep OK
|
+ [Valid] EF - Altair - Operations - Attestation - correct_attestation_included_at_sqrt_ep OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_included_at_e OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_included_at_e OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_included_at_s OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_included_at_s OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_min_inclusion OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_and_target_min_inclusion OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_epoch_delay OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_max_inclusio OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_min_inclusio OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_min_inclusio OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_d OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_d OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - incorrect_target_included_at_epoch_dela OK
|
+ [Valid] EF - Altair - Operations - Attestation - incorrect_target_included_at_epoch_dela OK
|
||||||
|
@ -1140,13 +1143,15 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - multi_proposer_index_iterations OK
|
+ [Valid] EF - Altair - Operations - Attestation - multi_proposer_index_iterations OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Altair - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Altair - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Altair - Operations - Attestation - previous_epoch OK
|
||||||
|
+ [Valid] EF - Bellatrix - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_max_ OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_min_ OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_min_ OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_one_ OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_one_ OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_sqrt OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - correct_attestation_included_at_sqrt OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_included_a OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_included_a OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_included_a OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_included_a OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_min_inclus OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_and_target_min_inclus OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_epoch_del OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_max_inclu OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_min_inclu OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_min_inclu OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_sqrt_epoc OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_head_included_at_sqrt_epoc OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_target_included_at_epoch_d OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - incorrect_target_included_at_epoch_d OK
|
||||||
|
@ -1155,13 +1160,15 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - multi_proposer_index_iterations OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - multi_proposer_index_iterations OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Bellatrix - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Bellatrix - Operations - Attestation - previous_epoch OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_max_in OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_min_in OK
|
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_min_in OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_one_ep OK
|
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_one_ep OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_sqrt_e OK
|
+ [Valid] EF - Capella - Operations - Attestation - correct_attestation_included_at_sqrt_e OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_min_inclusio OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_and_target_min_inclusio OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_epoch_delay OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_max_inclusi OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_min_inclusi OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_min_inclusi OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_ OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_ OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - incorrect_target_included_at_epoch_del OK
|
+ [Valid] EF - Capella - Operations - Attestation - incorrect_target_included_at_epoch_del OK
|
||||||
|
@ -1170,13 +1177,15 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - multi_proposer_index_iterations OK
|
+ [Valid] EF - Capella - Operations - Attestation - multi_proposer_index_iterations OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Capella - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Capella - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Capella - Operations - Attestation - previous_epoch OK
|
||||||
|
+ [Valid] EF - Deneb - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_max_incl OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_min_incl OK
|
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_min_incl OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_one_epoc OK
|
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_one_epoc OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_sqrt_epo OK
|
+ [Valid] EF - Deneb - Operations - Attestation - correct_attestation_included_at_sqrt_epo OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_included_at_ep OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_included_at_ep OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_included_at_sq OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_included_at_sq OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_min_inclusion_ OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_and_target_min_inclusion_ OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_epoch_delay OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_max_inclusion OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_min_inclusion OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_min_inclusion OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_de OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_de OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_target_included_at_epoch_delay OK
|
+ [Valid] EF - Deneb - Operations - Attestation - incorrect_target_included_at_epoch_delay OK
|
||||||
|
@ -1185,13 +1194,15 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - multi_proposer_index_iterations OK
|
+ [Valid] EF - Deneb - Operations - Attestation - multi_proposer_index_iterations OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Deneb - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Deneb - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Deneb - Operations - Attestation - previous_epoch OK
|
||||||
|
+ [Valid] EF - Phase 0 - Operations - Attestation - at_max_inclusion_slot OK
|
||||||
|
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_max_in OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_min_in OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_min_in OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_one_ep OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_one_ep OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_sqrt_e OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - correct_attestation_included_at_sqrt_e OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_included_at_ OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_min_inclusio OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_and_target_min_inclusio OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_epoch_delay OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_max_inclusi OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_min_inclusi OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_min_inclusi OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_ OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_head_included_at_sqrt_epoch_ OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_target_included_at_epoch_del OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - incorrect_target_included_at_epoch_del OK
|
||||||
|
@ -1201,7 +1212,7 @@ OK: 991/999 Fail: 0/999 Skip: 8/999
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - one_basic_attestation OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - one_basic_attestation OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Attestation - previous_epoch OK
|
+ [Valid] EF - Phase 0 - Operations - Attestation - previous_epoch OK
|
||||||
```
|
```
|
||||||
OK: 195/195 Fail: 0/195 Skip: 0/195
|
OK: 205/205 Fail: 0/205 Skip: 0/205
|
||||||
## Attester Slashing
|
## Attester Slashing
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Attester Slashing - invalid_all_empty_indices OK
|
+ [Invalid] EF - Altair - Operations - Attester Slashing - invalid_all_empty_indices OK
|
||||||
|
@ -2720,9 +2731,9 @@ OK: 96/96 Fail: 0/96 Skip: 0/96
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_validator_not_active OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_validator_not_active OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_validator_not_active_long_eno OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_validator_not_active_long_eno OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_current_f OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_current_f OK
|
||||||
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_current_f OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_genesis_f OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_genesis_f OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_genesis_f OK
|
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_genesis_f OK
|
||||||
+ [Invalid] EF - Deneb - Operations - Voluntary Exit - invalid_voluntary_exit_with_previous_ OK
|
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_incorrect_signature OK
|
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_incorrect_signature OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_validator_already_exited OK
|
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_validator_already_exited OK
|
||||||
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_validator_exit_in_future OK
|
+ [Invalid] EF - Phase 0 - Operations - Voluntary Exit - invalid_validator_exit_in_future OK
|
||||||
|
@ -2749,7 +2760,7 @@ OK: 96/96 Fail: 0/96 Skip: 0/96
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - default_exit_epoch_subsequent_exit OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - default_exit_epoch_subsequent_exit OK
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - success_exit_queue__min_churn OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - success_exit_queue__min_churn OK
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - success_exit_queue__scaled_churn OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - success_exit_queue__scaled_churn OK
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - voluntary_exit_with_current_fork_vers OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - voluntary_exit_with_previous_fork_ver OK
|
||||||
+ [Valid] EF - Deneb - Operations - Voluntary Exit - voluntary_exit_with_previous_fork_ver OK
|
+ [Valid] EF - Deneb - Operations - Voluntary Exit - voluntary_exit_with_previous_fork_ver OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Voluntary Exit - basic OK
|
+ [Valid] EF - Phase 0 - Operations - Voluntary Exit - basic OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Voluntary Exit - default_exit_epoch_subsequent_exit OK
|
+ [Valid] EF - Phase 0 - Operations - Voluntary Exit - default_exit_epoch_subsequent_exit OK
|
||||||
|
@ -2865,4 +2876,4 @@ OK: 68/68 Fail: 0/68 Skip: 0/68
|
||||||
OK: 102/102 Fail: 0/102 Skip: 0/102
|
OK: 102/102 Fail: 0/102 Skip: 0/102
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 2547/2555 Fail: 0/2555 Skip: 8/2555
|
OK: 2558/2566 Fail: 0/2566 Skip: 8/2566
|
||||||
|
|
|
@ -138,7 +138,7 @@ proc getValidator*(decryptor: var MultipleKeystoresDecryptor,
|
||||||
ok(ValidatorStorage(kind: ValidatorStorageKind.Identifier,
|
ok(ValidatorStorage(kind: ValidatorStorageKind.Identifier,
|
||||||
ident: ident.get()))
|
ident: ident.get()))
|
||||||
|
|
||||||
proc getIdent*(storage: ValidatorStorage): ValidatorIdent =
|
func getIdent*(storage: ValidatorStorage): ValidatorIdent =
|
||||||
case storage.kind
|
case storage.kind
|
||||||
of ValidatorStorageKind.Keystore:
|
of ValidatorStorageKind.Keystore:
|
||||||
ValidatorIdent(kind: ValidatorQueryKind.Key,
|
ValidatorIdent(kind: ValidatorQueryKind.Key,
|
||||||
|
@ -190,16 +190,18 @@ proc restValidatorExit(config: BeaconNodeConf) {.async.} =
|
||||||
reason = exc.msg
|
reason = exc.msg
|
||||||
quit 1
|
quit 1
|
||||||
|
|
||||||
let exitAtEpoch = if config.exitAtEpoch.isSome:
|
let currentEpoch = block:
|
||||||
Epoch config.exitAtEpoch.get
|
|
||||||
else:
|
|
||||||
let
|
let
|
||||||
genesisTime = genesis.genesis_time
|
genesisTime = genesis.genesis_time
|
||||||
beaconClock = BeaconClock.init(genesisTime)
|
beaconClock = BeaconClock.init(genesisTime)
|
||||||
time = getTime()
|
time = getTime()
|
||||||
slot = beaconClock.toSlot(time).slot
|
slot = beaconClock.toSlot(time).slot
|
||||||
epoch = slot.uint64 div 32
|
Epoch(slot.uint64 div 32)
|
||||||
Epoch epoch
|
|
||||||
|
let exitAtEpoch = if config.exitAtEpoch.isSome:
|
||||||
|
Epoch config.exitAtEpoch.get
|
||||||
|
else:
|
||||||
|
currentEpoch
|
||||||
|
|
||||||
let fork = try:
|
let fork = try:
|
||||||
let response = await client.getStateForkPlain(stateIdHead)
|
let response = await client.getStateForkPlain(stateIdHead)
|
||||||
|
@ -217,6 +219,26 @@ proc restValidatorExit(config: BeaconNodeConf) {.async.} =
|
||||||
reason = exc.msg
|
reason = exc.msg
|
||||||
quit 1
|
quit 1
|
||||||
|
|
||||||
|
let signingFork = try:
|
||||||
|
let response = await client.getSpec()
|
||||||
|
if response.status == 200:
|
||||||
|
let spec = response.data
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/phase0/beacon-chain.md#voluntary-exits
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/deneb/beacon-chain.md#modified-process_voluntary_exit
|
||||||
|
if currentEpoch >= Epoch(spec.data.DENEB_FORK_EPOCH):
|
||||||
|
Fork(
|
||||||
|
current_version: spec.data.CAPELLA_FORK_VERSION,
|
||||||
|
previous_version: spec.data.CAPELLA_FORK_VERSION,
|
||||||
|
epoch: GENESIS_EPOCH) # irrelevant when current/previous identical
|
||||||
|
else:
|
||||||
|
fork
|
||||||
|
else:
|
||||||
|
raise newException(RestError, "Error response (" & $response.status & ")")
|
||||||
|
except CatchableError as exc:
|
||||||
|
fatal "Failed to obtain the config spec of the beacon node",
|
||||||
|
reason = exc.msg
|
||||||
|
quit 1
|
||||||
|
|
||||||
if not config.printData:
|
if not config.printData:
|
||||||
case askForExitConfirmation()
|
case askForExitConfirmation()
|
||||||
of ClientExitAction.abort:
|
of ClientExitAction.abort:
|
||||||
|
|
|
@ -462,8 +462,12 @@ func check_attestation_target_epoch(
|
||||||
|
|
||||||
ok(data.target.epoch)
|
ok(data.target.epoch)
|
||||||
|
|
||||||
func check_attestation_inclusion(attestation_slot: Slot,
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/phase0/beacon-chain.md#attestations
|
||||||
current_slot: Slot): Result[void, cstring] =
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/altair/beacon-chain.md#modified-process_attestation
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/deneb/beacon-chain.md#modified-process_attestation
|
||||||
|
func check_attestation_inclusion(
|
||||||
|
consensusFork: static ConsensusFork, attestation_slot: Slot,
|
||||||
|
current_slot: Slot): Result[void, cstring] =
|
||||||
# Check for overflow
|
# Check for overflow
|
||||||
static:
|
static:
|
||||||
doAssert SLOTS_PER_EPOCH >= MIN_ATTESTATION_INCLUSION_DELAY
|
doAssert SLOTS_PER_EPOCH >= MIN_ATTESTATION_INCLUSION_DELAY
|
||||||
|
@ -473,8 +477,9 @@ func check_attestation_inclusion(attestation_slot: Slot,
|
||||||
if not (attestation_slot + MIN_ATTESTATION_INCLUSION_DELAY <= current_slot):
|
if not (attestation_slot + MIN_ATTESTATION_INCLUSION_DELAY <= current_slot):
|
||||||
return err("Attestation too new")
|
return err("Attestation too new")
|
||||||
|
|
||||||
if not (current_slot <= attestation_slot + SLOTS_PER_EPOCH):
|
when consensusFork < ConsensusFork.Deneb:
|
||||||
return err("Attestation too old")
|
if not (current_slot <= attestation_slot + SLOTS_PER_EPOCH):
|
||||||
|
return err("Attestation too old")
|
||||||
|
|
||||||
ok()
|
ok()
|
||||||
|
|
||||||
|
@ -488,10 +493,9 @@ func check_attestation_index*(
|
||||||
Result[CommitteeIndex, cstring] =
|
Result[CommitteeIndex, cstring] =
|
||||||
check_attestation_index(data.index, committees_per_slot)
|
check_attestation_index(data.index, committees_per_slot)
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/beacon-chain.md#get_attestation_participation_flag_indices
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/altair/beacon-chain.md#get_attestation_participation_flag_indices
|
||||||
func get_attestation_participation_flag_indices(
|
func get_attestation_participation_flag_indices(
|
||||||
state: altair.BeaconState | bellatrix.BeaconState | capella.BeaconState |
|
state: altair.BeaconState | bellatrix.BeaconState | capella.BeaconState,
|
||||||
deneb.BeaconState,
|
|
||||||
data: AttestationData, inclusion_delay: uint64): seq[int] =
|
data: AttestationData, inclusion_delay: uint64): seq[int] =
|
||||||
## Return the flag indices that are satisfied by an attestation.
|
## Return the flag indices that are satisfied by an attestation.
|
||||||
let justified_checkpoint =
|
let justified_checkpoint =
|
||||||
|
@ -503,10 +507,14 @@ func get_attestation_participation_flag_indices(
|
||||||
# Matching roots
|
# Matching roots
|
||||||
let
|
let
|
||||||
is_matching_source = data.source == justified_checkpoint
|
is_matching_source = data.source == justified_checkpoint
|
||||||
is_matching_target = is_matching_source and data.target.root == get_block_root(state, data.target.epoch)
|
is_matching_target =
|
||||||
is_matching_head = is_matching_target and data.beacon_block_root == get_block_root_at_slot(state, data.slot)
|
is_matching_source and
|
||||||
|
data.target.root == get_block_root(state, data.target.epoch)
|
||||||
|
is_matching_head =
|
||||||
|
is_matching_target and
|
||||||
|
data.beacon_block_root == get_block_root_at_slot(state, data.slot)
|
||||||
|
|
||||||
# TODO probably this needs to be robustly failable
|
# Checked by check_attestation()
|
||||||
doAssert is_matching_source
|
doAssert is_matching_source
|
||||||
|
|
||||||
var participation_flag_indices: seq[int]
|
var participation_flag_indices: seq[int]
|
||||||
|
@ -519,6 +527,40 @@ func get_attestation_participation_flag_indices(
|
||||||
|
|
||||||
participation_flag_indices
|
participation_flag_indices
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/deneb/beacon-chain.md#modified-get_attestation_participation_flag_indices
|
||||||
|
func get_attestation_participation_flag_indices(
|
||||||
|
state: deneb.BeaconState,
|
||||||
|
data: AttestationData, inclusion_delay: uint64): seq[int] =
|
||||||
|
## Return the flag indices that are satisfied by an attestation.
|
||||||
|
let justified_checkpoint =
|
||||||
|
if data.target.epoch == get_current_epoch(state):
|
||||||
|
state.current_justified_checkpoint
|
||||||
|
else:
|
||||||
|
state.previous_justified_checkpoint
|
||||||
|
|
||||||
|
# Matching roots
|
||||||
|
let
|
||||||
|
is_matching_source = data.source == justified_checkpoint
|
||||||
|
is_matching_target =
|
||||||
|
is_matching_source and
|
||||||
|
data.target.root == get_block_root(state, data.target.epoch)
|
||||||
|
is_matching_head =
|
||||||
|
is_matching_target and
|
||||||
|
data.beacon_block_root == get_block_root_at_slot(state, data.slot)
|
||||||
|
|
||||||
|
# Checked by check_attestation
|
||||||
|
doAssert is_matching_source
|
||||||
|
|
||||||
|
var participation_flag_indices: seq[int]
|
||||||
|
if is_matching_source and inclusion_delay <= integer_squareroot(SLOTS_PER_EPOCH):
|
||||||
|
participation_flag_indices.add(TIMELY_SOURCE_FLAG_INDEX)
|
||||||
|
if is_matching_target: # [Modified in Deneb:EIP7045]
|
||||||
|
participation_flag_indices.add(TIMELY_TARGET_FLAG_INDEX)
|
||||||
|
if is_matching_head and inclusion_delay == MIN_ATTESTATION_INCLUSION_DELAY:
|
||||||
|
participation_flag_indices.add(TIMELY_HEAD_FLAG_INDEX)
|
||||||
|
|
||||||
|
participation_flag_indices
|
||||||
|
|
||||||
# TODO these aren't great here
|
# TODO these aren't great here
|
||||||
# TODO these duplicate some stuff in state_transition_epoch which uses TotalBalances
|
# TODO these duplicate some stuff in state_transition_epoch which uses TotalBalances
|
||||||
# better to centralize around that if feasible
|
# better to centralize around that if feasible
|
||||||
|
@ -559,7 +601,7 @@ func get_base_reward(
|
||||||
state.validators[index].effective_balance div EFFECTIVE_BALANCE_INCREMENT
|
state.validators[index].effective_balance div EFFECTIVE_BALANCE_INCREMENT
|
||||||
increments * base_reward_per_increment
|
increments * base_reward_per_increment
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/phase0/beacon-chain.md#attestations
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/phase0/beacon-chain.md#attestations
|
||||||
proc check_attestation*(
|
proc check_attestation*(
|
||||||
state: ForkyBeaconState, attestation: SomeAttestation, flags: UpdateFlags,
|
state: ForkyBeaconState, attestation: SomeAttestation, flags: UpdateFlags,
|
||||||
cache: var StateCache): Result[void, cstring] =
|
cache: var StateCache): Result[void, cstring] =
|
||||||
|
@ -575,7 +617,7 @@ proc check_attestation*(
|
||||||
data,
|
data,
|
||||||
get_committee_count_per_slot(state, epoch, cache))
|
get_committee_count_per_slot(state, epoch, cache))
|
||||||
|
|
||||||
? check_attestation_inclusion(slot, state.slot)
|
? check_attestation_inclusion((typeof state).toFork, slot, state.slot)
|
||||||
|
|
||||||
let committee_len = get_beacon_committee_len(
|
let committee_len = get_beacon_committee_len(
|
||||||
state, slot, committee_index, cache)
|
state, slot, committee_index, cache)
|
||||||
|
@ -665,26 +707,19 @@ proc process_attestation*(
|
||||||
|
|
||||||
? check_attestation(state, attestation, flags, cache)
|
? check_attestation(state, attestation, flags, cache)
|
||||||
|
|
||||||
# For phase0
|
|
||||||
template addPendingAttestation(attestations: typed) =
|
|
||||||
# The genericSeqAssign generated by the compiler to copy the attestation
|
|
||||||
# data sadly is a processing hotspot - the business with the addDefault
|
|
||||||
# pointer is here simply to work around the poor codegen
|
|
||||||
let pa = attestations.addDefault()
|
|
||||||
if pa.isNil:
|
|
||||||
return err("process_attestation: too many pending attestations")
|
|
||||||
assign(pa[].aggregation_bits, attestation.aggregation_bits)
|
|
||||||
pa[].data = attestation.data
|
|
||||||
pa[].inclusion_delay = state.slot - attestation.data.slot
|
|
||||||
pa[].proposer_index = proposer_index.uint64
|
|
||||||
|
|
||||||
# Altair, Bellatrix, and Capella
|
|
||||||
template updateParticipationFlags(epoch_participation: untyped) =
|
|
||||||
let proposer_reward = get_proposer_reward(
|
|
||||||
state, attestation, base_reward_per_increment, cache, epoch_participation)
|
|
||||||
increase_balance(state, proposer_index, proposer_reward)
|
|
||||||
|
|
||||||
when state is phase0.BeaconState:
|
when state is phase0.BeaconState:
|
||||||
|
template addPendingAttestation(attestations: typed) =
|
||||||
|
# The genericSeqAssign generated by the compiler to copy the attestation
|
||||||
|
# data sadly is a processing hotspot - the business with the addDefault
|
||||||
|
# pointer is here simply to work around the poor codegen
|
||||||
|
let pa = attestations.addDefault()
|
||||||
|
if pa.isNil:
|
||||||
|
return err("process_attestation: too many pending attestations")
|
||||||
|
assign(pa[].aggregation_bits, attestation.aggregation_bits)
|
||||||
|
pa[].data = attestation.data
|
||||||
|
pa[].inclusion_delay = state.slot - attestation.data.slot
|
||||||
|
pa[].proposer_index = proposer_index.uint64
|
||||||
|
|
||||||
doAssert base_reward_per_increment == 0.Gwei
|
doAssert base_reward_per_increment == 0.Gwei
|
||||||
if attestation.data.target.epoch == get_current_epoch(state):
|
if attestation.data.target.epoch == get_current_epoch(state):
|
||||||
addPendingAttestation(state.current_epoch_attestations)
|
addPendingAttestation(state.current_epoch_attestations)
|
||||||
|
@ -692,6 +727,11 @@ proc process_attestation*(
|
||||||
addPendingAttestation(state.previous_epoch_attestations)
|
addPendingAttestation(state.previous_epoch_attestations)
|
||||||
elif state is altair.BeaconState or state is bellatrix.BeaconState or
|
elif state is altair.BeaconState or state is bellatrix.BeaconState or
|
||||||
state is capella.BeaconState or state is deneb.BeaconState:
|
state is capella.BeaconState or state is deneb.BeaconState:
|
||||||
|
template updateParticipationFlags(epoch_participation: untyped) =
|
||||||
|
let proposer_reward = get_proposer_reward(
|
||||||
|
state, attestation, base_reward_per_increment, cache, epoch_participation)
|
||||||
|
increase_balance(state, proposer_index, proposer_reward)
|
||||||
|
|
||||||
doAssert base_reward_per_increment > 0.Gwei
|
doAssert base_reward_per_increment > 0.Gwei
|
||||||
if attestation.data.target.epoch == get_current_epoch(state):
|
if attestation.data.target.epoch == get_current_epoch(state):
|
||||||
updateParticipationFlags(state.current_epoch_participation)
|
updateParticipationFlags(state.current_epoch_participation)
|
||||||
|
|
|
@ -74,7 +74,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.4.0-alpha.3"
|
const SPEC_VERSION* = "1.4.0-beta.0"
|
||||||
## Spec version we're aiming to be compatible with, right now
|
## Spec version we're aiming to be compatible with, right now
|
||||||
|
|
||||||
const
|
const
|
||||||
|
|
|
@ -331,6 +331,7 @@ proc process_deposit*(cfg: RuntimeConfig,
|
||||||
ok()
|
ok()
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/phase0/beacon-chain.md#voluntary-exits
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-alpha.3/specs/phase0/beacon-chain.md#voluntary-exits
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.0/specs/deneb/beacon-chain.md#modified-process_voluntary_exit
|
||||||
proc check_voluntary_exit*(
|
proc check_voluntary_exit*(
|
||||||
cfg: RuntimeConfig,
|
cfg: RuntimeConfig,
|
||||||
state: ForkyBeaconState,
|
state: ForkyBeaconState,
|
||||||
|
@ -364,8 +365,16 @@ proc check_voluntary_exit*(
|
||||||
|
|
||||||
# Verify signature
|
# Verify signature
|
||||||
if skipBlsValidation notin flags:
|
if skipBlsValidation notin flags:
|
||||||
|
let exitSignatureFork =
|
||||||
|
when typeof(state).toFork >= ConsensusFork.Deneb:
|
||||||
|
Fork(
|
||||||
|
previous_version: cfg.CAPELLA_FORK_VERSION,
|
||||||
|
current_version: cfg.CAPELLA_FORK_VERSION,
|
||||||
|
epoch: cfg.CAPELLA_FORK_EPOCH)
|
||||||
|
else:
|
||||||
|
state.fork
|
||||||
if not verify_voluntary_exit_signature(
|
if not verify_voluntary_exit_signature(
|
||||||
state.fork, state.genesis_validators_root, voluntary_exit,
|
exitSignatureFork, state.genesis_validators_root, voluntary_exit,
|
||||||
validator[].pubkey, signed_voluntary_exit.signature):
|
validator[].pubkey, signed_voluntary_exit.signature):
|
||||||
return err("Exit: invalid signature")
|
return err("Exit: invalid signature")
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7bf230a0ab23bbd261055d98b767b273720baa98
|
Subproject commit 139aec8b7a60bff9acd05878e5b6517e15108f22
|
Loading…
Reference in New Issue