Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
Drop ClientProvider (#5823)
Browse files Browse the repository at this point in the history
  • Loading branch information
seunlanlege authored Apr 29, 2020
1 parent d43fb8e commit 463e2bc
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 359 deletions.
94 changes: 5 additions & 89 deletions client/service/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ use sc_network::{NetworkService, network_state::NetworkState, PeerId, ReportHand
use log::{log, warn, debug, error, Level};
use codec::{Encode, Decode};
use sp_runtime::generic::BlockId;
use sp_runtime::traits::{NumberFor, Block as BlockT, BlockIdTo};
use sp_runtime::traits::{NumberFor, Block as BlockT};
use parity_util_mem::MallocSizeOf;
use sp_utils::mpsc::{tracing_unbounded, TracingUnboundedReceiver, TracingUnboundedSender};

Expand All @@ -80,16 +80,11 @@ pub use sc_network::config::{FinalityProofProvider, OnDemand, BoxFinalityProofRe
pub use sc_tracing::TracingReceiver;
pub use task_manager::SpawnTaskHandle;
use task_manager::TaskManager;
use sp_blockchain::{HeaderBackend, HeaderMetadata, ProvideCache};
use sp_api::{ProvideRuntimeApi, CallApiAt, ApiExt, ConstructRuntimeApi, ApiErrorExt};
use sp_blockchain::{HeaderBackend, HeaderMetadata};
use sp_api::{ApiExt, ConstructRuntimeApi, ApiErrorExt};
use sc_client_api::{
LockImportRun, Backend as BackendT, ProofProvider, ProvideUncles,
StorageProvider, ExecutorProvider, Finalizer, AuxStore, Backend,
BlockBackend, BlockchainEvents, CallExecutor, TransactionFor,
UsageProvider,
Backend as BackendT, BlockchainEvents, CallExecutor, UsageProvider,
};
use sc_block_builder::BlockBuilderProvider;
use sp_consensus::{block_validation::Chain, BlockImport};
use sp_block_builder::BlockBuilder;

const DEFAULT_PROTOCOL_ID: &str = "sup";
Expand Down Expand Up @@ -131,85 +126,6 @@ pub struct Service<TBl, TCl, TSc, TNetStatus, TNet, TTxPool, TOc> {

impl<TBl, TCl, TSc, TNetStatus, TNet, TTxPool, TOc> Unpin for Service<TBl, TCl, TSc, TNetStatus, TNet, TTxPool, TOc> {}

/// Client super trait, use this instead of the concrete Client type.
pub trait ClientProvider<
Block: BlockT,
Backend: BackendT<Block>,
Executor: CallExecutor<Block>,
Runtime: ConstructRuntimeApi<Block, Self>,
>:
HeaderBackend<Block>
+ ProvideRuntimeApi<
Block,
Api = <Runtime as ConstructRuntimeApi<Block, Self>>::RuntimeApi
>
+ LockImportRun<Block, Backend>
+ ProofProvider<Block>
+ BlockBuilderProvider<Backend, Block, Self>
+ ProvideUncles<Block>
+ StorageProvider<Block, Backend>
+ Chain<Block>
+ HeaderMetadata<Block, Error = sp_blockchain::Error>
+ ExecutorProvider<Block, Executor = Executor>
+ ProvideCache<Block>
+ BlockIdTo<Block, Error = sp_blockchain::Error>
+ CallApiAt<
Block,
Error = sp_blockchain::Error,
StateBackend = <Backend as BackendT<Block>>::State
>
+ BlockImport<
Block,
Error = sp_consensus::Error,
Transaction = TransactionFor<Backend, Block>
>
+ Finalizer<Block, Backend>
+ BlockchainEvents<Block>
+ BlockBackend<Block>
+ UsageProvider<Block>
+ AuxStore
{}

impl<Block, Backend, Executor, Runtime> ClientProvider<Block, Backend, Executor, Runtime>
for
Client<Backend, Executor, Block, Runtime>
where
Block: BlockT,
Backend: BackendT<Block>,
Executor: CallExecutor<Block>,
Runtime: ConstructRuntimeApi<Block, Self>,
Self: HeaderBackend<Block>
+ ProvideRuntimeApi<
Block,
Api = <Runtime as ConstructRuntimeApi<Block, Self>>::RuntimeApi
>
+ LockImportRun<Block, Backend>
+ ProofProvider<Block>
+ BlockBuilderProvider<Backend, Block, Self>
+ ProvideUncles<Block>
+ StorageProvider<Block, Backend>
+ Chain<Block>
+ HeaderMetadata<Block, Error = sp_blockchain::Error>
+ ExecutorProvider<Block, Executor = Executor>
+ ProvideCache<Block>
+ BlockIdTo<Block, Error = sp_blockchain::Error>
+ CallApiAt<
Block,
Error = sp_blockchain::Error,
StateBackend = <Backend as BackendT<Block>>::State
>
+ BlockImport<
Block,
Error = sp_consensus::Error,
Transaction = TransactionFor<Backend, Block>
>
+ Finalizer<Block, Backend>
+ BlockchainEvents<Block>
+ BlockBackend<Block>
+ UsageProvider<Block>
+ AuxStore
{}

/// Abstraction over a Substrate service.
pub trait AbstractService: Future<Output = Result<(), Error>> + Send + Unpin + Spawn + 'static {
/// Type of block of this chain.
Expand Down Expand Up @@ -296,7 +212,7 @@ impl<TBl, TBackend, TExec, TRtApi, TSc, TExPool, TOc> AbstractService for
NetworkService<TBl, TBl::Hash>, TExPool, TOc>
where
TBl: BlockT,
TBackend: 'static + Backend<TBl>,
TBackend: 'static + BackendT<TBl>,
TExec: 'static + CallExecutor<TBl, Backend = TBackend> + Send + Sync + Clone,
TRtApi: 'static + Send + Sync + ConstructRuntimeApi<TBl, Client<TBackend, TExec, TBl, TRtApi>>,
<TRtApi as ConstructRuntimeApi<TBl, Client<TBackend, TExec, TBl, TRtApi>>>::RuntimeApi:
Expand Down
270 changes: 0 additions & 270 deletions client/src/genesis.rs

This file was deleted.

0 comments on commit 463e2bc

Please sign in to comment.