soroban_cli/commands/ledger/entry/fetch/
mod.rs1use clap::Parser;
2use std::fmt::Debug;
3
4pub mod account;
5pub mod account_data;
6pub mod args;
7pub mod claimable_balance;
8pub mod contract_code;
9pub mod contract_data;
10pub mod liquidity_pool;
11pub mod offer;
12pub mod trustline;
13
14#[derive(Debug, Parser)]
15pub enum Cmd {
16 Account(account::Cmd),
18 ContractData(contract_data::Cmd),
20 ClaimableBalance(claimable_balance::Cmd),
22 LiquidityPool(liquidity_pool::Cmd),
24 ContractCode(contract_code::Cmd),
26 Trustline(trustline::Cmd),
28 Data(account_data::Cmd),
30 Offer(offer::Cmd),
32}
33
34#[derive(thiserror::Error, Debug)]
35pub enum Error {
36 #[error(transparent)]
37 Account(#[from] account::Error),
38 #[error(transparent)]
39 ContractData(#[from] contract_data::Error),
40 #[error(transparent)]
41 ClaimableBalance(#[from] claimable_balance::Error),
42 #[error(transparent)]
43 LiquidityPool(#[from] liquidity_pool::Error),
44 #[error(transparent)]
45 Wasm(#[from] contract_code::Error),
46 #[error(transparent)]
47 Trustline(#[from] trustline::Error),
48 #[error(transparent)]
49 Data(#[from] account_data::Error),
50 #[error(transparent)]
51 Offer(#[from] offer::Error),
52}
53
54impl Cmd {
55 pub async fn run(&self) -> Result<(), Error> {
56 match self {
57 Cmd::Account(cmd) => cmd.run().await?,
58 Cmd::ContractData(cmd) => cmd.run().await?,
59 Cmd::ClaimableBalance(cmd) => cmd.run().await?,
60 Cmd::LiquidityPool(cmd) => cmd.run().await?,
61 Cmd::ContractCode(cmd) => cmd.run().await?,
62 Cmd::Trustline(cmd) => cmd.run().await?,
63 Cmd::Data(cmd) => cmd.run().await?,
64 Cmd::Offer(cmd) => cmd.run().await?,
65 }
66 Ok(())
67 }
68}