Merge pull request #179 from sigp/merge-spec
Merge `spec` into `types` crate.
This commit is contained in:
commit
2c277a5ad9
@ -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",
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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>,
|
||||||
|
@ -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" }
|
||||||
|
@ -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 {
|
||||||
|
@ -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)]
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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" }
|
|
@ -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;
|
||||||
|
@ -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;
|
@ -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 {
|
@ -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" }
|
|
||||||
|
@ -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 {
|
||||||
|
@ -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};
|
||||||
|
@ -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" }
|
||||||
|
@ -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};
|
||||||
|
@ -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};
|
||||||
|
|
||||||
|
@ -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"
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user