Update project tests to use new genesis structure

This commit is contained in:
Paul Hauner 2019-03-11 11:52:16 +11:00
parent 827365cfb0
commit 41844841c6
No known key found for this signature in database
GPG Key ID: D362883A9218FCC6
4 changed files with 21 additions and 10 deletions

View File

@ -15,7 +15,7 @@
//! let validator_count = 8; //! let validator_count = 8;
//! let spec = ChainSpec::few_validators(); //! let spec = ChainSpec::few_validators();
//! //!
//! let mut harness = BeaconChainHarness::new(spec, validator_count); //! let mut harness = BeaconChainHarness::new(spec, validator_count, None, true);
//! //!
//! harness.advance_chain_with_block(); //! harness.advance_chain_with_block();
//! //!

View File

@ -10,7 +10,7 @@ fn it_can_build_on_genesis_block() {
let spec = ChainSpec::few_validators(); let spec = ChainSpec::few_validators();
let validator_count = 8; let validator_count = 8;
let mut harness = BeaconChainHarness::new(spec, validator_count as usize); let mut harness = BeaconChainHarness::new(spec, validator_count as usize, None, true);
harness.advance_chain_with_block(); harness.advance_chain_with_block();
} }
@ -25,7 +25,7 @@ fn it_can_produce_past_first_epoch_boundary() {
debug!("Starting harness build..."); debug!("Starting harness build...");
let mut harness = BeaconChainHarness::new(spec, validator_count); let mut harness = BeaconChainHarness::new(spec, validator_count, None, true);
debug!("Harness built, tests starting.."); debug!("Harness built, tests starting..");

View File

@ -17,8 +17,12 @@ use db::{
use fork_choice::BitwiseLMDGhost; use fork_choice::BitwiseLMDGhost;
use slog::{error, info, o, Drain}; use slog::{error, info, o, Drain};
use slot_clock::SystemTimeSlotClock; use slot_clock::SystemTimeSlotClock;
use ssz::TreeHash;
use std::sync::Arc; use std::sync::Arc;
use types::{ChainSpec, Deposit, DepositData, DepositInput, Eth1Data, Hash256, Keypair}; use types::{
beacon_state::BeaconStateBuilder, BeaconBlock, ChainSpec, Deposit, DepositData, DepositInput,
Eth1Data, Hash256, Keypair,
};
fn main() { fn main() {
let decorator = slog_term::TermDecorator::new().build(); let decorator = slog_term::TermDecorator::new().build();
@ -97,7 +101,8 @@ fn main() {
.iter() .iter()
.map(|_| Keypair::random()) .map(|_| Keypair::random())
.collect(); .collect();
let initial_validator_deposits = keypairs
let initial_validator_deposits: Vec<Deposit> = keypairs
.iter() .iter()
.map(|keypair| Deposit { .map(|keypair| Deposit {
branch: vec![], // branch verification is not specified. branch: vec![], // branch verification is not specified.
@ -114,14 +119,19 @@ fn main() {
}) })
.collect(); .collect();
let mut state_builder = BeaconStateBuilder::new(genesis_time, latest_eth1_data, &spec);
state_builder.process_initial_deposits(&initial_validator_deposits, &spec);
let genesis_state = state_builder.build(&spec).unwrap();
let state_root = Hash256::from_slice(&genesis_state.hash_tree_root());
let genesis_block = BeaconBlock::genesis(state_root, &spec);
// Genesis chain // Genesis chain
let _chain_result = BeaconChain::genesis( let _chain_result = BeaconChain::from_genesis(
state_store.clone(), state_store.clone(),
block_store.clone(), block_store.clone(),
slot_clock, slot_clock,
genesis_time, genesis_state,
latest_eth1_data, genesis_block,
initial_validator_deposits,
spec, spec,
fork_choice, fork_choice,
); );

View File

@ -53,7 +53,8 @@ impl BeaconStateBuilder {
/// Instantiate the validator registry from a YAML file. /// Instantiate the validator registry from a YAML file.
/// ///
/// This skips a lot of signing and verification, useful for fast test setups. /// This skips a lot of signing and verification, useful if signing and verification has been
/// completed previously.
/// ///
/// Spec v0.4.0 /// Spec v0.4.0
pub fn import_existing_validators( pub fn import_existing_validators(