diff --git a/lighthouse/main.rs b/lighthouse/main.rs index 603346b36d..0b678fa468 100644 --- a/lighthouse/main.rs +++ b/lighthouse/main.rs @@ -8,11 +8,16 @@ extern crate network_libp2p; extern crate futures; #[macro_use] +#[allow(dead_code)] mod utils; +#[allow(dead_code)] mod bls; +#[allow(dead_code)] mod db; mod client; +#[allow(dead_code)] mod state; +#[allow(dead_code)] mod sync; mod config; diff --git a/lighthouse/state/attestation_record/mod.rs b/lighthouse/state/attestation_record/mod.rs index d96a451fdd..447bb53829 100644 --- a/lighthouse/state/attestation_record/mod.rs +++ b/lighthouse/state/attestation_record/mod.rs @@ -1,10 +1,13 @@ use super::bls; +use super::common; +use super::db; use super::ssz; use super::utils; mod attestation_record; mod ssz_splitter; +pub mod validation; pub use self::attestation_record::{ AttestationRecord, diff --git a/lighthouse/state/validation/attestation/attestation_validation.rs b/lighthouse/state/attestation_record/validation/attestation_validation.rs similarity index 100% rename from lighthouse/state/validation/attestation/attestation_validation.rs rename to lighthouse/state/attestation_record/validation/attestation_validation.rs index 4822851250..0d20bb466c 100644 --- a/lighthouse/state/validation/attestation/attestation_validation.rs +++ b/lighthouse/state/attestation_record/validation/attestation_validation.rs @@ -1,10 +1,10 @@ use std::collections::HashSet; use super::attestation_record::AttestationRecord; +use super::AttesterMap; use super::attestation_parent_hashes::{ attestation_parent_hashes, ParentHashesError, }; -use super::AttesterMap; use super::db::{ ClientDB, DBError diff --git a/lighthouse/state/validation/attestation/mod.rs b/lighthouse/state/attestation_record/validation/mod.rs similarity index 74% rename from lighthouse/state/validation/attestation/mod.rs rename to lighthouse/state/attestation_record/validation/mod.rs index a28f3c6acc..388685b60b 100644 --- a/lighthouse/state/validation/attestation/mod.rs +++ b/lighthouse/state/attestation_record/validation/mod.rs @@ -1,9 +1,9 @@ -use super::AttesterMap; +use super::common::maps::AttesterMap; use super::db; use super::bls; use super::attestation_record; use super::ssz; -use super::attestation_parent_hashes; +use super::common::attestation_parent_hashes; use super::utils; mod attestation_validation; diff --git a/lighthouse/state/validation/attestation/signatures.rs b/lighthouse/state/attestation_record/validation/signatures.rs similarity index 100% rename from lighthouse/state/validation/attestation/signatures.rs rename to lighthouse/state/attestation_record/validation/signatures.rs diff --git a/lighthouse/state/block/mod.rs b/lighthouse/state/block/mod.rs index 20467eca7f..6838b2a48c 100644 --- a/lighthouse/state/block/mod.rs +++ b/lighthouse/state/block/mod.rs @@ -1,11 +1,15 @@ extern crate blake2_rfc; +use super::common; +use super::Logger; +use super::db; use super::ssz; use super::utils; use super::attestation_record; mod block; mod ssz_block; +mod validation; pub use self::block::Block; pub use self::ssz_block::SszBlock; diff --git a/lighthouse/state/block/validation/mod.rs b/lighthouse/state/block/validation/mod.rs new file mode 100644 index 0000000000..ea4462ea1e --- /dev/null +++ b/lighthouse/state/block/validation/mod.rs @@ -0,0 +1,17 @@ +mod validate_ssz_block; + +use super::attestation_record; +use super::SszBlock; +use super::Logger; +use super::db; +use super::ssz; +use super::utils; + +use super::common::maps::{ + AttesterMap, + ProposerMap, +}; +pub use self::validate_ssz_block::{ + validate_ssz_block, + SszBlockValidationError +}; diff --git a/lighthouse/state/validation/ssz_block.rs b/lighthouse/state/block/validation/validate_ssz_block.rs similarity index 99% rename from lighthouse/state/validation/ssz_block.rs rename to lighthouse/state/block/validation/validate_ssz_block.rs index 90c2e22618..0a62c7f678 100644 --- a/lighthouse/state/validation/ssz_block.rs +++ b/lighthouse/state/block/validation/validate_ssz_block.rs @@ -1,5 +1,5 @@ use std::sync::Arc; -use super::attestation::{ +use super::attestation_record::validation::{ validate_attestation, AttestationValidationError, }; @@ -13,7 +13,7 @@ use super::{ AttesterMap, ProposerMap, }; -use super::block::SszBlock; +use super::SszBlock; use super::db::{ ClientDB, DBError, diff --git a/lighthouse/state/transition/attestation_parent_hashes.rs b/lighthouse/state/common/attestation_parent_hashes.rs similarity index 100% rename from lighthouse/state/transition/attestation_parent_hashes.rs rename to lighthouse/state/common/attestation_parent_hashes.rs diff --git a/lighthouse/state/common/maps.rs b/lighthouse/state/common/maps.rs new file mode 100644 index 0000000000..745f474c6a --- /dev/null +++ b/lighthouse/state/common/maps.rs @@ -0,0 +1,7 @@ +use std::collections::HashMap; + +/// Maps a (slot, shard_id) to attestation_indices. +pub type AttesterMap = HashMap<(u64, u64), Vec>; + +/// Maps a slot to a block proposer. +pub type ProposerMap = HashMap; diff --git a/lighthouse/state/transition/mod.rs b/lighthouse/state/common/mod.rs similarity index 89% rename from lighthouse/state/transition/mod.rs rename to lighthouse/state/common/mod.rs index 7510796716..96ff38eb95 100644 --- a/lighthouse/state/transition/mod.rs +++ b/lighthouse/state/common/mod.rs @@ -1,6 +1,7 @@ -use super::utils::types::Hash256; - -pub mod attestation_parent_hashes; mod shuffling; +pub mod maps; +pub mod attestation_parent_hashes; + +use super::utils::types::Hash256; pub use self::shuffling::shuffle; diff --git a/lighthouse/state/transition/shuffling/README.md b/lighthouse/state/common/shuffling/README.md similarity index 100% rename from lighthouse/state/transition/shuffling/README.md rename to lighthouse/state/common/shuffling/README.md diff --git a/lighthouse/state/transition/shuffling/mod.rs b/lighthouse/state/common/shuffling/mod.rs similarity index 100% rename from lighthouse/state/transition/shuffling/mod.rs rename to lighthouse/state/common/shuffling/mod.rs diff --git a/lighthouse/state/transition/shuffling/rng.rs b/lighthouse/state/common/shuffling/rng.rs similarity index 100% rename from lighthouse/state/transition/shuffling/rng.rs rename to lighthouse/state/common/shuffling/rng.rs diff --git a/lighthouse/state/mod.rs b/lighthouse/state/mod.rs index 532d8345dc..10d9a18468 100644 --- a/lighthouse/state/mod.rs +++ b/lighthouse/state/mod.rs @@ -4,10 +4,7 @@ extern crate blake2_rfc as blake2; extern crate bytes; extern crate ssz; -use super::bls; -use super::db; -use super::Logger; -use super::utils; +mod common; pub mod active_state; pub mod attestation_record; @@ -16,7 +13,10 @@ pub mod chain_config; pub mod block; pub mod crosslink_record; pub mod shard_and_committee; -pub mod transition; pub mod validator_record; -pub mod validation; pub mod helpers; + +use super::bls; +use super::db; +use super::Logger; +use super::utils; diff --git a/lighthouse/state/validation/mod.rs b/lighthouse/state/validation/mod.rs deleted file mode 100644 index 8ad367f4ab..0000000000 --- a/lighthouse/state/validation/mod.rs +++ /dev/null @@ -1,17 +0,0 @@ -use std::collections::HashMap; -use super::block; -use super::bls; -use super::Logger; -use super::db; -use super::attestation_record; -use super::ssz; -use super::transition::attestation_parent_hashes; -use super::utils; - -mod attestation; -mod ssz_block; - -type Slot = u64; -type ShardId = u64; -type AttesterMap = HashMap<(Slot, ShardId), Vec>; -type ProposerMap = HashMap; diff --git a/lighthouse/sync/block.rs b/lighthouse/sync/block.rs new file mode 100644 index 0000000000..e69de29bb2