use v1.3.0-rc.0 consensus spec test vectors (#4472)
This commit is contained in:
parent
0ba9fc4ede
commit
787703bd0c
|
@ -52,6 +52,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ EF - Altair - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
+ EF - Altair - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
||||||
+ EF - Altair - Slots - double_empty_epoch [Preset: mainnet] OK
|
+ EF - Altair - Slots - double_empty_epoch [Preset: mainnet] OK
|
||||||
+ EF - Altair - Slots - empty_epoch [Preset: mainnet] OK
|
+ EF - Altair - Slots - empty_epoch [Preset: mainnet] OK
|
||||||
|
+ EF - Altair - Slots - historical_accumulator [Preset: mainnet] OK
|
||||||
+ EF - Altair - Slots - over_epoch_boundary [Preset: mainnet] OK
|
+ EF - Altair - Slots - over_epoch_boundary [Preset: mainnet] OK
|
||||||
+ EF - Altair - Slots - slots_1 [Preset: mainnet] OK
|
+ EF - Altair - Slots - slots_1 [Preset: mainnet] OK
|
||||||
+ EF - Altair - Slots - slots_2 [Preset: mainnet] OK
|
+ EF - Altair - Slots - slots_2 [Preset: mainnet] OK
|
||||||
|
@ -124,6 +125,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ EF - Bellatrix - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
+ EF - Bellatrix - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
||||||
+ EF - Bellatrix - Slots - double_empty_epoch [Preset: mainnet] OK
|
+ EF - Bellatrix - Slots - double_empty_epoch [Preset: mainnet] OK
|
||||||
+ EF - Bellatrix - Slots - empty_epoch [Preset: mainnet] OK
|
+ EF - Bellatrix - Slots - empty_epoch [Preset: mainnet] OK
|
||||||
|
+ EF - Bellatrix - Slots - historical_accumulator [Preset: mainnet] OK
|
||||||
+ EF - Bellatrix - Slots - over_epoch_boundary [Preset: mainnet] OK
|
+ EF - Bellatrix - Slots - over_epoch_boundary [Preset: mainnet] OK
|
||||||
+ EF - Bellatrix - Slots - slots_1 [Preset: mainnet] OK
|
+ EF - Bellatrix - Slots - slots_1 [Preset: mainnet] OK
|
||||||
+ EF - Bellatrix - Slots - slots_2 [Preset: mainnet] OK
|
+ EF - Bellatrix - Slots - slots_2 [Preset: mainnet] OK
|
||||||
|
@ -196,6 +198,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ EF - Capella - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
+ EF - Capella - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
||||||
+ EF - Capella - Slots - double_empty_epoch [Preset: mainnet] OK
|
+ EF - Capella - Slots - double_empty_epoch [Preset: mainnet] OK
|
||||||
+ EF - Capella - Slots - empty_epoch [Preset: mainnet] OK
|
+ EF - Capella - Slots - empty_epoch [Preset: mainnet] OK
|
||||||
|
+ EF - Capella - Slots - historical_accumulator [Preset: mainnet] OK
|
||||||
+ EF - Capella - Slots - over_epoch_boundary [Preset: mainnet] OK
|
+ EF - Capella - Slots - over_epoch_boundary [Preset: mainnet] OK
|
||||||
+ EF - Capella - Slots - slots_1 [Preset: mainnet] OK
|
+ EF - Capella - Slots - slots_1 [Preset: mainnet] OK
|
||||||
+ EF - Capella - Slots - slots_2 [Preset: mainnet] OK
|
+ EF - Capella - Slots - slots_2 [Preset: mainnet] OK
|
||||||
|
@ -268,6 +271,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ EF - EIP4844 - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
+ EF - EIP4844 - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
||||||
+ EF - EIP4844 - Slots - double_empty_epoch [Preset: mainnet] OK
|
+ EF - EIP4844 - Slots - double_empty_epoch [Preset: mainnet] OK
|
||||||
+ EF - EIP4844 - Slots - empty_epoch [Preset: mainnet] OK
|
+ EF - EIP4844 - Slots - empty_epoch [Preset: mainnet] OK
|
||||||
|
+ EF - EIP4844 - Slots - historical_accumulator [Preset: mainnet] OK
|
||||||
+ EF - EIP4844 - Slots - over_epoch_boundary [Preset: mainnet] OK
|
+ EF - EIP4844 - Slots - over_epoch_boundary [Preset: mainnet] OK
|
||||||
+ EF - EIP4844 - Slots - slots_1 [Preset: mainnet] OK
|
+ EF - EIP4844 - Slots - slots_1 [Preset: mainnet] OK
|
||||||
+ EF - EIP4844 - Slots - slots_2 [Preset: mainnet] OK
|
+ EF - EIP4844 - Slots - slots_2 [Preset: mainnet] OK
|
||||||
|
@ -343,6 +347,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ EF - Phase 0 - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
+ EF - Phase 0 - Rewards - with_slashed_validators_leak [Preset: mainnet] OK
|
||||||
+ EF - Phase 0 - Slots - double_empty_epoch [Preset: mainnet] OK
|
+ EF - Phase 0 - Slots - double_empty_epoch [Preset: mainnet] OK
|
||||||
+ EF - Phase 0 - Slots - empty_epoch [Preset: mainnet] OK
|
+ EF - Phase 0 - Slots - empty_epoch [Preset: mainnet] OK
|
||||||
|
+ EF - Phase 0 - Slots - historical_accumulator [Preset: mainnet] OK
|
||||||
+ EF - Phase 0 - Slots - over_epoch_boundary [Preset: mainnet] OK
|
+ EF - Phase 0 - Slots - over_epoch_boundary [Preset: mainnet] OK
|
||||||
+ EF - Phase 0 - Slots - slots_1 [Preset: mainnet] OK
|
+ EF - Phase 0 - Slots - slots_1 [Preset: mainnet] OK
|
||||||
+ EF - Phase 0 - Slots - slots_2 [Preset: mainnet] OK
|
+ EF - Phase 0 - Slots - slots_2 [Preset: mainnet] OK
|
||||||
|
@ -495,6 +500,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [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 - EIP4844 - Sanity - Blocks - invalid_all_zeroed_sig [Preset: mainnet] OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_all_zeroed_sig [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_bls_changes_same_block [Prese OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: m OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: m OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pr OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pr OK
|
||||||
|
@ -507,6 +513,8 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_prev_slot_block_transition [Preset: mai OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_prev_slot_block_transition [Preset: mai OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_same_slot_block_transition [Preset: mai OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_same_slot_block_transition [Preset: mai OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [ OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [ OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_two_bls_changes_of_different_addresses_ OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_withdrawal_fail_second_block_payload_is OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - slash_and_exit_same_index [Preset: mainnet] OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - slash_and_exit_same_index [Preset: mainnet] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_all_zeroed_sig [Preset: mainnet] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_all_zeroed_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_attester_slashing_same_block OK
|
||||||
|
@ -730,22 +738,27 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_1 [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_1 [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_2 [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_2 [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_3 [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_3 [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_withdrawal_in_epoch_transition [Preset: ma OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - high_proposer_index [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - high_proposer_index [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - historical_batch [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - historical_batch [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - inactivity_scores_full_participation_leaking [P OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - inactivity_scores_full_participation_leaking [P OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - inactivity_scores_leaking [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - inactivity_scores_leaking [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - is_execution_enabled_false [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - is_execution_enabled_false [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [P OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - max_blobs [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - max_blobs [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_attester_slashings_partial_overlap [Pr OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_attester_slashings_partial_overlap [Pr OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_different_proposer_slashings_same_bloc OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_different_proposer_slashings_same_bloc OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_different_validator_exits_same_block [ OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_different_validator_exits_same_block [ OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - one_blob [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - one_blob [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - partial_withdrawal_in_epoch_transition [Preset: OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_after_inactive_index [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_after_inactive_index [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_self_slashing [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_self_slashing [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_slashing [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_slashing [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - skipped_slots [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - skipped_slots [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - slash_and_exit_diff_index [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - slash_and_exit_diff_index [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - success_bls_change [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - success_exit_and_bls_change [Preset: mainnet] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__empty [Preset: mainne OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__empty [Preset: mainne OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__full [Preset: mainnet OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__full [Preset: mainnet OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__half [Preset: mainnet OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__half [Preset: mainnet OK
|
||||||
|
@ -753,6 +766,7 @@ ConsensusSpecPreset-mainnet
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee_genesis__full [Preset: OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee_genesis__full [Preset: OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee_genesis__half [Preset: OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee_genesis__half [Preset: OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - voluntary_exit [Preset: mainnet] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - voluntary_exit [Preset: mainnet] OK
|
||||||
|
+ [Valid] EF - EIP4844 - 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
|
||||||
|
@ -799,7 +813,7 @@ 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: 787/796 Fail: 0/796 Skip: 9/796
|
OK: 801/810 Fail: 0/810 Skip: 9/810
|
||||||
## Attestation
|
## Attestation
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_epoch_slots OK
|
||||||
|
@ -1159,15 +1173,24 @@ OK: 150/150 Fail: 0/150 Skip: 0/150
|
||||||
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_bad_signature OK
|
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_bad_signature OK
|
||||||
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_incorrect_from_bls OK
|
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_incorrect_from_bls OK
|
||||||
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_val_index_out_of_r OK
|
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_val_index_out_of_r OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - BLS to execution change - invalid_already_0x01 OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - BLS to execution change - invalid_bad_signature OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - BLS to execution change - invalid_incorrect_from_bls OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - BLS to execution change - invalid_val_index_out_of_r OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_exited OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_exited OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_in_activation_queu OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_in_activation_queu OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_in_exit_queue OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_in_exit_queue OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_not_activated OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_not_activated OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_withdrawable OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_withdrawable OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - no_op OK
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_exited OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_in_activation_queu OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_in_exit_queue OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_not_activated OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_withdrawable OK
|
||||||
```
|
```
|
||||||
OK: 11/11 Fail: 0/11 Skip: 0/11
|
OK: 20/20 Fail: 0/20 Skip: 0/20
|
||||||
## Block Header
|
## Block Header
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Block Header - invalid_multiple_blocks_single_slot OK
|
+ [Invalid] EF - Altair - Operations - Block Header - invalid_multiple_blocks_single_slot OK
|
||||||
|
@ -1283,6 +1306,7 @@ OK: 30/30 Fail: 0/30 Skip: 0/30
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_non_versioned_withdrawal_crede OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_non_versioned_withdrawal_crede OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_over_max OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_over_max OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_under_max OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_under_max OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Deposit - success_top_up_to_withdrawn_validator OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__less_effective_balance OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__less_effective_balance OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__max_effective_balance OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__max_effective_balance OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__zero_balance OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__zero_balance OK
|
||||||
|
@ -1302,7 +1326,7 @@ OK: 30/30 Fail: 0/30 Skip: 0/30
|
||||||
+ [Valid] EF - Phase 0 - Operations - Deposit - top_up__max_effective_balance OK
|
+ [Valid] EF - Phase 0 - Operations - Deposit - top_up__max_effective_balance OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Deposit - top_up__zero_balance OK
|
+ [Valid] EF - Phase 0 - Operations - Deposit - top_up__zero_balance OK
|
||||||
```
|
```
|
||||||
OK: 97/97 Fail: 0/97 Skip: 0/97
|
OK: 98/98 Fail: 0/98 Skip: 0/98
|
||||||
## EF - Altair - Epoch Processing - Effective balance updates [Preset: mainnet]
|
## EF - Altair - Epoch Processing - Effective balance updates [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
+ Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK
|
+ Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK
|
||||||
|
@ -1649,9 +1673,9 @@ 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 - Historical roots update [Preset: mainnet]
|
## EF - Capella - Epoch Processing - Historical summaries update [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
+ Historical roots update - historical_root_accumulator [Preset: mainnet] OK
|
+ Historical summaries update - historical_summaries_accumulator [Preset: mainnet] OK
|
||||||
```
|
```
|
||||||
OK: 1/1 Fail: 0/1 Skip: 0/1
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
## EF - Capella - Epoch Processing - Inactivity [Preset: mainnet]
|
## EF - Capella - Epoch Processing - Inactivity [Preset: mainnet]
|
||||||
|
@ -1781,6 +1805,7 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
+ Testing Fork OK
|
+ Testing Fork OK
|
||||||
+ Testing ForkData OK
|
+ Testing ForkData OK
|
||||||
+ Testing HistoricalBatch OK
|
+ Testing HistoricalBatch OK
|
||||||
|
+ Testing HistoricalSummary OK
|
||||||
+ Testing IndexedAttestation OK
|
+ Testing IndexedAttestation OK
|
||||||
+ Testing LightClientBootstrap OK
|
+ Testing LightClientBootstrap OK
|
||||||
+ Testing LightClientFinalityUpdate OK
|
+ Testing LightClientFinalityUpdate OK
|
||||||
|
@ -1805,7 +1830,7 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
+ Testing VoluntaryExit OK
|
+ Testing VoluntaryExit OK
|
||||||
+ Testing Withdrawal OK
|
+ Testing Withdrawal OK
|
||||||
```
|
```
|
||||||
OK: 44/44 Fail: 0/44 Skip: 0/44
|
OK: 45/45 Fail: 0/45 Skip: 0/45
|
||||||
## EF - EIP4844 - Epoch Processing - Effective balance updates [Preset: mainnet]
|
## EF - EIP4844 - Epoch Processing - Effective balance updates [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
+ Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK
|
+ Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK
|
||||||
|
@ -1817,9 +1842,9 @@ 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 - EIP4844 - Epoch Processing - Historical roots update [Preset: mainnet]
|
## EF - EIP4844 - Epoch Processing - Historical summaries update [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
+ Historical roots update - historical_root_accumulator [Preset: mainnet] OK
|
+ Historical summaries update - historical_summaries_accumulator [Preset: mainnet] OK
|
||||||
```
|
```
|
||||||
OK: 1/1 Fail: 0/1 Skip: 0/1
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
## EF - EIP4844 - Epoch Processing - Inactivity [Preset: mainnet]
|
## EF - EIP4844 - Epoch Processing - Inactivity [Preset: mainnet]
|
||||||
|
@ -1950,6 +1975,7 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
+ Testing Fork OK
|
+ Testing Fork OK
|
||||||
+ Testing ForkData OK
|
+ Testing ForkData OK
|
||||||
+ Testing HistoricalBatch OK
|
+ Testing HistoricalBatch OK
|
||||||
|
+ Testing HistoricalSummary OK
|
||||||
+ Testing IndexedAttestation OK
|
+ Testing IndexedAttestation OK
|
||||||
+ Testing LightClientBootstrap OK
|
+ Testing LightClientBootstrap OK
|
||||||
+ Testing LightClientFinalityUpdate OK
|
+ Testing LightClientFinalityUpdate OK
|
||||||
|
@ -1975,7 +2001,7 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
+ Testing VoluntaryExit OK
|
+ Testing VoluntaryExit OK
|
||||||
+ Testing Withdrawal OK
|
+ Testing Withdrawal OK
|
||||||
```
|
```
|
||||||
OK: 46/46 Fail: 0/46 Skip: 0/46
|
OK: 47/47 Fail: 0/47 Skip: 0/47
|
||||||
## EF - Phase 0 - Epoch Processing - Effective balance updates [Preset: mainnet]
|
## EF - Phase 0 - Epoch Processing - Effective balance updates [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
+ Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK
|
+ Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK
|
||||||
|
@ -2456,6 +2482,25 @@ OK: 63/63 Fail: 0/63 Skip: 0/63
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_one_of_many_incorrectly_full OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_one_of_many_incorrectly_full OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_one_of_many_incorrectly_partia OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_one_of_many_incorrectly_partia OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_two_expected_partial_withdrawa OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_two_expected_partial_withdrawa OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_a_lot_fully_withdrawable_too_f OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_a_lot_mixed_withdrawable_in_qu OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_a_lot_partially_withdrawable_t OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_address_full OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_address_partial OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_amount_full OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_amount_partial OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_withdrawal_index OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_many_incorrectly_full OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_many_incorrectly_partial OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_max_per_slot_full_withdrawals_ OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_max_per_slot_partial_withdrawa OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_non_withdrawable_non_empty_wit OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_expected_full_withdrawal_a OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_expected_full_withdrawal_a OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_expected_partial_withdrawa OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_of_many_incorrectly_full OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_of_many_incorrectly_partia OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_two_expected_partial_withdrawa OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - all_withdrawal 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 - no_withdrawals_but_some_next_epoch OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - random_0 OK
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_0 OK
|
||||||
|
@ -2487,9 +2532,39 @@ OK: 63/63 Fail: 0/63 Skip: 0/63
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_balance 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
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Withdrawals - no_op OK
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - all_withdrawal OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - no_withdrawals_but_some_next_epoch OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_0 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_full_withdrawals_0 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_full_withdrawals_1 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_full_withdrawals_2 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_full_withdrawals_3 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_1 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_2 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_3 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_4 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_5 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_all_fully_withdrawable_in_one_ OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_all_partially_withdrawable_in_ OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_excess_balance_but_no_max_effe OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_max_partial_withdrawable OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_max_per_slot OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_no_excess_balance OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_no_max_effective_balance OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_full_withdrawal OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_activ OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_exite OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_exite OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_in_ex OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_not_y OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawal OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_two_partial_withdrawable OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_zero_expected_withdrawals OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - withdrawable_epoch_but_0_balance OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
```
|
```
|
||||||
OK: 51/51 Fail: 0/51 Skip: 0/51
|
OK: 100/100 Fail: 0/100 Skip: 0/100
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 2197/2206 Fail: 0/2206 Skip: 9/2206
|
OK: 2272/2281 Fail: 0/2281 Skip: 9/2281
|
||||||
|
|
|
@ -54,6 +54,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ EF - Altair - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
+ EF - Altair - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
||||||
+ EF - Altair - Slots - double_empty_epoch [Preset: minimal] OK
|
+ EF - Altair - Slots - double_empty_epoch [Preset: minimal] OK
|
||||||
+ EF - Altair - Slots - empty_epoch [Preset: minimal] OK
|
+ EF - Altair - Slots - empty_epoch [Preset: minimal] OK
|
||||||
|
+ EF - Altair - Slots - historical_accumulator [Preset: minimal] OK
|
||||||
+ EF - Altair - Slots - over_epoch_boundary [Preset: minimal] OK
|
+ EF - Altair - Slots - over_epoch_boundary [Preset: minimal] OK
|
||||||
+ EF - Altair - Slots - slots_1 [Preset: minimal] OK
|
+ EF - Altair - Slots - slots_1 [Preset: minimal] OK
|
||||||
+ EF - Altair - Slots - slots_2 [Preset: minimal] OK
|
+ EF - Altair - Slots - slots_2 [Preset: minimal] OK
|
||||||
|
@ -132,6 +133,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ EF - Bellatrix - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
+ EF - Bellatrix - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
||||||
+ EF - Bellatrix - Slots - double_empty_epoch [Preset: minimal] OK
|
+ EF - Bellatrix - Slots - double_empty_epoch [Preset: minimal] OK
|
||||||
+ EF - Bellatrix - Slots - empty_epoch [Preset: minimal] OK
|
+ EF - Bellatrix - Slots - empty_epoch [Preset: minimal] OK
|
||||||
|
+ EF - Bellatrix - Slots - historical_accumulator [Preset: minimal] OK
|
||||||
+ EF - Bellatrix - Slots - over_epoch_boundary [Preset: minimal] OK
|
+ EF - Bellatrix - Slots - over_epoch_boundary [Preset: minimal] OK
|
||||||
+ EF - Bellatrix - Slots - slots_1 [Preset: minimal] OK
|
+ EF - Bellatrix - Slots - slots_1 [Preset: minimal] OK
|
||||||
+ EF - Bellatrix - Slots - slots_2 [Preset: minimal] OK
|
+ EF - Bellatrix - Slots - slots_2 [Preset: minimal] OK
|
||||||
|
@ -210,6 +212,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ EF - Capella - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
+ EF - Capella - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
||||||
+ EF - Capella - Slots - double_empty_epoch [Preset: minimal] OK
|
+ EF - Capella - Slots - double_empty_epoch [Preset: minimal] OK
|
||||||
+ EF - Capella - Slots - empty_epoch [Preset: minimal] OK
|
+ EF - Capella - Slots - empty_epoch [Preset: minimal] OK
|
||||||
|
+ EF - Capella - Slots - historical_accumulator [Preset: minimal] OK
|
||||||
+ EF - Capella - Slots - over_epoch_boundary [Preset: minimal] OK
|
+ EF - Capella - Slots - over_epoch_boundary [Preset: minimal] OK
|
||||||
+ EF - Capella - Slots - slots_1 [Preset: minimal] OK
|
+ EF - Capella - Slots - slots_1 [Preset: minimal] OK
|
||||||
+ EF - Capella - Slots - slots_2 [Preset: minimal] OK
|
+ EF - Capella - Slots - slots_2 [Preset: minimal] OK
|
||||||
|
@ -288,6 +291,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ EF - EIP4844 - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
+ EF - EIP4844 - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
||||||
+ EF - EIP4844 - Slots - double_empty_epoch [Preset: minimal] OK
|
+ EF - EIP4844 - Slots - double_empty_epoch [Preset: minimal] OK
|
||||||
+ EF - EIP4844 - Slots - empty_epoch [Preset: minimal] OK
|
+ EF - EIP4844 - Slots - empty_epoch [Preset: minimal] OK
|
||||||
|
+ EF - EIP4844 - Slots - historical_accumulator [Preset: minimal] OK
|
||||||
+ EF - EIP4844 - Slots - over_epoch_boundary [Preset: minimal] OK
|
+ EF - EIP4844 - Slots - over_epoch_boundary [Preset: minimal] OK
|
||||||
+ EF - EIP4844 - Slots - slots_1 [Preset: minimal] OK
|
+ EF - EIP4844 - Slots - slots_1 [Preset: minimal] OK
|
||||||
+ EF - EIP4844 - Slots - slots_2 [Preset: minimal] OK
|
+ EF - EIP4844 - Slots - slots_2 [Preset: minimal] OK
|
||||||
|
@ -367,6 +371,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ EF - Phase 0 - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
+ EF - Phase 0 - Rewards - with_slashed_validators_leak [Preset: minimal] OK
|
||||||
+ EF - Phase 0 - Slots - double_empty_epoch [Preset: minimal] OK
|
+ EF - Phase 0 - Slots - double_empty_epoch [Preset: minimal] OK
|
||||||
+ EF - Phase 0 - Slots - empty_epoch [Preset: minimal] OK
|
+ EF - Phase 0 - Slots - empty_epoch [Preset: minimal] OK
|
||||||
|
+ EF - Phase 0 - Slots - historical_accumulator [Preset: minimal] OK
|
||||||
+ EF - Phase 0 - Slots - over_epoch_boundary [Preset: minimal] OK
|
+ EF - Phase 0 - Slots - over_epoch_boundary [Preset: minimal] OK
|
||||||
+ EF - Phase 0 - Slots - slots_1 [Preset: minimal] OK
|
+ EF - Phase 0 - Slots - slots_1 [Preset: minimal] OK
|
||||||
+ EF - Phase 0 - Slots - slots_2 [Preset: minimal] OK
|
+ EF - Phase 0 - Slots - slots_2 [Preset: minimal] OK
|
||||||
|
@ -575,6 +580,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ [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 - EIP4844 - Sanity - Blocks - invalid_all_zeroed_sig [Preset: minimal] OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_all_zeroed_sig [Preset: minimal] OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_attester_slashing_same_block OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_bls_changes_same_block [Prese OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: m OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_deposit_same_block [Preset: m OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_proposer_slashings_same_block OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pr OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_duplicate_validator_exit_same_block [Pr OK
|
||||||
|
@ -587,6 +593,8 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_prev_slot_block_transition [Preset: min OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_prev_slot_block_transition [Preset: min OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_same_slot_block_transition [Preset: min OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_same_slot_block_transition [Preset: min OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [ OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_similar_proposer_slashings_same_block [ OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_two_bls_changes_of_different_addresses_ OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - invalid_withdrawal_fail_second_block_payload_is OK
|
||||||
+ [Invalid] EF - EIP4844 - Sanity - Blocks - slash_and_exit_same_index [Preset: minimal] OK
|
+ [Invalid] EF - EIP4844 - Sanity - Blocks - slash_and_exit_same_index [Preset: minimal] OK
|
||||||
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_all_zeroed_sig [Preset: minimal] OK
|
+ [Invalid] EF - Phase 0 - Sanity - Blocks - invalid_all_zeroed_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_attester_slashing_same_block OK
|
||||||
|
@ -830,22 +838,27 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_1 [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_1 [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_2 [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_2 [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_3 [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_random_operations_3 [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - full_withdrawal_in_epoch_transition [Preset: mi OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - high_proposer_index [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - high_proposer_index [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - historical_batch [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - historical_batch [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - inactivity_scores_full_participation_leaking [P OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - inactivity_scores_full_participation_leaking [P OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - inactivity_scores_leaking [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - inactivity_scores_leaking [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - is_execution_enabled_false [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - is_execution_enabled_false [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - many_partial_withdrawals_in_epoch_transition [P OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - max_blobs [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - max_blobs [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_attester_slashings_no_overlap [Preset: OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_attester_slashings_partial_overlap [Pr OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_attester_slashings_partial_overlap [Pr OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_different_proposer_slashings_same_bloc OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_different_proposer_slashings_same_bloc OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_different_validator_exits_same_block [ OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - multiple_different_validator_exits_same_block [ OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - one_blob [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - one_blob [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - partial_withdrawal_in_epoch_transition [Preset: OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_after_inactive_index [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_after_inactive_index [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_self_slashing [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_self_slashing [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_slashing [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - proposer_slashing [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - skipped_slots [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - skipped_slots [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - slash_and_exit_diff_index [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - slash_and_exit_diff_index [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - success_bls_change [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - success_exit_and_bls_change [Preset: minimal] OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__empty [Preset: minima OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__empty [Preset: minima OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__full [Preset: minimal OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__full [Preset: minimal OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__half [Preset: minimal OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee__half [Preset: minimal OK
|
||||||
|
@ -853,6 +866,7 @@ ConsensusSpecPreset-minimal
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee_genesis__full [Preset: OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee_genesis__full [Preset: OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee_genesis__half [Preset: OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - sync_committee_committee_genesis__half [Preset: OK
|
||||||
+ [Valid] EF - EIP4844 - Sanity - Blocks - voluntary_exit [Preset: minimal] OK
|
+ [Valid] EF - EIP4844 - Sanity - Blocks - voluntary_exit [Preset: minimal] OK
|
||||||
|
+ [Valid] EF - EIP4844 - 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
|
||||||
|
@ -904,7 +918,7 @@ 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: 892/901 Fail: 0/901 Skip: 9/901
|
OK: 906/915 Fail: 0/915 Skip: 9/915
|
||||||
## Attestation
|
## Attestation
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_epoch_slots OK
|
+ [Invalid] EF - Altair - Operations - Attestation - invalid_after_epoch_slots OK
|
||||||
|
@ -1264,15 +1278,24 @@ OK: 150/150 Fail: 0/150 Skip: 0/150
|
||||||
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_bad_signature OK
|
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_bad_signature OK
|
||||||
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_incorrect_from_bls OK
|
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_incorrect_from_bls OK
|
||||||
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_val_index_out_of_r OK
|
+ [Invalid] EF - Capella - Operations - BLS to execution change - invalid_val_index_out_of_r OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - BLS to execution change - invalid_already_0x01 OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - BLS to execution change - invalid_bad_signature OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - BLS to execution change - invalid_incorrect_from_bls OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - BLS to execution change - invalid_val_index_out_of_r OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_exited OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_exited OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_in_activation_queu OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_in_activation_queu OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_in_exit_queue OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_in_exit_queue OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_not_activated OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_not_activated OK
|
||||||
+ [Valid] EF - Capella - Operations - BLS to execution change - success_withdrawable OK
|
+ [Valid] EF - Capella - Operations - BLS to execution change - success_withdrawable OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - no_op OK
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_exited OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_in_activation_queu OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_in_exit_queue OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_not_activated OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - BLS to execution change - success_withdrawable OK
|
||||||
```
|
```
|
||||||
OK: 11/11 Fail: 0/11 Skip: 0/11
|
OK: 20/20 Fail: 0/20 Skip: 0/20
|
||||||
## Block Header
|
## Block Header
|
||||||
```diff
|
```diff
|
||||||
+ [Invalid] EF - Altair - Operations - Block Header - invalid_multiple_blocks_single_slot OK
|
+ [Invalid] EF - Altair - Operations - Block Header - invalid_multiple_blocks_single_slot OK
|
||||||
|
@ -1388,6 +1411,7 @@ OK: 30/30 Fail: 0/30 Skip: 0/30
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_non_versioned_withdrawal_crede OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_non_versioned_withdrawal_crede OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_over_max OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_over_max OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_under_max OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - new_deposit_under_max OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Deposit - success_top_up_to_withdrawn_validator OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__less_effective_balance OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__less_effective_balance OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__max_effective_balance OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__max_effective_balance OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__zero_balance OK
|
+ [Valid] EF - EIP4844 - Operations - Deposit - top_up__zero_balance OK
|
||||||
|
@ -1407,7 +1431,7 @@ OK: 30/30 Fail: 0/30 Skip: 0/30
|
||||||
+ [Valid] EF - Phase 0 - Operations - Deposit - top_up__max_effective_balance OK
|
+ [Valid] EF - Phase 0 - Operations - Deposit - top_up__max_effective_balance OK
|
||||||
+ [Valid] EF - Phase 0 - Operations - Deposit - top_up__zero_balance OK
|
+ [Valid] EF - Phase 0 - Operations - Deposit - top_up__zero_balance OK
|
||||||
```
|
```
|
||||||
OK: 97/97 Fail: 0/97 Skip: 0/97
|
OK: 98/98 Fail: 0/98 Skip: 0/98
|
||||||
## EF - Altair - Epoch Processing - Effective balance updates [Preset: minimal]
|
## EF - Altair - Epoch Processing - Effective balance updates [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
+ Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK
|
+ Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK
|
||||||
|
@ -1784,9 +1808,9 @@ 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 - Historical roots update [Preset: minimal]
|
## EF - Capella - Epoch Processing - Historical summaries update [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
+ Historical roots update - historical_root_accumulator [Preset: minimal] OK
|
+ Historical summaries update - historical_summaries_accumulator [Preset: minimal] OK
|
||||||
```
|
```
|
||||||
OK: 1/1 Fail: 0/1 Skip: 0/1
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
## EF - Capella - Epoch Processing - Inactivity [Preset: minimal]
|
## EF - Capella - Epoch Processing - Inactivity [Preset: minimal]
|
||||||
|
@ -1931,6 +1955,7 @@ OK: 5/5 Fail: 0/5 Skip: 0/5
|
||||||
+ Testing Fork OK
|
+ Testing Fork OK
|
||||||
+ Testing ForkData OK
|
+ Testing ForkData OK
|
||||||
+ Testing HistoricalBatch OK
|
+ Testing HistoricalBatch OK
|
||||||
|
+ Testing HistoricalSummary OK
|
||||||
+ Testing IndexedAttestation OK
|
+ Testing IndexedAttestation OK
|
||||||
+ Testing LightClientBootstrap OK
|
+ Testing LightClientBootstrap OK
|
||||||
+ Testing LightClientFinalityUpdate OK
|
+ Testing LightClientFinalityUpdate OK
|
||||||
|
@ -1955,7 +1980,7 @@ OK: 5/5 Fail: 0/5 Skip: 0/5
|
||||||
+ Testing VoluntaryExit OK
|
+ Testing VoluntaryExit OK
|
||||||
+ Testing Withdrawal OK
|
+ Testing Withdrawal OK
|
||||||
```
|
```
|
||||||
OK: 44/44 Fail: 0/44 Skip: 0/44
|
OK: 45/45 Fail: 0/45 Skip: 0/45
|
||||||
## EF - EIP4844 - Epoch Processing - Effective balance updates [Preset: minimal]
|
## EF - EIP4844 - Epoch Processing - Effective balance updates [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
+ Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK
|
+ Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK
|
||||||
|
@ -1967,9 +1992,9 @@ 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 - EIP4844 - Epoch Processing - Historical roots update [Preset: minimal]
|
## EF - EIP4844 - Epoch Processing - Historical summaries update [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
+ Historical roots update - historical_root_accumulator [Preset: minimal] OK
|
+ Historical summaries update - historical_summaries_accumulator [Preset: minimal] OK
|
||||||
```
|
```
|
||||||
OK: 1/1 Fail: 0/1 Skip: 0/1
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
||||||
## EF - EIP4844 - Epoch Processing - Inactivity [Preset: minimal]
|
## EF - EIP4844 - Epoch Processing - Inactivity [Preset: minimal]
|
||||||
|
@ -2115,6 +2140,7 @@ OK: 5/5 Fail: 0/5 Skip: 0/5
|
||||||
+ Testing Fork OK
|
+ Testing Fork OK
|
||||||
+ Testing ForkData OK
|
+ Testing ForkData OK
|
||||||
+ Testing HistoricalBatch OK
|
+ Testing HistoricalBatch OK
|
||||||
|
+ Testing HistoricalSummary OK
|
||||||
+ Testing IndexedAttestation OK
|
+ Testing IndexedAttestation OK
|
||||||
+ Testing LightClientBootstrap OK
|
+ Testing LightClientBootstrap OK
|
||||||
+ Testing LightClientFinalityUpdate OK
|
+ Testing LightClientFinalityUpdate OK
|
||||||
|
@ -2140,7 +2166,7 @@ OK: 5/5 Fail: 0/5 Skip: 0/5
|
||||||
+ Testing VoluntaryExit OK
|
+ Testing VoluntaryExit OK
|
||||||
+ Testing Withdrawal OK
|
+ Testing Withdrawal OK
|
||||||
```
|
```
|
||||||
OK: 46/46 Fail: 0/46 Skip: 0/46
|
OK: 47/47 Fail: 0/47 Skip: 0/47
|
||||||
## EF - Phase 0 - Epoch Processing - Effective balance updates [Preset: minimal]
|
## EF - Phase 0 - Epoch Processing - Effective balance updates [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
+ Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK
|
+ Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK
|
||||||
|
@ -2622,6 +2648,25 @@ OK: 68/68 Fail: 0/68 Skip: 0/68
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_one_of_many_incorrectly_full OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_one_of_many_incorrectly_full OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_one_of_many_incorrectly_partia OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_one_of_many_incorrectly_partia OK
|
||||||
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_two_expected_partial_withdrawa OK
|
+ [Invalid] EF - Capella - Operations - Withdrawals - invalid_two_expected_partial_withdrawa OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_a_lot_fully_withdrawable_too_f OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_a_lot_mixed_withdrawable_in_qu OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_a_lot_partially_withdrawable_t OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_address_full OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_address_partial OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_amount_full OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_amount_partial OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_incorrect_withdrawal_index OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_many_incorrectly_full OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_many_incorrectly_partial OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_max_per_slot_full_withdrawals_ OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_max_per_slot_partial_withdrawa OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_non_withdrawable_non_empty_wit OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_expected_full_withdrawal_a OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_expected_full_withdrawal_a OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_expected_partial_withdrawa OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_of_many_incorrectly_full OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_one_of_many_incorrectly_partia OK
|
||||||
|
+ [Invalid] EF - EIP4844 - Operations - Withdrawals - invalid_two_expected_partial_withdrawa OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - all_withdrawal 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 - no_withdrawals_but_some_next_epoch OK
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - random_0 OK
|
+ [Valid] EF - Capella - Operations - Withdrawals - random_0 OK
|
||||||
|
@ -2654,9 +2699,40 @@ OK: 68/68 Fail: 0/68 Skip: 0/68
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_balance 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
|
||||||
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
+ [Valid] EF - Capella - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
+ [Valid] EF - EIP4844 - Operations - Withdrawals - no_op OK
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - all_withdrawal OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - no_withdrawals_but_some_next_epoch OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_0 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_full_withdrawals_0 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_full_withdrawals_1 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_full_withdrawals_2 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_full_withdrawals_3 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_1 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_2 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_3 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_4 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - random_partial_withdrawals_5 OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_all_fully_withdrawable OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_all_partially_withdrawable OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_excess_balance_but_no_max_effe OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_max_partial_withdrawable OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_max_per_slot OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_max_plus_one_withdrawable OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_no_excess_balance OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_no_max_effective_balance OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_full_withdrawal OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_activ OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_exite OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_exite OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_in_ex OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawable_not_y OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_one_partial_withdrawal OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_two_partial_withdrawable OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - success_zero_expected_withdrawals OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - withdrawable_epoch_but_0_balance OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
|
+ [Valid] EF - EIP4844 - Operations - Withdrawals - withdrawable_epoch_but_0_effective_bal OK
|
||||||
```
|
```
|
||||||
OK: 52/52 Fail: 0/52 Skip: 0/52
|
OK: 102/102 Fail: 0/102 Skip: 0/102
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 2348/2357 Fail: 0/2357 Skip: 9/2357
|
OK: 2424/2433 Fail: 0/2433 Skip: 9/2433
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2021-2022 Status Research & Development GmbH
|
# Copyright (c) 2021-2023 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
|
@ -14,7 +14,8 @@ import
|
||||||
./spec/datatypes/[base, altair, bellatrix],
|
./spec/datatypes/[base, altair, bellatrix],
|
||||||
./spec/[eth2_ssz_serialization, eth2_merkleization]
|
./spec/[eth2_ssz_serialization, eth2_merkleization]
|
||||||
|
|
||||||
from ./spec/datatypes/capella import ExecutionPayloadHeader, Withdrawal
|
from ./spec/datatypes/capella import
|
||||||
|
ExecutionPayloadHeader, HistoricalSummary, Withdrawal
|
||||||
from ./spec/datatypes/eip4844 import ExecutionPayloadHeader
|
from ./spec/datatypes/eip4844 import ExecutionPayloadHeader
|
||||||
|
|
||||||
type
|
type
|
||||||
|
@ -252,6 +253,11 @@ type
|
||||||
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
||||||
next_withdrawal_validator_index*: uint64 # [New in Capella]
|
next_withdrawal_validator_index*: uint64 # [New in Capella]
|
||||||
|
|
||||||
|
# Deep history valid from Capella onwards
|
||||||
|
historical_summaries*:
|
||||||
|
HashList[HistoricalSummary,
|
||||||
|
Limit HISTORICAL_ROOTS_LIMIT] # [New in Capella]
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#beaconstate
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#beaconstate
|
||||||
# with indirect changes via ExecutionPayloadHeader
|
# with indirect changes via ExecutionPayloadHeader
|
||||||
# Memory-representation-equivalent to a Capella BeaconState for in-place SSZ
|
# Memory-representation-equivalent to a Capella BeaconState for in-place SSZ
|
||||||
|
@ -317,3 +323,7 @@ type
|
||||||
# Withdrawals
|
# Withdrawals
|
||||||
next_withdrawal_index*: WithdrawalIndex
|
next_withdrawal_index*: WithdrawalIndex
|
||||||
next_withdrawal_validator_index*: uint64
|
next_withdrawal_validator_index*: uint64
|
||||||
|
|
||||||
|
# Deep history valid from Capella onwards
|
||||||
|
historical_summaries*:
|
||||||
|
HashList[HistoricalSummary, Limit HISTORICAL_ROOTS_LIMIT]
|
||||||
|
|
|
@ -842,7 +842,8 @@ func is_partially_withdrawable_validator(
|
||||||
has_max_effective_balance and has_excess_balance
|
has_max_effective_balance and has_excess_balance
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/capella/beacon-chain.md#new-get_expected_withdrawals
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/capella/beacon-chain.md#new-get_expected_withdrawals
|
||||||
func get_expected_withdrawals*(state: capella.BeaconState): seq[Withdrawal] =
|
func get_expected_withdrawals*(
|
||||||
|
state: capella.BeaconState | eip4844.BeaconState): seq[Withdrawal] =
|
||||||
let
|
let
|
||||||
epoch = get_current_epoch(state)
|
epoch = get_current_epoch(state)
|
||||||
num_validators = lenu64(state.validators)
|
num_validators = lenu64(state.validators)
|
||||||
|
@ -876,16 +877,6 @@ func get_expected_withdrawals*(state: capella.BeaconState): seq[Withdrawal] =
|
||||||
validator_index = (validator_index + 1) mod num_validators
|
validator_index = (validator_index + 1) mod num_validators
|
||||||
withdrawals
|
withdrawals
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/eip4844/beacon-chain.md#disabling-withdrawals
|
|
||||||
func get_expected_withdrawals*(state: eip4844.BeaconState): seq[Withdrawal] =
|
|
||||||
# During testing we avoid Capella-specific updates to the state transition.
|
|
||||||
#
|
|
||||||
# ...
|
|
||||||
#
|
|
||||||
# The `get_expected_withdrawals` function is also modified to return an empty
|
|
||||||
# withdrawals list.
|
|
||||||
@[]
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/altair/beacon-chain.md#get_next_sync_committee
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/altair/beacon-chain.md#get_next_sync_committee
|
||||||
func get_next_sync_committee*(
|
func get_next_sync_committee*(
|
||||||
state: altair.BeaconState | bellatrix.BeaconState | capella.BeaconState |
|
state: altair.BeaconState | bellatrix.BeaconState | capella.BeaconState |
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2018-2022 Status Research & Development GmbH
|
# Copyright (c) 2018-2023 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
|
@ -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.2"
|
const SPEC_VERSION* = "1.3.0-rc.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
|
||||||
|
|
|
@ -48,6 +48,13 @@ type
|
||||||
message*: BLSToExecutionChange
|
message*: BLSToExecutionChange
|
||||||
signature*: ValidatorSig
|
signature*: ValidatorSig
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-rc.0/specs/capella/beacon-chain.md#historicalsummary
|
||||||
|
HistoricalSummary* = object
|
||||||
|
# `HistoricalSummary` matches the components of the phase0
|
||||||
|
# `HistoricalBatch` making the two hash_tree_root-compatible.
|
||||||
|
block_summary_root*: Eth2Digest
|
||||||
|
state_summary_root*: Eth2Digest
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#executionpayload
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#executionpayload
|
||||||
ExecutionPayload* = object
|
ExecutionPayload* = object
|
||||||
parent_hash*: Eth2Digest
|
parent_hash*: Eth2Digest
|
||||||
|
@ -107,7 +114,8 @@ type
|
||||||
## Needed to process attestations, older to newer
|
## Needed to process attestations, older to newer
|
||||||
|
|
||||||
state_roots*: HashArray[Limit SLOTS_PER_HISTORICAL_ROOT, Eth2Digest]
|
state_roots*: HashArray[Limit SLOTS_PER_HISTORICAL_ROOT, Eth2Digest]
|
||||||
historical_roots*: HashList[Eth2Digest, Limit HISTORICAL_ROOTS_LIMIT]
|
historical_roots*: HashList[Eth2Digest, Limit HISTORICAL_ROOTS_LIMIT] # \
|
||||||
|
# Frozen in Capella, replaced by historical_summaries
|
||||||
|
|
||||||
# Eth1
|
# Eth1
|
||||||
eth1_data*: Eth1Data
|
eth1_data*: Eth1Data
|
||||||
|
@ -153,6 +161,11 @@ type
|
||||||
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
||||||
next_withdrawal_validator_index*: uint64 # [New in Capella]
|
next_withdrawal_validator_index*: uint64 # [New in Capella]
|
||||||
|
|
||||||
|
# Deep history valid from Capella onwards
|
||||||
|
historical_summaries*:
|
||||||
|
HashList[HistoricalSummary,
|
||||||
|
Limit HISTORICAL_ROOTS_LIMIT] # [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:
|
||||||
# https://github.com/nim-lang/RFCs/issues/250
|
# https://github.com/nim-lang/RFCs/issues/250
|
||||||
|
|
|
@ -165,8 +165,12 @@ type
|
||||||
latest_execution_payload_header*: ExecutionPayloadHeader
|
latest_execution_payload_header*: ExecutionPayloadHeader
|
||||||
|
|
||||||
# Withdrawals
|
# Withdrawals
|
||||||
next_withdrawal_index*: WithdrawalIndex # [New in Capella]
|
next_withdrawal_index*: WithdrawalIndex
|
||||||
next_withdrawal_validator_index*: uint64 # [New in Capella]
|
next_withdrawal_validator_index*: uint64
|
||||||
|
|
||||||
|
# Deep history valid from Capella onwards
|
||||||
|
historical_summaries*:
|
||||||
|
HashList[HistoricalSummary, Limit HISTORICAL_ROOTS_LIMIT]
|
||||||
|
|
||||||
# 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:
|
||||||
|
|
|
@ -395,7 +395,7 @@ proc process_voluntary_exit*(
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#new-process_bls_to_execution_change
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#new-process_bls_to_execution_change
|
||||||
proc process_bls_to_execution_change*(
|
proc process_bls_to_execution_change*(
|
||||||
state: var capella.BeaconState,
|
state: var (capella.BeaconState | eip4844.BeaconState),
|
||||||
signed_address_change: SignedBLSToExecutionChange): Result[void, cstring] =
|
signed_address_change: SignedBLSToExecutionChange): Result[void, cstring] =
|
||||||
let address_change = signed_address_change.message
|
let address_change = signed_address_change.message
|
||||||
|
|
||||||
|
@ -427,16 +427,6 @@ proc process_bls_to_execution_change*(
|
||||||
|
|
||||||
ok()
|
ok()
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/eip4844/beacon-chain.md#disabling-withdrawals
|
|
||||||
proc process_bls_to_execution_change*(
|
|
||||||
state: var eip4844.BeaconState,
|
|
||||||
signed_address_change: SignedBLSToExecutionChange): Result[void, cstring] =
|
|
||||||
# During testing we avoid Capella-specific updates to the state transition.
|
|
||||||
# We do this by replacing the following functions with a no-op
|
|
||||||
# implementation:
|
|
||||||
# `process_bls_to_execution_change`
|
|
||||||
ok()
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/phase0/beacon-chain.md#operations
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/phase0/beacon-chain.md#operations
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#modified-process_operations
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#modified-process_operations
|
||||||
proc process_operations(cfg: RuntimeConfig,
|
proc process_operations(cfg: RuntimeConfig,
|
||||||
|
@ -675,8 +665,8 @@ proc process_execution_payload*(
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/capella/beacon-chain.md#new-process_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,
|
state: var (capella.BeaconState | eip4844.BeaconState),
|
||||||
payload: capella.ExecutionPayload):
|
payload: capella.ExecutionPayload | eip4844.ExecutionPayload):
|
||||||
Result[void, cstring] =
|
Result[void, cstring] =
|
||||||
let expected_withdrawals = get_expected_withdrawals(state)
|
let expected_withdrawals = get_expected_withdrawals(state)
|
||||||
|
|
||||||
|
@ -715,17 +705,6 @@ func process_withdrawals*(
|
||||||
|
|
||||||
ok()
|
ok()
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/eip4844/beacon-chain.md#disabling-withdrawals
|
|
||||||
func process_withdrawals*(
|
|
||||||
state: var eip4844.BeaconState,
|
|
||||||
payload: eip4844.ExecutionPayload):
|
|
||||||
Result[void, cstring] =
|
|
||||||
# During testing we avoid Capella-specific updates to the state transition.
|
|
||||||
# We do this by replacing the following functions with a no-op
|
|
||||||
# implementation:
|
|
||||||
# `process_withdrawals`
|
|
||||||
ok()
|
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/eip4844/beacon-chain.md#tx_peek_blob_versioned_hashes
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.1/specs/eip4844/beacon-chain.md#tx_peek_blob_versioned_hashes
|
||||||
func tx_peek_blob_versioned_hashes(opaque_tx: Transaction):
|
func tx_peek_blob_versioned_hashes(opaque_tx: Transaction):
|
||||||
Result[seq[VersionedHash], cstring] =
|
Result[seq[VersionedHash], cstring] =
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2018-2022 Status Research & Development GmbH
|
# Copyright (c) 2018-2023 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
|
@ -31,7 +31,8 @@ import
|
||||||
|
|
||||||
from std/algorithm import sort
|
from std/algorithm import sort
|
||||||
from std/math import sum, `^`
|
from std/math import sum, `^`
|
||||||
from ./datatypes/capella import BeaconState, Withdrawal, WithdrawalIndex
|
from ./datatypes/capella import
|
||||||
|
BeaconState, HistoricalSummary, Withdrawal, WithdrawalIndex
|
||||||
|
|
||||||
export extras, phase0, altair
|
export extras, phase0, altair
|
||||||
|
|
||||||
|
@ -1057,6 +1058,22 @@ 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-rc.0/specs/capella/beacon-chain.md#historical-summaries-updates
|
||||||
|
func process_historical_summaries_update*(
|
||||||
|
state: var (capella.BeaconState | eip4844.BeaconState)):
|
||||||
|
Result[void, cstring] =
|
||||||
|
# Set historical block root accumulator.
|
||||||
|
let next_epoch = get_current_epoch(state) + 1
|
||||||
|
if next_epoch mod (SLOTS_PER_HISTORICAL_ROOT div SLOTS_PER_EPOCH) == 0:
|
||||||
|
let historical_summary = HistoricalSummary(
|
||||||
|
block_summary_root: hash_tree_root(state.block_roots),
|
||||||
|
state_summary_root: hash_tree_root(state.state_roots),
|
||||||
|
)
|
||||||
|
if not state.historical_summaries.add(historical_summary):
|
||||||
|
return err("process_historical_summaries_update: state.historical_summaries full")
|
||||||
|
|
||||||
|
ok()
|
||||||
|
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/phase0/beacon-chain.md#epoch-processing
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/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,
|
||||||
|
@ -1119,8 +1136,7 @@ func init*(
|
||||||
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/altair/beacon-chain.md#epoch-processing
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/specs/altair/beacon-chain.md#epoch-processing
|
||||||
proc process_epoch*(
|
proc process_epoch*(
|
||||||
cfg: RuntimeConfig,
|
cfg: RuntimeConfig,
|
||||||
state: var (altair.BeaconState | bellatrix.BeaconState |
|
state: var (altair.BeaconState | bellatrix.BeaconState),
|
||||||
capella.BeaconState | eip4844.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)
|
||||||
|
@ -1162,3 +1178,49 @@ proc process_epoch*(
|
||||||
process_sync_committee_updates(state)
|
process_sync_committee_updates(state)
|
||||||
|
|
||||||
ok()
|
ok()
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-rc.0/specs/capella/beacon-chain.md#epoch-processing
|
||||||
|
proc process_epoch*(
|
||||||
|
cfg: RuntimeConfig,
|
||||||
|
state: var (capella.BeaconState | eip4844.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.2/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)
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/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.2/specs/phase0/beacon-chain.md#registry-updates
|
||||||
|
? process_registry_updates(cfg, state, cache)
|
||||||
|
|
||||||
|
# https://github.com/ethereum/consensus-specs/blob/v1.3.0-alpha.2/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_summaries_update(state)
|
||||||
|
process_participation_flag_updates(state)
|
||||||
|
process_sync_committee_updates(state)
|
||||||
|
|
||||||
|
ok()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2022 Status Research & Development GmbH
|
# Copyright (c) 2022-2023 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
|
@ -119,6 +119,7 @@ suite "EF - Capella - SSZ consensus objects " & preset():
|
||||||
of "Fork": checkSSZ(Fork, path, hash)
|
of "Fork": checkSSZ(Fork, path, hash)
|
||||||
of "ForkData": checkSSZ(ForkData, path, hash)
|
of "ForkData": checkSSZ(ForkData, path, hash)
|
||||||
of "HistoricalBatch": checkSSZ(HistoricalBatch, path, hash)
|
of "HistoricalBatch": checkSSZ(HistoricalBatch, path, hash)
|
||||||
|
of "HistoricalSummary": checkSSZ(HistoricalSummary, path, hash)
|
||||||
of "IndexedAttestation": checkSSZ(IndexedAttestation, path, hash)
|
of "IndexedAttestation": checkSSZ(IndexedAttestation, path, hash)
|
||||||
of "LightClientBootstrap":
|
of "LightClientBootstrap":
|
||||||
checkSSZ(LightClientBootstrap, path, hash)
|
checkSSZ(LightClientBootstrap, path, hash)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2018-2022 Status Research & Development GmbH
|
# Copyright (c) 2018-2023 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
|
@ -35,18 +35,18 @@ const
|
||||||
EffectiveBalanceUpdatesDir = RootDir/"effective_balance_updates"
|
EffectiveBalanceUpdatesDir = RootDir/"effective_balance_updates"
|
||||||
SlashingsResetDir = RootDir/"slashings_reset"
|
SlashingsResetDir = RootDir/"slashings_reset"
|
||||||
RandaoMixesResetDir = RootDir/"randao_mixes_reset"
|
RandaoMixesResetDir = RootDir/"randao_mixes_reset"
|
||||||
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"
|
||||||
RewardsAndPenaltiesDir = RootDir/"rewards_and_penalties"
|
RewardsAndPenaltiesDir = RootDir/"rewards_and_penalties"
|
||||||
|
HistoricalSummariesUpdateDir = RootDir/"historical_summaries_update"
|
||||||
|
|
||||||
doAssert (toHashSet(mapIt(toSeq(walkDir(RootDir, relative = false)), it.path)) -
|
doAssert (toHashSet(mapIt(toSeq(walkDir(RootDir, relative = false)), it.path)) -
|
||||||
toHashSet([SyncCommitteeDir])) ==
|
toHashSet([SyncCommitteeDir])) ==
|
||||||
toHashSet([
|
toHashSet([
|
||||||
JustificationFinalizationDir, InactivityDir, RegistryUpdatesDir,
|
JustificationFinalizationDir, InactivityDir, RegistryUpdatesDir,
|
||||||
SlashingsDir, Eth1DataResetDir, EffectiveBalanceUpdatesDir,
|
SlashingsDir, Eth1DataResetDir, EffectiveBalanceUpdatesDir,
|
||||||
SlashingsResetDir, RandaoMixesResetDir, HistoricalRootsUpdateDir,
|
SlashingsResetDir, RandaoMixesResetDir, ParticipationFlagDir,
|
||||||
ParticipationFlagDir, RewardsAndPenaltiesDir])
|
RewardsAndPenaltiesDir, HistoricalSummariesUpdateDir])
|
||||||
|
|
||||||
template runSuite(
|
template runSuite(
|
||||||
suiteDir, testName: string, transitionProc: untyped): untyped =
|
suiteDir, testName: string, transitionProc: untyped): untyped =
|
||||||
|
@ -129,11 +129,10 @@ runSuite(RandaoMixesResetDir, "RANDAO mixes reset"):
|
||||||
process_randao_mixes_reset(state)
|
process_randao_mixes_reset(state)
|
||||||
Result[void, cstring].ok()
|
Result[void, cstring].ok()
|
||||||
|
|
||||||
# Historical roots update
|
# Historical summaries update
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
runSuite(HistoricalRootsUpdateDir, "Historical roots update"):
|
runSuite(HistoricalSummariesUpdateDir, "Historical summaries update"):
|
||||||
process_historical_roots_update(state)
|
process_historical_summaries_update(state)
|
||||||
Result[void, cstring].ok()
|
|
||||||
|
|
||||||
# Participation flag updates
|
# Participation flag updates
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2022 Status Research & Development GmbH
|
# Copyright (c) 2022-2023 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
|
@ -22,7 +22,8 @@ import
|
||||||
|
|
||||||
from ../../beacon_chain/spec/datatypes/bellatrix import PowBlock
|
from ../../beacon_chain/spec/datatypes/bellatrix import PowBlock
|
||||||
from ../../beacon_chain/spec/datatypes/capella import
|
from ../../beacon_chain/spec/datatypes/capella import
|
||||||
BLSToExecutionChange, SignedBLSToExecutionChange, Withdrawal
|
BLSToExecutionChange, SignedBLSToExecutionChange, HistoricalSummary,
|
||||||
|
Withdrawal
|
||||||
|
|
||||||
# SSZ tests of consensus objects (minimal/mainnet preset specific)
|
# SSZ tests of consensus objects (minimal/mainnet preset specific)
|
||||||
|
|
||||||
|
@ -122,6 +123,7 @@ suite "EF - EIP4844 - SSZ consensus objects " & preset():
|
||||||
of "Fork": checkSSZ(Fork, path, hash)
|
of "Fork": checkSSZ(Fork, path, hash)
|
||||||
of "ForkData": checkSSZ(ForkData, path, hash)
|
of "ForkData": checkSSZ(ForkData, path, hash)
|
||||||
of "HistoricalBatch": checkSSZ(HistoricalBatch, path, hash)
|
of "HistoricalBatch": checkSSZ(HistoricalBatch, path, hash)
|
||||||
|
of "HistoricalSummary": checkSSZ(HistoricalSummary, path, hash)
|
||||||
of "IndexedAttestation": checkSSZ(IndexedAttestation, path, hash)
|
of "IndexedAttestation": checkSSZ(IndexedAttestation, path, hash)
|
||||||
of "LightClientBootstrap":
|
of "LightClientBootstrap":
|
||||||
checkSSZ(LightClientBootstrap, path, hash)
|
checkSSZ(LightClientBootstrap, path, hash)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2022 Status Research & Development GmbH
|
# Copyright (c) 2022-2023 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
|
@ -35,18 +35,18 @@ const
|
||||||
EffectiveBalanceUpdatesDir = RootDir/"effective_balance_updates"
|
EffectiveBalanceUpdatesDir = RootDir/"effective_balance_updates"
|
||||||
SlashingsResetDir = RootDir/"slashings_reset"
|
SlashingsResetDir = RootDir/"slashings_reset"
|
||||||
RandaoMixesResetDir = RootDir/"randao_mixes_reset"
|
RandaoMixesResetDir = RootDir/"randao_mixes_reset"
|
||||||
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"
|
||||||
RewardsAndPenaltiesDir = RootDir/"rewards_and_penalties"
|
RewardsAndPenaltiesDir = RootDir/"rewards_and_penalties"
|
||||||
|
HistoricalSummariesUpdateDir = RootDir/"historical_summaries_update"
|
||||||
|
|
||||||
doAssert (toHashSet(mapIt(toSeq(walkDir(RootDir, relative = false)), it.path)) -
|
doAssert (toHashSet(mapIt(toSeq(walkDir(RootDir, relative = false)), it.path)) -
|
||||||
toHashSet([SyncCommitteeDir])) ==
|
toHashSet([SyncCommitteeDir])) ==
|
||||||
toHashSet([
|
toHashSet([
|
||||||
JustificationFinalizationDir, InactivityDir, RegistryUpdatesDir,
|
JustificationFinalizationDir, InactivityDir, RegistryUpdatesDir,
|
||||||
SlashingsDir, Eth1DataResetDir, EffectiveBalanceUpdatesDir,
|
SlashingsDir, Eth1DataResetDir, EffectiveBalanceUpdatesDir,
|
||||||
SlashingsResetDir, RandaoMixesResetDir, HistoricalRootsUpdateDir,
|
SlashingsResetDir, RandaoMixesResetDir, ParticipationFlagDir,
|
||||||
ParticipationFlagDir, RewardsAndPenaltiesDir])
|
RewardsAndPenaltiesDir, HistoricalSummariesUpdateDir])
|
||||||
|
|
||||||
template runSuite(
|
template runSuite(
|
||||||
suiteDir, testName: string, transitionProc: untyped): untyped =
|
suiteDir, testName: string, transitionProc: untyped): untyped =
|
||||||
|
@ -131,9 +131,8 @@ runSuite(RandaoMixesResetDir, "RANDAO mixes reset"):
|
||||||
|
|
||||||
# Historical roots update
|
# Historical roots update
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
runSuite(HistoricalRootsUpdateDir, "Historical roots update"):
|
runSuite(HistoricalSummariesUpdateDir, "Historical summaries update"):
|
||||||
process_historical_roots_update(state)
|
process_historical_summaries_update(state)
|
||||||
Result[void, cstring].ok()
|
|
||||||
|
|
||||||
# Participation flag updates
|
# Participation flag updates
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 9a1398ab6409e8bceebdd9aeec659e7e8d1a3538
|
Subproject commit fbcd29aa678fa80bface275f1cae0cc5a247f411
|
Loading…
Reference in New Issue