diff --git a/client/src/thin_client.rs b/client/src/thin_client.rs index c99a8747b5..8cae5d414e 100644 --- a/client/src/thin_client.rs +++ b/client/src/thin_client.rs @@ -399,6 +399,12 @@ impl SyncClient for ThinClient { .map(|r| r.value) } + fn get_minimum_balance_for_rent_exemption(&self, data_len: usize) -> TransportResult { + self.rpc_client() + .get_minimum_balance_for_rent_exemption(data_len) + .map_err(|e| e.into()) + } + fn get_recent_blockhash(&self) -> TransportResult<(Hash, FeeCalculator)> { let (blockhash, fee_calculator, _last_valid_slot) = self.get_recent_blockhash_with_commitment(CommitmentConfig::default())?; diff --git a/runtime/src/bank_client.rs b/runtime/src/bank_client.rs index a83590e869..4becf5c975 100644 --- a/runtime/src/bank_client.rs +++ b/runtime/src/bank_client.rs @@ -140,6 +140,10 @@ impl SyncClient for BankClient { Ok(self.bank.get_balance(pubkey)) } + fn get_minimum_balance_for_rent_exemption(&self, data_len: usize) -> Result { + Ok(self.bank.get_minimum_balance_for_rent_exemption(data_len)) + } + fn get_recent_blockhash(&self) -> Result<(Hash, FeeCalculator)> { Ok(self.bank.last_blockhash_with_fee_calculator()) } diff --git a/sdk/src/client.rs b/sdk/src/client.rs index 20d3c1719a..15e3cfa7ae 100644 --- a/sdk/src/client.rs +++ b/sdk/src/client.rs @@ -78,6 +78,8 @@ pub trait SyncClient { commitment_config: CommitmentConfig, ) -> Result; + fn get_minimum_balance_for_rent_exemption(&self, data_len: usize) -> Result; + /// Get recent blockhash fn get_recent_blockhash(&self) -> Result<(Hash, FeeCalculator)>;