From 5f061dcea11c1c94549c00e7b8aa14be74584ed7 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 25 Mar 2021 04:18:00 +0000 Subject: [PATCH] Support getBlockTime for unfinalized blocks (#16103) (#16110) (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 ac195ca54a..bc6a650821 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -876,7 +876,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 b45ec62d3b..d9c9bfe54c 100644 --- a/docs/src/developing/clients/jsonrpc-api.md +++ b/docs/src/developing/clients/jsonrpc-api.md @@ -377,7 +377,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