From afa8fff31ab1382a2326c8c7605552f1df2ab066 Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Mon, 13 May 2019 14:14:40 +1000 Subject: [PATCH] Remove old `tree_hash_vector` file --- eth2/types/src/lib.rs | 2 - eth2/types/src/tree_hash_vector.rs | 142 ----------------------------- 2 files changed, 144 deletions(-) delete mode 100644 eth2/types/src/tree_hash_vector.rs diff --git a/eth2/types/src/lib.rs b/eth2/types/src/lib.rs index c6109e166..79981c890 100644 --- a/eth2/types/src/lib.rs +++ b/eth2/types/src/lib.rs @@ -27,7 +27,6 @@ pub mod pending_attestation; pub mod proposer_slashing; pub mod slashable_attestation; pub mod transfer; -// pub mod tree_hash_vector; pub mod voluntary_exit; #[macro_use] pub mod slot_epoch_macros; @@ -66,7 +65,6 @@ pub use crate::slashable_attestation::SlashableAttestation; pub use crate::slot_epoch::{Epoch, Slot}; pub use crate::slot_height::SlotHeight; pub use crate::transfer::Transfer; -// pub use crate::tree_hash_vector::TreeHashVector; pub use crate::validator::Validator; pub use crate::voluntary_exit::VoluntaryExit; diff --git a/eth2/types/src/tree_hash_vector.rs b/eth2/types/src/tree_hash_vector.rs deleted file mode 100644 index 2600ff62f..000000000 --- a/eth2/types/src/tree_hash_vector.rs +++ /dev/null @@ -1,142 +0,0 @@ -use crate::test_utils::{RngCore, TestRandom}; -use cached_tree_hash::CachedTreeHash; -use serde_derive::{Deserialize, Serialize}; -use ssz::{Decodable, DecodeError, Encodable, SszStream}; -use std::ops::{Deref, DerefMut}; -use tree_hash::TreeHash; - -#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)] -pub struct TreeHashVector(Vec); - -impl From> for TreeHashVector { - fn from(vec: Vec) -> TreeHashVector { - TreeHashVector(vec) - } -} - -impl Into> for TreeHashVector { - fn into(self) -> Vec { - self.0 - } -} - -impl Deref for TreeHashVector { - type Target = Vec; - - fn deref(&self) -> &Vec { - &self.0 - } -} - -impl DerefMut for TreeHashVector { - fn deref_mut(&mut self) -> &mut Vec { - &mut self.0 - } -} - -impl tree_hash::TreeHash for TreeHashVector -where - T: TreeHash, -{ - fn tree_hash_type() -> tree_hash::TreeHashType { - tree_hash::TreeHashType::Vector - } - - fn tree_hash_packed_encoding(&self) -> Vec { - unreachable!("Vector should never be packed.") - } - - fn tree_hash_packing_factor() -> usize { - unreachable!("Vector should never be packed.") - } - - fn tree_hash_root(&self) -> Vec { - tree_hash::impls::vec_tree_hash_root(self) - } -} - -impl CachedTreeHash for TreeHashVector -where - T: CachedTreeHash + TreeHash, -{ - fn new_tree_hash_cache( - &self, - depth: usize, - ) -> Result { - let (cache, _overlay) = cached_tree_hash::vec::new_tree_hash_cache(self, depth)?; - - Ok(cache) - } - - fn tree_hash_cache_schema(&self, depth: usize) -> cached_tree_hash::BTreeSchema { - cached_tree_hash::vec::produce_schema(self, depth) - } - - fn update_tree_hash_cache( - &self, - cache: &mut cached_tree_hash::TreeHashCache, - ) -> Result<(), cached_tree_hash::Error> { - cached_tree_hash::vec::update_tree_hash_cache(self, cache)?; - - Ok(()) - } -} - -impl Encodable for TreeHashVector -where - T: Encodable, -{ - fn ssz_append(&self, s: &mut SszStream) { - s.append_vec(self) - } -} - -impl Decodable for TreeHashVector -where - T: Decodable, -{ - fn ssz_decode(bytes: &[u8], index: usize) -> Result<(Self, usize), DecodeError> { - ssz::decode_ssz_list(bytes, index).and_then(|(vec, i)| Ok((vec.into(), i))) - } -} - -impl TestRandom for TreeHashVector -where - U: TestRandom, -{ - fn random_for_test(rng: &mut impl RngCore) -> Self { - TreeHashVector::from(vec![ - U::random_for_test(rng), - U::random_for_test(rng), - U::random_for_test(rng), - ]) - } -} - -#[cfg(test)] -mod test { - use super::*; - use tree_hash::TreeHash; - - #[test] - pub fn test_cached_tree_hash() { - let original = TreeHashVector::from(vec![1_u64, 2, 3, 4]); - - let mut cache = cached_tree_hash::TreeHashCache::new(&original).unwrap(); - - assert_eq!( - cache.tree_hash_root().unwrap().to_vec(), - original.tree_hash_root() - ); - - let modified = TreeHashVector::from(vec![1_u64, 1, 1, 1]); - - cache.update(&modified).unwrap(); - - assert_eq!( - cache.tree_hash_root().unwrap().to_vec(), - modified.tree_hash_root() - ); - } - -}