system_syncState: Always return highest block (#11979)

Before `highestBlock` was an optional that was omitted when it was `None`. We recently changed the
way the `highestBlock` is determined, this resulted in having this value in 99.99% of the time being
`None` when the node is syncing blocks at the tip. Now we always return a block for `highestBlock`.
If sync doesn't return us any best seen block, we return our own local best block as `highestBlock`.
This should mainly reflect the same behavior to before we changed the way the best seen block is determined.
This commit is contained in:
Bastian Köcher
2022-08-05 19:53:56 +02:00
committed by GitHub
parent a1ee0fca0b
commit a314484865
3 changed files with 12 additions and 13 deletions
+4 -2
View File
@@ -264,10 +264,12 @@ async fn build_network_future<
sc_rpc::system::Request::SyncState(sender) => {
use sc_rpc::system::SyncState;
let best_number = client.info().best_number;
let _ = sender.send(SyncState {
starting_block,
current_block: client.info().best_number,
highest_block: network.best_seen_block(),
current_block: best_number,
highest_block: network.best_seen_block().unwrap_or(best_number),
});
}
}