mirror of
https://gitlab.com/pulsechaincom/lighthouse-pulse.git
synced 2024-12-28 14:57:17 +00:00
Fix bug with invalid state root
This commit is contained in:
parent
7edc5f37b9
commit
009a7eb9c7
@ -243,6 +243,9 @@ fn interop_genesis_state<T: EthSpec>(
|
|||||||
|
|
||||||
state.genesis_time = genesis_time;
|
state.genesis_time = genesis_time;
|
||||||
|
|
||||||
|
// Invalid all the caches after all the manual state surgery.
|
||||||
|
state.drop_all_caches();
|
||||||
|
|
||||||
Ok(state)
|
Ok(state)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -465,12 +465,10 @@ fn free_attestations_added_to_fork_choice_all_updated() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
fn run_skip_slot_test(skip_slots: u64) {
|
||||||
fn produces_and_processes_with_genesis_skip_slots() {
|
|
||||||
let num_validators = 8;
|
let num_validators = 8;
|
||||||
let harness_a = get_harness(num_validators);
|
let harness_a = get_harness(num_validators);
|
||||||
let harness_b = get_harness(num_validators);
|
let harness_b = get_harness(num_validators);
|
||||||
let skip_slots = 9;
|
|
||||||
|
|
||||||
for _ in 0..skip_slots {
|
for _ in 0..skip_slots {
|
||||||
harness_a.advance_slot();
|
harness_a.advance_slot();
|
||||||
@ -484,6 +482,12 @@ fn produces_and_processes_with_genesis_skip_slots() {
|
|||||||
AttestationStrategy::SomeValidators(vec![]),
|
AttestationStrategy::SomeValidators(vec![]),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
harness_a.chain.head().beacon_block.slot,
|
||||||
|
Slot::new(skip_slots + 1)
|
||||||
|
);
|
||||||
|
assert_eq!(harness_b.chain.head().beacon_block.slot, Slot::new(0));
|
||||||
|
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
harness_b
|
harness_b
|
||||||
.chain
|
.chain
|
||||||
@ -492,4 +496,16 @@ fn produces_and_processes_with_genesis_skip_slots() {
|
|||||||
block_root: harness_a.chain.head().beacon_block_root
|
block_root: harness_a.chain.head().beacon_block_root
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
harness_b.chain.head().beacon_block.slot,
|
||||||
|
Slot::new(skip_slots + 1)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn produces_and_processes_with_genesis_skip_slots() {
|
||||||
|
for i in 0..MinimalEthSpec::slots_per_epoch() * 4 {
|
||||||
|
run_skip_slot_test(i)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user