diff --git a/mass-transfer-2/src/main.rs b/mass-transfer-2/src/main.rs index d568ea4..02d8823 100644 --- a/mass-transfer-2/src/main.rs +++ b/mass-transfer-2/src/main.rs @@ -13,6 +13,7 @@ use solana_sdk::{ system_instruction, transaction::Transaction, }; +use tokio::time::Instant; #[derive(Deserialize)] struct Cfg { @@ -100,17 +101,20 @@ async fn main() -> Result<(), Box> { print_balances(client.clone(), all_accounts.clone()).await?; let transfer_amount = LAMPORTS_PER_SOL / 100; - println!( - "sending {} SOL", - transfer_amount as f64 / LAMPORTS_PER_SOL as f64 - ); + let now = Instant::now(); let transactions = run_batch(config.transfers.iter().map(|tr| { let instruction = system_instruction::transfer(&tr.sender.pubkey(), &tr.receiver, transfer_amount); let mut transaction = Transaction::new_with_payer(&[instruction], Some(&tr.sender.pubkey())); let client = client.clone(); + println!( + "sending {} SOL from {} to {}", + transfer_amount as f64 / LAMPORTS_PER_SOL as f64, + tr.sender.pubkey(), + tr.receiver + ); async move { let blockhash = client.get_latest_blockhash().await?; transaction.sign(&[&tr.sender], blockhash); @@ -123,7 +127,7 @@ async fn main() -> Result<(), Box> { println!("Waiting for confirmation..."); wait_for_confirmation(client.clone(), &transactions).await?; - println!("Mass-transfer is done"); + println!("Done in {}ms", now.elapsed().as_millis()); print_balances(client.clone(), all_accounts).await?; Ok(()) }