ComponentBuilder

Trait ComponentBuilder 

Source
pub trait ComponentBuilder<Ctx>:
    Sized
    + Send
    + Sync
    + 'static {
    type Component: Component;

    // Required method
    fn build(self, ctx: &Ctx) -> Result<Self::Component>;
}
Expand description

Trait for building components from context

Required Associated Types§

Source

type Component: Component

The component type that will be created

Required Methods§

Source

fn build(self, ctx: &Ctx) -> Result<Self::Component>

Build the component from the given context

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Ctx> ComponentBuilder<Ctx> for DisabledComponent

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultBroadcaster
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

type Component = FlashbotsBroadcastComponent

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultEstimator
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + DebugProviderExt<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

type Component = EvmEstimatorComponent<P, Ethereum, MulticallerSwapEncoder, DB>

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultExecutor
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

type Component = SwapRouterComponent<DB>

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultHealthMonitor
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

type Component = PoolHealthMonitorComponent

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultMarket
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + DebugProviderExt<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultMerger
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultMonitoring
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultNetwork
where R: CanonStateSubscriptions<Primitives = EthPrimitives> + Send + Sync + Clone + 'static, P: Provider<Ethereum> + DebugProviderExt<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

type Component = BlockHistoryComponent<R, P, DB>

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultSigner
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

impl<R, P, DB, Evm> ComponentBuilder<KabuContext<R, P, DB, Evm>> for DefaultStrategy
where R: Send + Sync + Clone + 'static, P: Provider<Ethereum> + DebugProviderExt<Ethereum> + Send + Sync + Clone + 'static, DB: DatabaseRef<Error = KabuDBError> + Database<Error = KabuDBError> + DatabaseCommit + DatabaseKabuExt + BlockHistoryState<EthPrimitives> + Send + Sync + Clone + Default + 'static, Evm: Clone + Send + Sync + 'static,

Source§

type Component = StateChangeArbComponent<P, Ethereum, DB, EthPrimitives>