lite-rpc/tests/client.rs

54 lines
1.6 KiB
Rust
Raw Normal View History

use std::sync::Arc;
2023-01-12 00:55:30 -08:00
use bench::helpers::BenchHelper;
use lite_rpc::DEFAULT_LITE_RPC_ADDR;
2022-12-10 09:31:37 -08:00
use log::info;
use solana_rpc_client::{nonblocking::rpc_client::RpcClient, rpc_client::SerializableTransaction};
2023-01-16 21:32:19 -08:00
use solana_sdk::commitment_config::CommitmentConfig;
2022-12-10 09:31:37 -08:00
2022-12-27 02:11:06 -08:00
const AMOUNT: usize = 5;
2022-12-10 09:31:37 -08:00
#[tokio::test]
2023-01-10 10:32:57 -08:00
async fn send_and_confirm_txs_get_signature_statuses() {
tracing_subscriber::fmt::init();
2022-12-10 09:31:37 -08:00
let rpc_client = Arc::new(RpcClient::new(DEFAULT_LITE_RPC_ADDR.to_string()));
2023-02-07 13:36:47 -08:00
let funded_payer = BenchHelper::get_payer().await.unwrap();
let blockhash = rpc_client.get_latest_blockhash().await.unwrap();
2022-12-10 09:31:37 -08:00
2023-02-07 13:51:56 -08:00
let txs = BenchHelper::generate_txs(AMOUNT, &funded_payer, blockhash);
2022-12-10 09:31:37 -08:00
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}");
2023-02-07 13:36:47 -08:00
BenchHelper::wait_till_signature_status(&rpc_client, sig, CommitmentConfig::confirmed())
.await
.unwrap();
2022-12-10 09:31:37 -08:00
}
info!("Sent and Confirmed {AMOUNT} tx(s)");
}
2023-01-10 10:32:57 -08:00
#[tokio::test]
async fn send_and_confirm_tx_rpc_client() {
2023-02-07 13:36:47 -08:00
let rpc_client = RpcClient::new(DEFAULT_LITE_RPC_ADDR.to_string());
let funded_payer = BenchHelper::get_payer().await.unwrap();
let blockhash = rpc_client.get_latest_blockhash().await.unwrap();
2023-01-10 10:32:57 -08:00
2023-02-07 13:51:56 -08:00
let tx = &BenchHelper::generate_txs(1, &funded_payer, blockhash)[0];
2023-01-10 10:32:57 -08:00
let sig = tx.get_signature();
2023-02-07 13:36:47 -08:00
rpc_client.send_and_confirm_transaction(tx).await.unwrap();
2023-01-10 10:32:57 -08:00
info!("Sent and Confirmed {sig}");
}