From 31d364e478a49e0ea4a4e80dce6d1dd986037400 Mon Sep 17 00:00:00 2001 From: skoupidi Date: Thu, 30 Oct 2025 17:47:10 +0200 Subject: [PATCH] drk: dropped useless dao update-key functionality --- bin/drk/src/cli_util.rs | 3 --- bin/drk/src/dao.rs | 28 -------------------- bin/drk/src/interactive.rs | 52 +++++--------------------------------- bin/drk/src/main.rs | 28 -------------------- 4 files changed, 6 insertions(+), 105 deletions(-) diff --git a/bin/drk/src/cli_util.rs b/bin/drk/src/cli_util.rs index b16b006e0..0e6f7062d 100644 --- a/bin/drk/src/cli_util.rs +++ b/bin/drk/src/cli_util.rs @@ -269,8 +269,6 @@ pub fn generate_completions(shell: &str) -> Result { .about("Import DAO data from stdin") .args(&vec![name.clone()]); - let update_keys = SubCommand::with_name("update-keys").about("Update DAO keys from stdin"); - let opt_name = Arg::with_name("dao-alias").help("Name identifier for the DAO (optional)"); let list = SubCommand::with_name("list") @@ -344,7 +342,6 @@ pub fn generate_completions(shell: &str) -> Result { create, view, import, - update_keys, list, balance, mint, diff --git a/bin/drk/src/dao.rs b/bin/drk/src/dao.rs index f2aac37cd..6b38d64d7 100644 --- a/bin/drk/src/dao.rs +++ b/bin/drk/src/dao.rs @@ -1807,34 +1807,6 @@ impl Drk { Ok(()) } - /// Update given DAO params into the wallet, if the corresponding DAO exists. - pub async fn update_dao_keys( - &self, - params: &DaoParams, - output: &mut Vec, - ) -> Result<()> { - // Grab the params DAO - let bulla = params.dao.to_bulla(); - let Ok(dao) = self.get_dao_by_bulla(&bulla).await else { - return Err(Error::DatabaseError(format!("[import_dao] DAO {bulla} was not found"))) - }; - - output.push(format!("Updating \"{}\" DAO keys into the wallet", dao.name)); - - let query = format!( - "UPDATE {} SET {} = ?1 WHERE {} = ?2;", - *DAO_DAOS_TABLE, DAO_DAOS_COL_PARAMS, DAO_DAOS_COL_BULLA, - ); - if let Err(e) = self.wallet.exec_sql( - &query, - rusqlite::params![serialize_async(params).await, serialize_async(&bulla).await,], - ) { - return Err(Error::DatabaseError(format!("[update_dao_keys] DAO update failed: {e}"))) - }; - - Ok(()) - } - /// Fetch a DAO given its bulla. pub async fn get_dao_by_bulla(&self, bulla: &DaoBulla) -> Result { let row = match self.wallet.query_single( diff --git a/bin/drk/src/interactive.rs b/bin/drk/src/interactive.rs index c61ed268e..72d2642ae 100644 --- a/bin/drk/src/interactive.rs +++ b/bin/drk/src/interactive.rs @@ -183,7 +183,6 @@ fn completion(buffer: &str, lc: &mut Vec) { lc.push(prefix.clone() + "dao create"); lc.push(prefix.clone() + "dao view"); lc.push(prefix.clone() + "dao import"); - lc.push(prefix.clone() + "dao update-keys"); lc.push(prefix.clone() + "dao list"); lc.push(prefix.clone() + "dao balance"); lc.push(prefix.clone() + "dao mint"); @@ -340,7 +339,7 @@ fn hints(buffer: &str) -> Option<(String, i32, bool)> { "transfer " => Some(("[--half-split] [spend_hook] [user_data]".to_string(), color, bold)), "otc " => Some(("(init|join|inspect|sign)".to_string(), color, bold)), "otc init " => Some((" ".to_string(), color, bold)), - "dao " => Some(("(create|view|import|update-keys|list|balance|mint|propose-transfer|propose-generic|proposals|proposal|proposal-import|vote|exec|spend-hook)".to_string(), color, bold)), + "dao " => Some(("(create|view|import|list|balance|mint|propose-transfer|propose-generic|proposals|proposal|proposal-import|vote|exec|spend-hook)".to_string(), color, bold)), "dao create " => Some((" ".to_string(), color, bold)), "dao import " => Some(("".to_string(), color, bold)), "dao list " => Some(("[name]".to_string(), color, bold)), @@ -1347,7 +1346,7 @@ async fn handle_dao(drk: &DrkPtr, parts: &[&str], input: &[String], output: &mut // Check correct command structure if parts.len() < 2 { output.push(String::from("Malformed `dao` command")); - output.push(String::from("Usage: dao (create|view|import|update-keys|list|balance|mint|propose-transfer|propose-generic|proposals|proposal|proposal-import|vote|exec|spend-hook)")); + output.push(String::from("Usage: dao (create|view|import|list|balance|mint|propose-transfer|propose-generic|proposals|proposal|proposal-import|vote|exec|spend-hook)")); return } @@ -1356,7 +1355,6 @@ async fn handle_dao(drk: &DrkPtr, parts: &[&str], input: &[String], output: &mut "create" => handle_dao_create(drk, parts, output).await, "view" => handle_dao_view(parts, input, output).await, "import" => handle_dao_import(drk, parts, input, output).await, - "update-keys" => handle_dao_update_keys(drk, parts, input, output).await, "list" => handle_dao_list(drk, parts, output).await, "balance" => handle_dao_balance(drk, parts, output).await, "mint" => handle_dao_mint(drk, parts, output).await, @@ -1370,7 +1368,7 @@ async fn handle_dao(drk: &DrkPtr, parts: &[&str], input: &[String], output: &mut "spend-hook" => handle_dao_spend_hook(parts, output).await, _ => { output.push(format!("Unreconized DAO subcommand: {}", parts[1])); - output.push(String::from("Usage: dao (create|view|import|update-keys|list|balance|mint|propose-transfer|propose-generic|proposals|proposal|proposal-import|vote|exec|spend-hook)")); + output.push(String::from("Usage: dao (create|view|import|list|balance|mint|propose-transfer|propose-generic|proposals|proposal|proposal-import|vote|exec|spend-hook)")); } } } @@ -1550,46 +1548,6 @@ async fn handle_dao_import( } } -/// Auxiliary function to define the dao update keys subcommand handling. -async fn handle_dao_update_keys( - drk: &DrkPtr, - parts: &[&str], - input: &[String], - output: &mut Vec, -) { - // Check correct subcommand structure - if parts.len() != 2 { - output.push(String::from("Malformed `dao update-keys` subcommand")); - output.push(String::from("Usage: dao update-keys")); - return - } - - // Parse lines from input or fallback to stdin if its empty - let buf = match input.len() { - 0 => { - let mut buf = String::new(); - if let Err(e) = stdin().read_to_string(&mut buf) { - output.push(format!("Failed to read from stdin: {e}")); - return - }; - buf - } - _ => input.join("\n"), - }; - - let params = match DaoParams::from_toml_str(&buf) { - Ok(p) => p, - Err(e) => { - output.push(format!("Error while parsing DAO params: {e}")); - return - } - }; - - if let Err(e) = drk.read().await.update_dao_keys(¶ms, output).await { - output.push(format!("Failed to update DAO keys: {e}")) - } -} - /// Auxiliary function to define the dao list subcommand handling. async fn handle_dao_list(drk: &DrkPtr, parts: &[&str], output: &mut Vec) { // Check correct subcommand structure @@ -3072,7 +3030,9 @@ async fn handle_contract(drk: &DrkPtr, parts: &[&str], output: &mut Vec) "lock" => handle_contract_lock(drk, parts, output).await, _ => { output.push(format!("Unreconized contract subcommand: {}", parts[1])); - output.push(String::from("Usage: contract (generate-deploy|list|export-data|deploy|lock)")); + output.push(String::from( + "Usage: contract (generate-deploy|list|export-data|deploy|lock)", + )); } } } diff --git a/bin/drk/src/main.rs b/bin/drk/src/main.rs index 16ec7fe8b..352603ddc 100644 --- a/bin/drk/src/main.rs +++ b/bin/drk/src/main.rs @@ -301,9 +301,6 @@ enum DaoSubcmd { name: String, }, - /// Update DAO keys from stdin - UpdateKeys, - /// List imported DAOs (or info about a specific one) List { /// Name identifier for the DAO (optional) @@ -1300,31 +1297,6 @@ async fn realmain(args: Args, ex: ExecutorPtr) -> Result<()> { Ok(()) } - DaoSubcmd::UpdateKeys => { - let mut buf = String::new(); - stdin().read_to_string(&mut buf)?; - let params = DaoParams::from_toml_str(&buf)?; - - let drk = new_wallet( - blockchain_config.cache_path, - blockchain_config.wallet_path, - blockchain_config.wallet_pass, - None, - &ex, - args.fun, - ) - .await; - let mut output = vec![]; - if let Err(e) = drk.update_dao_keys(¶ms, &mut output).await { - print_output(&output); - eprintln!("Failed to update DAO keys: {e}"); - exit(2); - } - print_output(&output); - - Ok(()) - } - DaoSubcmd::List { name } => { let drk = new_wallet( blockchain_config.cache_path,