pub async fn advance_branch(
    blockchain: Blockchain,
    header_stream: MessageQueue<Header>
) -> Result<(Vec<HeaderHash>, Option<impl Stream<Item = Header>>), Error>
Expand description

Consumes headers from the stream, filtering out those that are already present and validating the chain integrity for the remainder. Returns a future that resolves to a batch of block hashes to request from the network, and the stream if the process terminated early due to reaching a limit on the number of blocks or (TODO: implement) needing block data to validate more blocks with newer leadership information.