diff --git a/zebrad/src/components/sync.rs b/zebrad/src/components/sync.rs
index 39c027a4c11..e41f9bc8da6 100644
--- a/zebrad/src/components/sync.rs
+++ b/zebrad/src/components/sync.rs
@@ -1266,8 +1266,9 @@ where
);
let tip_network = self.tip_network.clone();
+ let state = self.state.clone();
let tips = std::mem::take(&mut self.prospective_tips);
- extend = Some(Box::pin(Self::build_extend(tip_network, tips)));
+ extend = Some(Box::pin(Self::build_extend(tip_network, state, tips)));
}
// Dispatch from the reserve while we're below the lookahead limit.
@@ -1398,6 +1399,101 @@ where
Ok(())
}
+ async fn first_unknown_in_find_blocks_response(
+ &mut self,
+ hashes: &[block::Hash],
+ ) -> Result