KabuNodeComponentsBuilder

Trait KabuNodeComponentsBuilder 

Source
pub trait KabuNodeComponentsBuilder<N: KabuNodeTypes>:
    Clone
    + Send
    + Sync
    + 'static {
    type Pool: PoolBuilder<N::State>;
    type Network: NetworkBuilder<N::State>;
    type Executor: ExecutorBuilder<N::State>;
    type Strategy: StrategyBuilder<N::State>;
    type Signer: SignerBuilder<N::State>;
    type Market: MarketBuilder<N::State>;
    type Broadcaster: BroadcasterBuilder<N::State>;
    type Estimator: EstimatorBuilder<N::State>;
    type HealthMonitor: HealthMonitorBuilder<N::State>;
    type Merger: MergerBuilder<N::State>;
    type WebServer: WebServerBuilder<N::State>;
    type Monitoring: MonitoringBuilder<N::State>;

    // Required method
    fn build_components(self) -> KabuComponentsSet<N::State, Self, N>;
}
Expand description

Trait for Kabu node components builder configuration

Required Associated Types§

Source

type Pool: PoolBuilder<N::State>

Pool/mempool builder type

Source

type Network: NetworkBuilder<N::State>

Network connectivity builder type

Source

type Executor: ExecutorBuilder<N::State>

Transaction executor/router builder type

Source

type Strategy: StrategyBuilder<N::State>

MEV strategy builder type (arbitrage, liquidation, etc.)

Source

type Signer: SignerBuilder<N::State>

Transaction signer builder type

Source

type Market: MarketBuilder<N::State>

Market data builder type (pools, tokens, prices)

Source

type Broadcaster: BroadcasterBuilder<N::State>

Transaction broadcaster builder type (flashbots, mempool)

Source

type Estimator: EstimatorBuilder<N::State>

Gas/profit estimator builder type

Source

type HealthMonitor: HealthMonitorBuilder<N::State>

Health monitoring builder type

Source

type Merger: MergerBuilder<N::State>

Merger builder type (combines strategies/paths)

Source

type WebServer: WebServerBuilder<N::State>

Web server builder type

Source

type Monitoring: MonitoringBuilder<N::State>

Monitoring builder type (metrics, influxdb)

Required Methods§

Source

fn build_components(self) -> KabuComponentsSet<N::State, Self, N>

Build and return all component builders

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<Pool, Network, Executor, Strategy, Signer, Market, Broadcaster, Estimator, HealthMonitor, Merger, WebServer, Monitoring, N> KabuNodeComponentsBuilder<N> for DefaultKabuNodeComponentsBuilder<Pool, Network, Executor, Strategy, Signer, Market, Broadcaster, Estimator, HealthMonitor, Merger, WebServer, Monitoring>
where N: KabuNodeTypes, Pool: PoolBuilder<N::State> + Clone + Send + Sync + 'static, Network: NetworkBuilder<N::State> + Clone + Send + Sync + 'static, Executor: ExecutorBuilder<N::State> + Clone + Send + Sync + 'static, Strategy: StrategyBuilder<N::State> + Clone + Send + Sync + 'static, Signer: SignerBuilder<N::State> + Clone + Send + Sync + 'static, Market: MarketBuilder<N::State> + Clone + Send + Sync + 'static, Broadcaster: BroadcasterBuilder<N::State> + Clone + Send + Sync + 'static, Estimator: EstimatorBuilder<N::State> + Clone + Send + Sync + 'static, HealthMonitor: HealthMonitorBuilder<N::State> + Clone + Send + Sync + 'static, Merger: MergerBuilder<N::State> + Clone + Send + Sync + 'static, WebServer: WebServerBuilder<N::State> + Clone + Send + Sync + 'static, Monitoring: MonitoringBuilder<N::State> + Clone + Send + Sync + 'static,

Source§

type Pool = Pool

Source§

type Network = Network

Source§

type Executor = Executor

Source§

type Strategy = Strategy

Source§

type Signer = Signer

Source§

type Market = Market

Source§

type Broadcaster = Broadcaster

Source§

type Estimator = Estimator

Source§

type HealthMonitor = HealthMonitor

Source§

type Merger = Merger

Source§

type WebServer = WebServer

Source§

type Monitoring = Monitoring