Unverified Commit ba0d1a32 authored by Peter Goodspeed-Niklaus's avatar Peter Goodspeed-Niklaus Committed by GitHub
Browse files

Remove old service, 3rd try (#1776)

* Remove old service, 3rd try

i.e.
Revert "Revert "Remove Old Service, 2nd try (#1732)" (#1758)"

This reverts commit c80f7b6b.

Closes #1757.

We now have some evidence that the polkadot validator was producing
blocks after all; the reason the blocks_constructed metric was 0 was
that as a new metric it hadn't yet been incorporated into that
branch's codebase. See
https://github.com/paritytech/polkadot/issues/1757#issuecomment-700977602



As this PR is based on a newer `master` branch than the previous one,
that should hopefully no longer be an issue.

* paras trait now has an Origin type

* initial work running a two node local net

* use the right incantations so the nodes produce blocks together

* improve internal documentation

Co-authored-by: Bastian Köcher's avatarBastian Köcher <git@kchr.de>
parent b02b29ed
Pipeline #109908 passed with stages
in 25 minutes and 42 seconds
...@@ -4730,7 +4730,6 @@ dependencies = [ ...@@ -4730,7 +4730,6 @@ dependencies = [
"futures 0.3.5", "futures 0.3.5",
"log 0.4.11", "log 0.4.11",
"polkadot-service", "polkadot-service",
"polkadot-service-new",
"sc-cli", "sc-cli",
"sc-client-api", "sc-client-api",
"sc-client-db", "sc-client-db",
...@@ -5374,65 +5373,6 @@ dependencies = [ ...@@ -5374,65 +5373,6 @@ dependencies = [
[[package]] [[package]]
name = "polkadot-service" name = "polkadot-service"
version = "0.8.25"
dependencies = [
"env_logger",
"frame-benchmarking",
"frame-system-rpc-runtime-api",
"futures 0.3.5",
"hex-literal 0.2.1",
"kusama-runtime",
"lazy_static",
"log 0.4.11",
"pallet-babe",
"pallet-im-online",
"pallet-staking",
"pallet-transaction-payment-rpc-runtime-api",
"parity-scale-codec",
"parking_lot 0.9.0",
"polkadot-primitives",
"polkadot-rpc",
"polkadot-runtime",
"polkadot-test-runtime-client",
"polkadot-validation",
"sc-authority-discovery",
"sc-block-builder",
"sc-chain-spec",
"sc-client-api",
"sc-client-db",
"sc-consensus",
"sc-consensus-babe",
"sc-executor",
"sc-finality-grandpa",
"sc-keystore",
"sc-network",
"sc-service",
"sc-telemetry",
"sc-transaction-pool",
"serde",
"slog",
"sp-api",
"sp-authority-discovery",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
"sp-core",
"sp-finality-grandpa",
"sp-inherents",
"sp-io",
"sp-offchain",
"sp-runtime",
"sp-session",
"sp-storage",
"sp-transaction-pool",
"sp-trie",
"substrate-prometheus-endpoint",
"westend-runtime",
]
[[package]]
name = "polkadot-service-new"
version = "0.8.3" version = "0.8.3"
dependencies = [ dependencies = [
"env_logger", "env_logger",
...@@ -5452,10 +5392,12 @@ dependencies = [ ...@@ -5452,10 +5392,12 @@ dependencies = [
"polkadot-node-core-proposer", "polkadot-node-core-proposer",
"polkadot-node-subsystem", "polkadot-node-subsystem",
"polkadot-overseer", "polkadot-overseer",
"polkadot-parachain",
"polkadot-primitives", "polkadot-primitives",
"polkadot-rpc", "polkadot-rpc",
"polkadot-runtime", "polkadot-runtime",
"polkadot-test-runtime-client", "polkadot-test-runtime-client",
"rococo-v1-runtime",
"sc-authority-discovery", "sc-authority-discovery",
"sc-block-builder", "sc-block-builder",
"sc-chain-spec", "sc-chain-spec",
...@@ -5560,6 +5502,7 @@ dependencies = [ ...@@ -5560,6 +5502,7 @@ dependencies = [
"polkadot-parachain", "polkadot-parachain",
"polkadot-primitives", "polkadot-primitives",
"polkadot-runtime-common", "polkadot-runtime-common",
"polkadot-runtime-parachains",
"rustc-hex", "rustc-hex",
"serde", "serde",
"serde_derive", "serde_derive",
...@@ -5621,6 +5564,7 @@ dependencies = [ ...@@ -5621,6 +5564,7 @@ dependencies = [
"pallet-balances", "pallet-balances",
"pallet-staking", "pallet-staking",
"pallet-transaction-payment", "pallet-transaction-payment",
"polkadot-overseer",
"polkadot-primitives", "polkadot-primitives",
"polkadot-rpc", "polkadot-rpc",
"polkadot-runtime-common", "polkadot-runtime-common",
......
...@@ -14,7 +14,7 @@ readme = "README.md" ...@@ -14,7 +14,7 @@ readme = "README.md"
[dependencies] [dependencies]
cli = { package = "polkadot-cli", path = "cli" } cli = { package = "polkadot-cli", path = "cli" }
futures = "0.3.4" futures = "0.3.4"
service = { package = "polkadot-service", path = "service" } service = { package = "polkadot-service", path = "node/service" }
parity-util-mem = { version = "*", default-features = false, features = ["jemalloc-global"] } parity-util-mem = { version = "*", default-features = false, features = ["jemalloc-global"] }
[dev-dependencies] [dev-dependencies]
...@@ -36,9 +36,7 @@ members = [ ...@@ -36,9 +36,7 @@ members = [
"runtime/westend", "runtime/westend",
"runtime/test-runtime", "runtime/test-runtime",
"runtime/test-runtime/client", "runtime/test-runtime/client",
"service",
"statement-table", "statement-table",
"service",
"validation", "validation",
"xcm", "xcm",
"xcm/xcm-builder", "xcm/xcm-builder",
...@@ -81,9 +79,6 @@ panic = "unwind" ...@@ -81,9 +79,6 @@ panic = "unwind"
[features] [features]
runtime-benchmarks=["cli/runtime-benchmarks"] runtime-benchmarks=["cli/runtime-benchmarks"]
service-rewr= [
"cli/service-rewr",
]
# Configuration for building a .deb package - for use with `cargo-deb` # Configuration for building a .deb package - for use with `cargo-deb`
[package.metadata.deb] [package.metadata.deb]
......
...@@ -24,8 +24,7 @@ sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "mas ...@@ -24,8 +24,7 @@ sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "mas
sc-client-db = { git = "https://github.com/paritytech/substrate", branch = "master" } sc-client-db = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" } sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" } sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" }
service = { package = "polkadot-service", path = "../service", default-features = false, optional = true } service = { package = "polkadot-service", path = "../node/service", default-features = false, optional = true }
service-new = { package = "polkadot-service-new", path = "../node/service", default-features = false, optional = true }
tokio = { version = "0.2.13", features = ["rt-threaded"], optional = true } tokio = { version = "0.2.13", features = ["rt-threaded"], optional = true }
frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "master", optional = true } frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "master", optional = true }
...@@ -43,7 +42,7 @@ sp-trie = { git = "https://github.com/paritytech/substrate", branch = "master", ...@@ -43,7 +42,7 @@ sp-trie = { git = "https://github.com/paritytech/substrate", branch = "master",
substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "master" } substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "master" }
[features] [features]
default = [ "wasmtime", "db", "cli", "service-old", "trie-memory-tracker" ] default = [ "wasmtime", "db", "cli", "full-node", "trie-memory-tracker" ]
wasmtime = [ "sc-cli/wasmtime" ] wasmtime = [ "sc-cli/wasmtime" ]
db = [ "service/db" ] db = [ "service/db" ]
cli = [ cli = [
...@@ -52,7 +51,6 @@ cli = [ ...@@ -52,7 +51,6 @@ cli = [
"sc-service", "sc-service",
"frame-benchmarking-cli", "frame-benchmarking-cli",
] ]
service-old = [ "service/full-node" ]
browser = [ browser = [
"wasm-bindgen", "wasm-bindgen",
"wasm-bindgen-futures", "wasm-bindgen-futures",
...@@ -60,5 +58,5 @@ browser = [ ...@@ -60,5 +58,5 @@ browser = [
"service", "service",
] ]
runtime-benchmarks = [ "service/runtime-benchmarks" ] runtime-benchmarks = [ "service/runtime-benchmarks" ]
service-rewr = [ "service-new/full-node" ]
trie-memory-tracker = [ "sp-trie/memory-tracker" ] trie-memory-tracker = [ "sp-trie/memory-tracker" ]
full-node = [ "service/full-node" ]
...@@ -79,6 +79,10 @@ pub struct RunCmd { ...@@ -79,6 +79,10 @@ pub struct RunCmd {
#[structopt(long = "force-westend")] #[structopt(long = "force-westend")]
pub force_westend: bool, pub force_westend: bool,
/// Force using Rococo native runtime.
#[structopt(long = "force-rococo")]
pub force_rococo: bool,
/// Enable the authority discovery module on validator or sentry nodes. /// Enable the authority discovery module on validator or sentry nodes.
/// ///
/// When enabled: /// When enabled:
......
...@@ -15,10 +15,7 @@ ...@@ -15,10 +15,7 @@
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>. // along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
use log::info; use log::info;
#[cfg(not(feature = "service-rewr"))]
use service::{IdentifyVariant, self}; use service::{IdentifyVariant, self};
#[cfg(feature = "service-rewr")]
use service_new::{IdentifyVariant, self as service};
use sc_cli::{SubstrateCli, Result, RuntimeVersion, Role}; use sc_cli::{SubstrateCli, Result, RuntimeVersion, Role};
use crate::cli::{Cli, Subcommand}; use crate::cli::{Cli, Subcommand};
use std::sync::Arc; use std::sync::Arc;
...@@ -48,7 +45,7 @@ impl SubstrateCli for Cli { ...@@ -48,7 +45,7 @@ impl SubstrateCli for Cli {
fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> { fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
let id = if id == "" { let id = if id == "" {
let n = get_exec_name().unwrap_or_default(); let n = get_exec_name().unwrap_or_default();
["polkadot", "kusama", "westend"].iter() ["polkadot", "kusama", "westend", "rococo"].iter()
.cloned() .cloned()
.find(|&chain| n.starts_with(chain)) .find(|&chain| n.starts_with(chain))
.unwrap_or("polkadot") .unwrap_or("polkadot")
...@@ -66,6 +63,9 @@ impl SubstrateCli for Cli { ...@@ -66,6 +63,9 @@ impl SubstrateCli for Cli {
"westend-dev" => Box::new(service::chain_spec::westend_development_config()?), "westend-dev" => Box::new(service::chain_spec::westend_development_config()?),
"westend-local" => Box::new(service::chain_spec::westend_local_testnet_config()?), "westend-local" => Box::new(service::chain_spec::westend_local_testnet_config()?),
"westend-staging" => Box::new(service::chain_spec::westend_staging_testnet_config()?), "westend-staging" => Box::new(service::chain_spec::westend_staging_testnet_config()?),
"rococo-staging" => Box::new(service::chain_spec::rococo_staging_testnet_config()?),
"rococo-local" => Box::new(service::chain_spec::rococo_local_testnet_config()?),
"rococo" => Box::new(service::chain_spec::rococo_config()?),
path => { path => {
let path = std::path::PathBuf::from(path); let path = std::path::PathBuf::from(path);
...@@ -75,7 +75,9 @@ impl SubstrateCli for Cli { ...@@ -75,7 +75,9 @@ impl SubstrateCli for Cli {
// When `force_*` is given or the file name starts with the name of one of the known chains, // When `force_*` is given or the file name starts with the name of one of the known chains,
// we use the chain spec for the specific chain. // we use the chain spec for the specific chain.
if self.run.force_kusama || starts_with("kusama") { if self.run.force_rococo || starts_with("rococo") {
Box::new(service::RococoChainSpec::from_json_file(path)?)
} else if self.run.force_kusama || starts_with("kusama") {
Box::new(service::KusamaChainSpec::from_json_file(path)?) Box::new(service::KusamaChainSpec::from_json_file(path)?)
} else if self.run.force_westend || starts_with("westend") { } else if self.run.force_westend || starts_with("westend") {
Box::new(service::WestendChainSpec::from_json_file(path)?) Box::new(service::WestendChainSpec::from_json_file(path)?)
...@@ -91,6 +93,8 @@ impl SubstrateCli for Cli { ...@@ -91,6 +93,8 @@ impl SubstrateCli for Cli {
&service::kusama_runtime::VERSION &service::kusama_runtime::VERSION
} else if spec.is_westend() { } else if spec.is_westend() {
&service::westend_runtime::VERSION &service::westend_runtime::VERSION
} else if spec.is_rococo() {
&service::rococo_runtime::VERSION
} else { } else {
&service::polkadot_runtime::VERSION &service::polkadot_runtime::VERSION
} }
...@@ -147,7 +151,7 @@ pub fn run() -> Result<()> { ...@@ -147,7 +151,7 @@ pub fn run() -> Result<()> {
None, None,
authority_discovery_enabled, authority_discovery_enabled,
grandpa_pause, grandpa_pause,
).map(|r| r.0), ).map(|full| full.task_manager),
} }
}) })
}, },
...@@ -179,10 +183,14 @@ pub fn run() -> Result<()> { ...@@ -179,10 +183,14 @@ pub fn run() -> Result<()> {
runner.async_run(|config| { runner.async_run(|config| {
let chain_spec = config.chain_spec.cloned_box(); let chain_spec = config.chain_spec.cloned_box();
let network_config = config.network.clone(); let network_config = config.network.clone();
let service::NewFull { task_manager, client, network_status_sinks, .. } let service::NewFull {
= service::new_full_nongeneric( task_manager,
config, None, authority_discovery_enabled, grandpa_pause, false, client,
)?; network_status_sinks,
..
} = service::build_full(
config, None, authority_discovery_enabled, grandpa_pause,
)?;
let client = Arc::new(client); let client = Arc::new(client);
Ok((cmd.run(chain_spec, network_config, client, network_status_sinks), task_manager)) Ok((cmd.run(chain_spec, network_config, client, network_status_sinks), task_manager))
......
...@@ -26,17 +26,10 @@ mod cli; ...@@ -26,17 +26,10 @@ mod cli;
#[cfg(feature = "cli")] #[cfg(feature = "cli")]
mod command; mod command;
#[cfg(not(feature = "service-rewr"))]
pub use service::{ pub use service::{
ProvideRuntimeApi, CoreApi, ParachainHost, IdentifyVariant, self,
Block, self, RuntimeApiCollection, TFullClient ProvideRuntimeApi, CoreApi, IdentifyVariant,
}; Block, RuntimeApiCollection, TFullClient
#[cfg(feature = "service-rewr")]
pub use service_new::{
self as service,
ProvideRuntimeApi, CoreApi, ParachainHost, IdentifyVariant,
Block, self, RuntimeApiCollection, TFullClient
}; };
#[cfg(feature = "cli")] #[cfg(feature = "cli")]
......
[package] [package]
name = "polkadot-service-new" name = "polkadot-service"
version = "0.8.3" version = "0.8.3"
authors = ["Parity Technologies <admin@parity.io>"] authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
parking_lot = "0.9.0" # Substrate Client
serde = { version = "1.0.102", features = ["derive"] } authority-discovery = { package = "sc-authority-discovery", git = "https://github.com/paritytech/substrate", branch = "master" }
lazy_static = "1.4.0" babe = { package = "sc-consensus-babe", git = "https://github.com/paritytech/substrate", branch = "master" }
log = "0.4.8" grandpa = { package = "sc-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "master" }
futures = "0.3.4" sc-block-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
slog = "2.5.2" sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "master" }
hex-literal = "0.2.1"
polkadot-primitives = { path = "../../primitives" }
polkadot-runtime = { path = "../../runtime/polkadot" }
polkadot-overseer = { path = "../overseer" }
polkadot-subsystem = { package = "polkadot-node-subsystem", path = "../subsystem" }
kusama-runtime = { path = "../../runtime/kusama" }
westend-runtime = { path = "../../runtime/westend" }
polkadot-rpc = { path = "../../rpc" }
polkadot-node-core-proposer = { path = "../core/proposer" }
sp-io = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" } sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-client-db = { git = "https://github.com/paritytech/substrate", branch = "master" } sc-client-db = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" } sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-network = { git = "https://github.com/paritytech/substrate", branch = "master" } sc-network = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-storage = { git = "https://github.com/paritytech/substrate", branch = "master" } sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-trie = { git = "https://github.com/paritytech/substrate", branch = "master" } service = { package = "sc-service", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
telemetry = { package = "sc-telemetry", git = "https://github.com/paritytech/substrate", branch = "master" }
# Substrate Primitives
authority-discovery-primitives = { package = "sp-authority-discovery", git = "https://github.com/paritytech/substrate", branch = "master" }
babe-primitives = { package = "sp-consensus-babe", git = "https://github.com/paritytech/substrate", branch = "master" }
consensus_common = { package = "sp-consensus", git = "https://github.com/paritytech/substrate", branch = "master" } consensus_common = { package = "sp-consensus", git = "https://github.com/paritytech/substrate", branch = "master" }
grandpa = { package = "sc-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "master" }
grandpa_primitives = { package = "sp-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "master" } grandpa_primitives = { package = "sp-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "master" }
inherents = { package = "sp-inherents", git = "https://github.com/paritytech/substrate", branch = "master" } inherents = { package = "sp-inherents", git = "https://github.com/paritytech/substrate", branch = "master" }
service = { package = "sc-service", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
telemetry = { package = "sc-telemetry", git = "https://github.com/paritytech/substrate", branch = "master" } sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-block-builder = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-io = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-offchain = { package = "sp-offchain", git = "https://github.com/paritytech/substrate", branch = "master" }
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-session = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-storage = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" }
sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" } sp-trie = { git = "https://github.com/paritytech/substrate", branch = "master" }
# Substrate Pallets
pallet-babe = { git = "https://github.com/paritytech/substrate", branch = "master" } pallet-babe = { git = "https://github.com/paritytech/substrate", branch = "master" }
pallet-staking = { git = "https://github.com/paritytech/substrate", branch = "master" }
pallet-im-online = { git = "https://github.com/paritytech/substrate", branch = "master" } pallet-im-online = { git = "https://github.com/paritytech/substrate", branch = "master" }
authority-discovery = { package = "sc-authority-discovery", git = "https://github.com/paritytech/substrate", branch = "master" } pallet-staking = { git = "https://github.com/paritytech/substrate", branch = "master" }
authority-discovery-primitives = { package = "sp-authority-discovery", git = "https://github.com/paritytech/substrate", branch = "master" }
babe = { package = "sc-consensus-babe", git = "https://github.com/paritytech/substrate", branch = "master" }
babe-primitives = { package = "sp-consensus-babe", git = "https://github.com/paritytech/substrate", branch = "master" }
sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "master" }
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master" } pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
# Substrate Other
frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master" }
frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master" } frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
codec = { package = "parity-scale-codec", version = "1.3.4" }
sp-session = { git = "https://github.com/paritytech/substrate", branch = "master" }
sp-offchain = { package = "sp-offchain", git = "https://github.com/paritytech/substrate", branch = "master" }
prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/substrate", branch = "master" } prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/substrate", branch = "master" }
frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "master" }
# External Crates
codec = { package = "parity-scale-codec", version = "1.3.4" }
futures = "0.3.4"
hex-literal = "0.2.1"
lazy_static = "1.4.0"
log = "0.4.8"
parking_lot = "0.9.0"
serde = { version = "1.0.102", features = ["derive"] }
slog = "2.5.2"
# Polkadot
kusama-runtime = { path = "../../runtime/kusama" }
polkadot-node-core-proposer = { path = "../core/proposer" }
polkadot-overseer = { path = "../overseer" }
polkadot-parachain = { path = "../../parachain" }
polkadot-primitives = { path = "../../primitives" }
polkadot-rpc = { path = "../../rpc" }
polkadot-runtime = { path = "../../runtime/polkadot" }
polkadot-subsystem = { package = "polkadot-node-subsystem", path = "../subsystem" }
rococo-runtime = { package = "rococo-v1-runtime", path = "../../runtime/rococo-v1" }
westend-runtime = { path = "../../runtime/westend" }
[dev-dependencies] [dev-dependencies]
polkadot-test-runtime-client = { path = "../../runtime/test-runtime/client" } polkadot-test-runtime-client = { path = "../../runtime/test-runtime/client" }
......
This diff is collapsed.
This diff is collapsed.
...@@ -24,7 +24,7 @@ use sp_runtime::{ ...@@ -24,7 +24,7 @@ use sp_runtime::{
}; };
use sc_client_api::{Backend as BackendT, BlockchainEvents, KeyIterator}; use sc_client_api::{Backend as BackendT, BlockchainEvents, KeyIterator};
use sp_storage::{StorageData, StorageKey, ChildInfo, PrefixedStorageKey}; use sp_storage::{StorageData, StorageKey, ChildInfo, PrefixedStorageKey};
use polkadot_primitives::v1::{Block, ParachainHost, AccountId, Nonce, Balance}; use polkadot_primitives::v1::{Block, ParachainHost, AccountId, Nonce, Balance, Header, BlockNumber, Hash};
use consensus_common::BlockStatus; use consensus_common::BlockStatus;
/// A set of APIs that polkadot-like runtimes must implement. /// A set of APIs that polkadot-like runtimes must implement.
...@@ -142,6 +142,7 @@ pub enum Client { ...@@ -142,6 +142,7 @@ pub enum Client {
Polkadot(Arc<crate::FullClient<polkadot_runtime::RuntimeApi, crate::PolkadotExecutor>>), Polkadot(Arc<crate::FullClient<polkadot_runtime::RuntimeApi, crate::PolkadotExecutor>>),
Westend(Arc<crate::FullClient<westend_runtime::RuntimeApi, crate::WestendExecutor>>), Westend(Arc<crate::FullClient<westend_runtime::RuntimeApi, crate::WestendExecutor>>),
Kusama(Arc<crate::FullClient<kusama_runtime::RuntimeApi, crate::KusamaExecutor>>), Kusama(Arc<crate::FullClient<kusama_runtime::RuntimeApi, crate::KusamaExecutor>>),
Rococo(Arc<crate::FullClient<rococo_runtime::RuntimeApi, crate::RococoExecutor>>),
} }
impl ClientHandle for Client { impl ClientHandle for Client {
...@@ -156,6 +157,9 @@ impl ClientHandle for Client { ...@@ -156,6 +157,9 @@ impl ClientHandle for Client {
Self::Kusama(client) => { Self::Kusama(client) => {
T::execute_with_client::<_, _, crate::FullBackend>(t, client.clone()) T::execute_with_client::<_, _, crate::FullBackend>(t, client.clone())
}, },
Self::Rococo(client) => {
T::execute_with_client::<_, _, crate::FullBackend>(t, client.clone())
}
} }
} }
} }
...@@ -166,6 +170,7 @@ impl sc_client_api::UsageProvider<Block> for Client { ...@@ -166,6 +170,7 @@ impl sc_client_api::UsageProvider<Block> for Client {
Self::Polkadot(client) => client.usage_info(), Self::Polkadot(client) => client.usage_info(),
Self::Westend(client) => client.usage_info(), Self::Westend(client) => client.usage_info(),
Self::Kusama(client) => client.usage_info(), Self::Kusama(client) => client.usage_info(),
Self::Rococo(client) => client.usage_info(),
} }
} }
} }
...@@ -179,6 +184,7 @@ impl sc_client_api::BlockBackend<Block> for Client { ...@@ -179,6 +184,7 @@ impl sc_client_api::BlockBackend<Block> for Client {
Self::Polkadot(client) => client.block_body(id), Self::Polkadot(client) => client.block_body(id),
Self::Westend(client) => client.block_body(id), Self::Westend(client) => client.block_body(id),
Self::Kusama(client) => client.block_body(id), Self::Kusama(client) => client.block_body(id),
Self::Rococo(client) => client.block_body(id),
} }
} }
...@@ -187,6 +193,7 @@ impl sc_client_api::BlockBackend<Block> for Client { ...@@ -187,6 +193,7 @@ impl sc_client_api::BlockBackend<Block> for Client {
Self::Polkadot(client) => client.block(id), Self::Polkadot(client) => client.block(id),
Self::Westend(client) => client.block(id), Self::Westend(client) => client.block(id),
Self::Kusama(client) => client.block(id), Self::Kusama(client) => client.block(id),
Self::Rococo(client) => client.block(id),
} }
} }
...@@ -195,6 +202,7 @@ impl sc_client_api::BlockBackend<Block> for Client { ...@@ -195,6 +202,7 @@ impl sc_client_api::BlockBackend<Block> for Client {
Self::Polkadot(client) => client.block_status(id), Self::Polkadot(client) => client.block_status(id),
Self::Westend(client) => client.block_status(id), Self::Westend(client) => client.block_status(id),
Self::Kusama(client) => client.block_status(id), Self::Kusama(client) => client.block_status(id),
Self::Rococo(client) => client.block_status(id),