fn run_manual_seal_authorship<B, RA, HF>(
    eth_config: &EthConfiguration,
    sealing: Sealing,
    client: Arc<TFullClient<B, RA, WasmExecutor<HF>>>,
    transaction_pool: Arc<TransactionPoolHandle<B, TFullClient<B, RA, WasmExecutor<HF>>>>,
    select_chain: LongestChain<TFullBackend<B>, B>,
    block_import: BoxBlockImport<B>,
    task_manager: &TaskManager,
    prometheus_registry: Option<&Registry>,
    telemetry: Option<&Telemetry>,
    commands_stream: Receiver<EngineCommand<<B as BlockT>::Hash>>,
) -> Result<(), Error>
where B: BlockT, RA: ConstructRuntimeApi<B, TFullClient<B, RA, WasmExecutor<HF>>> + Send + Sync + 'static, RA::RuntimeApi: RuntimeApiCollection<B, AuthorityId, AccountId, Nonce, Balance>, HF: HostFunctionsT + 'static,