From fc36a0c5ba6aa41297b8d1eefd4c19cd15460aaa Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 25 Mar 2021 06:05:41 +0000 Subject: [PATCH] Support getBlockTime for unfinalized blocks (#16103) (#16109) (cherry picked from commit a8ef29df271d4c2b2035035e5b388c2f467c6e9a) Co-authored-by: Tyera Eulberg --- core/src/rpc.rs | 7 ++++++- docs/src/developing/clients/jsonrpc-api.md | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/rpc.rs b/core/src/rpc.rs index f81d4ea81d..c8bb1afc76 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -896,7 +896,12 @@ impl JsonRpcRequestProcessor { self.check_slot_cleaned_up(&result, slot)?; Ok(result.ok().unwrap_or(None)) } else { - Err(RpcCustomError::BlockNotAvailable { slot }.into()) + let r_bank_forks = self.bank_forks.read().unwrap(); + if let Some(bank) = r_bank_forks.get(slot) { + Ok(Some(bank.clock().unix_timestamp)) + } else { + Err(RpcCustomError::BlockNotAvailable { slot }.into()) + } } } diff --git a/docs/src/developing/clients/jsonrpc-api.md b/docs/src/developing/clients/jsonrpc-api.md index 071554f207..7a9d8b2b7a 100644 --- a/docs/src/developing/clients/jsonrpc-api.md +++ b/docs/src/developing/clients/jsonrpc-api.md @@ -378,7 +378,7 @@ Result: ### getBlockTime -Returns the estimated production time of a confirmed block. +Returns the estimated production time of a block. Each validator reports their UTC time to the ledger on a regular interval by intermittently adding a timestamp to a Vote for a particular block. A requested