fix remaining block sanity test vectors
This commit is contained in:
parent
17a0a965fc
commit
ef92529feb
|
@ -133,6 +133,7 @@ OK: 2/2 Fail: 0/2 Skip: 0/2
|
||||||
OK: 9/9 Fail: 0/9 Skip: 0/9
|
OK: 9/9 Fail: 0/9 Skip: 0/9
|
||||||
## Official - Sanity - Blocks [Preset: mainnet]
|
## Official - Sanity - Blocks [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
|
+ [Invalid] expected_deposit_in_block OK
|
||||||
+ [Invalid] invalid_block_sig OK
|
+ [Invalid] invalid_block_sig OK
|
||||||
+ [Invalid] invalid_proposer_index_sig_from_expected_proposer OK
|
+ [Invalid] invalid_proposer_index_sig_from_expected_proposer OK
|
||||||
+ [Invalid] invalid_proposer_index_sig_from_proposer_index OK
|
+ [Invalid] invalid_proposer_index_sig_from_proposer_index OK
|
||||||
|
@ -140,6 +141,7 @@ OK: 9/9 Fail: 0/9 Skip: 0/9
|
||||||
+ [Invalid] prev_slot_block_transition OK
|
+ [Invalid] prev_slot_block_transition OK
|
||||||
+ [Invalid] zero_block_sig OK
|
+ [Invalid] zero_block_sig OK
|
||||||
+ [Valid] attestation OK
|
+ [Valid] attestation OK
|
||||||
|
+ [Valid] attester_slashing OK
|
||||||
+ [Valid] balance_driven_status_transitions OK
|
+ [Valid] balance_driven_status_transitions OK
|
||||||
+ [Valid] deposit_in_block OK
|
+ [Valid] deposit_in_block OK
|
||||||
+ [Valid] deposit_top_up OK
|
+ [Valid] deposit_top_up OK
|
||||||
|
@ -153,7 +155,7 @@ OK: 9/9 Fail: 0/9 Skip: 0/9
|
||||||
+ [Valid] skipped_slots OK
|
+ [Valid] skipped_slots OK
|
||||||
+ [Valid] voluntary_exit OK
|
+ [Valid] voluntary_exit OK
|
||||||
```
|
```
|
||||||
OK: 19/19 Fail: 0/19 Skip: 0/19
|
OK: 21/21 Fail: 0/21 Skip: 0/21
|
||||||
## Official - Sanity - Slots [Preset: mainnet]
|
## Official - Sanity - Slots [Preset: mainnet]
|
||||||
```diff
|
```diff
|
||||||
+ Slots - double_empty_epoch OK
|
+ Slots - double_empty_epoch OK
|
||||||
|
@ -165,4 +167,4 @@ OK: 19/19 Fail: 0/19 Skip: 0/19
|
||||||
OK: 5/5 Fail: 0/5 Skip: 0/5
|
OK: 5/5 Fail: 0/5 Skip: 0/5
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 115/115 Fail: 0/115 Skip: 0/115
|
OK: 117/117 Fail: 0/117 Skip: 0/117
|
||||||
|
|
|
@ -133,6 +133,7 @@ OK: 2/2 Fail: 0/2 Skip: 0/2
|
||||||
OK: 9/9 Fail: 0/9 Skip: 0/9
|
OK: 9/9 Fail: 0/9 Skip: 0/9
|
||||||
## Official - Sanity - Blocks [Preset: minimal]
|
## Official - Sanity - Blocks [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
|
+ [Invalid] expected_deposit_in_block OK
|
||||||
+ [Invalid] invalid_block_sig OK
|
+ [Invalid] invalid_block_sig OK
|
||||||
+ [Invalid] invalid_proposer_index_sig_from_expected_proposer OK
|
+ [Invalid] invalid_proposer_index_sig_from_expected_proposer OK
|
||||||
+ [Invalid] invalid_proposer_index_sig_from_proposer_index OK
|
+ [Invalid] invalid_proposer_index_sig_from_proposer_index OK
|
||||||
|
@ -140,6 +141,7 @@ OK: 9/9 Fail: 0/9 Skip: 0/9
|
||||||
+ [Invalid] prev_slot_block_transition OK
|
+ [Invalid] prev_slot_block_transition OK
|
||||||
+ [Invalid] zero_block_sig OK
|
+ [Invalid] zero_block_sig OK
|
||||||
+ [Valid] attestation OK
|
+ [Valid] attestation OK
|
||||||
|
+ [Valid] attester_slashing OK
|
||||||
+ [Valid] balance_driven_status_transitions OK
|
+ [Valid] balance_driven_status_transitions OK
|
||||||
+ [Valid] deposit_in_block OK
|
+ [Valid] deposit_in_block OK
|
||||||
+ [Valid] deposit_top_up OK
|
+ [Valid] deposit_top_up OK
|
||||||
|
@ -156,7 +158,7 @@ OK: 9/9 Fail: 0/9 Skip: 0/9
|
||||||
+ [Valid] skipped_slots OK
|
+ [Valid] skipped_slots OK
|
||||||
+ [Valid] voluntary_exit OK
|
+ [Valid] voluntary_exit OK
|
||||||
```
|
```
|
||||||
OK: 22/22 Fail: 0/22 Skip: 0/22
|
OK: 24/24 Fail: 0/24 Skip: 0/24
|
||||||
## Official - Sanity - Slots [Preset: minimal]
|
## Official - Sanity - Slots [Preset: minimal]
|
||||||
```diff
|
```diff
|
||||||
+ Slots - double_empty_epoch OK
|
+ Slots - double_empty_epoch OK
|
||||||
|
@ -168,4 +170,4 @@ OK: 22/22 Fail: 0/22 Skip: 0/22
|
||||||
OK: 5/5 Fail: 0/5 Skip: 0/5
|
OK: 5/5 Fail: 0/5 Skip: 0/5
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 118/118 Fail: 0/118 Skip: 0/118
|
OK: 120/120 Fail: 0/120 Skip: 0/120
|
||||||
|
|
|
@ -395,7 +395,7 @@ proc is_valid_indexed_attestation*(
|
||||||
return false
|
return false
|
||||||
|
|
||||||
# Verify indices are sorted and unique
|
# Verify indices are sorted and unique
|
||||||
if indices != sorted(toSet(indices).toSeq, system.cmp):
|
if indices != sorted(toHashSet(indices).toSeq, system.cmp):
|
||||||
notice "indexed attestation: indices not sorted"
|
notice "indexed attestation: indices not sorted"
|
||||||
return false
|
return false
|
||||||
|
|
||||||
|
|
|
@ -298,8 +298,16 @@ proc processAttestations(
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v0.8.4/specs/core/0_beacon-chain.md#deposits
|
# https://github.com/ethereum/eth2.0-specs/blob/v0.8.4/specs/core/0_beacon-chain.md#deposits
|
||||||
proc processDeposits(state: var BeaconState, blck: BeaconBlock,
|
proc processDeposits(state: var BeaconState, blck: BeaconBlock,
|
||||||
flags: UpdateFlags): bool {.nbench.} =
|
flags: UpdateFlags): bool {.nbench.} =
|
||||||
if not (len(blck.body.deposits) <= MAX_DEPOSITS):
|
let
|
||||||
notice "processDeposits: too many deposits"
|
num_deposits = len(blck.body.deposits).int64
|
||||||
|
req_deposits = min(MAX_DEPOSITS,
|
||||||
|
state.eth1_data.deposit_count.int64 - state.eth1_deposit_index.int64)
|
||||||
|
if not (num_deposits == req_deposits):
|
||||||
|
notice "processDeposits: incorrect number of deposits",
|
||||||
|
num_deposits = num_deposits,
|
||||||
|
req_deposits = req_deposits,
|
||||||
|
deposit_count = state.eth1_data.deposit_count,
|
||||||
|
deposit_index = state.eth1_deposit_index
|
||||||
return false
|
return false
|
||||||
|
|
||||||
for deposit in blck.body.deposits:
|
for deposit in blck.body.deposits:
|
||||||
|
|
|
@ -58,22 +58,12 @@ proc runTest(identifier: string) =
|
||||||
|
|
||||||
# check: stateRef.hash_tree_root() == postRef.hash_tree_root()
|
# check: stateRef.hash_tree_root() == postRef.hash_tree_root()
|
||||||
if not postRef.isNil:
|
if not postRef.isNil:
|
||||||
|
when false:
|
||||||
reportDiff(stateRef, postRef)
|
reportDiff(stateRef, postRef)
|
||||||
|
doAssert stateRef.hash_tree_root() == postRef.hash_tree_root()
|
||||||
|
|
||||||
`testImpl _ blck _ identifier`()
|
`testImpl _ blck _ identifier`()
|
||||||
|
|
||||||
suiteReport "Official - Sanity - Blocks " & preset():
|
suiteReport "Official - Sanity - Blocks " & preset():
|
||||||
# Failing due to signature checking in indexed validation checking pending
|
|
||||||
# 0.10 BLS verification API with new domain handling.
|
|
||||||
const expected_failures =
|
|
||||||
[
|
|
||||||
"attester_slashing",
|
|
||||||
# TODO: regression BLS v0.10.1 to fix
|
|
||||||
"expected_deposit_in_block",
|
|
||||||
]
|
|
||||||
|
|
||||||
for kind, path in walkDir(SanityBlocksDir, true):
|
for kind, path in walkDir(SanityBlocksDir, true):
|
||||||
if path in expected_failures:
|
|
||||||
echo "Skipping test: ", path
|
|
||||||
continue
|
|
||||||
runTest(path)
|
runTest(path)
|
||||||
|
|
|
@ -117,7 +117,11 @@ proc addTestBlock*(
|
||||||
state,
|
state,
|
||||||
parent_root,
|
parent_root,
|
||||||
randao_reveal,
|
randao_reveal,
|
||||||
eth1_data,
|
# Keep deposit counts internally consistent.
|
||||||
|
Eth1Data(
|
||||||
|
deposit_root: eth1_data.deposit_root,
|
||||||
|
deposit_count: state.eth1_deposit_index + deposits.len.uint64,
|
||||||
|
block_hash: eth1_data.block_hash),
|
||||||
graffiti,
|
graffiti,
|
||||||
attestations,
|
attestations,
|
||||||
deposits)
|
deposits)
|
||||||
|
|
Loading…
Reference in New Issue