kaspa_cli_lib/modules/
select.rs

1use crate::imports::*;
2
3#[derive(Default, Handler)]
4#[help("Select an account")]
5pub struct Select;
6
7impl Select {
8    async fn main(self: Arc<Self>, ctx: &Arc<dyn Context>, mut argv: Vec<String>, _cmd: &str) -> Result<()> {
9        let ctx = ctx.clone().downcast_arc::<KaspaCli>()?;
10
11        if argv.is_empty() {
12            let account = ctx.select_account().await?;
13            ctx.wallet().select(Some(&account)).await?;
14        } else {
15            let pat = argv.remove(0);
16            let pat = pat.trim();
17
18            let account = ctx.find_accounts_by_name_or_id(pat).await?;
19            ctx.wallet().select(Some(&account)).await?;
20        }
21
22        Ok(())
23    }
24}