Merge spec into types crate.

Also remove some pre-2018 `extern crate` calls.
This commit is contained in:
Paul Hauner 2019-02-01 19:05:39 +11:00
parent c1c5311ea0
commit aad3b3dc7a
No known key found for this signature in database
GPG Key ID: D362883A9218FCC6
21 changed files with 13 additions and 49 deletions

View File

@ -3,7 +3,6 @@ members = [
"eth2/attestation_validation",
"eth2/genesis",
"eth2/naive_fork_choice",
"eth2/spec",
"eth2/types",
"eth2/utils/bls",
"eth2/utils/boolean-bitfield",

View File

@ -7,11 +7,10 @@ use db::{
};
use genesis::{genesis_beacon_block, genesis_beacon_state, GenesisError};
use slot_clock::SlotClock;
use spec::ChainSpec;
use ssz::ssz_encode;
use std::collections::HashSet;
use std::sync::Arc;
use types::Hash256;
use types::{ChainSpec, Hash256};
pub use crate::block_processing::Outcome as BlockProcessingOutcome;

View File

@ -4,8 +4,8 @@ use db::{
MemoryDB,
};
use slot_clock::TestingSlotClock;
use spec::ChainSpec;
use std::sync::Arc;
use types::ChainSpec;
fn in_memory_test_stores() -> (
Arc<MemoryDB>,

View File

@ -6,7 +6,6 @@ edition = "2018"
[dependencies]
bls = { path = "../utils/bls" }
spec = { path = "../spec" }
ssz = { path = "../utils/ssz" }
types = { path = "../types" }
validator_induction = { path = "../validator_induction" }

View File

@ -1,5 +1,4 @@
use spec::ChainSpec;
use types::{BeaconBlock, BeaconBlockBody, Eth1Data, Hash256};
use types::{BeaconBlock, BeaconBlockBody, ChainSpec, Eth1Data, Hash256};
/// Generate a genesis BeaconBlock.
pub fn genesis_beacon_block(state_root: Hash256, spec: &ChainSpec) -> BeaconBlock {

View File

@ -1,5 +1,4 @@
use spec::ChainSpec;
use types::{BeaconState, Crosslink, Fork};
use types::{BeaconState, ChainSpec, Crosslink, Fork};
use validator_shuffling::{shard_and_committees_for_cycle, ValidatorAssignmentError};
#[derive(Debug, PartialEq)]

View File

@ -1,8 +1,3 @@
extern crate spec;
extern crate types;
extern crate validator_induction;
extern crate validator_shuffling;
mod beacon_block;
mod beacon_state;

View File

@ -1,9 +0,0 @@
[package]
name = "spec"
version = "0.1.0"
authors = ["Paul Hauner <paul@paulhauner.com>"]
edition = "2018"
[dependencies]
bls = { path = "../utils/bls" }
types = { path = "../types" }

View File

@ -25,6 +25,7 @@ pub mod proposer_slashing;
pub mod shard_committee;
pub mod shard_reassignment_record;
pub mod slashable_vote_data;
pub mod spec;
pub mod special_record;
pub mod validator;
pub mod validator_registry;
@ -54,6 +55,7 @@ pub use crate::proposal_signed_data::ProposalSignedData;
pub use crate::proposer_slashing::ProposerSlashing;
pub use crate::shard_committee::ShardCommittee;
pub use crate::slashable_vote_data::SlashableVoteData;
pub use crate::spec::ChainSpec;
pub use crate::special_record::{SpecialRecord, SpecialRecordKind};
pub use crate::validator::{StatusFlags as ValidatorStatusFlags, Validator};
pub use crate::validator_registry_delta_block::ValidatorRegistryDeltaBlock;

View File

@ -1,7 +1,7 @@
use super::ChainSpec;
use bls::{Keypair, PublicKey, SecretKey, Signature};
use types::{Address, Eth1Data, Hash256, Validator};
use crate::{Address, Eth1Data, Hash256, Validator};
/// The size of a validators deposit in GWei.
pub const DEPOSIT_GWEI: u64 = 32_000_000_000;

View File

@ -1,10 +1,7 @@
extern crate bls;
extern crate types;
mod foundation;
use crate::{Address, Eth1Data, Hash256, Validator};
use bls::Signature;
use types::{Address, Eth1Data, Hash256, Validator};
#[derive(PartialEq, Debug)]
pub struct ChainSpec {

View File

@ -8,4 +8,3 @@ edition = "2018"
bls = { path = "../utils/bls" }
hashing = { path = "../utils/hashing" }
types = { path = "../types" }
spec = { path = "../spec" }

View File

@ -1,6 +1,5 @@
use bls::verify_proof_of_possession;
use spec::ChainSpec;
use types::{BeaconState, Deposit, Validator};
use types::{BeaconState, ChainSpec, Deposit, Validator};
#[derive(Debug, PartialEq, Clone)]
pub enum ValidatorInductionError {

View File

@ -1,8 +1,3 @@
extern crate bls;
extern crate hashing;
extern crate spec;
extern crate types;
mod inductor;
pub use crate::inductor::{process_deposit, ValidatorInductionError};

View File

@ -6,6 +6,5 @@ edition = "2018"
[dependencies]
honey-badger-split = { path = "../utils/honey-badger-split" }
spec = { path = "../spec" }
types = { path = "../types" }
vec_shuffle = { path = "../utils/vec_shuffle" }

View File

@ -1,8 +1,3 @@
extern crate honey_badger_split;
extern crate spec;
extern crate types;
extern crate vec_shuffle;
mod shuffle;
pub use crate::shuffle::{shard_and_committees_for_cycle, ValidatorAssignmentError};

View File

@ -1,8 +1,7 @@
use std::cmp::min;
use honey_badger_split::SplitExt;
use spec::ChainSpec;
use types::validator_registry::get_active_validator_indices;
use types::{validator_registry::get_active_validator_indices, ChainSpec};
use types::{ShardCommittee, Validator};
use vec_shuffle::{shuffle, ShuffleErr};

View File

@ -12,7 +12,6 @@ grpcio = { version = "0.4", default-features = false, features = ["protobuf-code
protobuf = "2.0.2"
protos = { path = "../protos" }
slot_clock = { path = "../eth2/utils/slot_clock" }
spec = { path = "../eth2/spec" }
types = { path = "../eth2/types" }
slog = "^2.2.3"
slog-term = "^2.4.0"

View File

@ -7,9 +7,8 @@ mod traits;
use self::traits::{BeaconNode, BeaconNodeError};
use super::EpochDutiesMap;
use slot_clock::SlotClock;
use spec::ChainSpec;
use std::sync::{Arc, RwLock};
use types::BeaconBlock;
use types::{BeaconBlock, ChainSpec};
pub use self::service::BlockProducerService;

View File

@ -7,9 +7,9 @@ mod traits;
use self::traits::{BeaconNode, BeaconNodeError};
use bls::PublicKey;
use slot_clock::SlotClock;
use spec::ChainSpec;
use std::collections::HashMap;
use std::sync::{Arc, RwLock};
use types::ChainSpec;
pub use self::service::DutiesManagerService;

View File

@ -7,10 +7,10 @@ use grpcio::{ChannelBuilder, EnvBuilder};
use protos::services_grpc::{BeaconBlockServiceClient, ValidatorServiceClient};
use slog::{error, info, o, Drain};
use slot_clock::SystemTimeSlotClock;
use spec::ChainSpec;
use std::path::PathBuf;
use std::sync::{Arc, RwLock};
use std::thread;
use types::ChainSpec;
mod block_producer;
mod config;