From 0ff80d0355b75f09f123a2ecc5283201790ed547 Mon Sep 17 00:00:00 2001 From: Cecile Tonglet Date: Tue, 26 May 2020 17:23:36 +0200 Subject: [PATCH] Add HeaderBackend trait to BuildParachainContext for cumulus validation (#1153) --- polkadot/collator/src/lib.rs | 3 ++- polkadot/service/src/client.rs | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/polkadot/collator/src/lib.rs b/polkadot/collator/src/lib.rs index 7e4d44c0d9..6e7a803df1 100644 --- a/polkadot/collator/src/lib.rs +++ b/polkadot/collator/src/lib.rs @@ -53,6 +53,7 @@ use std::pin::Pin; use futures::{future, Future, Stream, FutureExt, TryFutureExt, StreamExt, task::Spawn}; use log::warn; use sc_client_api::{StateBackend, BlockchainEvents}; +use sp_blockchain::HeaderBackend; use sp_core::Pair; use polkadot_primitives::{ BlockId, Hash, Block, @@ -128,7 +129,7 @@ pub trait BuildParachainContext { network: impl Network + Clone + 'static, ) -> Result where - Client: ProvideRuntimeApi + Send + Sync + BlockchainEvents + 'static, + Client: ProvideRuntimeApi + HeaderBackend + BlockchainEvents + Send + Sync + 'static, Client::Api: RuntimeApiCollection, >::StateBackend: StateBackend>, Extrinsic: codec::Codec + Send + Sync + 'static, diff --git a/polkadot/service/src/client.rs b/polkadot/service/src/client.rs index f4d6fe62dc..28d2bccabb 100644 --- a/polkadot/service/src/client.rs +++ b/polkadot/service/src/client.rs @@ -16,16 +16,17 @@ //! Polkadot Client meta trait -use sc_client_api::BlockchainEvents; use sp_api::{ProvideRuntimeApi, ConstructRuntimeApi, CallApiAt}; +use sp_blockchain::HeaderBackend; use sp_runtime::traits::Block as BlockT; -use sc_client_api::Backend as BackendT; +use sc_client_api::{Backend as BackendT, BlockchainEvents}; /// Polkadot client abstraction, this super trait only pulls in functionality required for /// polkadot internal crates like polkadot-collator. pub trait PolkadotClient: BlockchainEvents + Sized + Send + Sync + ProvideRuntimeApi + + HeaderBackend + CallApiAt< Block, Error = sp_blockchain::Error, @@ -42,7 +43,7 @@ impl PolkadotClient fo Block: BlockT, Runtime: ConstructRuntimeApi, Backend: BackendT, - Client: BlockchainEvents + ProvideRuntimeApi + Client: BlockchainEvents + ProvideRuntimeApi + HeaderBackend + Sized + Send + Sync + CallApiAt< Block,