soroban_cli/commands/contract/
deploy.rs

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