add early exit for pruned blocks

This commit is contained in:
Robert Habermeier 2016-06-05 22:14:25 +02:00
parent e6921144dc
commit 3dff5a9f3f

View File

@ -379,6 +379,11 @@ impl<V> Client<V> where V: Verifier {
self.block_header(id).and_then(|header| {
let db = self.state_db.lock().unwrap().boxed_clone();
// early exit for pruned blocks
if db.is_pruned() && self.chain.best_block_number() >= block_number + HISTORY {
return None;
}
// TODO [rob]: refactor State::from_existing so we avoid doing redundant lookups.
if !db.contains(&root) {
return None;