unc_cli_rs/commands/contract/call_function/
mod.rs

1use strum::{EnumDiscriminants, EnumIter, EnumMessage};
2
3mod as_read_only;
4mod as_transaction;
5pub mod call_function_args_type;
6
7#[derive(Debug, Clone, interactive_clap::InteractiveClap)]
8#[interactive_clap(context = crate::GlobalContext)]
9pub struct CallFunctionCommands {
10    #[interactive_clap(subcommand)]
11    function_call_actions: CallFunctionActions,
12}
13
14#[derive(Debug, EnumDiscriminants, Clone, interactive_clap::InteractiveClap)]
15#[interactive_clap(context = crate::GlobalContext)]
16#[strum_discriminants(derive(EnumMessage, EnumIter))]
17/// Сhoose action for account:
18pub enum CallFunctionActions {
19    #[strum_discriminants(strum(message = "as-read-only    - Calling a view method"))]
20    /// Calling a view method
21    AsReadOnly(self::as_read_only::CallFunctionView),
22    #[strum_discriminants(strum(message = "as-transaction  - Calling a change method"))]
23    /// Calling a change method
24    AsTransaction(self::as_transaction::CallFunctionProperties),
25}