async fn process_chain_task(
chain: Arc<Chain>,
block_header_channel: Broadcaster<Header>,
block_with_tx_channel: Broadcaster<Block<Transaction>>,
logs_channel: Broadcaster<BlockLogs>,
state_update_channel: Broadcaster<BlockStateUpdate>,
) -> Result<()>