diff --git a/Cargo.lock b/Cargo.lock
index 478e6df4977cf..4d5565e433b76 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -14840,69 +14840,16 @@ dependencies = [
]
[[package]]
-name = "polkadot-overseer"
-version = "7.0.0"
-dependencies = [
- "assert_matches",
- "async-trait",
- "femme",
- "futures",
- "futures-timer",
- "orchestra",
- "parking_lot 0.12.3",
- "polkadot-node-metrics",
- "polkadot-node-network-protocol",
- "polkadot-node-primitives",
- "polkadot-node-subsystem-test-helpers",
- "polkadot-node-subsystem-types",
- "polkadot-primitives",
- "polkadot-primitives-test-helpers",
- "prioritized-metered-channel",
- "sc-client-api",
- "sp-api 26.0.0",
- "sp-core 28.0.0",
- "tikv-jemalloc-ctl",
- "tracing-gum",
-]
-
-[[package]]
-name = "polkadot-parachain-bin"
-version = "4.0.0"
+name = "polkadot-omni-node"
+version = "0.1.0"
dependencies = [
- "asset-hub-rococo-runtime",
- "asset-hub-westend-runtime",
- "bp-messages",
- "bridge-hub-rococo-runtime",
- "bridge-hub-westend-runtime",
- "collectives-westend-runtime",
"color-eyre",
- "contracts-rococo-runtime",
- "coretime-rococo-runtime",
- "coretime-westend-runtime",
- "cumulus-primitives-core",
- "glutton-westend-runtime",
- "hex-literal",
- "log",
- "parachains-common",
- "penpal-runtime",
- "people-rococo-runtime",
- "people-westend-runtime",
- "polkadot-parachain-lib",
- "rococo-parachain-runtime",
- "sc-chain-spec",
- "sc-cli",
- "sc-service",
- "serde",
- "serde_json",
- "sp-core 28.0.0",
- "sp-genesis-builder",
- "staging-xcm",
+ "polkadot-omni-node-lib",
"substrate-build-script-utils",
- "testnet-parachains-constants",
]
[[package]]
-name = "polkadot-parachain-lib"
+name = "polkadot-omni-node-lib"
version = "0.1.0"
dependencies = [
"assert_cmd",
@@ -14975,6 +14922,66 @@ dependencies = [
"wait-timeout",
]
+[[package]]
+name = "polkadot-overseer"
+version = "7.0.0"
+dependencies = [
+ "assert_matches",
+ "async-trait",
+ "femme",
+ "futures",
+ "futures-timer",
+ "orchestra",
+ "parking_lot 0.12.3",
+ "polkadot-node-metrics",
+ "polkadot-node-network-protocol",
+ "polkadot-node-primitives",
+ "polkadot-node-subsystem-test-helpers",
+ "polkadot-node-subsystem-types",
+ "polkadot-primitives",
+ "polkadot-primitives-test-helpers",
+ "prioritized-metered-channel",
+ "sc-client-api",
+ "sp-api 26.0.0",
+ "sp-core 28.0.0",
+ "tikv-jemalloc-ctl",
+ "tracing-gum",
+]
+
+[[package]]
+name = "polkadot-parachain-bin"
+version = "4.0.0"
+dependencies = [
+ "asset-hub-rococo-runtime",
+ "asset-hub-westend-runtime",
+ "bridge-hub-rococo-runtime",
+ "bridge-hub-westend-runtime",
+ "collectives-westend-runtime",
+ "color-eyre",
+ "contracts-rococo-runtime",
+ "coretime-rococo-runtime",
+ "coretime-westend-runtime",
+ "cumulus-primitives-core",
+ "glutton-westend-runtime",
+ "hex-literal",
+ "log",
+ "parachains-common",
+ "penpal-runtime",
+ "people-rococo-runtime",
+ "people-westend-runtime",
+ "polkadot-omni-node-lib",
+ "rococo-parachain-runtime",
+ "sc-chain-spec",
+ "sc-cli",
+ "sc-service",
+ "serde",
+ "serde_json",
+ "sp-core 28.0.0",
+ "sp-genesis-builder",
+ "staging-xcm",
+ "substrate-build-script-utils",
+]
+
[[package]]
name = "polkadot-parachain-primitives"
version = "6.0.0"
@@ -15408,8 +15415,8 @@ dependencies = [
"polkadot-node-subsystem",
"polkadot-node-subsystem-types",
"polkadot-node-subsystem-util",
+ "polkadot-omni-node-lib",
"polkadot-overseer",
- "polkadot-parachain-lib",
"polkadot-parachain-primitives",
"polkadot-primitives",
"polkadot-rpc",
diff --git a/Cargo.toml b/Cargo.toml
index df662ac269880..bd37dee51460b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -133,8 +133,9 @@ members = [
"cumulus/parachains/runtimes/test-utils",
"cumulus/parachains/runtimes/testing/penpal",
"cumulus/parachains/runtimes/testing/rococo-parachain",
+ "cumulus/polkadot-omni-node",
+ "cumulus/polkadot-omni-node/lib",
"cumulus/polkadot-parachain",
- "cumulus/polkadot-parachain/polkadot-parachain-lib",
"cumulus/primitives/aura",
"cumulus/primitives/core",
"cumulus/primitives/parachain-inherent",
@@ -541,6 +542,7 @@ members = [
]
default-members = [
+ "cumulus/polkadot-omni-node",
"cumulus/polkadot-parachain",
"polkadot",
"substrate/bin/node/cli",
@@ -1052,8 +1054,9 @@ polkadot-node-subsystem = { path = "polkadot/node/subsystem", default-features =
polkadot-node-subsystem-test-helpers = { path = "polkadot/node/subsystem-test-helpers" }
polkadot-node-subsystem-types = { path = "polkadot/node/subsystem-types", default-features = false }
polkadot-node-subsystem-util = { path = "polkadot/node/subsystem-util", default-features = false }
+polkadot-omni-node = { path = "cumulus/polkadot-omni-node", default-features = false }
+polkadot-omni-node-lib = { path = "cumulus/polkadot-omni-node/lib", default-features = false }
polkadot-overseer = { path = "polkadot/node/overseer", default-features = false }
-polkadot-parachain-lib = { path = "cumulus/polkadot-parachain/polkadot-parachain-lib", default-features = false }
polkadot-parachain-primitives = { path = "polkadot/parachain", default-features = false }
polkadot-primitives = { path = "polkadot/primitives", default-features = false }
polkadot-primitives-test-helpers = { path = "polkadot/primitives/test-helpers" }
diff --git a/cumulus/polkadot-omni-node/Cargo.toml b/cumulus/polkadot-omni-node/Cargo.toml
new file mode 100644
index 0000000000000..a736e1ef80c58
--- /dev/null
+++ b/cumulus/polkadot-omni-node/Cargo.toml
@@ -0,0 +1,29 @@
+[package]
+name = "polkadot-omni-node"
+version = "0.1.0"
+authors.workspace = true
+edition.workspace = true
+build = "build.rs"
+description = "Generic binary that can run a parachain node with u32 block number and Aura consensus"
+license = "Apache-2.0"
+
+[lints]
+workspace = true
+
+[dependencies]
+color-eyre = { workspace = true }
+
+# Local
+polkadot-omni-node-lib = { workspace = true }
+
+[build-dependencies]
+substrate-build-script-utils = { workspace = true, default-features = true }
+
+[features]
+default = []
+runtime-benchmarks = [
+ "polkadot-omni-node-lib/runtime-benchmarks",
+]
+try-runtime = [
+ "polkadot-omni-node-lib/try-runtime",
+]
diff --git a/cumulus/polkadot-omni-node/build.rs b/cumulus/polkadot-omni-node/build.rs
new file mode 100644
index 0000000000000..8c498735eae96
--- /dev/null
+++ b/cumulus/polkadot-omni-node/build.rs
@@ -0,0 +1,22 @@
+// Copyright (C) Parity Technologies (UK) Ltd.
+// This file is part of Cumulus.
+
+// Cumulus is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Cumulus is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Cumulus. If not, see .
+
+use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed};
+
+fn main() {
+ generate_cargo_keys();
+ rerun_if_git_head_changed();
+}
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/Cargo.toml b/cumulus/polkadot-omni-node/lib/Cargo.toml
similarity index 99%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/Cargo.toml
rename to cumulus/polkadot-omni-node/lib/Cargo.toml
index 5e4c9fcf1a3d0..3dd482f4adafb 100644
--- a/cumulus/polkadot-parachain/polkadot-parachain-lib/Cargo.toml
+++ b/cumulus/polkadot-omni-node/lib/Cargo.toml
@@ -1,5 +1,5 @@
[package]
-name = "polkadot-parachain-lib"
+name = "polkadot-omni-node-lib"
version = "0.1.0"
authors.workspace = true
edition.workspace = true
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/cli.rs b/cumulus/polkadot-omni-node/lib/src/cli.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/cli.rs
rename to cumulus/polkadot-omni-node/lib/src/cli.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/command.rs b/cumulus/polkadot-omni-node/lib/src/command.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/command.rs
rename to cumulus/polkadot-omni-node/lib/src/command.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/aura.rs b/cumulus/polkadot-omni-node/lib/src/common/aura.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/aura.rs
rename to cumulus/polkadot-omni-node/lib/src/common/aura.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/chain_spec.rs b/cumulus/polkadot-omni-node/lib/src/common/chain_spec.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/chain_spec.rs
rename to cumulus/polkadot-omni-node/lib/src/common/chain_spec.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/command.rs b/cumulus/polkadot-omni-node/lib/src/common/command.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/command.rs
rename to cumulus/polkadot-omni-node/lib/src/common/command.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/mod.rs b/cumulus/polkadot-omni-node/lib/src/common/mod.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/mod.rs
rename to cumulus/polkadot-omni-node/lib/src/common/mod.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/rpc.rs b/cumulus/polkadot-omni-node/lib/src/common/rpc.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/rpc.rs
rename to cumulus/polkadot-omni-node/lib/src/common/rpc.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/runtime.rs b/cumulus/polkadot-omni-node/lib/src/common/runtime.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/runtime.rs
rename to cumulus/polkadot-omni-node/lib/src/common/runtime.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/spec.rs b/cumulus/polkadot-omni-node/lib/src/common/spec.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/spec.rs
rename to cumulus/polkadot-omni-node/lib/src/common/spec.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/types.rs b/cumulus/polkadot-omni-node/lib/src/common/types.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/common/types.rs
rename to cumulus/polkadot-omni-node/lib/src/common/types.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/fake_runtime_api/mod.rs b/cumulus/polkadot-omni-node/lib/src/fake_runtime_api/mod.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/fake_runtime_api/mod.rs
rename to cumulus/polkadot-omni-node/lib/src/fake_runtime_api/mod.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/fake_runtime_api/utils.rs b/cumulus/polkadot-omni-node/lib/src/fake_runtime_api/utils.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/fake_runtime_api/utils.rs
rename to cumulus/polkadot-omni-node/lib/src/fake_runtime_api/utils.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/lib.rs b/cumulus/polkadot-omni-node/lib/src/lib.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/lib.rs
rename to cumulus/polkadot-omni-node/lib/src/lib.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/nodes/aura.rs b/cumulus/polkadot-omni-node/lib/src/nodes/aura.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/nodes/aura.rs
rename to cumulus/polkadot-omni-node/lib/src/nodes/aura.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/nodes/manual_seal.rs b/cumulus/polkadot-omni-node/lib/src/nodes/manual_seal.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/nodes/manual_seal.rs
rename to cumulus/polkadot-omni-node/lib/src/nodes/manual_seal.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/nodes/mod.rs b/cumulus/polkadot-omni-node/lib/src/nodes/mod.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/nodes/mod.rs
rename to cumulus/polkadot-omni-node/lib/src/nodes/mod.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/benchmark_storage_works.rs b/cumulus/polkadot-omni-node/lib/src/tests/benchmark_storage_works.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/benchmark_storage_works.rs
rename to cumulus/polkadot-omni-node/lib/src/tests/benchmark_storage_works.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/common.rs b/cumulus/polkadot-omni-node/lib/src/tests/common.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/common.rs
rename to cumulus/polkadot-omni-node/lib/src/tests/common.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/polkadot_argument_parsing.rs b/cumulus/polkadot-omni-node/lib/src/tests/polkadot_argument_parsing.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/polkadot_argument_parsing.rs
rename to cumulus/polkadot-omni-node/lib/src/tests/polkadot_argument_parsing.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/polkadot_mdns_issue.rs b/cumulus/polkadot-omni-node/lib/src/tests/polkadot_mdns_issue.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/polkadot_mdns_issue.rs
rename to cumulus/polkadot-omni-node/lib/src/tests/polkadot_mdns_issue.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/purge_chain_works.rs b/cumulus/polkadot-omni-node/lib/src/tests/purge_chain_works.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/purge_chain_works.rs
rename to cumulus/polkadot-omni-node/lib/src/tests/purge_chain_works.rs
diff --git a/cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/running_the_node_and_interrupt.rs b/cumulus/polkadot-omni-node/lib/src/tests/running_the_node_and_interrupt.rs
similarity index 100%
rename from cumulus/polkadot-parachain/polkadot-parachain-lib/src/tests/running_the_node_and_interrupt.rs
rename to cumulus/polkadot-omni-node/lib/src/tests/running_the_node_and_interrupt.rs
diff --git a/cumulus/polkadot-omni-node/src/main.rs b/cumulus/polkadot-omni-node/src/main.rs
new file mode 100644
index 0000000000000..a86ec6f6fde61
--- /dev/null
+++ b/cumulus/polkadot-omni-node/src/main.rs
@@ -0,0 +1,60 @@
+// Copyright (C) Parity Technologies (UK) Ltd.
+// This file is part of Cumulus.
+
+// Cumulus is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Cumulus is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Cumulus. If not, see .
+
+//! Basic polkadot omni-node.
+//!
+//! It can be used to start a parachain node from a provided chain spec file.
+//! It is only compatible with runtimes that use block number `u32` and `Aura` consensus.
+//!
+//! Example: `polkadot-omni-node --chain [chain_spec.json]`
+
+#![warn(missing_docs)]
+#![warn(unused_extern_crates)]
+
+use polkadot_omni_node_lib::{
+ chain_spec::DiskChainSpecLoader, run, runtime::DefaultRuntimeResolver, CliConfig as CliConfigT,
+ RunConfig,
+};
+
+struct CliConfig;
+
+impl CliConfigT for CliConfig {
+ fn impl_version() -> String {
+ env!("SUBSTRATE_CLI_IMPL_VERSION").into()
+ }
+
+ fn author() -> String {
+ env!("CARGO_PKG_AUTHORS").into()
+ }
+
+ fn support_url() -> String {
+ "https://github.com/paritytech/polkadot-sdk/issues/new".into()
+ }
+
+ fn copyright_start_year() -> u16 {
+ 2017
+ }
+}
+
+fn main() -> color_eyre::eyre::Result<()> {
+ color_eyre::install()?;
+
+ let config = RunConfig {
+ chain_spec_loader: Box::new(DiskChainSpecLoader),
+ runtime_resolver: Box::new(DefaultRuntimeResolver),
+ };
+ Ok(run::(config)?)
+}
diff --git a/cumulus/polkadot-parachain/Cargo.toml b/cumulus/polkadot-parachain/Cargo.toml
index fb95853c492ae..426679ce0cd59 100644
--- a/cumulus/polkadot-parachain/Cargo.toml
+++ b/cumulus/polkadot-parachain/Cargo.toml
@@ -22,7 +22,7 @@ serde = { features = ["derive"], workspace = true, default-features = true }
serde_json = { workspace = true, default-features = true }
# Local
-polkadot-parachain-lib = { features = ["rococo-native", "westend-native"], workspace = true }
+polkadot-omni-node-lib = { features = ["rococo-native", "westend-native"], workspace = true }
rococo-parachain-runtime = { workspace = true }
glutton-westend-runtime = { workspace = true }
asset-hub-rococo-runtime = { workspace = true, default-features = true }
@@ -37,10 +37,6 @@ penpal-runtime = { workspace = true }
people-rococo-runtime = { workspace = true }
people-westend-runtime = { workspace = true }
parachains-common = { workspace = true, default-features = true }
-testnet-parachains-constants = { features = [
- "rococo",
- "westend",
-], workspace = true }
# Substrate
sp-core = { workspace = true, default-features = true }
@@ -55,9 +51,6 @@ xcm = { workspace = true, default-features = true }
# Cumulus
cumulus-primitives-core = { workspace = true, default-features = true }
-# Bridges
-bp-messages = { workspace = true, default-features = true }
-
[build-dependencies]
substrate-build-script-utils = { workspace = true, default-features = true }
@@ -66,7 +59,7 @@ default = []
runtime-benchmarks = [
"cumulus-primitives-core/runtime-benchmarks",
"parachains-common/runtime-benchmarks",
- "polkadot-parachain-lib/runtime-benchmarks",
+ "polkadot-omni-node-lib/runtime-benchmarks",
"sc-service/runtime-benchmarks",
"asset-hub-rococo-runtime/runtime-benchmarks",
@@ -84,7 +77,7 @@ runtime-benchmarks = [
"rococo-parachain-runtime/runtime-benchmarks",
]
try-runtime = [
- "polkadot-parachain-lib/try-runtime",
+ "polkadot-omni-node-lib/try-runtime",
"asset-hub-rococo-runtime/try-runtime",
"asset-hub-westend-runtime/try-runtime",
diff --git a/cumulus/polkadot-parachain/src/chain_spec/asset_hubs.rs b/cumulus/polkadot-parachain/src/chain_spec/asset_hubs.rs
index 699c0b5ce775d..ec2afc743de8a 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/asset_hubs.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/asset_hubs.rs
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Cumulus. If not, see .
-use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
use sc_service::ChainType;
pub fn asset_hub_westend_development_config() -> GenericChainSpec {
diff --git a/cumulus/polkadot-parachain/src/chain_spec/bridge_hubs.rs b/cumulus/polkadot-parachain/src/chain_spec/bridge_hubs.rs
index af399be9eacf1..839e93d0a67b3 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/bridge_hubs.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/bridge_hubs.rs
@@ -15,7 +15,7 @@
// along with Cumulus. If not, see .
use cumulus_primitives_core::ParaId;
-use polkadot_parachain_lib::chain_spec::GenericChainSpec;
+use polkadot_omni_node_lib::chain_spec::GenericChainSpec;
use sc_chain_spec::{ChainSpec, ChainType};
use std::str::FromStr;
@@ -127,7 +127,7 @@ fn ensure_id(id: &str) -> Result<&str, String> {
/// Sub-module for Rococo setup
pub mod rococo {
use super::{ChainType, ParaId};
- use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+ use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
pub(crate) const BRIDGE_HUB_ROCOCO: &str = "bridge-hub-rococo";
pub(crate) const BRIDGE_HUB_ROCOCO_LOCAL: &str = "bridge-hub-rococo-local";
@@ -175,7 +175,7 @@ pub mod kusama {
/// Sub-module for Westend setup.
pub mod westend {
use super::{ChainType, ParaId};
- use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+ use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
pub(crate) const BRIDGE_HUB_WESTEND: &str = "bridge-hub-westend";
pub(crate) const BRIDGE_HUB_WESTEND_LOCAL: &str = "bridge-hub-westend-local";
diff --git a/cumulus/polkadot-parachain/src/chain_spec/collectives.rs b/cumulus/polkadot-parachain/src/chain_spec/collectives.rs
index 227e15fdff8d2..0d2f66b5acc00 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/collectives.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/collectives.rs
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Cumulus. If not, see .
-use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
use sc_service::ChainType;
/// Collectives Westend Development Config.
diff --git a/cumulus/polkadot-parachain/src/chain_spec/coretime.rs b/cumulus/polkadot-parachain/src/chain_spec/coretime.rs
index fec3f56e6d352..e42e95ad16f8b 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/coretime.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/coretime.rs
@@ -15,7 +15,7 @@
// along with Cumulus. If not, see .
use cumulus_primitives_core::ParaId;
-use polkadot_parachain_lib::chain_spec::GenericChainSpec;
+use polkadot_omni_node_lib::chain_spec::GenericChainSpec;
use sc_chain_spec::{ChainSpec, ChainType};
use std::{borrow::Cow, str::FromStr};
@@ -150,7 +150,7 @@ pub mod rococo {
get_account_id_from_seed, get_collator_keys_from_seed, SAFE_XCM_VERSION,
};
use parachains_common::{AccountId, AuraId, Balance};
- use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+ use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
use sc_chain_spec::ChainType;
use sp_core::sr25519;
@@ -248,7 +248,7 @@ pub mod westend {
get_account_id_from_seed, get_collator_keys_from_seed, SAFE_XCM_VERSION,
};
use parachains_common::{AccountId, AuraId, Balance};
- use polkadot_parachain_lib::chain_spec::Extensions;
+ use polkadot_omni_node_lib::chain_spec::Extensions;
use sp_core::sr25519;
pub(crate) const CORETIME_WESTEND: &str = "coretime-westend";
diff --git a/cumulus/polkadot-parachain/src/chain_spec/glutton.rs b/cumulus/polkadot-parachain/src/chain_spec/glutton.rs
index 136411b93e8bc..e70f86f725a19 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/glutton.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/glutton.rs
@@ -17,7 +17,7 @@
use crate::chain_spec::get_account_id_from_seed;
use cumulus_primitives_core::ParaId;
use parachains_common::AuraId;
-use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
use sc_service::ChainType;
use sp_core::sr25519;
diff --git a/cumulus/polkadot-parachain/src/chain_spec/mod.rs b/cumulus/polkadot-parachain/src/chain_spec/mod.rs
index 16fdbdc38656f..a820fdbd13e86 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/mod.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/mod.rs
@@ -18,7 +18,7 @@ use cumulus_primitives_core::ParaId;
pub(crate) use parachains_common::genesis_config_helpers::{
get_account_id_from_seed, get_collator_keys_from_seed, get_from_seed,
};
-use polkadot_parachain_lib::{
+use polkadot_omni_node_lib::{
chain_spec::{GenericChainSpec, LoadSpec},
runtime::{
AuraConsensusId, BlockNumber, Consensus, Runtime, RuntimeResolver as RuntimeResolverT,
diff --git a/cumulus/polkadot-parachain/src/chain_spec/penpal.rs b/cumulus/polkadot-parachain/src/chain_spec/penpal.rs
index 5645bf06b67b2..006c5c9b53c25 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/penpal.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/penpal.rs
@@ -17,7 +17,7 @@
use crate::chain_spec::{get_account_id_from_seed, get_collator_keys_from_seed, SAFE_XCM_VERSION};
use cumulus_primitives_core::ParaId;
use parachains_common::{AccountId, AuraId};
-use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
use sc_service::ChainType;
use sp_core::sr25519;
diff --git a/cumulus/polkadot-parachain/src/chain_spec/people.rs b/cumulus/polkadot-parachain/src/chain_spec/people.rs
index 3c1150d95422b..b89f1c3a5fe67 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/people.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/people.rs
@@ -16,7 +16,7 @@
use cumulus_primitives_core::ParaId;
use parachains_common::Balance as PeopleBalance;
-use polkadot_parachain_lib::chain_spec::GenericChainSpec;
+use polkadot_omni_node_lib::chain_spec::GenericChainSpec;
use sc_chain_spec::ChainSpec;
use std::str::FromStr;
@@ -124,7 +124,7 @@ pub mod rococo {
get_account_id_from_seed, get_collator_keys_from_seed, SAFE_XCM_VERSION,
};
use parachains_common::{AccountId, AuraId};
- use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+ use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
use sc_chain_spec::ChainType;
use sp_core::sr25519;
@@ -234,7 +234,7 @@ pub mod westend {
get_account_id_from_seed, get_collator_keys_from_seed, SAFE_XCM_VERSION,
};
use parachains_common::{AccountId, AuraId};
- use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+ use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
use sc_chain_spec::ChainType;
use sp_core::sr25519;
diff --git a/cumulus/polkadot-parachain/src/chain_spec/rococo_parachain.rs b/cumulus/polkadot-parachain/src/chain_spec/rococo_parachain.rs
index 251926838d246..39762f590cfe1 100644
--- a/cumulus/polkadot-parachain/src/chain_spec/rococo_parachain.rs
+++ b/cumulus/polkadot-parachain/src/chain_spec/rococo_parachain.rs
@@ -20,7 +20,7 @@ use crate::chain_spec::{get_from_seed, SAFE_XCM_VERSION};
use cumulus_primitives_core::ParaId;
use hex_literal::hex;
use parachains_common::{genesis_config_helpers::get_account_id_from_seed, AccountId};
-use polkadot_parachain_lib::chain_spec::{Extensions, GenericChainSpec};
+use polkadot_omni_node_lib::chain_spec::{Extensions, GenericChainSpec};
use rococo_parachain_runtime::AuraId;
use sc_chain_spec::ChainType;
use sp_core::{crypto::UncheckedInto, sr25519};
diff --git a/cumulus/polkadot-parachain/src/main.rs b/cumulus/polkadot-parachain/src/main.rs
index f2dce552c51a1..c8464be937ccb 100644
--- a/cumulus/polkadot-parachain/src/main.rs
+++ b/cumulus/polkadot-parachain/src/main.rs
@@ -21,7 +21,7 @@
mod chain_spec;
-use polkadot_parachain_lib::{run, CliConfig as CliConfigT, RunConfig};
+use polkadot_omni_node_lib::{run, CliConfig as CliConfigT, RunConfig};
struct CliConfig;
diff --git a/docs/sdk/src/guides/enable_elastic_scaling_mvp.rs b/docs/sdk/src/guides/enable_elastic_scaling_mvp.rs
index 14a0b61079664..812e674d163bb 100644
--- a/docs/sdk/src/guides/enable_elastic_scaling_mvp.rs
+++ b/docs/sdk/src/guides/enable_elastic_scaling_mvp.rs
@@ -85,7 +85,7 @@
//! This phase consists of plugging in the new slot-based collator.
//!
//! 1. In `node/src/service.rs` import the slot based collator instead of the lookahead collator.
-#![doc = docify::embed!("../../cumulus/polkadot-parachain/polkadot-parachain-lib/src/nodes/aura.rs", slot_based_colator_import)]
+#![doc = docify::embed!("../../cumulus/polkadot-omni-node/lib/src/nodes/aura.rs", slot_based_colator_import)]
//!
//! 2. In `start_consensus()`
//! - Remove the `overseer_handle` param (also remove the
@@ -94,7 +94,7 @@
//! `slot_drift` field with a value of `Duration::from_secs(1)`.
//! - Replace the single future returned by `aura::run` with the two futures returned by it and
//! spawn them as separate tasks:
-#![doc = docify::embed!("../../cumulus/polkadot-parachain/polkadot-parachain-lib/src/nodes/aura.rs", launch_slot_based_collator)]
+#![doc = docify::embed!("../../cumulus/polkadot-omni-node/lib/src/nodes/aura.rs", launch_slot_based_collator)]
//!
//! 3. In `start_parachain_node()` remove the `overseer_handle` param passed to `start_consensus`.
//!
diff --git a/prdoc/pr_5915.prdoc b/prdoc/pr_5915.prdoc
new file mode 100644
index 0000000000000..a9303e2563d11
--- /dev/null
+++ b/prdoc/pr_5915.prdoc
@@ -0,0 +1,18 @@
+# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0
+# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json
+
+title: Omni-Node renamings
+
+doc:
+ - audience: Node Dev
+ description: |
+ This PR renames the `polkadot-parachain-lib` crate to `polkadot-omni-node-lib` and introduces a new
+ `polkadot-omni-node` binary.
+
+crates:
+ - name: polkadot-omni-node-lib
+ bump: patch
+ - name: polkadot-parachain-bin
+ bump: patch
+ - name: polkadot-sdk
+ bump: patch
diff --git a/umbrella/Cargo.toml b/umbrella/Cargo.toml
index 3e7edc739821a..e05bf129bbd5e 100644
--- a/umbrella/Cargo.toml
+++ b/umbrella/Cargo.toml
@@ -335,7 +335,7 @@ runtime-benchmarks = [
"parachains-common?/runtime-benchmarks",
"polkadot-cli?/runtime-benchmarks",
"polkadot-node-metrics?/runtime-benchmarks",
- "polkadot-parachain-lib?/runtime-benchmarks",
+ "polkadot-omni-node-lib?/runtime-benchmarks",
"polkadot-parachain-primitives?/runtime-benchmarks",
"polkadot-primitives?/runtime-benchmarks",
"polkadot-runtime-common?/runtime-benchmarks",
@@ -466,7 +466,7 @@ try-runtime = [
"pallet-xcm-bridge-hub?/try-runtime",
"pallet-xcm?/try-runtime",
"polkadot-cli?/try-runtime",
- "polkadot-parachain-lib?/try-runtime",
+ "polkadot-omni-node-lib?/try-runtime",
"polkadot-runtime-common?/try-runtime",
"polkadot-runtime-parachains?/try-runtime",
"polkadot-sdk-frame?/try-runtime",
@@ -600,7 +600,7 @@ runtime = [
"sp-wasm-interface",
"sp-weights",
]
-node = ["asset-test-utils", "bridge-hub-test-utils", "cumulus-client-cli", "cumulus-client-collator", "cumulus-client-consensus-aura", "cumulus-client-consensus-common", "cumulus-client-consensus-proposer", "cumulus-client-consensus-relay-chain", "cumulus-client-network", "cumulus-client-parachain-inherent", "cumulus-client-pov-recovery", "cumulus-client-service", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", "cumulus-relay-chain-rpc-interface", "cumulus-test-relay-sproof-builder", "emulated-integration-tests-common", "fork-tree", "frame-benchmarking-cli", "frame-remote-externalities", "frame-support-procedural-tools", "generate-bags", "mmr-gadget", "mmr-rpc", "pallet-contracts-mock-network", "pallet-revive-mock-network", "pallet-transaction-payment-rpc", "parachains-runtimes-test-utils", "polkadot-approval-distribution", "polkadot-availability-bitfield-distribution", "polkadot-availability-distribution", "polkadot-availability-recovery", "polkadot-cli", "polkadot-collator-protocol", "polkadot-dispute-distribution", "polkadot-erasure-coding", "polkadot-gossip-support", "polkadot-network-bridge", "polkadot-node-collation-generation", "polkadot-node-core-approval-voting", "polkadot-node-core-approval-voting-parallel", "polkadot-node-core-av-store", "polkadot-node-core-backing", "polkadot-node-core-bitfield-signing", "polkadot-node-core-candidate-validation", "polkadot-node-core-chain-api", "polkadot-node-core-chain-selection", "polkadot-node-core-dispute-coordinator", "polkadot-node-core-parachains-inherent", "polkadot-node-core-prospective-parachains", "polkadot-node-core-provisioner", "polkadot-node-core-pvf", "polkadot-node-core-pvf-checker", "polkadot-node-core-pvf-common", "polkadot-node-core-pvf-execute-worker", "polkadot-node-core-pvf-prepare-worker", "polkadot-node-core-runtime-api", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-parachain-lib", "polkadot-rpc", "polkadot-service", "polkadot-statement-distribution", "polkadot-statement-table", "sc-allocator", "sc-authority-discovery", "sc-basic-authorship", "sc-block-builder", "sc-chain-spec", "sc-cli", "sc-client-api", "sc-client-db", "sc-consensus", "sc-consensus-aura", "sc-consensus-babe", "sc-consensus-babe-rpc", "sc-consensus-beefy", "sc-consensus-beefy-rpc", "sc-consensus-epochs", "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-consensus-manual-seal", "sc-consensus-pow", "sc-consensus-slots", "sc-executor", "sc-executor-common", "sc-executor-polkavm", "sc-executor-wasmtime", "sc-informant", "sc-keystore", "sc-mixnet", "sc-network", "sc-network-common", "sc-network-gossip", "sc-network-light", "sc-network-statement", "sc-network-sync", "sc-network-transactions", "sc-network-types", "sc-offchain", "sc-proposer-metrics", "sc-rpc", "sc-rpc-api", "sc-rpc-server", "sc-rpc-spec-v2", "sc-service", "sc-state-db", "sc-statement-store", "sc-storage-monitor", "sc-sync-state-rpc", "sc-sysinfo", "sc-telemetry", "sc-tracing", "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", "snowbridge-runtime-test-common", "sp-blockchain", "sp-consensus", "sp-core-hashing", "sp-core-hashing-proc-macro", "sp-database", "sp-maybe-compressed-blob", "sp-panic-handler", "sp-rpc", "staging-chain-spec-builder", "staging-node-inspect", "staging-tracking-allocator", "std", "subkey", "substrate-build-script-utils", "substrate-frame-rpc-support", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", "substrate-rpc-client", "substrate-state-trie-migration-rpc", "substrate-wasm-builder", "tracing-gum", "xcm-emulator", "xcm-simulator"]
+node = ["asset-test-utils", "bridge-hub-test-utils", "cumulus-client-cli", "cumulus-client-collator", "cumulus-client-consensus-aura", "cumulus-client-consensus-common", "cumulus-client-consensus-proposer", "cumulus-client-consensus-relay-chain", "cumulus-client-network", "cumulus-client-parachain-inherent", "cumulus-client-pov-recovery", "cumulus-client-service", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", "cumulus-relay-chain-rpc-interface", "cumulus-test-relay-sproof-builder", "emulated-integration-tests-common", "fork-tree", "frame-benchmarking-cli", "frame-remote-externalities", "frame-support-procedural-tools", "generate-bags", "mmr-gadget", "mmr-rpc", "pallet-contracts-mock-network", "pallet-revive-mock-network", "pallet-transaction-payment-rpc", "parachains-runtimes-test-utils", "polkadot-approval-distribution", "polkadot-availability-bitfield-distribution", "polkadot-availability-distribution", "polkadot-availability-recovery", "polkadot-cli", "polkadot-collator-protocol", "polkadot-dispute-distribution", "polkadot-erasure-coding", "polkadot-gossip-support", "polkadot-network-bridge", "polkadot-node-collation-generation", "polkadot-node-core-approval-voting", "polkadot-node-core-approval-voting-parallel", "polkadot-node-core-av-store", "polkadot-node-core-backing", "polkadot-node-core-bitfield-signing", "polkadot-node-core-candidate-validation", "polkadot-node-core-chain-api", "polkadot-node-core-chain-selection", "polkadot-node-core-dispute-coordinator", "polkadot-node-core-parachains-inherent", "polkadot-node-core-prospective-parachains", "polkadot-node-core-provisioner", "polkadot-node-core-pvf", "polkadot-node-core-pvf-checker", "polkadot-node-core-pvf-common", "polkadot-node-core-pvf-execute-worker", "polkadot-node-core-pvf-prepare-worker", "polkadot-node-core-runtime-api", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-omni-node-lib", "polkadot-overseer", "polkadot-rpc", "polkadot-service", "polkadot-statement-distribution", "polkadot-statement-table", "sc-allocator", "sc-authority-discovery", "sc-basic-authorship", "sc-block-builder", "sc-chain-spec", "sc-cli", "sc-client-api", "sc-client-db", "sc-consensus", "sc-consensus-aura", "sc-consensus-babe", "sc-consensus-babe-rpc", "sc-consensus-beefy", "sc-consensus-beefy-rpc", "sc-consensus-epochs", "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-consensus-manual-seal", "sc-consensus-pow", "sc-consensus-slots", "sc-executor", "sc-executor-common", "sc-executor-polkavm", "sc-executor-wasmtime", "sc-informant", "sc-keystore", "sc-mixnet", "sc-network", "sc-network-common", "sc-network-gossip", "sc-network-light", "sc-network-statement", "sc-network-sync", "sc-network-transactions", "sc-network-types", "sc-offchain", "sc-proposer-metrics", "sc-rpc", "sc-rpc-api", "sc-rpc-server", "sc-rpc-spec-v2", "sc-service", "sc-state-db", "sc-statement-store", "sc-storage-monitor", "sc-sync-state-rpc", "sc-sysinfo", "sc-telemetry", "sc-tracing", "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", "snowbridge-runtime-test-common", "sp-blockchain", "sp-consensus", "sp-core-hashing", "sp-core-hashing-proc-macro", "sp-database", "sp-maybe-compressed-blob", "sp-panic-handler", "sp-rpc", "staging-chain-spec-builder", "staging-node-inspect", "staging-tracking-allocator", "std", "subkey", "substrate-build-script-utils", "substrate-frame-rpc-support", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", "substrate-rpc-client", "substrate-state-trie-migration-rpc", "substrate-wasm-builder", "tracing-gum", "xcm-emulator", "xcm-simulator"]
tuples-96 = [
"frame-support-procedural?/tuples-96",
"frame-support?/tuples-96",
@@ -2082,13 +2082,13 @@ path = "../polkadot/node/subsystem-util"
default-features = false
optional = true
-[dependencies.polkadot-overseer]
-path = "../polkadot/node/overseer"
+[dependencies.polkadot-omni-node-lib]
+path = "../cumulus/polkadot-omni-node/lib"
default-features = false
optional = true
-[dependencies.polkadot-parachain-lib]
-path = "../cumulus/polkadot-parachain/polkadot-parachain-lib"
+[dependencies.polkadot-overseer]
+path = "../polkadot/node/overseer"
default-features = false
optional = true
diff --git a/umbrella/src/lib.rs b/umbrella/src/lib.rs
index 656273029fe82..7778706d515d0 100644
--- a/umbrella/src/lib.rs
+++ b/umbrella/src/lib.rs
@@ -898,14 +898,14 @@ pub use polkadot_node_subsystem_types;
#[cfg(feature = "polkadot-node-subsystem-util")]
pub use polkadot_node_subsystem_util;
+/// Helper library that can be used to build a parachain node.
+#[cfg(feature = "polkadot-omni-node-lib")]
+pub use polkadot_omni_node_lib;
+
/// System overseer of the Polkadot node.
#[cfg(feature = "polkadot-overseer")]
pub use polkadot_overseer;
-/// Helper library that can be used to build a parachain node.
-#[cfg(feature = "polkadot-parachain-lib")]
-pub use polkadot_parachain_lib;
-
/// Types and utilities for creating and working with parachains.
#[cfg(feature = "polkadot-parachain-primitives")]
pub use polkadot_parachain_primitives;