From 4332f0ca05e40255d50a6c88e54d2b8a3666ea70 Mon Sep 17 00:00:00 2001 From: Kirill Fomichev Date: Tue, 13 Jul 2021 19:26:14 +0300 Subject: [PATCH] Replace get_clock by get_sysvar in BanksClient --- banks-client/src/lib.rs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/banks-client/src/lib.rs b/banks-client/src/lib.rs index 12b148675e..cec904e528 100644 --- a/banks-client/src/lib.rs +++ b/banks-client/src/lib.rs @@ -11,7 +11,7 @@ pub use solana_banks_interface::{BanksClient as TarpcClient, TransactionStatus}; use solana_banks_interface::{BanksRequest, BanksResponse}; use solana_program::{ clock::Slot, fee_calculator::FeeCalculator, hash::Hash, program_pack::Pack, pubkey::Pubkey, - rent::Rent, sysvar, + rent::Rent, sysvar::Sysvar, }; use solana_sdk::{ account::{from_account, Account}, @@ -124,15 +124,19 @@ impl BanksClient { self.get_fees_with_commitment_and_context(context::current(), CommitmentLevel::default()) } + /// Return the cluster Sysvar + pub fn get_sysvar(&mut self) -> impl Future> + '_ { + self.get_account(T::id()).map(|result| { + let sysvar = result? + .ok_or_else(|| io::Error::new(io::ErrorKind::Other, "Sysvar not present"))?; + from_account::(&sysvar) + .ok_or_else(|| io::Error::new(io::ErrorKind::Other, "Failed to deserialize sysvar")) + }) + } + /// Return the cluster rent pub fn get_rent(&mut self) -> impl Future> + '_ { - self.get_account(sysvar::rent::id()).map(|result| { - let rent_sysvar = result? - .ok_or_else(|| io::Error::new(io::ErrorKind::Other, "Rent sysvar not present"))?; - from_account::(&rent_sysvar).ok_or_else(|| { - io::Error::new(io::ErrorKind::Other, "Failed to deserialize Rent sysvar") - }) - }) + self.get_sysvar::() } /// Return a recent, rooted blockhash from the server. The cluster will only accept