From 2e41e9e870b41575efc24ade7c505c1457d8a322 Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Fri, 23 Nov 2018 02:35:01 +0100 Subject: [PATCH] add leaves function to chain (#1154) --- substrate/core/client/src/client.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/substrate/core/client/src/client.rs b/substrate/core/client/src/client.rs index 1b77d88dda..92a4688845 100644 --- a/substrate/core/client/src/client.rs +++ b/substrate/core/client/src/client.rs @@ -93,6 +93,9 @@ pub trait BlockchainEvents { pub trait ChainHead { /// Get best block header. fn best_block_header(&self) -> Result<::Header, error::Error>; + /// Get all leaves of the chain: block hashes that have no children currently. + /// Leaves that can never be finalized will not be returned. + fn leaves(&self) -> Result::Hash>, error::Error>; } /// Fetch block body by ID. @@ -1189,6 +1192,10 @@ where fn best_block_header(&self) -> error::Result<::Header> { Client::best_block_header(self) } + + fn leaves(&self) -> Result::Hash>, error::Error> { + self.backend.blockchain().leaves() + } } impl BlockBody for Client