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§
Sourcetype Pool: PoolBuilder<N::State>
type Pool: PoolBuilder<N::State>
Pool/mempool builder type
Sourcetype Network: NetworkBuilder<N::State>
type Network: NetworkBuilder<N::State>
Network connectivity builder type
Sourcetype Executor: ExecutorBuilder<N::State>
type Executor: ExecutorBuilder<N::State>
Transaction executor/router builder type
Sourcetype Strategy: StrategyBuilder<N::State>
type Strategy: StrategyBuilder<N::State>
MEV strategy builder type (arbitrage, liquidation, etc.)
Sourcetype Signer: SignerBuilder<N::State>
type Signer: SignerBuilder<N::State>
Transaction signer builder type
Sourcetype Market: MarketBuilder<N::State>
type Market: MarketBuilder<N::State>
Market data builder type (pools, tokens, prices)
Sourcetype Broadcaster: BroadcasterBuilder<N::State>
type Broadcaster: BroadcasterBuilder<N::State>
Transaction broadcaster builder type (flashbots, mempool)
Sourcetype Estimator: EstimatorBuilder<N::State>
type Estimator: EstimatorBuilder<N::State>
Gas/profit estimator builder type
Sourcetype HealthMonitor: HealthMonitorBuilder<N::State>
type HealthMonitor: HealthMonitorBuilder<N::State>
Health monitoring builder type
Sourcetype Merger: MergerBuilder<N::State>
type Merger: MergerBuilder<N::State>
Merger builder type (combines strategies/paths)
Sourcetype WebServer: WebServerBuilder<N::State>
type WebServer: WebServerBuilder<N::State>
Web server builder type
Sourcetype Monitoring: MonitoringBuilder<N::State>
type Monitoring: MonitoringBuilder<N::State>
Monitoring builder type (metrics, influxdb)
Required Methods§
Sourcefn build_components(self) -> KabuComponentsSet<N::State, Self, N>
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.