1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
use common::command::{CliConfig, ProcessResult};
use common::init::Matche;
use solana_client::rpc_client::RpcClient;
use crate::app::{Cli, MinterCommands, MintWrapperCli};
use crate::command::mint_wrapper::back_authority::process_farming_mint_wrapper_back_authority;
use crate::command::mint_wrapper::info::process_farming_mint_wrapper_info;
use crate::command::mint_wrapper::list::process_farming_mint_wrapper_list;
use crate::command::mint_wrapper::new::process_farming_mint_wrapper_new;
use crate::command::mint_wrapper::transfer_authority::process_farming_mint_wrapper_transfer_authority;
use crate::command::minter::info::process_farming_minter_info;
use crate::command::minter::list::process_farming_minter_list;
use crate::command::minter::mint::process_farming_minter_mint;
use crate::command::minter::new::process_farming_minter_new;
use crate::command::minter::update::process_farming_minter_update;
pub fn process_command(config: &mut CliConfig, rpc_client: RpcClient, app: Box<dyn Matche>) -> ProcessResult {
let app = app.as_any().downcast_ref::<Cli>().unwrap();
match &app.command {
MintWrapperCli::New { mint, hardcap } => {
process_farming_mint_wrapper_new(&rpc_client, config, *mint, *hardcap)
}
MintWrapperCli::List {} => {
process_farming_mint_wrapper_list(&rpc_client, config)
}
MintWrapperCli::Info { wrapper } => {
process_farming_mint_wrapper_info(&rpc_client, config, *wrapper)
}
MintWrapperCli::BackAuthority { wrapper, authority } => {
process_farming_mint_wrapper_back_authority(&rpc_client, *wrapper, config, *authority)
}
MintWrapperCli::TransferAuthority { wrapper } => {
process_farming_mint_wrapper_transfer_authority(&rpc_client, config, *wrapper)
}
MintWrapperCli::Minter { command } => {
match command {
MinterCommands::New {
wrapper,
allowance,
authority,
} => process_farming_minter_new(&rpc_client, config, *wrapper, *allowance, *authority),
MinterCommands::List { wrapper } => {
process_farming_minter_list(&rpc_client, config, wrapper)
}
MinterCommands::Info { wrapper, authority } => {
process_farming_minter_info(&rpc_client, config, *wrapper, *authority)
}
MinterCommands::Update {
wrapper,
allowance,
authority,
} => process_farming_minter_update(&rpc_client, config, *wrapper, *allowance, *authority),
MinterCommands::Mint {
wrapper,
owner,
amount,
} => process_farming_minter_mint(&rpc_client, config, *wrapper, *owner, *amount),
}
}
}
}