diff --git a/core/src/consensus/mod.rs b/core/src/consensus/mod.rs index 5d90828353..9a87c2225d 100644 --- a/core/src/consensus/mod.rs +++ b/core/src/consensus/mod.rs @@ -112,9 +112,6 @@ impl EngineType { /// A consensus mechanism for the chain. pub trait ConsensusEngine: Sync + Send { - /// The name of this engine. - fn name(&self) -> &str; - /// The number of additional header fields required for this engine. fn seal_fields(&self, _header: &Header) -> usize { 0 @@ -171,9 +168,6 @@ pub trait ConsensusEngine: Sync + Send { /// Called when the step is not changed in time fn on_timeout(&self, _token: usize) {} - /// Stops any services that the may hold the Engine and makes it safe to drop. - fn stop(&self) {} - /// Block transformation functions, before the transactions. fn on_open_block(&self, _block: &mut ExecutedBlock) -> Result<(), Error> { Ok(()) diff --git a/core/src/consensus/null_engine/mod.rs b/core/src/consensus/null_engine/mod.rs index 8403b1449f..881e77d374 100644 --- a/core/src/consensus/null_engine/mod.rs +++ b/core/src/consensus/null_engine/mod.rs @@ -23,10 +23,6 @@ use ckey::Address; pub struct NullEngine; impl ConsensusEngine for NullEngine { - fn name(&self) -> &str { - "NullEngine" - } - fn seals_internally(&self) -> bool { true } diff --git a/core/src/consensus/solo/mod.rs b/core/src/consensus/solo/mod.rs index 0a4b8f9ca3..633d9c1d4d 100644 --- a/core/src/consensus/solo/mod.rs +++ b/core/src/consensus/solo/mod.rs @@ -59,10 +59,6 @@ impl Solo { } impl ConsensusEngine for Solo { - fn name(&self) -> &str { - "Solo" - } - fn seals_internally(&self) -> bool { true } diff --git a/core/src/consensus/tendermint/engine.rs b/core/src/consensus/tendermint/engine.rs index fa23fd6d4d..0428197758 100644 --- a/core/src/consensus/tendermint/engine.rs +++ b/core/src/consensus/tendermint/engine.rs @@ -43,10 +43,6 @@ use std::sync::atomic::Ordering as AtomicOrdering; use std::sync::{Arc, Weak}; impl ConsensusEngine for Tendermint { - fn name(&self) -> &str { - "Tendermint" - } - /// (consensus view, proposal signature, authority signatures) fn seal_fields(&self, _header: &Header) -> usize { SEAL_FIELDS @@ -111,8 +107,6 @@ impl ConsensusEngine for Tendermint { self.inner.send(worker::Event::OnTimeout(token)).unwrap(); } - fn stop(&self) {} - /// Block transformation functions, before the transactions. fn on_open_block(&self, block: &mut ExecutedBlock) -> Result<(), Error> { let mut current_validators = CurrentValidators::load_from_state(block.state())?; diff --git a/core/src/consensus/tendermint/mod.rs b/core/src/consensus/tendermint/mod.rs index 1977bc5275..5734dcda65 100644 --- a/core/src/consensus/tendermint/mod.rs +++ b/core/src/consensus/tendermint/mod.rs @@ -140,7 +140,7 @@ mod tests { use super::message::VoteStep; use crate::account_provider::AccountProvider; use crate::client::TestBlockChainClient; - use crate::consensus::{EngineError, Seal}; + use crate::consensus::Seal; use crate::error::BlockError; use crate::error::Error; use crate::scheme::Scheme; @@ -165,18 +165,6 @@ mod tests { addr } - #[test] - fn has_valid_metadata() { - use std::time::Duration; - let engine = Scheme::new_test_tendermint().engine; - let time_gap_params = TimeGapParams { - allowed_past_gap: Duration::from_millis(30000), - allowed_future_gap: Duration::from_millis(5000), - }; - engine.register_time_gap_config_to_worker(time_gap_params); - assert!(!engine.name().is_empty()); - } - #[test] #[ignore] // FIXME fn verification_fails_on_short_seal() { @@ -227,83 +215,4 @@ mod tests { println!("....."); assert!(engine.verify_block_external(&header).is_err()); } - - #[test] - #[ignore] // FIXME - fn seal_signatures_checking() { - let (spec, tap, c) = setup(); - let engine = spec.engine; - - let validator0 = insert_and_unlock(&tap, "0"); - let validator1 = insert_and_unlock(&tap, "1"); - let validator2 = insert_and_unlock(&tap, "2"); - let validator3 = insert_and_unlock(&tap, "3"); - - let block1_hash = c.add_block_with_author(Some(validator1), 1, 1); - - let mut header = Header::default(); - header.set_number(2); - let proposer = validator2; - header.set_author(proposer); - header.set_parent_hash(block1_hash); - - let vote_info = VoteOn { - step: VoteStep::new(1, 0, Step::Precommit), - block_hash: Some(*header.parent_hash()), - }; - let signature2 = tap.get_account(&proposer, None).unwrap().sign(&vote_info.hash()).unwrap(); - - let seal = Seal::Tendermint { - prev_view: 0, - cur_view: 0, - precommits: vec![signature2], - precommit_bitset: BitSet::new_with_indices(&[2]), - } - .seal_fields() - .unwrap(); - header.set_seal(seal); - - // One good signature is not enough. - match engine.verify_block_external(&header) { - Err(Error::Engine(EngineError::BadSealFieldSize(_))) => {} - _ => panic!(), - } - - let voter = validator3; - let signature3 = tap.get_account(&voter, None).unwrap().sign(&vote_info.hash()).unwrap(); - let voter = validator0; - let signature0 = tap.get_account(&voter, None).unwrap().sign(&vote_info.hash()).unwrap(); - - let seal = Seal::Tendermint { - prev_view: 0, - cur_view: 0, - precommits: vec![signature0, signature2, signature3], - precommit_bitset: BitSet::new_with_indices(&[0, 2, 3]), - } - .seal_fields() - .unwrap(); - header.set_seal(seal); - - assert!(engine.verify_block_external(&header).is_ok()); - - let bad_voter = insert_and_unlock(&tap, "101"); - let bad_signature = tap.get_account(&bad_voter, None).unwrap().sign(&vote_info.hash()).unwrap(); - - let seal = Seal::Tendermint { - prev_view: 0, - cur_view: 0, - precommits: vec![signature0, signature2, bad_signature], - precommit_bitset: BitSet::new_with_indices(&[0, 2, 3]), - } - .seal_fields() - .unwrap(); - header.set_seal(seal); - - // Two good and one bad signature. - match engine.verify_block_external(&header) { - Err(Error::Engine(EngineError::BlockNotAuthorized(_))) => {} - _ => panic!(), - }; - engine.stop(); - } } diff --git a/core/src/miner/mem_pool.rs b/core/src/miner/mem_pool.rs index 07e1e086c5..f2f0f17961 100644 --- a/core/src/miner/mem_pool.rs +++ b/core/src/miner/mem_pool.rs @@ -768,17 +768,6 @@ impl MemPool { Ok(()) } - /// Removes all elements (in any state) from the pool - #[allow(dead_code)] - pub fn clear(&mut self) { - self.current.clear(); - self.future.clear(); - self.by_signer_public.clear(); - self.by_hash.clear(); - self.first_seqs.clear(); - self.next_seqs.clear(); - } - /// Returns top transactions whose timestamp are in the given range from the pool ordered by priority. // FIXME: current_timestamp should be `u64`, not `Option`. // FIXME: if range_contains becomes stable, use range.contains instead of inequality. diff --git a/core/src/tests/helpers.rs b/core/src/tests/helpers.rs index 64b9c177a3..0eba3e094d 100644 --- a/core/src/tests/helpers.rs +++ b/core/src/tests/helpers.rs @@ -15,7 +15,6 @@ // along with this program. If not, see . use crate::scheme::Scheme; -use crate::transaction::VerifiedTransaction; use ctypes::{BlockHash, Header}; use primitives::Bytes; use rlp::RlpStream; @@ -27,18 +26,6 @@ pub fn create_test_block(header: &Header) -> Bytes { rlp.out() } -#[allow(dead_code)] -pub fn create_test_block_with_data(header: &Header, txs: &[VerifiedTransaction], uncles: &[Header]) -> Bytes { - let mut rlp = RlpStream::new_list(3); - rlp.append(header); - rlp.begin_list(txs.len()); - for t in txs { - rlp.append_raw(&rlp::encode(t), 1); - } - rlp.append_list(&uncles); - rlp.out() -} - pub fn get_good_dummy_block() -> Bytes { let (_, bytes) = get_good_dummy_block_hash(); bytes diff --git a/core/src/verification/queue/mod.rs b/core/src/verification/queue/mod.rs index 8458455d5f..e6622fad80 100644 --- a/core/src/verification/queue/mod.rs +++ b/core/src/verification/queue/mod.rs @@ -66,8 +66,6 @@ pub struct VerificationQueue { processing: RwLock>, // hash to block number deleting: Arc, ready_signal: Arc, - #[allow(dead_code)] - empty: Arc, more_to_verify: Arc, verifier_handles: Vec>, max_queue_size: usize, @@ -133,7 +131,6 @@ impl VerificationQueue { verified: AtomicUsize::new(0), }, check_seal, - empty_mutex: SMutex::new(()), more_to_verify_mutex: SMutex::new(()), }); let deleting = Arc::new(AtomicBool::new(false)); @@ -179,7 +176,6 @@ impl VerificationQueue { processing: RwLock::new(HashSet::new()), deleting, ready_signal, - empty, more_to_verify, verifier_handles, max_queue_size: cmp::max(config.max_queue_size, MIN_QUEUE_LIMIT), @@ -491,8 +487,6 @@ struct Verification { bad: Mutex>, sizes: Sizes, check_seal: bool, - #[allow(dead_code)] - empty_mutex: SMutex<()>, more_to_verify_mutex: SMutex<()>, } diff --git a/state/src/cache/top_cache.rs b/state/src/cache/top_cache.rs index ca15101d3b..92b774e43e 100644 --- a/state/src/cache/top_cache.rs +++ b/state/src/cache/top_cache.rs @@ -116,11 +116,6 @@ impl TopCache { self.module.get_mut(a, db) } - #[allow(dead_code)] - pub fn remove_shard(&self, address: &ShardAddress) { - self.shard.remove(address) - } - pub fn action_data(&self, a: &H256, db: &dyn Trie) -> TrieResult> { self.action_data.get(a, db) } diff --git a/sync/src/block/extension.rs b/sync/src/block/extension.rs index c33328d104..acf9b7be96 100644 --- a/sync/src/block/extension.rs +++ b/sync/src/block/extension.rs @@ -713,8 +713,6 @@ impl Extension { .map(|hash| self.client.block_header(&BlockId::Hash(hash)).expect("Enacted header must exist")) .collect(); headers_to_download.sort_unstable_by_key(EncodedHeader::number); - #[allow(clippy::redundant_closure)] - // False alarm. https://github.com/rust-lang/rust-clippy/issues/1439 headers_to_download.dedup_by_key(|h| h.hash()); let headers: Vec<_> = headers_to_download diff --git a/types/src/common_params.rs b/types/src/common_params.rs index 604a97ee12..9e6250e036 100644 --- a/types/src/common_params.rs +++ b/types/src/common_params.rs @@ -167,7 +167,6 @@ impl From for CommonParams { impl From for Params { fn from(p: CommonParams) -> Params { - #[allow(deprecated)] let mut result: Params = Params { max_extra_data_size: p.max_extra_data_size().into(), network_id: p.network_id(), @@ -307,7 +306,6 @@ mod tests { } #[test] - #[allow(clippy::cognitive_complexity)] fn params_from_json_with_stake_params() { let s = r#"{ "maxExtraDataSize": "0x20", @@ -346,7 +344,6 @@ mod tests { } #[test] - #[allow(clippy::cognitive_complexity)] fn params_from_json_with_era() { let s = r#"{ "maxExtraDataSize": "0x20",