use crate::service::EthConfiguration;
#[derive(Copy, Clone, Debug, Default, clap::ValueEnum)]
pub enum Sealing {
#[default]
Manual,
Instant,
}
#[derive(Debug, clap::Parser)]
pub struct Cli {
#[command(subcommand)]
pub subcommand: Option<Subcommand>,
#[allow(missing_docs)]
#[command(flatten)]
pub run: sc_cli::RunCmd,
#[arg(long, value_enum, ignore_case = true)]
pub sealing: Option<Sealing>,
#[command(flatten)]
pub eth: EthConfiguration,
}
#[derive(Debug, clap::Subcommand)]
pub enum Subcommand {
#[command(subcommand)]
Key(sc_cli::KeySubcommand),
BuildSpec(sc_cli::BuildSpecCmd),
CheckBlock(sc_cli::CheckBlockCmd),
ExportBlocks(sc_cli::ExportBlocksCmd),
ExportState(sc_cli::ExportStateCmd),
ImportBlocks(sc_cli::ImportBlocksCmd),
PurgeChain(sc_cli::PurgeChainCmd),
Revert(sc_cli::RevertCmd),
#[cfg(feature = "runtime-benchmarks")]
#[command(subcommand)]
Benchmark(frame_benchmarking_cli::BenchmarkCmd),
#[cfg(not(feature = "runtime-benchmarks"))]
Benchmark,
FrontierDb(fc_cli::FrontierDbCmd),
}