async fn process_block_announcement(
    blockchain: Blockchain,
    blockchain_tip: Tip,
    header: Header,
    node_id: NodeId,
    pull_headers_scheduler: FireForgetScheduler<HeaderHash, NodeId, Checkpoints>,
    get_next_block_scheduler: FireForgetScheduler<HeaderHash, NodeId, ()>
) -> Result<(), Error>