* Deprecate commitment variants * Add new CommitmentConfig builders * Add helpers to avoid allowing deprecated variants * Remove deprecated transaction-status code * Include new commitment variants in runtime commitment; allow deprecated as long as old variants persist * Remove deprecated banks code * Remove deprecated variants in core; allow deprecated in rpc/rpc-subscriptions for now * Heavier hand with rpc/rpc-subscription commitment * Remove deprecated variants from local-cluster * Remove deprecated variants from various tools * Remove deprecated variants from validator * Update docs * Remove deprecated client code * Add new variants to cli; remove deprecated variants as possible * Don't send new commitment variants to old clusters * Retain deprecated method in test_validator_saves_tower * Fix clippy matches! suggestion for BPF solana-sdk legacy compile test * Refactor node version check to handle commitment variants and transaction encoding * Hide deprecated variants from cli help * Add cli App comments
30 lines
899 B
Rust
30 lines
899 B
Rust
use solana_client::rpc_client::RpcClient;
|
|
use solana_sdk::{clock::DEFAULT_MS_PER_SLOT, commitment_config::CommitmentConfig, pubkey::Pubkey};
|
|
use std::{thread::sleep, time::Duration};
|
|
|
|
pub fn check_recent_balance(expected_balance: u64, client: &RpcClient, pubkey: &Pubkey) {
|
|
(0..5).for_each(|tries| {
|
|
let balance = client
|
|
.get_balance_with_commitment(pubkey, CommitmentConfig::processed())
|
|
.unwrap()
|
|
.value;
|
|
if balance == expected_balance {
|
|
return;
|
|
}
|
|
if tries == 4 {
|
|
assert_eq!(balance, expected_balance);
|
|
}
|
|
sleep(Duration::from_millis(500));
|
|
});
|
|
}
|
|
|
|
pub fn check_ready(rpc_client: &RpcClient) {
|
|
while rpc_client
|
|
.get_slot_with_commitment(CommitmentConfig::processed())
|
|
.unwrap()
|
|
< 5
|
|
{
|
|
sleep(Duration::from_millis(DEFAULT_MS_PER_SLOT));
|
|
}
|
|
}
|