This commit is contained in:
Etan Kissling 2024-07-26 04:50:57 +02:00
parent 6e80561080
commit 6062bde5e5
No known key found for this signature in database
GPG Key ID: B21DA824C5A3D03D
4 changed files with 65 additions and 17 deletions

View File

@ -2561,13 +2561,15 @@ OK: 5/5 Fail: 0/5 Skip: 0/5
+ EF - Electra - Fork - electra_fork_random_low_balances [Preset: mainnet] OK
+ EF - Electra - Fork - electra_fork_random_misc_balances [Preset: mainnet] OK
+ EF - Electra - Fork - fork_base_state [Preset: mainnet] OK
+ EF - Electra - Fork - fork_has_compounding_withdrawal_credential [Preset: mainnet] OK
+ EF - Electra - Fork - fork_many_next_epoch [Preset: mainnet] OK
+ EF - Electra - Fork - fork_next_epoch [Preset: mainnet] OK
+ EF - Electra - Fork - fork_next_epoch_with_block [Preset: mainnet] OK
+ EF - Electra - Fork - fork_pre_activation [Preset: mainnet] OK
+ EF - Electra - Fork - fork_random_low_balances [Preset: mainnet] OK
+ EF - Electra - Fork - fork_random_misc_balances [Preset: mainnet] OK
```
OK: 12/12 Fail: 0/12 Skip: 0/12
OK: 14/14 Fail: 0/14 Skip: 0/14
## EF - Electra - Operations - Attestation [Preset: mainnet]
```diff
+ [Invalid] EF - Electra - Operations - Attestation - invalid_after_max_inclusion_slot OK
@ -3026,6 +3028,13 @@ OK: 34/34 Fail: 0/34 Skip: 0/34
+ Testing SignedContributionAndProof OK
+ Testing SignedVoluntaryExit OK
+ Testing SigningData OK
+ Testing StableAttestation OK
+ Testing StableAttesterSlashing OK
+ Testing StableBeaconBlockBody OK
+ Testing StableBeaconState OK
+ Testing StableExecutionPayload OK
+ Testing StableExecutionPayloadHeader OK
+ Testing StableIndexedAttestation OK
+ Testing SyncAggregate OK
+ Testing SyncAggregatorSelectionData OK
+ Testing SyncCommittee OK
@ -3036,7 +3045,7 @@ OK: 34/34 Fail: 0/34 Skip: 0/34
+ Testing Withdrawal OK
+ Testing WithdrawalRequest OK
```
OK: 54/54 Fail: 0/54 Skip: 0/54
OK: 61/61 Fail: 0/61 Skip: 0/61
## EF - Electra - Sanity - Blocks [Preset: mainnet]
```diff
+ [Invalid] EF - Electra - Sanity - Blocks - deposit_transition__invalid_eth1_deposits_overl OK
@ -3180,8 +3189,12 @@ OK: 4/4 Fail: 0/4 Skip: 0/4
+ Light client - Single merkle proof - mainnet/deneb/light_client/single_merkle_proof/Beacon OK
+ Light client - Single merkle proof - mainnet/deneb/light_client/single_merkle_proof/Beacon OK
+ Light client - Single merkle proof - mainnet/deneb/light_client/single_merkle_proof/Beacon OK
+ Light client - Single merkle proof - mainnet/electra/light_client/single_merkle_proof/Beac OK
+ Light client - Single merkle proof - mainnet/electra/light_client/single_merkle_proof/Beac OK
+ Light client - Single merkle proof - mainnet/electra/light_client/single_merkle_proof/Beac OK
+ Light client - Single merkle proof - mainnet/electra/light_client/single_merkle_proof/Beac OK
```
OK: 14/14 Fail: 0/14 Skip: 0/14
OK: 18/18 Fail: 0/18 Skip: 0/18
## EF - Merkle proof [Preset: mainnet]
```diff
Merkle proof - Single merkle proof - eip7594 Skip
@ -3189,8 +3202,12 @@ OK: 14/14 Fail: 0/14 Skip: 0/14
+ Merkle proof - Single merkle proof - mainnet/deneb/merkle_proof/single_merkle_proof/Beacon OK
+ Merkle proof - Single merkle proof - mainnet/deneb/merkle_proof/single_merkle_proof/Beacon OK
+ Merkle proof - Single merkle proof - mainnet/deneb/merkle_proof/single_merkle_proof/Beacon OK
+ Merkle proof - Single merkle proof - mainnet/electra/merkle_proof/single_merkle_proof/Beac OK
+ Merkle proof - Single merkle proof - mainnet/electra/merkle_proof/single_merkle_proof/Beac OK
+ Merkle proof - Single merkle proof - mainnet/electra/merkle_proof/single_merkle_proof/Beac OK
+ Merkle proof - Single merkle proof - mainnet/electra/merkle_proof/single_merkle_proof/Beac OK
```
OK: 4/5 Fail: 0/5 Skip: 1/5
OK: 8/9 Fail: 0/9 Skip: 1/9
## EF - Phase 0 - Epoch Processing - Effective balance updates [Preset: mainnet]
```diff
+ Effective balance updates - effective_balance_hysteresis [Preset: mainnet] OK
@ -3693,4 +3710,4 @@ OK: 69/88 Fail: 0/88 Skip: 19/88
OK: 3/3 Fail: 0/3 Skip: 0/3
---TOTAL---
OK: 2971/2991 Fail: 0/2991 Skip: 20/2991
OK: 2988/3008 Fail: 0/3008 Skip: 20/3008

View File

@ -2689,14 +2689,16 @@ OK: 5/5 Fail: 0/5 Skip: 0/5
+ EF - Electra - Fork - electra_fork_random_low_balances [Preset: minimal] OK
+ EF - Electra - Fork - electra_fork_random_misc_balances [Preset: minimal] OK
+ EF - Electra - Fork - fork_base_state [Preset: minimal] OK
+ EF - Electra - Fork - fork_has_compounding_withdrawal_credential [Preset: minimal] OK
+ EF - Electra - Fork - fork_many_next_epoch [Preset: minimal] OK
+ EF - Electra - Fork - fork_next_epoch [Preset: minimal] OK
+ EF - Electra - Fork - fork_next_epoch_with_block [Preset: minimal] OK
+ EF - Electra - Fork - fork_pre_activation [Preset: minimal] OK
+ EF - Electra - Fork - fork_random_large_validator_set [Preset: minimal] OK
+ EF - Electra - Fork - fork_random_low_balances [Preset: minimal] OK
+ EF - Electra - Fork - fork_random_misc_balances [Preset: minimal] OK
```
OK: 14/14 Fail: 0/14 Skip: 0/14
OK: 16/16 Fail: 0/16 Skip: 0/16
## EF - Electra - Operations - Attestation [Preset: minimal]
```diff
+ [Invalid] EF - Electra - Operations - Attestation - invalid_after_max_inclusion_slot OK
@ -3179,6 +3181,13 @@ OK: 34/34 Fail: 0/34 Skip: 0/34
+ Testing SignedContributionAndProof OK
+ Testing SignedVoluntaryExit OK
+ Testing SigningData OK
+ Testing StableAttestation OK
+ Testing StableAttesterSlashing OK
+ Testing StableBeaconBlockBody OK
+ Testing StableBeaconState OK
+ Testing StableExecutionPayload OK
+ Testing StableExecutionPayloadHeader OK
+ Testing StableIndexedAttestation OK
+ Testing SyncAggregate OK
+ Testing SyncAggregatorSelectionData OK
+ Testing SyncCommittee OK
@ -3189,7 +3198,7 @@ OK: 34/34 Fail: 0/34 Skip: 0/34
+ Testing Withdrawal OK
+ Testing WithdrawalRequest OK
```
OK: 54/54 Fail: 0/54 Skip: 0/54
OK: 61/61 Fail: 0/61 Skip: 0/61
## EF - Electra - Sanity - Blocks [Preset: minimal]
```diff
+ [Invalid] EF - Electra - Sanity - Blocks - deposit_transition__invalid_eth1_deposits_overl OK
@ -3345,40 +3354,55 @@ OK: 4/4 Fail: 0/4 Skip: 0/4
+ Light client - Single merkle proof - minimal/deneb/light_client/single_merkle_proof/Beacon OK
+ Light client - Single merkle proof - minimal/deneb/light_client/single_merkle_proof/Beacon OK
+ Light client - Single merkle proof - minimal/deneb/light_client/single_merkle_proof/Beacon OK
+ Light client - Single merkle proof - minimal/electra/light_client/single_merkle_proof/Beac OK
+ Light client - Single merkle proof - minimal/electra/light_client/single_merkle_proof/Beac OK
+ Light client - Single merkle proof - minimal/electra/light_client/single_merkle_proof/Beac OK
+ Light client - Single merkle proof - minimal/electra/light_client/single_merkle_proof/Beac OK
```
OK: 14/14 Fail: 0/14 Skip: 0/14
OK: 18/18 Fail: 0/18 Skip: 0/18
## EF - Light client - Sync [Preset: minimal]
```diff
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/advance_finality_witho OK
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/capella_store_with_leg OK
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/deneb_store_with_legac OK
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/electra_store_with_leg OK
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/light_client_sync OK
+ Light client - Sync - minimal/altair/light_client/sync/pyspec_tests/supply_sync_committee_ OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/advance_finality_wi OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/capella_deneb_fork OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/capella_electra_for OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/capella_fork OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/capella_store_with_ OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/deneb_store_with_le OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/electra_store_with_ OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/light_client_sync OK
+ Light client - Sync - minimal/bellatrix/light_client/sync/pyspec_tests/supply_sync_committ OK
+ Light client - Sync - minimal/capella/light_client/sync/pyspec_tests/advance_finality_with OK
+ Light client - Sync - minimal/capella/light_client/sync/pyspec_tests/deneb_electra_fork OK
+ Light client - Sync - minimal/capella/light_client/sync/pyspec_tests/deneb_fork OK
+ Light client - Sync - minimal/capella/light_client/sync/pyspec_tests/deneb_store_with_lega OK
+ Light client - Sync - minimal/capella/light_client/sync/pyspec_tests/electra_store_with_le OK
+ Light client - Sync - minimal/capella/light_client/sync/pyspec_tests/light_client_sync OK
+ Light client - Sync - minimal/capella/light_client/sync/pyspec_tests/supply_sync_committee OK
+ Light client - Sync - minimal/deneb/light_client/sync/pyspec_tests/advance_finality_withou OK
+ Light client - Sync - minimal/deneb/light_client/sync/pyspec_tests/electra_fork OK
+ Light client - Sync - minimal/deneb/light_client/sync/pyspec_tests/electra_store_with_lega OK
+ Light client - Sync - minimal/deneb/light_client/sync/pyspec_tests/light_client_sync OK
+ Light client - Sync - minimal/deneb/light_client/sync/pyspec_tests/supply_sync_committee_f OK
+ Light client - Sync - minimal/electra/light_client/sync/pyspec_tests/advance_finality_with OK
+ Light client - Sync - minimal/electra/light_client/sync/pyspec_tests/light_client_sync OK
+ Light client - Sync - minimal/electra/light_client/sync/pyspec_tests/supply_sync_committee OK
```
OK: 20/20 Fail: 0/20 Skip: 0/20
OK: 30/30 Fail: 0/30 Skip: 0/30
## EF - Light client - Update ranking [Preset: minimal]
```diff
+ Light client - Update ranking - minimal/altair/light_client/update_ranking/pyspec_tests/up OK
+ Light client - Update ranking - minimal/bellatrix/light_client/update_ranking/pyspec_tests OK
+ Light client - Update ranking - minimal/capella/light_client/update_ranking/pyspec_tests/u OK
+ Light client - Update ranking - minimal/deneb/light_client/update_ranking/pyspec_tests/upd OK
+ Light client - Update ranking - minimal/electra/light_client/update_ranking/pyspec_tests/u OK
```
OK: 4/4 Fail: 0/4 Skip: 0/4
OK: 5/5 Fail: 0/5 Skip: 0/5
## EF - Merkle proof [Preset: minimal]
```diff
Merkle proof - Single merkle proof - eip7594 Skip
@ -3386,8 +3410,12 @@ OK: 4/4 Fail: 0/4 Skip: 0/4
+ Merkle proof - Single merkle proof - minimal/deneb/merkle_proof/single_merkle_proof/Beacon OK
+ Merkle proof - Single merkle proof - minimal/deneb/merkle_proof/single_merkle_proof/Beacon OK
+ Merkle proof - Single merkle proof - minimal/deneb/merkle_proof/single_merkle_proof/Beacon OK
+ Merkle proof - Single merkle proof - minimal/electra/merkle_proof/single_merkle_proof/Beac OK
+ Merkle proof - Single merkle proof - minimal/electra/merkle_proof/single_merkle_proof/Beac OK
+ Merkle proof - Single merkle proof - minimal/electra/merkle_proof/single_merkle_proof/Beac OK
+ Merkle proof - Single merkle proof - minimal/electra/merkle_proof/single_merkle_proof/Beac OK
```
OK: 4/5 Fail: 0/5 Skip: 1/5
OK: 8/9 Fail: 0/9 Skip: 1/9
## EF - Phase 0 - Epoch Processing - Effective balance updates [Preset: minimal]
```diff
+ Effective balance updates - effective_balance_hysteresis [Preset: minimal] OK
@ -4019,4 +4047,4 @@ OK: 185/207 Fail: 0/207 Skip: 22/207
OK: 3/3 Fail: 0/3 Skip: 0/3
---TOTAL---
OK: 3266/3289 Fail: 0/3289 Skip: 23/3289
OK: 3294/3317 Fail: 0/3317 Skip: 23/3317

View File

@ -730,15 +730,16 @@ func normalize_merkle_branch*[N](
res
# https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.3/specs/altair/light-client/sync-protocol.md#is_valid_normalized_merkle_branch
func is_valid_normalized_merkle_branch[N](
func is_valid_normalized_merkle_branch*[N](
leaf: Eth2Digest,
branch: array[N, Eth2Digest],
gindex: static GeneralizedIndex,
gindex: GeneralizedIndex,
root: Eth2Digest): bool =
const
let
depth = log2trunc(gindex)
index = get_subtree_index(gindex)
num_extra = branch.len - depth
doAssert branch.len >= depth, "Branch is set up in a way that always fails"
let num_extra = branch.len - depth
for i in 0 ..< num_extra:
if not branch[i].isZero:
return false

View File

@ -31,6 +31,8 @@ proc makeTestDB*(
cfg.CAPELLA_FORK_EPOCH = 90000.Epoch
if cfg.DENEB_FORK_EPOCH == FAR_FUTURE_EPOCH:
cfg.DENEB_FORK_EPOCH = 100000.Epoch
if cfg.ELECTRA_FORK_EPOCH == FAR_FUTURE_EPOCH:
cfg.ELECTRA_FORK_EPOCH = 110000.Epoch
var genState = (ref ForkedHashedBeaconState)(
kind: ConsensusFork.Phase0,
@ -98,4 +100,4 @@ proc getEarliestInvalidBlockRoot*(
break
curBlck = curBlck.parent
curBlck.root
curBlck.root