fn run_manual_seal_authorship<RuntimeApi, Executor>(
    eth_config: &EthConfiguration,
    sealing: Sealing,
    client: Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<Executor>>>,
    transaction_pool: Arc<FullPool<Block, TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<Executor>>>>,
    select_chain: LongestChain<TFullBackend<Block>, Block>,
    block_import: BoxBlockImport<Block>,
    task_manager: &TaskManager,
    prometheus_registry: Option<&Registry>,
    telemetry: Option<&Telemetry>,
    commands_stream: Receiver<EngineCommand<Hash>>
) -> Result<(), Error>
where RuntimeApi: ConstructRuntimeApi<Block, TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<Executor>>> + Send + Sync + 'static, RuntimeApi::RuntimeApi: RuntimeApiCollection, Executor: NativeExecutionDispatch + 'static,