Refactor sr-api to not depend on client anymore (#4086)

* Refactor sr-api to not depend on client anymore

* Fix benches

* Apply suggestions from code review

Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Apply suggestions from code review
This commit is contained in:
Bastian Köcher
2019-11-11 16:26:49 +01:00
committed by Benjamin Kampmann
parent e26d1a0b3e
commit 2ecffa1cd0
140 changed files with 1514 additions and 984 deletions
@@ -7,6 +7,8 @@ edition = "2018"
[dependencies]
cli = { package = "substrate-cli", path = "../../core/cli" }
client = { package = "substrate-client", path = "../../core/client" }
sr-api = { path = "../../core/sr-api" }
block-builder-api = { package = "substrate-block-builder-runtime-api", path = "../../core/block-builder/runtime-api" }
consensus_common = { package = "substrate-consensus-common", path = "../../core/consensus/common" }
log = "0.4.8"
codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
@@ -42,8 +42,8 @@ use std::sync::Arc;
use log::info;
use client::Client;
use client::block_builder::api::BlockBuilder;
use client::runtime_api::ConstructRuntimeApi;
use block_builder_api::BlockBuilder;
use sr_api::ConstructRuntimeApi;
use primitives::{Blake2Hasher, Hasher};
use sr_primitives::generic::BlockId;
use sr_primitives::traits::{Block as BlockT, ProvideRuntimeApi, One, Zero};
@@ -63,7 +63,8 @@ where
Exec: client::CallExecutor<Block, Blake2Hasher> + Send + Sync + Clone,
Backend: client::backend::Backend<Block, Blake2Hasher> + Send,
Client<Backend, Exec, Block, RtApi>: ProvideRuntimeApi,
<Client<Backend, Exec, Block, RtApi> as ProvideRuntimeApi>::Api: BlockBuilder<Block>,
<Client<Backend, Exec, Block, RtApi> as ProvideRuntimeApi>::Api:
BlockBuilder<Block, Error = client::error::Error>,
RtApi: ConstructRuntimeApi<Block, Client<Backend, Exec, Block, RtApi>> + Send + Sync,
RA: RuntimeAdapter,
{
@@ -26,7 +26,9 @@ use std::fmt::Display;
use log::info;
use client::{Client, block_builder::api::BlockBuilder, runtime_api::ConstructRuntimeApi};
use client::Client;
use block_builder_api::BlockBuilder;
use sr_api::ConstructRuntimeApi;
use consensus_common::{
BlockOrigin, BlockImportParams, InherentData, ForkChoiceStrategy,
SelectChain
@@ -102,7 +104,8 @@ where
Exec: client::CallExecutor<Block, Blake2Hasher> + Send + Sync + Clone,
Backend: client::backend::Backend<Block, Blake2Hasher> + Send,
Client<Backend, Exec, Block, RtApi>: ProvideRuntimeApi,
<Client<Backend, Exec, Block, RtApi> as ProvideRuntimeApi>::Api: BlockBuilder<Block>,
<Client<Backend, Exec, Block, RtApi> as ProvideRuntimeApi>::Api:
BlockBuilder<Block, Error = client::error::Error>,
RtApi: ConstructRuntimeApi<Block, Client<Backend, Exec, Block, RtApi>> + Send + Sync,
Sc: SelectChain<Block>,
RA: RuntimeAdapter,
@@ -161,7 +164,8 @@ where
Backend: client::backend::Backend<Block, Blake2Hasher> + Send,
Client<Backend, Exec, Block, RtApi>: ProvideRuntimeApi,
RtApi: ConstructRuntimeApi<Block, Client<Backend, Exec, Block, RtApi>> + Send + Sync,
<Client<Backend, Exec, Block, RtApi> as ProvideRuntimeApi>::Api: BlockBuilder<Block>,
<Client<Backend, Exec, Block, RtApi> as ProvideRuntimeApi>::Api:
BlockBuilder<Block, Error = client::error::Error>,
RA: RuntimeAdapter,
{
let mut block = client.new_block(Default::default()).expect("Failed to create new block");
@@ -180,7 +184,7 @@ where
fn import_block<Backend, Exec, Block, RtApi>(
client: &Arc<Client<Backend, Exec, Block, RtApi>>,
block: Block
) -> () where
) -> () where
Block: BlockT<Hash = <Blake2Hasher as Hasher>::Out>,
Exec: client::CallExecutor<Block, Blake2Hasher> + Send + Sync + Clone,
Backend: client::backend::Backend<Block, Blake2Hasher> + Send,
@@ -37,8 +37,8 @@ use std::sync::Arc;
use log::info;
use client::Client;
use client::block_builder::api::BlockBuilder;
use client::runtime_api::ConstructRuntimeApi;
use block_builder_api::BlockBuilder;
use sr_api::ConstructRuntimeApi;
use primitives::{Blake2Hasher, Hasher};
use sr_primitives::traits::{Block as BlockT, ProvideRuntimeApi, One};
use sr_primitives::generic::BlockId;
@@ -58,7 +58,8 @@ where
Exec: client::CallExecutor<Block, Blake2Hasher> + Send + Sync + Clone,
Backend: client::backend::Backend<Block, Blake2Hasher> + Send,
Client<Backend, Exec, Block, RtApi>: ProvideRuntimeApi,
<Client<Backend, Exec, Block, RtApi> as ProvideRuntimeApi>::Api: BlockBuilder<Block>,
<Client<Backend, Exec, Block, RtApi> as ProvideRuntimeApi>::Api:
BlockBuilder<Block, Error = client::error::Error>,
RtApi: ConstructRuntimeApi<Block, Client<Backend, Exec, Block, RtApi>> + Send + Sync,
RA: RuntimeAdapter,
{