Commit e86103e0 authored by asynchronous rob's avatar asynchronous rob Committed by Arkadiy Paronyan
Browse files

Continue from next round when re-building on same block (#582)

* keep rounds consistent when encountering bad block

* fix interval logic

* Fixed indentation
parent d4f6af15
......@@ -164,7 +164,11 @@ impl Service {
interval.map_err(|e| debug!("Timer error: {:?}", e)).for_each(move |_| {
if let Ok(best_block) = c.best_block_header() {
let hash = best_block.hash();
if hash == prev_best && s.live_agreement() != Some(hash) {
let last_agreement = s.last_agreement();
let can_build_upon = last_agreement
.map_or(true, |x| !x.live || x.parent_hash != hash);
if hash == prev_best && can_build_upon {
debug!("Starting consensus round after a timeout");
start_bft(best_block, s.clone());
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment