unc_cli_rs/commands/extensions/
mod.rs1use serde::Deserialize;
2use strum::{EnumDiscriminants, EnumIter, EnumMessage};
3
4pub mod register_rsa_keys;
5pub mod create_challenge_rsa;
6pub mod self_update;
7
8#[derive(Debug, Clone, interactive_clap::InteractiveClap)]
9#[interactive_clap(context = crate::GlobalContext)]
10pub struct ExtensionsCommands {
11 #[interactive_clap(subcommand)]
12 pub extensions_actions: ExtensionsActions,
13}
14
15#[derive(Debug, EnumDiscriminants, Clone, interactive_clap::InteractiveClap)]
16#[interactive_clap(context = crate::GlobalContext)]
17#[strum_discriminants(derive(EnumMessage, EnumIter))]
18#[non_exhaustive]
19pub enum ExtensionsActions {
21 #[strum_discriminants(strum(
22 message = "register-rsa-keys - Register TPU rsa keys (root account only)"
23 ))]
24 RegisterRsaKeys(self::register_rsa_keys::RegisterRsaKeysCommand),
25
26 #[strum_discriminants(strum(
27 message = "create-challenge-rsa - create challenge rsa keys (real miner account)"
28 ))]
29 CreateChallengeRsa(self::create_challenge_rsa::CreateChallengeRsaCommand),
30
31 #[strum_discriminants(strum(message = "self-update - Self update unc CLI"))]
32 SelfUpdate(self::self_update::SelfUpdateCommand),
34}
35
36#[derive(Debug, Deserialize)]
37pub struct Rsa2048KeyPair {
38 pub challenge_key: unc_crypto::PublicKey,
39 pub public_key: unc_crypto::PublicKey,
40}
41
42#[derive(Debug, Clone, Deserialize)]
43pub struct Miner {
44 pub miner_id: String,
45 pub public_key: unc_crypto::PublicKey,
46 pub power: u64,
47 pub sn: String,
48 pub bus_id: String,
49 pub p2key: String,
50}