utility_cli_rs/commands/transaction/
mod.rs1#![allow(clippy::enum_variant_names, clippy::large_enum_variant)]
2use strum::{EnumDiscriminants, EnumIter, EnumMessage};
3
4pub mod construct_transaction;
5mod print_transaction;
6mod reconstruct_transaction;
7mod send_meta_transaction;
8mod send_signed_transaction;
9pub mod sign_transaction;
10mod view_status;
11
12#[derive(Debug, Clone, interactive_clap::InteractiveClap)]
13#[interactive_clap(context = crate::GlobalContext)]
14pub struct TransactionCommands {
15 #[interactive_clap(subcommand)]
16 transaction_actions: TransactionActions,
17}
18
19#[derive(Debug, EnumDiscriminants, Clone, interactive_clap::InteractiveClap)]
20#[interactive_clap(context = crate::GlobalContext)]
21#[strum_discriminants(derive(EnumMessage, EnumIter))]
22#[non_exhaustive]
23pub enum TransactionActions {
25 #[strum_discriminants(strum(
26 message = "view-status - View a transaction status"
27 ))]
28 ViewStatus(self::view_status::TransactionInfo),
30 #[strum_discriminants(strum(
31 message = "reconstruct-transaction - Use any existing transaction from the chain to construct unc CLI command (helpful tool for re-submitting similar transactions)"
32 ))]
33 ReconstructTransaction(self::reconstruct_transaction::TransactionInfo),
35 #[strum_discriminants(strum(
36 message = "construct-transaction - Construct a new transaction"
37 ))]
38 ConstructTransaction(self::construct_transaction::ConstructTransaction),
40 #[strum_discriminants(strum(
41 message = "sign-transaction - Sign previously prepared unsigned transaction"
42 ))]
43 SignTransaction(self::sign_transaction::SignTransaction),
45 #[strum_discriminants(strum(
46 message = "print-transaction - Print all fields of previously prepared transaction without modification"
47 ))]
48 PrintTransaction(self::print_transaction::PrintTransactionCommands),
50 #[strum_discriminants(strum(
51 message = "send-signed-transaction - Send a signed transaction"
52 ))]
53 SendSignedTransaction(self::send_signed_transaction::SignedTransaction),
55 #[strum_discriminants(strum(
56 message = "send-meta-transaction - Act as a relayer to send a signed delegate action (meta-transaction)"
57 ))]
58 SendMetaTransaction(self::send_meta_transaction::SendMetaTransaction),
60}