Additional check to ancient enactments.

This commit is contained in:
Gav Wood 2016-03-02 12:57:34 +01:00
parent 0082d12ea9
commit 3309959139

View File

@ -257,6 +257,14 @@ impl Client {
let engine = self.engine.deref().deref();
let header = &block.header;
// Check the block isn't so old we won't be able to enact it.
let best_block_number = self.chain.read().unwrap().best_block_number();
debug!("Best: {}, importing: {}", best_block_number, header.number());
if header.number() <= best_block_number - HISTORY {
warn!(target: "client", "Block import failed for #{} ({})\nBlock is ancient (current best block: #{}).", header.number(), header.hash(), best_block_number);
return Err(());
}
// Verify Block Family
let verify_family_result = verify_block_family(&header, &block.bytes, engine, self.chain.read().unwrap().deref());
if let Err(e) = verify_family_result {