soroban_cli/commands/contract/
id.rs

1pub mod asset;
2pub mod wasm;
3
4#[derive(Debug, clap::Subcommand)]
5pub enum Cmd {
6    /// Deploy builtin Soroban Asset Contract
7    Asset(asset::Cmd),
8    /// Deploy normal Wasm Contract
9    Wasm(wasm::Cmd),
10}
11
12#[derive(thiserror::Error, Debug)]
13pub enum Error {
14    #[error(transparent)]
15    Asset(#[from] asset::Error),
16    #[error(transparent)]
17    Wasm(#[from] wasm::Error),
18}
19
20impl Cmd {
21    pub async fn run(&self) -> Result<(), Error> {
22        match &self {
23            Cmd::Asset(asset) => asset.run()?,
24            Cmd::Wasm(wasm) => wasm.run().await?,
25        }
26        Ok(())
27    }
28}