Add minimumLedgerSlot RPC API

This commit is contained in:
Michael Vines
2020-01-21 13:05:04 -07:00
parent 663e98969d
commit 93036bec01
4 changed files with 82 additions and 2 deletions

View File

@@ -386,6 +386,25 @@ impl RpcClient {
})
}
pub fn minimum_ledger_slot(&self) -> io::Result<Slot> {
let response = self
.client
.send(&RpcRequest::MinimumLedgerSlot, Value::Null, 0)
.map_err(|err| {
io::Error::new(
io::ErrorKind::Other,
format!("MinimumLedgerSlot request failure: {:?}", err),
)
})?;
serde_json::from_value(response).map_err(|err| {
io::Error::new(
io::ErrorKind::Other,
format!("MinimumLedgerSlot parse failure: {}", err),
)
})
}
pub fn send_and_confirm_transaction<T: KeypairUtil>(
&self,
transaction: &mut Transaction,

View File

@@ -35,6 +35,7 @@ pub enum RpcRequest {
SendTransaction,
SignVote,
GetMinimumBalanceForRentExemption,
MinimumLedgerSlot,
}
impl RpcRequest {
@@ -75,6 +76,7 @@ impl RpcRequest {
RpcRequest::SendTransaction => "sendTransaction",
RpcRequest::SignVote => "signVote",
RpcRequest::GetMinimumBalanceForRentExemption => "getMinimumBalanceForRentExemption",
RpcRequest::MinimumLedgerSlot => "minimumLedgerSlot",
};
json!({
"jsonrpc": jsonrpc,