Apply clippy feedback to CLI apps
This commit is contained in:
committed by
Greg Fitzgerald
parent
84c28a077a
commit
f98e9aba48
@ -35,10 +35,10 @@ use std::time::Duration;
|
|||||||
use std::time::Instant;
|
use std::time::Instant;
|
||||||
|
|
||||||
fn sample_tx_count(
|
fn sample_tx_count(
|
||||||
exit: Arc<AtomicBool>,
|
exit: &Arc<AtomicBool>,
|
||||||
maxes: Arc<RwLock<Vec<(f64, u64)>>>,
|
maxes: &Arc<RwLock<Vec<(f64, u64)>>>,
|
||||||
first_count: u64,
|
first_count: u64,
|
||||||
v: NodeInfo,
|
v: &NodeInfo,
|
||||||
sample_period: u64,
|
sample_period: u64,
|
||||||
) {
|
) {
|
||||||
let mut client = mk_client(&v);
|
let mut client = mk_client(&v);
|
||||||
@ -76,9 +76,9 @@ fn sample_tx_count(
|
|||||||
|
|
||||||
fn generate_and_send_txs(
|
fn generate_and_send_txs(
|
||||||
client: &mut ThinClient,
|
client: &mut ThinClient,
|
||||||
tx_clients: &Vec<ThinClient>,
|
tx_clients: &[ThinClient],
|
||||||
id: &Mint,
|
id: &Mint,
|
||||||
keypairs: &Vec<KeyPair>,
|
keypairs: &[KeyPair],
|
||||||
leader: &NodeInfo,
|
leader: &NodeInfo,
|
||||||
txs: i64,
|
txs: i64,
|
||||||
last_id: &mut Hash,
|
last_id: &mut Hash,
|
||||||
@ -199,7 +199,7 @@ fn main() {
|
|||||||
|
|
||||||
let leader: NodeInfo;
|
let leader: NodeInfo;
|
||||||
if let Some(l) = matches.value_of("leader") {
|
if let Some(l) = matches.value_of("leader") {
|
||||||
leader = read_leader(l.to_string()).node_info;
|
leader = read_leader(l).node_info;
|
||||||
} else {
|
} else {
|
||||||
let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000);
|
let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000);
|
||||||
leader = NodeInfo::new_leader(&server_addr);
|
leader = NodeInfo::new_leader(&server_addr);
|
||||||
@ -207,7 +207,7 @@ fn main() {
|
|||||||
|
|
||||||
let id: Mint;
|
let id: Mint;
|
||||||
if let Some(m) = matches.value_of("mint") {
|
if let Some(m) = matches.value_of("mint") {
|
||||||
id = read_mint(m.to_string()).expect("client mint");
|
id = read_mint(m).expect("client mint");
|
||||||
} else {
|
} else {
|
||||||
eprintln!("No mint found!");
|
eprintln!("No mint found!");
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -225,12 +225,12 @@ fn main() {
|
|||||||
time_sec = s.to_string().parse().expect("integer");
|
time_sec = s.to_string().parse().expect("integer");
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut drone_addr = leader.contact_info.tpu.clone();
|
let mut drone_addr = leader.contact_info.tpu;
|
||||||
drone_addr.set_port(9900);
|
drone_addr.set_port(9900);
|
||||||
|
|
||||||
let signal = Arc::new(AtomicBool::new(false));
|
let signal = Arc::new(AtomicBool::new(false));
|
||||||
let mut c_threads = vec![];
|
let mut c_threads = vec![];
|
||||||
let validators = converge(&leader, signal.clone(), num_nodes, &mut c_threads);
|
let validators = converge(&leader, &signal.clone(), num_nodes, &mut c_threads);
|
||||||
assert_eq!(validators.len(), num_nodes);
|
assert_eq!(validators.len(), num_nodes);
|
||||||
|
|
||||||
let mut client = mk_client(&leader);
|
let mut client = mk_client(&leader);
|
||||||
@ -241,7 +241,7 @@ fn main() {
|
|||||||
if starting_balance < txs {
|
if starting_balance < txs {
|
||||||
let airdrop_amount = txs - starting_balance;
|
let airdrop_amount = txs - starting_balance;
|
||||||
println!("Airdropping {:?} tokens", airdrop_amount);
|
println!("Airdropping {:?} tokens", airdrop_amount);
|
||||||
let _airdrop = request_airdrop(&drone_addr, &id, airdrop_amount as u64).unwrap();
|
request_airdrop(&drone_addr, &id, airdrop_amount as u64).unwrap();
|
||||||
// TODO: return airdrop Result from Drone
|
// TODO: return airdrop Result from Drone
|
||||||
sleep(Duration::from_millis(100));
|
sleep(Duration::from_millis(100));
|
||||||
|
|
||||||
@ -282,13 +282,13 @@ fn main() {
|
|||||||
Builder::new()
|
Builder::new()
|
||||||
.name("solana-client-sample".to_string())
|
.name("solana-client-sample".to_string())
|
||||||
.spawn(move || {
|
.spawn(move || {
|
||||||
sample_tx_count(exit, maxes, first_count, v, sample_period);
|
sample_tx_count(&exit, &maxes, first_count, &v, sample_period);
|
||||||
})
|
})
|
||||||
.unwrap()
|
.unwrap()
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let clients = (0..threads).map(|_| mk_client(&leader)).collect();
|
let clients: Vec<_> = (0..threads).map(|_| mk_client(&leader)).collect();
|
||||||
|
|
||||||
// generate and send transactions for the specified duration
|
// generate and send transactions for the specified duration
|
||||||
let time = Duration::new(time_sec / 2, 0);
|
let time = Duration::new(time_sec / 2, 0);
|
||||||
@ -385,7 +385,7 @@ fn spy_node() -> (NodeInfo, UdpSocket) {
|
|||||||
|
|
||||||
fn converge(
|
fn converge(
|
||||||
leader: &NodeInfo,
|
leader: &NodeInfo,
|
||||||
exit: Arc<AtomicBool>,
|
exit: &Arc<AtomicBool>,
|
||||||
num_nodes: usize,
|
num_nodes: usize,
|
||||||
threads: &mut Vec<JoinHandle<()>>,
|
threads: &mut Vec<JoinHandle<()>>,
|
||||||
) -> Vec<NodeInfo> {
|
) -> Vec<NodeInfo> {
|
||||||
@ -428,13 +428,13 @@ fn converge(
|
|||||||
rv
|
rv
|
||||||
}
|
}
|
||||||
|
|
||||||
fn read_leader(path: String) -> Config {
|
fn read_leader(path: &str) -> Config {
|
||||||
let file = File::open(path.clone()).expect(&format!("file not found: {}", path));
|
let file = File::open(path).unwrap_or_else(|_| panic!("file not found: {}", path));
|
||||||
serde_json::from_reader(file).expect(&format!("failed to parse {}", path))
|
serde_json::from_reader(file).unwrap_or_else(|_| panic!("failed to parse {}", path))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn read_mint(path: String) -> Result<Mint, Box<error::Error>> {
|
fn read_mint(path: &str) -> Result<Mint, Box<error::Error>> {
|
||||||
let file = File::open(path.clone())?;
|
let file = File::open(path.to_string())?;
|
||||||
let mint = serde_json::from_reader(file)?;
|
let mint = serde_json::from_reader(file)?;
|
||||||
Ok(mint)
|
Ok(mint)
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ fn main() {
|
|||||||
|
|
||||||
let leader: NodeInfo;
|
let leader: NodeInfo;
|
||||||
if let Some(l) = matches.value_of("leader") {
|
if let Some(l) = matches.value_of("leader") {
|
||||||
leader = read_leader(l.to_string()).node_info;
|
leader = read_leader(l).node_info;
|
||||||
} else {
|
} else {
|
||||||
let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000);
|
let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000);
|
||||||
leader = NodeInfo::new_leader(&server_addr);
|
leader = NodeInfo::new_leader(&server_addr);
|
||||||
@ -70,7 +70,7 @@ fn main() {
|
|||||||
|
|
||||||
let mint: Mint;
|
let mint: Mint;
|
||||||
if let Some(m) = matches.value_of("mint") {
|
if let Some(m) = matches.value_of("mint") {
|
||||||
mint = read_mint(m.to_string()).expect("client mint");
|
mint = read_mint(m).expect("client mint");
|
||||||
} else {
|
} else {
|
||||||
eprintln!("No mint found!");
|
eprintln!("No mint found!");
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -148,13 +148,13 @@ fn main() {
|
|||||||
});
|
});
|
||||||
tokio::run(done);
|
tokio::run(done);
|
||||||
}
|
}
|
||||||
fn read_leader(path: String) -> Config {
|
fn read_leader(path: &str) -> Config {
|
||||||
let file = File::open(path.clone()).expect(&format!("file not found: {}", path));
|
let file = File::open(path).unwrap_or_else(|_| panic!("file not found: {}", path));
|
||||||
serde_json::from_reader(file).expect(&format!("failed to parse {}", path))
|
serde_json::from_reader(file).unwrap_or_else(|_| panic!("failed to parse {}", path))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn read_mint(path: String) -> Result<Mint, Box<error::Error>> {
|
fn read_mint(path: &str) -> Result<Mint, Box<error::Error>> {
|
||||||
let file = File::open(path.clone())?;
|
let file = File::open(path.to_string())?;
|
||||||
let mint = serde_json::from_reader(file)?;
|
let mint = serde_json::from_reader(file)?;
|
||||||
Ok(mint)
|
Ok(mint)
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ fn main() -> () {
|
|||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
node.data.leader_id = node.data.id.clone();
|
node.data.leader_id = node.data.id;
|
||||||
|
|
||||||
let outfile = if let Some(o) = matches.value_of("output") {
|
let outfile = if let Some(o) = matches.value_of("output") {
|
||||||
OutFile::Path(o.to_string())
|
OutFile::Path(o.to_string())
|
||||||
|
@ -66,9 +66,9 @@ impl Default for WalletConfig {
|
|||||||
fn default() -> WalletConfig {
|
fn default() -> WalletConfig {
|
||||||
let default_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000);
|
let default_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000);
|
||||||
WalletConfig {
|
WalletConfig {
|
||||||
leader: NodeInfo::new_leader(&default_addr.clone()),
|
leader: NodeInfo::new_leader(&default_addr),
|
||||||
id: Mint::new(0),
|
id: Mint::new(0),
|
||||||
drone_addr: default_addr.clone(),
|
drone_addr: default_addr,
|
||||||
command: WalletCommand::Balance,
|
command: WalletCommand::Balance,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -143,7 +143,7 @@ fn parse_args() -> Result<WalletConfig, Box<error::Error>> {
|
|||||||
|
|
||||||
let leader: NodeInfo;
|
let leader: NodeInfo;
|
||||||
if let Some(l) = matches.value_of("leader") {
|
if let Some(l) = matches.value_of("leader") {
|
||||||
leader = read_leader(l.to_string()).node_info;
|
leader = read_leader(l).node_info;
|
||||||
} else {
|
} else {
|
||||||
let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000);
|
let server_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 8000);
|
||||||
leader = NodeInfo::new_leader(&server_addr);
|
leader = NodeInfo::new_leader(&server_addr);
|
||||||
@ -151,26 +151,26 @@ fn parse_args() -> Result<WalletConfig, Box<error::Error>> {
|
|||||||
|
|
||||||
let id: Mint;
|
let id: Mint;
|
||||||
if let Some(m) = matches.value_of("mint") {
|
if let Some(m) = matches.value_of("mint") {
|
||||||
id = read_mint(m.to_string())?;
|
id = read_mint(m)?;
|
||||||
} else {
|
} else {
|
||||||
eprintln!("No mint found!");
|
eprintln!("No mint found!");
|
||||||
exit(1);
|
exit(1);
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut drone_addr = leader.contact_info.tpu.clone();
|
let mut drone_addr = leader.contact_info.tpu;
|
||||||
drone_addr.set_port(9900);
|
drone_addr.set_port(9900);
|
||||||
|
|
||||||
let command = match matches.subcommand() {
|
let command = match matches.subcommand() {
|
||||||
("airdrop", Some(airdrop_matches)) => {
|
("airdrop", Some(airdrop_matches)) => {
|
||||||
let mut tokens: i64 = id.tokens;
|
let tokens = if airdrop_matches.is_present("tokens") {
|
||||||
if airdrop_matches.is_present("tokens") {
|
airdrop_matches.value_of("tokens").unwrap().parse()?
|
||||||
tokens = airdrop_matches.value_of("tokens").unwrap().parse()?;
|
} else {
|
||||||
}
|
id.tokens
|
||||||
|
};
|
||||||
Ok(WalletCommand::AirDrop(tokens))
|
Ok(WalletCommand::AirDrop(tokens))
|
||||||
}
|
}
|
||||||
("pay", Some(pay_matches)) => {
|
("pay", Some(pay_matches)) => {
|
||||||
let to: PublicKey;
|
let to = if pay_matches.is_present("to") {
|
||||||
if pay_matches.is_present("to") {
|
|
||||||
let pubkey_vec = bs58::decode(pay_matches.value_of("to").unwrap())
|
let pubkey_vec = bs58::decode(pay_matches.value_of("to").unwrap())
|
||||||
.into_vec()
|
.into_vec()
|
||||||
.expect("base58-encoded public key");
|
.expect("base58-encoded public key");
|
||||||
@ -179,14 +179,17 @@ fn parse_args() -> Result<WalletConfig, Box<error::Error>> {
|
|||||||
display_actions();
|
display_actions();
|
||||||
Err(WalletError::BadParameter("Invalid public key".to_string()))?;
|
Err(WalletError::BadParameter("Invalid public key".to_string()))?;
|
||||||
}
|
}
|
||||||
to = PublicKey::clone_from_slice(&pubkey_vec);
|
PublicKey::clone_from_slice(&pubkey_vec)
|
||||||
} else {
|
} else {
|
||||||
to = id.pubkey();
|
id.pubkey()
|
||||||
}
|
};
|
||||||
let mut tokens: i64 = id.tokens;
|
|
||||||
if pay_matches.is_present("tokens") {
|
let tokens = if pay_matches.is_present("tokens") {
|
||||||
tokens = pay_matches.value_of("tokens").unwrap().parse()?;
|
pay_matches.value_of("tokens").unwrap().parse()?
|
||||||
}
|
} else {
|
||||||
|
id.tokens
|
||||||
|
};
|
||||||
|
|
||||||
Ok(WalletCommand::Pay(tokens, to))
|
Ok(WalletCommand::Pay(tokens, to))
|
||||||
}
|
}
|
||||||
("confirm", Some(confirm_matches)) => {
|
("confirm", Some(confirm_matches)) => {
|
||||||
@ -250,7 +253,7 @@ fn process_command(
|
|||||||
WalletCommand::AirDrop(tokens) => {
|
WalletCommand::AirDrop(tokens) => {
|
||||||
println!("Airdrop requested...");
|
println!("Airdrop requested...");
|
||||||
println!("Airdropping {:?} tokens", tokens);
|
println!("Airdropping {:?} tokens", tokens);
|
||||||
let _airdrop = request_airdrop(&config.drone_addr, &config.id, tokens as u64)?;
|
request_airdrop(&config.drone_addr, &config.id, tokens as u64)?;
|
||||||
// TODO: return airdrop Result from Drone
|
// TODO: return airdrop Result from Drone
|
||||||
sleep(Duration::from_millis(100));
|
sleep(Duration::from_millis(100));
|
||||||
println!(
|
println!(
|
||||||
@ -277,23 +280,23 @@ fn process_command(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn display_actions() {
|
fn display_actions() {
|
||||||
println!("");
|
println!();
|
||||||
println!("Commands:");
|
println!("Commands:");
|
||||||
println!(" address Get your public key");
|
println!(" address Get your public key");
|
||||||
println!(" balance Get your account balance");
|
println!(" balance Get your account balance");
|
||||||
println!(" airdrop Request a batch of tokens");
|
println!(" airdrop Request a batch of tokens");
|
||||||
println!(" pay Send tokens to a public key");
|
println!(" pay Send tokens to a public key");
|
||||||
println!(" confirm Confirm your last payment by signature");
|
println!(" confirm Confirm your last payment by signature");
|
||||||
println!("");
|
println!();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn read_leader(path: String) -> Config {
|
fn read_leader(path: &str) -> Config {
|
||||||
let file = File::open(path.clone()).expect(&format!("file not found: {}", path));
|
let file = File::open(path.to_string()).unwrap_or_else(|_| panic!("file not found: {}", path));
|
||||||
serde_json::from_reader(file).expect(&format!("failed to parse {}", path))
|
serde_json::from_reader(file).unwrap_or_else(|_| panic!("failed to parse {}", path))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn read_mint(path: String) -> Result<Mint, Box<error::Error>> {
|
fn read_mint(path: &str) -> Result<Mint, Box<error::Error>> {
|
||||||
let file = File::open(path.clone())?;
|
let file = File::open(path.to_string())?;
|
||||||
let mint = serde_json::from_reader(file)?;
|
let mint = serde_json::from_reader(file)?;
|
||||||
Ok(mint)
|
Ok(mint)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user