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