From 5b4abec2dbc3f5653b2caf2cc481411a29c7d00b Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Mon, 19 Feb 2018 14:08:33 +0100 Subject: [PATCH] removed redundant Bloom conversions (#7932) * removed redundant Bloom conversions * fixed broken tests --- ethcore/src/blockchain/blockchain.rs | 10 ++++------ ethcore/src/blooms/bloom_group.rs | 14 ++------------ ethcore/src/trace/types/filter.rs | 5 +---- 3 files changed, 7 insertions(+), 22 deletions(-) diff --git a/ethcore/src/blockchain/blockchain.rs b/ethcore/src/blockchain/blockchain.rs index 2e0cb1557..9e0401125 100644 --- a/ethcore/src/blockchain/blockchain.rs +++ b/ethcore/src/blockchain/blockchain.rs @@ -353,7 +353,7 @@ impl BlockProvider for BlockChain { fn blocks_with_bloom(&self, bloom: &Bloom, from_block: BlockNumber, to_block: BlockNumber) -> Vec { let range = from_block as bc::Number..to_block as bc::Number; let chain = bc::group::BloomGroupChain::new(self.blooms_config, self); - chain.with_bloom(&range, &Bloom::from(bloom.clone()).into()) + chain.with_bloom(&range, bloom) .into_iter() .map(|b| b as BlockNumber) .collect() @@ -1272,7 +1272,7 @@ impl BlockChain { HashMap::new() } else { let chain = bc::group::BloomGroupChain::new(self.blooms_config, self); - chain.insert(info.number as bc::Number, Bloom::from(log_bloom).into()) + chain.insert(info.number as bc::Number, log_bloom) } }, BlockLocation::BranchBecomingCanonChain(ref data) => { @@ -1280,14 +1280,12 @@ impl BlockChain { let start_number = ancestor_number + 1; let range = start_number as bc::Number..self.best_block_number() as bc::Number; - let mut blooms: Vec = data.enacted.iter() + let mut blooms: Vec = data.enacted.iter() .map(|hash| self.block_header_data(hash).unwrap()) .map(|h| h.log_bloom()) - .map(Bloom::from) - .map(Into::into) .collect(); - blooms.push(Bloom::from(header.log_bloom()).into()); + blooms.push(header.log_bloom()); let chain = bc::group::BloomGroupChain::new(self.blooms_config, self); chain.replace(&range, blooms) diff --git a/ethcore/src/blooms/bloom_group.rs b/ethcore/src/blooms/bloom_group.rs index 4cd891686..bb4a160b8 100644 --- a/ethcore/src/blooms/bloom_group.rs +++ b/ethcore/src/blooms/bloom_group.rs @@ -26,26 +26,16 @@ pub struct BloomGroup { impl From for BloomGroup { fn from(group: bc::BloomGroup) -> Self { - let blooms = group.blooms - .into_iter() - .map(From::from) - .collect(); - BloomGroup { - blooms: blooms + blooms: group.blooms } } } impl Into for BloomGroup { fn into(self) -> bc::BloomGroup { - let blooms = self.blooms - .into_iter() - .map(Into::into) - .collect(); - bc::BloomGroup { - blooms: blooms + blooms: self.blooms } } } diff --git a/ethcore/src/trace/types/filter.rs b/ethcore/src/trace/types/filter.rs index 423b61787..2923ace57 100644 --- a/ethcore/src/trace/types/filter.rs +++ b/ethcore/src/trace/types/filter.rs @@ -65,7 +65,7 @@ impl AddressesFilter { .into_iter() .flat_map(|bloom| self.list.iter() .map(|address| { - let mut bloom = Bloom::from(bloom.0); + let mut bloom = bloom.clone(); bloom.accrue(BloomInput::Raw(address)); bloom }) @@ -91,9 +91,6 @@ pub struct Filter { impl BloomFilter for Filter { fn bloom_possibilities(&self) -> Vec { self.bloom_possibilities() - .into_iter() - .map(|b| Bloom::from(b.0)) - .collect() } fn range(&self) -> Range {