soroban_cli/commands/snapshot/
mod.rs

1use clap::Parser;
2
3use super::global;
4
5pub mod create;
6pub mod merge;
7
8/// Create and operate on ledger snapshots.
9#[derive(Debug, Parser)]
10pub enum Cmd {
11    Create(create::Cmd),
12    Merge(merge::Cmd),
13}
14
15#[derive(thiserror::Error, Debug)]
16pub enum Error {
17    #[error(transparent)]
18    Create(#[from] create::Error),
19    #[error(transparent)]
20    Merge(#[from] merge::Error),
21}
22
23impl Cmd {
24    pub async fn run(&self, global_args: &global::Args) -> Result<(), Error> {
25        match self {
26            Cmd::Create(cmd) => cmd.run(global_args).await?,
27            Cmd::Merge(cmd) => cmd.run(global_args)?,
28        }
29        Ok(())
30    }
31}