lite-rpc/tests/client.rs

55 lines
1.4 KiB
Rust
Raw Normal View History

use std::sync::Arc;
use bench_utils::helpers::BenchHelper;
use lite_rpc::DEFAULT_LITE_RPC_ADDR;
2022-12-10 09:31:37 -08:00
use log::info;
2022-12-16 18:35:49 -08:00
use solana_client::{nonblocking::rpc_client::RpcClient, rpc_client::SerializableTransaction};
use solana_sdk::commitment_config::CommitmentConfig;
2022-12-10 09:31:37 -08:00
use solana_sdk::native_token::LAMPORTS_PER_SOL;
use simplelog::*;
2022-12-27 02:11:06 -08:00
const AMOUNT: usize = 5;
2022-12-10 09:31:37 -08:00
#[tokio::test]
async fn send_and_confirm_tx() {
TermLogger::init(
LevelFilter::Info,
Config::default(),
TerminalMode::Mixed,
ColorChoice::Auto,
)
.unwrap();
let rpc_client = Arc::new(RpcClient::new(DEFAULT_LITE_RPC_ADDR.to_string()));
let bench_helper = BenchHelper::new(rpc_client.clone());
let funded_payer = bench_helper
.new_funded_payer(LAMPORTS_PER_SOL * 2)
2022-12-10 09:31:37 -08:00
.await
.unwrap();
let txs = bench_helper
.generate_txs(AMOUNT, &funded_payer)
2022-12-10 09:31:37 -08:00
.await
.unwrap();
info!("Sending and Confirming {AMOUNT} tx(s)");
for tx in &txs {
rpc_client.send_transaction(tx).await.unwrap();
info!("Tx {}", tx.get_signature());
2022-12-10 09:31:37 -08:00
}
for tx in &txs {
let sig = tx.get_signature();
info!("Confirming {sig}");
bench_helper
.wait_till_signature_status(sig, CommitmentConfig::confirmed())
.await
.unwrap();
2022-12-10 09:31:37 -08:00
}
info!("Sent and Confirmed {AMOUNT} tx(s)");
}