hermes_cli/commands/query/packet/
mod.rs

1mod pending;
2
3mod commitments;
4mod pending_acks;
5mod util;
6
7use hermes_cli_framework::command::CommandRunner;
8use hermes_cli_framework::output::Output;
9pub use pending::QueryPendingPackets;
10
11use crate::commands::query::packet::pending_acks::QueryPendingAcks;
12use crate::contexts::app::HermesApp;
13use crate::Result;
14
15#[derive(Debug, clap::Subcommand)]
16pub enum PacketCommands {
17    /// Query packet commitments
18    Commitments(commitments::QueryPacketCommitments),
19
20    /// Output a summary of pending packets in both directions of a channel
21    Pending(QueryPendingPackets),
22
23    /// Query packet acknowledgment
24    PendingAcks(QueryPendingAcks),
25}
26
27impl CommandRunner<HermesApp> for PacketCommands {
28    async fn run(&self, app: &HermesApp) -> Result<Output> {
29        match self {
30            Self::Commitments(cmd) => cmd.run(app).await,
31            Self::Pending(cmd) => cmd.run(app).await,
32            Self::PendingAcks(cmd) => cmd.run(app).await,
33        }
34    }
35}