Update SlowLMDGhost to use SlotHeight.

This commit is contained in:
Age Manning 2019-02-14 16:53:53 +11:00
parent 066f0090dd
commit 7a03ee79aa
No known key found for this signature in database
GPG Key ID: 05EED64B79E06A93
2 changed files with 8 additions and 12 deletions

View File

@ -30,10 +30,8 @@ use fast_math::log2_raw;
use std::collections::HashMap;
use std::sync::Arc;
use types::{
readers::BeaconBlockReader,
slot_epoch_height::{Height, Slot},
validator_registry::get_active_validator_indices,
BeaconBlock, Hash256,
readers::BeaconBlockReader, slot_epoch::Slot, slot_height::SlotHeight,
validator_registry::get_active_validator_indices, BeaconBlock, Hash256,
};
//TODO: Pruning - Children
@ -77,7 +75,7 @@ pub struct OptimisedLMDGhost<T: ClientDB + Sized> {
block_store: Arc<BeaconBlockStore<T>>,
/// State storage access.
state_store: Arc<BeaconStateStore<T>>,
max_known_height: Height,
max_known_height: SlotHeight,
}
impl<T> OptimisedLMDGhost<T>
@ -93,7 +91,7 @@ where
ancestors: vec![HashMap::new(); 16],
latest_attestation_targets: HashMap::new(),
children: HashMap::new(),
max_known_height: Height::new(0),
max_known_height: SlotHeight::new(0),
block_store,
state_store,
}
@ -118,7 +116,7 @@ where
.ok_or_else(|| ForkChoiceError::MissingBeaconState(*state_root))?;
let active_validator_indices = get_active_validator_indices(
&current_state.validator_registry,
&current_state.validator_registry[..],
block_slot.epoch(EPOCH_LENGTH),
);
@ -137,7 +135,7 @@ where
}
/// Gets the ancestor at a given height `at_height` of a block specified by `block_hash`.
fn get_ancestor(&mut self, block_hash: Hash256, at_height: Height) -> Option<Hash256> {
fn get_ancestor(&mut self, block_hash: Hash256, at_height: SlotHeight) -> Option<Hash256> {
// return None if we can't get the block from the db.
let block_height = {
let block_slot = self
@ -186,7 +184,7 @@ where
fn get_clear_winner(
&mut self,
latest_votes: &HashMap<Hash256, u64>,
block_height: Height,
block_height: SlotHeight,
) -> Option<Hash256> {
// map of vote counts for every hash at this height
let mut current_votes: HashMap<Hash256, u64> = HashMap::new();

View File

@ -28,9 +28,7 @@ use db::{
use std::collections::HashMap;
use std::sync::Arc;
use types::{
readers::{BeaconBlockReader, BeaconStateReader},
slot_epoch_height::Slot,
validator_registry::get_active_validator_indices,
readers::BeaconBlockReader, slot_epoch::Slot, validator_registry::get_active_validator_indices,
BeaconBlock, Hash256,
};