diff --git a/sync/src/block/downloader/header.rs b/sync/src/block/downloader/header.rs index 1422c1acf9..68857da46e 100644 --- a/sync/src/block/downloader/header.rs +++ b/sync/src/block/downloader/header.rs @@ -62,6 +62,10 @@ impl HeaderDownloader { } } + pub fn update_pivot(&mut self, hash: BlockHash) { + self.pivot = hash; + } + pub fn best_hash(&self) -> BlockHash { self.best_hash } diff --git a/sync/src/block/extension.rs b/sync/src/block/extension.rs index c14650fe19..795a07876f 100644 --- a/sync/src/block/extension.rs +++ b/sync/src/block/extension.rs @@ -1048,6 +1048,10 @@ impl Extension { fn transition_to_full(&mut self) { cdebug!(SYNC, "Transitioning state to {:?}", State::Full); + let best_hash = self.client.best_block_header().hash(); + for downloader in self.header_downloaders.values_mut() { + downloader.update_pivot(best_hash); + } self.state = State::Full; } }