From c6471a2574659d6a26f1ecaa14a6fb0f5897ed1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Fri, 4 Oct 2019 19:29:07 +0100 Subject: [PATCH 1/3] babe: fix type on find_pre_digest call --- core/consensus/babe/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/consensus/babe/src/lib.rs b/core/consensus/babe/src/lib.rs index b4f376b50d867..683425e815c7d 100644 --- a/core/consensus/babe/src/lib.rs +++ b/core/consensus/babe/src/lib.rs @@ -896,7 +896,7 @@ impl BlockImport for BabeBlockImport(&finalized_header) + find_pre_digest::(&finalized_header) .expect("finalized header must be valid; \ valid blocks have a pre-digest; qed") .slot_number() From 2b2c2f59dde24401155536b3ce80e3ec2172349b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Fri, 4 Oct 2019 19:29:24 +0100 Subject: [PATCH 2/3] fork-tree: optimize prune --- core/utils/fork-tree/src/lib.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/utils/fork-tree/src/lib.rs b/core/utils/fork-tree/src/lib.rs index b0258a9ca2321..f192ee54785b1 100644 --- a/core/utils/fork-tree/src/lib.rs +++ b/core/utils/fork-tree/src/lib.rs @@ -115,10 +115,11 @@ impl ForkTree where // we found the deepest ancestor of the finalized block, so we prune // out any children that don't include the finalized block. - root.children.retain(|node| { + let children = std::mem::replace(&mut root.children, Vec::new()); + root.children = children.into_iter().filter(|node| { node.number == *number && node.hash == *hash || node.number < *number && is_descendent_of(&node.hash, hash).unwrap_or(false) - }); + }).take(1).collect(); self.roots = vec![root]; } From 7fc6ed69d5d0f0bf06d0b7a2c6152e031298c57b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Fri, 4 Oct 2019 19:39:19 +0100 Subject: [PATCH 3/3] babe: fix test compilation --- core/consensus/babe/src/tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/consensus/babe/src/tests.rs b/core/consensus/babe/src/tests.rs index f06cc6f46c460..46c038b187b93 100644 --- a/core/consensus/babe/src/tests.rs +++ b/core/consensus/babe/src/tests.rs @@ -625,7 +625,7 @@ fn importing_epoch_change_block_prunes_tree() { }; let mut proposer = environ.init(&parent_header).unwrap(); - let parent_pre_digest = find_pre_digest::(&parent_header).unwrap(); + let parent_pre_digest = find_pre_digest(&parent_header).unwrap(); let pre_digest = sr_primitives::generic::Digest { logs: vec![