Remove ThinClient::transfer()

This commit is contained in:
Michael Vines
2019-03-16 13:36:47 -07:00
parent 9566a5cc68
commit 4c9d852b08
3 changed files with 37 additions and 46 deletions

View File

@@ -6,7 +6,9 @@ use solana::gossip_service::discover;
use solana_client::thin_client::create_client;
use solana_client::thin_client::{retry_get_balance, ThinClient};
use solana_logger;
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::hash::Hash;
use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::{Keypair, KeypairUtil, Signature};
use solana_sdk::system_instruction::SystemInstruction;
use solana_sdk::system_transaction::SystemTransaction;
use solana_vote_api::vote_state::VoteState;
@@ -16,6 +18,24 @@ use std::net::UdpSocket;
use std::thread::sleep;
use std::time::Duration;
pub fn transfer(
thin_client: &ThinClient,
lamports: u64,
keypair: &Keypair,
to: &Pubkey,
blockhash: &Hash,
) -> std::io::Result<Signature> {
debug!(
"transfer: lamports={} from={:?} to={:?} blockhash={:?}",
lamports,
keypair.pubkey(),
to,
blockhash
);
let transaction = SystemTransaction::new_account(keypair, to, lamports, *blockhash, 0);
thin_client.transfer_signed(&transaction)
}
#[test]
fn test_thin_client_basic() {
solana_logger::setup();
@@ -31,9 +51,7 @@ fn test_thin_client_basic() {
let blockhash = client.get_recent_blockhash();
info!("test_thin_client blockhash: {:?}", blockhash);
let signature = client
.transfer(500, &alice, &bob_pubkey, &blockhash)
.unwrap();
let signature = transfer(&client, 500, &alice, &bob_pubkey, &blockhash).unwrap();
info!("test_thin_client signature: {:?}", signature);
client.poll_for_signature(&signature).unwrap();
@@ -90,9 +108,14 @@ fn test_register_vote_account() {
// Create the validator account, transfer some lamports to that account
let validator_keypair = Keypair::new();
let blockhash = client.get_recent_blockhash();
let signature = client
.transfer(500, &alice, &validator_keypair.pubkey(), &blockhash)
.unwrap();
let signature = transfer(
&client,
500,
&alice,
&validator_keypair.pubkey(),
&blockhash,
)
.unwrap();
client.poll_for_signature(&signature).unwrap();
@@ -162,18 +185,14 @@ fn test_zero_balance_after_nonzero() {
info!("Alice has {} lamports", starting_alice_balance);
info!("Give Bob 500 lamports");
let signature = client
.transfer(500, &alice, &bob_keypair.pubkey(), &blockhash)
.unwrap();
let signature = transfer(&client, 500, &alice, &bob_keypair.pubkey(), &blockhash).unwrap();
client.poll_for_signature(&signature).unwrap();
let bob_balance = client.poll_get_balance(&bob_keypair.pubkey());
assert_eq!(bob_balance.unwrap(), 500);
info!("Take Bob's 500 lamports away");
let signature = client
.transfer(500, &bob_keypair, &alice.pubkey(), &blockhash)
.unwrap();
let signature = transfer(&client, 500, &bob_keypair, &alice.pubkey(), &blockhash).unwrap();
client.poll_for_signature(&signature).unwrap();
let alice_balance = client.poll_get_balance(&alice.pubkey()).unwrap();
assert_eq!(alice_balance, starting_alice_balance);