mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 11:41:02 +00:00
Add HeaderBackend trait to BuildParachainContext for cumulus validation (#1153)
This commit is contained in:
@@ -53,6 +53,7 @@ use std::pin::Pin;
|
|||||||
use futures::{future, Future, Stream, FutureExt, TryFutureExt, StreamExt, task::Spawn};
|
use futures::{future, Future, Stream, FutureExt, TryFutureExt, StreamExt, task::Spawn};
|
||||||
use log::warn;
|
use log::warn;
|
||||||
use sc_client_api::{StateBackend, BlockchainEvents};
|
use sc_client_api::{StateBackend, BlockchainEvents};
|
||||||
|
use sp_blockchain::HeaderBackend;
|
||||||
use sp_core::Pair;
|
use sp_core::Pair;
|
||||||
use polkadot_primitives::{
|
use polkadot_primitives::{
|
||||||
BlockId, Hash, Block,
|
BlockId, Hash, Block,
|
||||||
@@ -128,7 +129,7 @@ pub trait BuildParachainContext {
|
|||||||
network: impl Network + Clone + 'static,
|
network: impl Network + Clone + 'static,
|
||||||
) -> Result<Self::ParachainContext, ()>
|
) -> Result<Self::ParachainContext, ()>
|
||||||
where
|
where
|
||||||
Client: ProvideRuntimeApi<Block> + Send + Sync + BlockchainEvents<Block> + 'static,
|
Client: ProvideRuntimeApi<Block> + HeaderBackend<Block> + BlockchainEvents<Block> + Send + Sync + 'static,
|
||||||
Client::Api: RuntimeApiCollection<Extrinsic>,
|
Client::Api: RuntimeApiCollection<Extrinsic>,
|
||||||
<Client::Api as ApiExt<Block>>::StateBackend: StateBackend<HashFor<Block>>,
|
<Client::Api as ApiExt<Block>>::StateBackend: StateBackend<HashFor<Block>>,
|
||||||
Extrinsic: codec::Codec + Send + Sync + 'static,
|
Extrinsic: codec::Codec + Send + Sync + 'static,
|
||||||
|
|||||||
@@ -16,16 +16,17 @@
|
|||||||
|
|
||||||
//! Polkadot Client meta trait
|
//! Polkadot Client meta trait
|
||||||
|
|
||||||
use sc_client_api::BlockchainEvents;
|
|
||||||
use sp_api::{ProvideRuntimeApi, ConstructRuntimeApi, CallApiAt};
|
use sp_api::{ProvideRuntimeApi, ConstructRuntimeApi, CallApiAt};
|
||||||
|
use sp_blockchain::HeaderBackend;
|
||||||
use sp_runtime::traits::Block as BlockT;
|
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 client abstraction, this super trait only pulls in functionality required for
|
||||||
/// polkadot internal crates like polkadot-collator.
|
/// polkadot internal crates like polkadot-collator.
|
||||||
pub trait PolkadotClient<Block, Backend, Runtime>:
|
pub trait PolkadotClient<Block, Backend, Runtime>:
|
||||||
BlockchainEvents<Block> + Sized + Send + Sync
|
BlockchainEvents<Block> + Sized + Send + Sync
|
||||||
+ ProvideRuntimeApi<Block, Api = Runtime::RuntimeApi>
|
+ ProvideRuntimeApi<Block, Api = Runtime::RuntimeApi>
|
||||||
|
+ HeaderBackend<Block>
|
||||||
+ CallApiAt<
|
+ CallApiAt<
|
||||||
Block,
|
Block,
|
||||||
Error = sp_blockchain::Error,
|
Error = sp_blockchain::Error,
|
||||||
@@ -42,7 +43,7 @@ impl<Block, Backend, Runtime, Client> PolkadotClient<Block, Backend, Runtime> fo
|
|||||||
Block: BlockT,
|
Block: BlockT,
|
||||||
Runtime: ConstructRuntimeApi<Block, Self>,
|
Runtime: ConstructRuntimeApi<Block, Self>,
|
||||||
Backend: BackendT<Block>,
|
Backend: BackendT<Block>,
|
||||||
Client: BlockchainEvents<Block> + ProvideRuntimeApi<Block, Api = Runtime::RuntimeApi>
|
Client: BlockchainEvents<Block> + ProvideRuntimeApi<Block, Api = Runtime::RuntimeApi> + HeaderBackend<Block>
|
||||||
+ Sized + Send + Sync
|
+ Sized + Send + Sync
|
||||||
+ CallApiAt<
|
+ CallApiAt<
|
||||||
Block,
|
Block,
|
||||||
|
|||||||
Reference in New Issue
Block a user