Quellcode durchsuchen

drk: dropped useless dao update-key functionality

skoupidi vor 9 Monaten
Ursprung
Commit
31d364e478
4 geänderte Dateien mit 6 neuen und 105 gelöschten Zeilen
  1. 0 3
      bin/drk/src/cli_util.rs
  2. 0 28
      bin/drk/src/dao.rs
  3. 6 46
      bin/drk/src/interactive.rs
  4. 0 28
      bin/drk/src/main.rs

+ 0 - 3
bin/drk/src/cli_util.rs

@@ -269,8 +269,6 @@ pub fn generate_completions(shell: &str) -> Result<String> {
         .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<String> {
         create,
         view,
         import,
-        update_keys,
         list,
         balance,
         mint,

+ 0 - 28
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<String>,
-    ) -> 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<DaoRecord> {
         let row = match self.wallet.query_single(

+ 6 - 46
bin/drk/src/interactive.rs

@@ -183,7 +183,6 @@ fn completion(buffer: &str, lc: &mut Vec<String>) {
         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] <amount> <token> <recipient> [spend_hook] [user_data]".to_string(), color, bold)),
         "otc " => Some(("(init|join|inspect|sign)".to_string(), color, bold)),
         "otc init " => Some(("<value_pair> <token_pair>".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(("<proposer-limit> <quorum> <early-exec-quorum> <approval-ratio> <gov-token-id>".to_string(), color, bold)),
         "dao import " => Some(("<name>".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<String>,
-) {
-    // 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(&params, 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<String>) {
     // Check correct subcommand structure
@@ -3072,7 +3030,9 @@ async fn handle_contract(drk: &DrkPtr, parts: &[&str], output: &mut Vec<String>)
         "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)",
+            ));
         }
     }
 }

+ 0 - 28
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(&params, &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,