1use crate::opts::{TempoSidecar, TempoSidecarSubcommand};
2use clap::Parser;
3
4mod cmd;
5pub mod monitor;
6mod opts;
7mod synthetic_load;
8
9fn install_crypto_provider() {
20 rustls::crypto::ring::default_provider()
22 .install_default()
23 .expect("Failed to install default rustls crypto provider");
24}
25
26#[tokio::main]
27async fn main() -> eyre::Result<()> {
28 install_crypto_provider();
29
30 let args = TempoSidecar::parse();
31
32 match args.cmd {
33 TempoSidecarSubcommand::FeeAMMMonitor(cmd) => cmd.run().await,
34 TempoSidecarSubcommand::SimpleArb(cmd) => cmd.run().await,
35 TempoSidecarSubcommand::SyntheticLoad(cmd) => cmd.run().await,
36 TempoSidecarSubcommand::TxLatencyMonitor(cmd) => cmd.run().await,
37 }
38}