//! Shared arguments related to stages use derive_more::Display; /// Represents a specific stage within the data pipeline. /// /// Different stages within the pipeline have dedicated functionalities and operations. #[derive(Debug, Clone, Copy, Eq, PartialEq, PartialOrd, Ord, clap::ValueEnum, Display)] pub enum StageEnum { /// The headers stage within the pipeline. /// /// This stage handles operations related to block headers. Headers, /// The bodies stage within the pipeline. /// /// This stage deals with block bodies and their associated data. Bodies, /// The senders stage within the pipeline. /// /// Responsible for sender-related processes and data recovery. Senders, /// The execution stage within the pipeline. /// /// Handles the execution of transactions and contracts. Execution, /// The account hashing stage within the pipeline. /// /// Manages operations related to hashing account data. AccountHashing, /// The storage hashing stage within the pipeline. /// /// Manages operations related to hashing storage data. StorageHashing, /// The account and storage hashing stages within the pipeline. /// /// Covers general data hashing operations. Hashing, /// The merkle stage within the pipeline. /// /// Handles Merkle tree-related computations and data processing. Merkle, /// The transaction lookup stage within the pipeline. /// /// Deals with the retrieval and processing of transactions. TxLookup, /// The account history stage within the pipeline. /// /// Manages historical data related to accounts. AccountHistory, /// The storage history stage within the pipeline. /// /// Manages historical data related to storage. StorageHistory, }