async fn estimator_task<P: Provider<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef + Send + Sync + Clone>(
estimate_request: SwapComposeData<DB>,
client: Arc<Flashbots<P>>,
swap_encoder: impl SwapEncoder,
compose_channel_tx: Broadcaster<MessageSwapCompose<DB>>,
) -> Result<()>