Skip to content
Snippets Groups Projects
Select Git revision
  • f4e7026a9465d37886e12edca98ab6becab9b529
  • master default protected
  • json-output
  • nostr
  • 48-error-base-58-requirement-is-violated
  • no-rename
  • hugo/tx-comments
  • poka/dev
  • hugo/dev
  • tuxmain/mail
  • 0.4.3-RC2
  • 0.4.3-RC1
  • 0.4.2
  • 0.4.1
  • 0.4.0
  • 0.3.0
  • 0.2.17
  • 0.2.16
  • 0.2.15
  • 0.2.14
  • 0.2.13
  • 0.2.12
  • 0.2.10
  • 0.2.9
  • 0.2.8
  • 0.2.7
  • 0.2.6
  • 0.2.5
  • 0.2.4
  • 0.2.3
30 results

display.rs

Blame
  • display.rs 24.26 KiB
    use crate::commands::cesium;
    use crate::entities::vault_account;
    use crate::entities::vault_account::AccountTreeNode;
    use crate::keys::CryptoScheme;
    use crate::utils::GcliError;
    use comfy_table::{Cell, Table};
    use serde::Serialize;
    use std::cell::RefCell;
    use std::rc::Rc;
    use std::str;
    
    #[deprecated(
    	note = "Should be removed in a future version when db persistence of vault is present for a while"
    )]
    pub fn compute_vault_key_files_table(vault_key_addresses: &[String]) -> Result<Table, GcliError> {
    	let mut table = Table::new();
    	table.load_preset(comfy_table::presets::UTF8_BORDERS_ONLY);
    	table.set_header(vec!["Key file"]);
    
    	vault_key_addresses.iter().for_each(|address| {
    		table.add_row(vec![Cell::new(address)]);
    	});
    
    	Ok(table)
    }
    
    pub fn compute_vault_accounts_table(
    	account_tree_nodes: &[Rc<RefCell<AccountTreeNode>>],
    ) -> Result<Table, GcliError> {
    	// Calling the new function with show_g1v1 = true to maintain compatibility
    	compute_vault_accounts_table_with_g1v1(account_tree_nodes, true)
    }
    
    pub fn compute_vault_accounts_table_with_g1v1(
    	account_tree_nodes: &[Rc<RefCell<AccountTreeNode>>],
    	show_g1v1: bool,
    ) -> Result<Table, GcliError> {
    	let mut table = Table::new();
    	table.load_preset(comfy_table::presets::UTF8_BORDERS_ONLY);
    
    	// Prepare header based on options
    	table.set_header(vec![
    		if show_g1v1 {
    			"SS58 Address/G1v1 public key"
    		} else {
    			"SS58 Address"
    		},
    		"Crypto",
    		"Path",
    		"Name",
    	]);
    
    	for account_tree_node in account_tree_nodes {
    		let _ = add_account_tree_node_to_table_with_g1v1(&mut table, account_tree_node, show_g1v1);
    	}
    
    	Ok(table)
    }
    
    fn add_account_tree_node_to_table_with_g1v1(
    	table: &mut Table,
    	account_tree_node: &Rc<RefCell<AccountTreeNode>>,
    	show_g1v1: bool,
    ) -> Result<(), GcliError> {
    	let rows = compute_vault_accounts_row_with_g1v1(account_tree_node, show_g1v1)?;
    	rows.iter().for_each(|row| {
    		table.add_row(row.clone());
    	});
    
    	for child in &account_tree_node.borrow().children {