diff --git a/bin/drk/src/main.rs b/bin/drk/src/main.rs index 27c0f7d63..959d7d691 100644 --- a/bin/drk/src/main.rs +++ b/bin/drk/src/main.rs @@ -13,7 +13,7 @@ use darkfi::{ crypto::{address::Address, token_id}, rpc::{client::RpcClient, jsonrpc::JsonRequest}, util::{ - cli::{get_log_config, get_log_level}, + cli::{get_log_config, get_log_level, progress_bar}, encode_base10, NetworkName, }, Result, @@ -126,7 +126,7 @@ impl Drk { let addr = if address.is_some() { address.unwrap() } else { - let req = JsonRequest::new("wallet.get_key", json!([0_i64])); + let req = JsonRequest::new("wallet.get_addrs", json!([0_i64])); let rep = self.rpc_client.request(req).await?; Address::from_str(rep.as_array().unwrap()[0].as_str().unwrap())? }; @@ -137,13 +137,20 @@ impl Drk { exit(1); } - println!("Requesting airdrop for {}", addr); + let pb = progress_bar(&format!("Requesting airdrop for {}", addr)); + let req = JsonRequest::new("airdrop", json!([json!(addr.to_string()), amount, token_id])); let rpc_client = RpcClient::new(endpoint).await?; - let rep = rpc_client.request(req).await?; - rpc_client.close().await?; + let rep = match rpc_client.oneshot_request(req).await { + Ok(v) => v, + Err(e) => { + eprintln!("{}", e); + exit(1); + } + }; + pb.finish(); - println!("Success! Transaction ID: {}", rep); + println!("Transaction ID: {}", rep); Ok(()) } @@ -176,7 +183,11 @@ impl Drk { eprintln!("Found invalid balance data for key \"{}\"", i); } - println!("{}", table); + if table.is_empty() { + println!("No balances."); + } else { + println!("{}", table); + } Ok(()) }