remove unused Engine::maximum_uncle_age (#10476)

This commit is contained in:
Marek Kotewicz 2019-03-14 21:34:26 +01:00 committed by soc1c
parent f875175325
commit d83143d0ba
3 changed files with 9 additions and 10 deletions

View File

@ -61,7 +61,7 @@ use client::{
IoClient, BadBlocks, IoClient, BadBlocks,
}; };
use client::bad_blocks; use client::bad_blocks;
use engines::{EthEngine, EpochTransition, ForkChoice, EngineError}; use engines::{MAX_UNCLE_AGE, EthEngine, EpochTransition, ForkChoice, EngineError};
use engines::epoch::PendingTransition; use engines::epoch::PendingTransition;
use error::{ use error::{
ImportErrorKind, ExecutionError, CallError, BlockError, ImportErrorKind, ExecutionError, CallError, BlockError,
@ -1918,7 +1918,7 @@ impl BlockChainClient for Client {
} }
fn find_uncles(&self, hash: &H256) -> Option<Vec<H256>> { fn find_uncles(&self, hash: &H256) -> Option<Vec<H256>> {
self.chain.read().find_uncle_hashes(hash, self.engine.maximum_uncle_age()) self.chain.read().find_uncle_hashes(hash, MAX_UNCLE_AGE)
} }
fn state_data(&self, hash: &H256) -> Option<Bytes> { fn state_data(&self, hash: &H256) -> Option<Bytes> {
@ -2282,7 +2282,7 @@ impl ReopenBlock for Client {
let h = chain.best_block_hash(); let h = chain.best_block_hash();
// Add new uncles // Add new uncles
let uncles = chain let uncles = chain
.find_uncle_hashes(&h, engine.maximum_uncle_age()) .find_uncle_hashes(&h, MAX_UNCLE_AGE)
.unwrap_or_else(Vec::new); .unwrap_or_else(Vec::new);
for h in uncles { for h in uncles {
@ -2326,7 +2326,7 @@ impl PrepareOpenBlock for Client {
// Add uncles // Add uncles
chain chain
.find_uncle_headers(&h, engine.maximum_uncle_age()) .find_uncle_headers(&h, MAX_UNCLE_AGE)
.unwrap_or_else(Vec::new) .unwrap_or_else(Vec::new)
.into_iter() .into_iter()
.take(engine.maximum_uncle_count(open_block.header().number())) .take(engine.maximum_uncle_count(open_block.header().number()))

View File

@ -59,6 +59,8 @@ use block::ExecutedBlock;
/// Default EIP-210 contract code. /// Default EIP-210 contract code.
/// As defined in https://github.com/ethereum/EIPs/pull/210 /// As defined in https://github.com/ethereum/EIPs/pull/210
pub const DEFAULT_BLOCKHASH_CONTRACT: &'static str = "73fffffffffffffffffffffffffffffffffffffffe33141561006a5760014303600035610100820755610100810715156100455760003561010061010083050761010001555b6201000081071515610064576000356101006201000083050761020001555b5061013e565b4360003512151561008457600060405260206040f361013d565b61010060003543031315156100a857610100600035075460605260206060f361013c565b6101006000350715156100c55762010000600035430313156100c8565b60005b156100ea576101006101006000350507610100015460805260206080f361013b565b620100006000350715156101095763010000006000354303131561010c565b60005b1561012f57610100620100006000350507610200015460a052602060a0f361013a565b600060c052602060c0f35b5b5b5b5b"; pub const DEFAULT_BLOCKHASH_CONTRACT: &'static str = "73fffffffffffffffffffffffffffffffffffffffe33141561006a5760014303600035610100820755610100810715156100455760003561010061010083050761010001555b6201000081071515610064576000356101006201000083050761020001555b5061013e565b4360003512151561008457600060405260206040f361013d565b61010060003543031315156100a857610100600035075460605260206060f361013c565b6101006000350715156100c55762010000600035430313156100c8565b60005b156100ea576101006101006000350507610100015460805260206080f361013b565b620100006000350715156101095763010000006000354303131561010c565b60005b1561012f57610100620100006000350507610200015460a052602060a0f361013a565b600060c052602060c0f35b5b5b5b5b";
/// The number of generations back that uncles can be.
pub const MAX_UNCLE_AGE: usize = 6;
/// Voting errors. /// Voting errors.
#[derive(Debug)] #[derive(Debug)]
@ -242,9 +244,6 @@ pub trait Engine<M: Machine>: Sync + Send {
/// Maximum number of uncles a block is allowed to declare. /// Maximum number of uncles a block is allowed to declare.
fn maximum_uncle_count(&self, _block: BlockNumber) -> usize { 0 } fn maximum_uncle_count(&self, _block: BlockNumber) -> usize { 0 }
/// The number of generations back that uncles can be.
fn maximum_uncle_age(&self) -> usize { 6 }
/// Optional maximum gas limit. /// Optional maximum gas limit.
fn maximum_gas_limit(&self) -> Option<U256> { None } fn maximum_gas_limit(&self) -> Option<U256> { None }

View File

@ -34,7 +34,7 @@ use unexpected::{Mismatch, OutOfBounds};
use blockchain::*; use blockchain::*;
use call_contract::CallContract; use call_contract::CallContract;
use client::BlockInfo; use client::BlockInfo;
use engines::EthEngine; use engines::{EthEngine, MAX_UNCLE_AGE};
use error::{BlockError, Error}; use error::{BlockError, Error};
use types::{BlockNumber, header::Header}; use types::{BlockNumber, header::Header};
use types::transaction::SignedTransaction; use types::transaction::SignedTransaction;
@ -192,7 +192,7 @@ fn verify_uncles(block: &PreverifiedBlock, bc: &BlockProvider, engine: &EthEngin
excluded.insert(header.hash()); excluded.insert(header.hash());
let mut hash = header.parent_hash().clone(); let mut hash = header.parent_hash().clone();
excluded.insert(hash.clone()); excluded.insert(hash.clone());
for _ in 0..engine.maximum_uncle_age() { for _ in 0..MAX_UNCLE_AGE {
match bc.block_details(&hash) { match bc.block_details(&hash) {
Some(details) => { Some(details) => {
excluded.insert(details.parent); excluded.insert(details.parent);
@ -225,7 +225,7 @@ fn verify_uncles(block: &PreverifiedBlock, bc: &BlockProvider, engine: &EthEngin
// (8 Invalid) // (8 Invalid)
let depth = if header.number() > uncle.number() { header.number() - uncle.number() } else { 0 }; let depth = if header.number() > uncle.number() { header.number() - uncle.number() } else { 0 };
if depth > engine.maximum_uncle_age() as u64 { if depth > MAX_UNCLE_AGE as u64 {
return Err(From::from(BlockError::UncleTooOld(OutOfBounds { min: Some(header.number() - depth), max: Some(header.number() - 1), found: uncle.number() }))); return Err(From::from(BlockError::UncleTooOld(OutOfBounds { min: Some(header.number() - depth), max: Some(header.number() - 1), found: uncle.number() })));
} }
else if depth < 1 { else if depth < 1 {