Merge pull request #179 from sigp/merge-spec

Merge `spec` into `types` crate.
This commit is contained in:
Paul Hauner 2019-02-02 10:37:28 +11:00 committed by GitHub
commit ad486c687a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 13 additions and 49 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,4 @@
use spec::ChainSpec; use types::{BeaconState, ChainSpec, Crosslink, Fork};
use types::{BeaconState, Crosslink, Fork};
use validator_shuffling::{shard_and_committees_for_cycle, ValidatorAssignmentError}; use validator_shuffling::{shard_and_committees_for_cycle, ValidatorAssignmentError};
#[derive(Debug, PartialEq)] #[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_block;
mod beacon_state; 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_committee;
pub mod shard_reassignment_record; pub mod shard_reassignment_record;
pub mod slashable_vote_data; pub mod slashable_vote_data;
pub mod spec;
pub mod special_record; pub mod special_record;
pub mod validator; pub mod validator;
pub mod validator_registry; pub mod validator_registry;
@ -54,6 +55,7 @@ pub use crate::proposal_signed_data::ProposalSignedData;
pub use crate::proposer_slashing::ProposerSlashing; pub use crate::proposer_slashing::ProposerSlashing;
pub use crate::shard_committee::ShardCommittee; pub use crate::shard_committee::ShardCommittee;
pub use crate::slashable_vote_data::SlashableVoteData; pub use crate::slashable_vote_data::SlashableVoteData;
pub use crate::spec::ChainSpec;
pub use crate::special_record::{SpecialRecord, SpecialRecordKind}; pub use crate::special_record::{SpecialRecord, SpecialRecordKind};
pub use crate::validator::{StatusFlags as ValidatorStatusFlags, Validator}; pub use crate::validator::{StatusFlags as ValidatorStatusFlags, Validator};
pub use crate::validator_registry_delta_block::ValidatorRegistryDeltaBlock; pub use crate::validator_registry_delta_block::ValidatorRegistryDeltaBlock;

View File

@ -1,7 +1,7 @@
use super::ChainSpec; use super::ChainSpec;
use bls::{Keypair, PublicKey, SecretKey, Signature}; 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. /// The size of a validators deposit in GWei.
pub const DEPOSIT_GWEI: u64 = 32_000_000_000; pub const DEPOSIT_GWEI: u64 = 32_000_000_000;

View File

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

View File

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

View File

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

View File

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

View File

@ -6,6 +6,5 @@ edition = "2018"
[dependencies] [dependencies]
honey-badger-split = { path = "../utils/honey-badger-split" } honey-badger-split = { path = "../utils/honey-badger-split" }
spec = { path = "../spec" }
types = { path = "../types" } types = { path = "../types" }
vec_shuffle = { path = "../utils/vec_shuffle" } 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; mod shuffle;
pub use crate::shuffle::{shard_and_committees_for_cycle, ValidatorAssignmentError}; pub use crate::shuffle::{shard_and_committees_for_cycle, ValidatorAssignmentError};

View File

@ -1,8 +1,7 @@
use std::cmp::min; use std::cmp::min;
use honey_badger_split::SplitExt; use honey_badger_split::SplitExt;
use spec::ChainSpec; use types::{validator_registry::get_active_validator_indices, ChainSpec};
use types::validator_registry::get_active_validator_indices;
use types::{ShardCommittee, Validator}; use types::{ShardCommittee, Validator};
use vec_shuffle::{shuffle, ShuffleErr}; 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" protobuf = "2.0.2"
protos = { path = "../protos" } protos = { path = "../protos" }
slot_clock = { path = "../eth2/utils/slot_clock" } slot_clock = { path = "../eth2/utils/slot_clock" }
spec = { path = "../eth2/spec" }
types = { path = "../eth2/types" } types = { path = "../eth2/types" }
slog = "^2.2.3" slog = "^2.2.3"
slog-term = "^2.4.0" slog-term = "^2.4.0"

View File

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

View File

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

View File

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