From f74e447b850f8980b7961ff071c3fa7efcf6200e Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Wed, 8 May 2024 18:08:00 +0200 Subject: [PATCH] WIP Signed-off-by: Oliver Tale-Yazdi --- Cargo.lock | 6 - Cargo.toml | 7 +- substrate/bin/node/cli/Cargo.toml | 16 +- substrate/bin/node/cli/build.rs | 2 +- umbrella/Cargo.toml | 250 ++++- umbrella/src/lib.rs | 1613 +++++++++++++++++++++-------- 6 files changed, 1411 insertions(+), 483 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index df12018c4686..d24b9ea13c32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20399,9 +20399,6 @@ dependencies = [ "clap 4.5.3", "clap_complete", "criterion 0.4.0", - "frame-benchmarking-cli", - "frame-support", - "frame-system", "futures", "jsonrpsee", "kitchensink-runtime", @@ -20415,7 +20412,6 @@ dependencies = [ "polkadot-sdk", "rand 0.8.5", "regex", - "sc-cli", "sc-service-test", "scale-info", "serde", @@ -20424,8 +20420,6 @@ dependencies = [ "staging-node-inspect", "substrate-build-script-utils", "substrate-cli-test-utils", - "substrate-frame-cli", - "substrate-rpc-client", "tempfile", "tokio", "tokio-util", diff --git a/Cargo.toml b/Cargo.toml index 19a7bea084eb..1cb4be9733fa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -516,14 +516,13 @@ members = [ "templates/minimal/node", "templates/minimal/pallets/template", "templates/minimal/runtime", + "templates/parachain/node", + "templates/parachain/pallets/template", + "templates/parachain/runtime", "templates/solochain/node", "templates/solochain/pallets/template", "templates/solochain/runtime", "umbrella", - - "templates/parachain/node", - "templates/parachain/pallets/template", - "templates/parachain/runtime", ] default-members = [ "polkadot", diff --git a/substrate/bin/node/cli/Cargo.toml b/substrate/bin/node/cli/Cargo.toml index 8dfb52634261..022bc95be708 100644 --- a/substrate/bin/node/cli/Cargo.toml +++ b/substrate/bin/node/cli/Cargo.toml @@ -66,19 +66,23 @@ criterion = { version = "0.4.0", features = ["async_tokio"] } tokio = { version = "1.22.0", features = ["macros", "parking_lot", "time"] } tokio-util = { version = "0.7.4", features = ["compat"] } wait-timeout = "0.2" -substrate-cli-test-utils = { path = "../../../test-utils/cli" } -sc-service-test = { path = "../../../client/service/test" } - wat = "1.0" -node-testing = { path = "../testing" } serde_json = { workspace = true, default-features = true } scale-info = { version = "2.11.1", features = ["derive", "serde"] } +node-testing = { path = "../testing" } + +substrate-cli-test-utils = { path = "../../../test-utils/cli" } +sc-service-test = { path = "../../../client/service/test" } + [build-dependencies] clap = { version = "4.5.3", optional = true } clap_complete = { version = "4.0.2", optional = true } + node-inspect = { package = "staging-node-inspect", path = "../inspect", optional = true } -substrate-build-script-utils = { path = "../../../utils/build-script-utils", optional = true } + +polkadot-sdk = { path = "../../../../umbrella", features = ["substrate-build-script-utils"], optional = true } + [features] default = ["cli"] @@ -86,7 +90,7 @@ cli = [ "clap", "clap_complete", "node-inspect", - "substrate-build-script-utils", + "polkadot-sdk", ] runtime-benchmarks = [ "kitchensink-runtime/runtime-benchmarks", diff --git a/substrate/bin/node/cli/build.rs b/substrate/bin/node/cli/build.rs index 6e931b014684..e76226c92314 100644 --- a/substrate/bin/node/cli/build.rs +++ b/substrate/bin/node/cli/build.rs @@ -28,7 +28,7 @@ mod cli { use clap::{CommandFactory, ValueEnum}; use clap_complete::{generate_to, Shell}; use std::{env, fs, path::Path}; - use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed}; + use polkadot_sdk::substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed}; pub fn main() { //build_shell_completion(); diff --git a/umbrella/Cargo.toml b/umbrella/Cargo.toml index ca1fb40c8190..7b8b1313ab78 100644 --- a/umbrella/Cargo.toml +++ b/umbrella/Cargo.toml @@ -6,7 +6,7 @@ description = "Polkadot SDK umbrella crate" license = "Apache-2.0" [features] -default = ["std"] +default = [ "std",] std = [ "asset-hub-rococo-runtime?/std", "asset-hub-westend-runtime?/std", @@ -24,16 +24,16 @@ std = [ "bp-kusama?/std", "bp-messages?/std", "bp-parachains?/std", + "bp-polkadot?/std", "bp-polkadot-bulletin?/std", "bp-polkadot-core?/std", - "bp-polkadot?/std", "bp-relayers?/std", "bp-rococo?/std", "bp-runtime?/std", "bp-test-utils?/std", "bp-westend?/std", - "bp-xcm-bridge-hub-router?/std", "bp-xcm-bridge-hub?/std", + "bp-xcm-bridge-hub-router?/std", "bridge-hub-common?/std", "bridge-hub-rococo-runtime?/std", "bridge-hub-test-utils?/std", @@ -45,8 +45,8 @@ std = [ "coretime-westend-runtime?/std", "cumulus-pallet-aura-ext?/std", "cumulus-pallet-dmp-queue?/std", - "cumulus-pallet-parachain-system-proc-macro?/std", "cumulus-pallet-parachain-system?/std", + "cumulus-pallet-parachain-system-proc-macro?/std", "cumulus-pallet-session-benchmarking?/std", "cumulus-pallet-solo-to-para?/std", "cumulus-pallet-xcm?/std", @@ -60,21 +60,21 @@ std = [ "cumulus-primitives-timestamp?/std", "cumulus-primitives-utility?/std", "cumulus-test-relay-sproof-builder?/std", - "frame-benchmarking-pallet-pov?/std", "frame-benchmarking?/std", + "frame-benchmarking-pallet-pov?/std", "frame-election-provider-support?/std", "frame-executive?/std", - "frame-support-procedural?/std", "frame-support?/std", + "frame-support-procedural?/std", + "frame-system?/std", "frame-system-benchmarking?/std", "frame-system-rpc-runtime-api?/std", - "frame-system?/std", "frame-try-runtime?/std", "glutton-westend-runtime?/std", "pallet-alliance?/std", + "pallet-asset-conversion?/std", "pallet-asset-conversion-ops?/std", "pallet-asset-conversion-tx-payment?/std", - "pallet-asset-conversion?/std", "pallet-asset-rate?/std", "pallet-asset-tx-payment?/std", "pallet-assets?/std", @@ -85,8 +85,8 @@ std = [ "pallet-babe?/std", "pallet-bags-list?/std", "pallet-balances?/std", - "pallet-beefy-mmr?/std", "pallet-beefy?/std", + "pallet-beefy-mmr?/std", "pallet-bounties?/std", "pallet-bridge-grandpa?/std", "pallet-bridge-messages?/std", @@ -95,10 +95,10 @@ std = [ "pallet-broker?/std", "pallet-child-bounties?/std", "pallet-collator-selection?/std", - "pallet-collective-content?/std", "pallet-collective?/std", - "pallet-contracts-mock-network?/std", + "pallet-collective-content?/std", "pallet-contracts?/std", + "pallet-contracts-mock-network?/std", "pallet-conviction-voting?/std", "pallet-core-fellowship?/std", "pallet-default-config-example?/std", @@ -126,15 +126,15 @@ std = [ "pallet-mmr?/std", "pallet-multisig?/std", "pallet-nft-fractionalization?/std", - "pallet-nfts-runtime-api?/std", "pallet-nfts?/std", + "pallet-nfts-runtime-api?/std", "pallet-nis?/std", "pallet-node-authorization?/std", + "pallet-nomination-pools?/std", "pallet-nomination-pools-benchmarking?/std", "pallet-nomination-pools-runtime-api?/std", - "pallet-nomination-pools?/std", - "pallet-offences-benchmarking?/std", "pallet-offences?/std", + "pallet-offences-benchmarking?/std", "pallet-paged-list?/std", "pallet-parameters?/std", "pallet-preimage?/std", @@ -149,20 +149,20 @@ std = [ "pallet-salary?/std", "pallet-scheduler?/std", "pallet-scored-pool?/std", - "pallet-session-benchmarking?/std", "pallet-session?/std", + "pallet-session-benchmarking?/std", "pallet-skip-feeless-payment?/std", "pallet-society?/std", + "pallet-staking?/std", "pallet-staking-reward-fn?/std", "pallet-staking-runtime-api?/std", - "pallet-staking?/std", "pallet-state-trie-migration?/std", "pallet-statement?/std", "pallet-sudo?/std", "pallet-timestamp?/std", "pallet-tips?/std", - "pallet-transaction-payment-rpc-runtime-api?/std", "pallet-transaction-payment?/std", + "pallet-transaction-payment-rpc-runtime-api?/std", "pallet-transaction-storage?/std", "pallet-treasury?/std", "pallet-tx-pause?/std", @@ -170,10 +170,10 @@ std = [ "pallet-utility?/std", "pallet-vesting?/std", "pallet-whitelist?/std", + "pallet-xcm?/std", "pallet-xcm-benchmarks?/std", - "pallet-xcm-bridge-hub-router?/std", "pallet-xcm-bridge-hub?/std", - "pallet-xcm?/std", + "pallet-xcm-bridge-hub-router?/std", "parachains-common?/std", "parachains-runtimes-test-utils?/std", "penpal-runtime?/std", @@ -186,8 +186,8 @@ std = [ "polkadot-runtime-metrics?/std", "polkadot-runtime-parachains?/std", "rococo-parachain-runtime?/std", - "rococo-runtime-constants?/std", "rococo-runtime?/std", + "rococo-runtime-constants?/std", "sc-executor?/std", "seedling-runtime?/std", "shell-runtime?/std", @@ -197,18 +197,18 @@ std = [ "snowbridge-ethereum?/std", "snowbridge-outbound-queue-merkle-tree?/std", "snowbridge-outbound-queue-runtime-api?/std", - "snowbridge-pallet-ethereum-client-fixtures?/std", "snowbridge-pallet-ethereum-client?/std", - "snowbridge-pallet-inbound-queue-fixtures?/std", + "snowbridge-pallet-ethereum-client-fixtures?/std", "snowbridge-pallet-inbound-queue?/std", + "snowbridge-pallet-inbound-queue-fixtures?/std", "snowbridge-pallet-outbound-queue?/std", "snowbridge-pallet-system?/std", "snowbridge-router-primitives?/std", "snowbridge-runtime-common?/std", "snowbridge-runtime-test-common?/std", "snowbridge-system-runtime-api?/std", - "sp-api-proc-macro?/std", "sp-api?/std", + "sp-api-proc-macro?/std", "sp-application-crypto?/std", "sp-arithmetic?/std", "sp-authority-discovery?/std", @@ -219,8 +219,8 @@ std = [ "sp-consensus-grandpa?/std", "sp-consensus-pow?/std", "sp-consensus-slots?/std", - "sp-core-hashing?/std", "sp-core?/std", + "sp-core-hashing?/std", "sp-crypto-ec-utils?/std", "sp-crypto-hashing?/std", "sp-debug-derive?/std", @@ -235,8 +235,8 @@ std = [ "sp-mmr-primitives?/std", "sp-npos-elections?/std", "sp-offchain?/std", - "sp-runtime-interface?/std", "sp-runtime?/std", + "sp-runtime-interface?/std", "sp-session?/std", "sp-staking?/std", "sp-state-machine?/std", @@ -252,14 +252,14 @@ std = [ "sp-wasm-interface?/std", "sp-weights?/std", "staging-parachain-info?/std", + "staging-xcm?/std", "staging-xcm-builder?/std", "staging-xcm-executor?/std", - "staging-xcm?/std", "substrate-bip39?/std", "testnet-parachains-constants?/std", - "westend-runtime-constants?/std", "westend-runtime?/std", - "xcm-fee-payment-runtime-api?/std", + "westend-runtime-constants?/std", + "xcm-fee-payment-runtime-api?/std" ] runtime-benchmarks = [ "asset-hub-rococo-runtime?/runtime-benchmarks", @@ -279,17 +279,17 @@ runtime-benchmarks = [ "cumulus-pallet-xcmp-queue?/runtime-benchmarks", "cumulus-primitives-core?/runtime-benchmarks", "cumulus-primitives-utility?/runtime-benchmarks", + "frame-benchmarking/runtime-benchmarks", "frame-benchmarking-cli?/runtime-benchmarks", "frame-benchmarking-pallet-pov?/runtime-benchmarks", - "frame-benchmarking/runtime-benchmarks", "frame-election-provider-support?/runtime-benchmarks", "frame-support?/runtime-benchmarks", - "frame-system-benchmarking?/runtime-benchmarks", "frame-system?/runtime-benchmarks", + "frame-system-benchmarking?/runtime-benchmarks", "glutton-westend-runtime?/runtime-benchmarks", "pallet-alliance?/runtime-benchmarks", - "pallet-asset-conversion-ops?/runtime-benchmarks", "pallet-asset-conversion?/runtime-benchmarks", + "pallet-asset-conversion-ops?/runtime-benchmarks", "pallet-asset-rate?/runtime-benchmarks", "pallet-asset-tx-payment?/runtime-benchmarks", "pallet-assets?/runtime-benchmarks", @@ -304,10 +304,10 @@ runtime-benchmarks = [ "pallet-broker?/runtime-benchmarks", "pallet-child-bounties?/runtime-benchmarks", "pallet-collator-selection?/runtime-benchmarks", - "pallet-collective-content?/runtime-benchmarks", "pallet-collective?/runtime-benchmarks", - "pallet-contracts-mock-network?/runtime-benchmarks", + "pallet-collective-content?/runtime-benchmarks", "pallet-contracts?/runtime-benchmarks", + "pallet-contracts-mock-network?/runtime-benchmarks", "pallet-conviction-voting?/runtime-benchmarks", "pallet-core-fellowship?/runtime-benchmarks", "pallet-democracy?/runtime-benchmarks", @@ -333,10 +333,10 @@ runtime-benchmarks = [ "pallet-nft-fractionalization?/runtime-benchmarks", "pallet-nfts?/runtime-benchmarks", "pallet-nis?/runtime-benchmarks", - "pallet-nomination-pools-benchmarking?/runtime-benchmarks", "pallet-nomination-pools?/runtime-benchmarks", - "pallet-offences-benchmarking?/runtime-benchmarks", + "pallet-nomination-pools-benchmarking?/runtime-benchmarks", "pallet-offences?/runtime-benchmarks", + "pallet-offences-benchmarking?/runtime-benchmarks", "pallet-paged-list?/runtime-benchmarks", "pallet-parameters?/runtime-benchmarks", "pallet-preimage?/runtime-benchmarks", @@ -364,10 +364,10 @@ runtime-benchmarks = [ "pallet-utility?/runtime-benchmarks", "pallet-vesting?/runtime-benchmarks", "pallet-whitelist?/runtime-benchmarks", + "pallet-xcm?/runtime-benchmarks", "pallet-xcm-benchmarks?/runtime-benchmarks", - "pallet-xcm-bridge-hub-router?/runtime-benchmarks", "pallet-xcm-bridge-hub?/runtime-benchmarks", - "pallet-xcm?/runtime-benchmarks", + "pallet-xcm-bridge-hub-router?/runtime-benchmarks", "parachains-common?/runtime-benchmarks", "penpal-runtime?/runtime-benchmarks", "people-rococo-runtime?/runtime-benchmarks", @@ -384,10 +384,10 @@ runtime-benchmarks = [ "sc-client-db?/runtime-benchmarks", "sc-service?/runtime-benchmarks", "snowbridge-core?/runtime-benchmarks", - "snowbridge-pallet-ethereum-client-fixtures?/runtime-benchmarks", "snowbridge-pallet-ethereum-client?/runtime-benchmarks", - "snowbridge-pallet-inbound-queue-fixtures?/runtime-benchmarks", + "snowbridge-pallet-ethereum-client-fixtures?/runtime-benchmarks", "snowbridge-pallet-inbound-queue?/runtime-benchmarks", + "snowbridge-pallet-inbound-queue-fixtures?/runtime-benchmarks", "snowbridge-pallet-outbound-queue?/runtime-benchmarks", "snowbridge-pallet-system?/runtime-benchmarks", "snowbridge-router-primitives?/runtime-benchmarks", @@ -399,7 +399,7 @@ runtime-benchmarks = [ "staging-xcm-builder?/runtime-benchmarks", "staging-xcm-executor?/runtime-benchmarks", "westend-runtime?/runtime-benchmarks", - "xcm-simulator-example?/runtime-benchmarks", + "xcm-simulator-example?/runtime-benchmarks" ] try-runtime = [ "asset-hub-rococo-runtime?/try-runtime", @@ -425,9 +425,9 @@ try-runtime = [ "frame-try-runtime/try-runtime", "glutton-westend-runtime?/try-runtime", "pallet-alliance?/try-runtime", + "pallet-asset-conversion?/try-runtime", "pallet-asset-conversion-ops?/try-runtime", "pallet-asset-conversion-tx-payment?/try-runtime", - "pallet-asset-conversion?/try-runtime", "pallet-asset-rate?/try-runtime", "pallet-asset-tx-payment?/try-runtime", "pallet-assets?/try-runtime", @@ -438,8 +438,8 @@ try-runtime = [ "pallet-babe?/try-runtime", "pallet-bags-list?/try-runtime", "pallet-balances?/try-runtime", - "pallet-beefy-mmr?/try-runtime", "pallet-beefy?/try-runtime", + "pallet-beefy-mmr?/try-runtime", "pallet-bounties?/try-runtime", "pallet-bridge-grandpa?/try-runtime", "pallet-bridge-messages?/try-runtime", @@ -448,8 +448,8 @@ try-runtime = [ "pallet-broker?/try-runtime", "pallet-child-bounties?/try-runtime", "pallet-collator-selection?/try-runtime", - "pallet-collective-content?/try-runtime", "pallet-collective?/try-runtime", + "pallet-collective-content?/try-runtime", "pallet-contracts?/try-runtime", "pallet-conviction-voting?/try-runtime", "pallet-core-fellowship?/try-runtime", @@ -513,9 +513,9 @@ try-runtime = [ "pallet-utility?/try-runtime", "pallet-vesting?/try-runtime", "pallet-whitelist?/try-runtime", - "pallet-xcm-bridge-hub-router?/try-runtime", - "pallet-xcm-bridge-hub?/try-runtime", "pallet-xcm?/try-runtime", + "pallet-xcm-bridge-hub?/try-runtime", + "pallet-xcm-bridge-hub-router?/try-runtime", "penpal-runtime?/try-runtime", "people-rococo-runtime?/try-runtime", "people-westend-runtime?/try-runtime", @@ -531,7 +531,7 @@ try-runtime = [ "snowbridge-pallet-system?/try-runtime", "sp-runtime?/try-runtime", "staging-parachain-info?/try-runtime", - "westend-runtime?/try-runtime", + "westend-runtime?/try-runtime" ] serde = [ "bp-polkadot-core?/serde", @@ -541,8 +541,8 @@ serde = [ "coretime-westend-runtime?/serde", "frame-benchmarking?/serde", "pallet-asset-tx-payment?/serde", - "pallet-beefy-mmr?/serde", "pallet-beefy?/serde", + "pallet-beefy-mmr?/serde", "pallet-contracts?/serde", "pallet-conviction-voting?/serde", "pallet-democracy?/serde", @@ -580,21 +580,165 @@ serde = [ "sp-statement-store?/serde", "sp-storage?/serde", "sp-version?/serde", - "sp-weights?/serde", + "sp-weights?/serde" ] experimental = [ - "frame-support-procedural?/experimental", "frame-support?/experimental", + "frame-support-procedural?/experimental", "frame-system?/experimental", - "pallet-example-tasks?/experimental", + "pallet-example-tasks?/experimental" ] with-tracing = [ "frame-executive?/with-tracing", "sp-io?/with-tracing", - "sp-tracing?/with-tracing", + "sp-tracing?/with-tracing" ] -runtime = ["dep:asset-hub-rococo-runtime", "dep:asset-hub-westend-runtime", "dep:assets-common", "dep:binary-merkle-tree", "dep:bp-asset-hub-rococo", "dep:bp-asset-hub-westend", "dep:bp-bridge-hub-cumulus", "dep:bp-bridge-hub-kusama", "dep:bp-bridge-hub-polkadot", "dep:bp-bridge-hub-rococo", "dep:bp-bridge-hub-westend", "dep:bp-header-chain", "dep:bp-kusama", "dep:bp-messages", "dep:bp-parachains", "dep:bp-polkadot", "dep:bp-polkadot-bulletin", "dep:bp-polkadot-core", "dep:bp-relayers", "dep:bp-rococo", "dep:bp-runtime", "dep:bp-test-utils", "dep:bp-westend", "dep:bp-xcm-bridge-hub", "dep:bp-xcm-bridge-hub-router", "dep:bridge-hub-common", "dep:bridge-hub-rococo-runtime", "dep:bridge-hub-westend-runtime", "dep:bridge-runtime-common", "dep:collectives-westend-runtime", "dep:contracts-rococo-runtime", "dep:coretime-rococo-runtime", "dep:coretime-westend-runtime", "dep:cumulus-pallet-aura-ext", "dep:cumulus-pallet-dmp-queue", "dep:cumulus-pallet-parachain-system", "dep:cumulus-pallet-parachain-system-proc-macro", "dep:cumulus-pallet-session-benchmarking", "dep:cumulus-pallet-solo-to-para", "dep:cumulus-pallet-xcm", "dep:cumulus-pallet-xcmp-queue", "dep:cumulus-ping", "dep:cumulus-primitives-aura", "dep:cumulus-primitives-core", "dep:cumulus-primitives-parachain-inherent", "dep:cumulus-primitives-proof-size-hostfunction", "dep:cumulus-primitives-storage-weight-reclaim", "dep:cumulus-primitives-timestamp", "dep:cumulus-primitives-utility", "dep:frame-benchmarking", "dep:frame-benchmarking-pallet-pov", "dep:frame-election-provider-solution-type", "dep:frame-election-provider-support", "dep:frame-executive", "dep:frame-support", "dep:frame-support-procedural", "dep:frame-support-procedural-tools-derive", "dep:frame-system", "dep:frame-system-benchmarking", "dep:frame-system-rpc-runtime-api", "dep:frame-try-runtime", "dep:glutton-westend-runtime", "dep:pallet-alliance", "dep:pallet-asset-conversion", "dep:pallet-asset-conversion-ops", "dep:pallet-asset-conversion-tx-payment", "dep:pallet-asset-rate", "dep:pallet-asset-tx-payment", "dep:pallet-assets", "dep:pallet-atomic-swap", "dep:pallet-aura", "dep:pallet-authority-discovery", "dep:pallet-authorship", "dep:pallet-babe", "dep:pallet-bags-list", "dep:pallet-balances", "dep:pallet-beefy", "dep:pallet-beefy-mmr", "dep:pallet-bounties", "dep:pallet-bridge-grandpa", "dep:pallet-bridge-messages", "dep:pallet-bridge-parachains", "dep:pallet-bridge-relayers", "dep:pallet-broker", "dep:pallet-child-bounties", "dep:pallet-collator-selection", "dep:pallet-collective", "dep:pallet-collective-content", "dep:pallet-contracts", "dep:pallet-contracts-proc-macro", "dep:pallet-contracts-uapi", "dep:pallet-conviction-voting", "dep:pallet-core-fellowship", "dep:pallet-default-config-example", "dep:pallet-democracy", "dep:pallet-dev-mode", "dep:pallet-election-provider-multi-phase", "dep:pallet-election-provider-support-benchmarking", "dep:pallet-elections-phragmen", "dep:pallet-example-basic", "dep:pallet-example-offchain-worker", "dep:pallet-example-split", "dep:pallet-example-tasks", "dep:pallet-fast-unstake", "dep:pallet-glutton", "dep:pallet-grandpa", "dep:pallet-identity", "dep:pallet-im-online", "dep:pallet-indices", "dep:pallet-insecure-randomness-collective-flip", "dep:pallet-lottery", "dep:pallet-membership", "dep:pallet-message-queue", "dep:pallet-migrations", "dep:pallet-mixnet", "dep:pallet-mmr", "dep:pallet-multisig", "dep:pallet-nft-fractionalization", "dep:pallet-nfts", "dep:pallet-nfts-runtime-api", "dep:pallet-nis", "dep:pallet-node-authorization", "dep:pallet-nomination-pools", "dep:pallet-nomination-pools-benchmarking", "dep:pallet-nomination-pools-runtime-api", "dep:pallet-offences", "dep:pallet-offences-benchmarking", "dep:pallet-paged-list", "dep:pallet-parameters", "dep:pallet-preimage", "dep:pallet-proxy", "dep:pallet-ranked-collective", "dep:pallet-recovery", "dep:pallet-referenda", "dep:pallet-remark", "dep:pallet-root-offences", "dep:pallet-root-testing", "dep:pallet-safe-mode", "dep:pallet-salary", "dep:pallet-scheduler", "dep:pallet-scored-pool", "dep:pallet-session", "dep:pallet-session-benchmarking", "dep:pallet-skip-feeless-payment", "dep:pallet-society", "dep:pallet-staking", "dep:pallet-staking-reward-curve", "dep:pallet-staking-reward-fn", "dep:pallet-staking-runtime-api", "dep:pallet-state-trie-migration", "dep:pallet-statement", "dep:pallet-sudo", "dep:pallet-timestamp", "dep:pallet-tips", "dep:pallet-transaction-payment", "dep:pallet-transaction-payment-rpc-runtime-api", "dep:pallet-transaction-storage", "dep:pallet-treasury", "dep:pallet-tx-pause", "dep:pallet-uniques", "dep:pallet-utility", "dep:pallet-vesting", "dep:pallet-whitelist", "dep:pallet-xcm", "dep:pallet-xcm-benchmarks", "dep:pallet-xcm-bridge-hub", "dep:pallet-xcm-bridge-hub-router", "dep:parachains-common", "dep:penpal-runtime", "dep:people-rococo-runtime", "dep:people-westend-runtime", "dep:polkadot-core-primitives", "dep:polkadot-parachain-primitives", "dep:polkadot-primitives", "dep:polkadot-runtime-common", "dep:polkadot-runtime-metrics", "dep:polkadot-runtime-parachains", "dep:rococo-parachain-runtime", "dep:rococo-runtime", "dep:rococo-runtime-constants", "dep:sc-chain-spec-derive", "dep:sc-tracing-proc-macro", "dep:seedling-runtime", "dep:shell-runtime", "dep:slot-range-helper", "dep:snowbridge-beacon-primitives", "dep:snowbridge-core", "dep:snowbridge-ethereum", "dep:snowbridge-outbound-queue-merkle-tree", "dep:snowbridge-outbound-queue-runtime-api", "dep:snowbridge-pallet-ethereum-client", "dep:snowbridge-pallet-ethereum-client-fixtures", "dep:snowbridge-pallet-inbound-queue", "dep:snowbridge-pallet-inbound-queue-fixtures", "dep:snowbridge-pallet-outbound-queue", "dep:snowbridge-pallet-system", "dep:snowbridge-router-primitives", "dep:snowbridge-runtime-common", "dep:snowbridge-system-runtime-api", "dep:sp-api", "dep:sp-api-proc-macro", "dep:sp-application-crypto", "dep:sp-arithmetic", "dep:sp-authority-discovery", "dep:sp-block-builder", "dep:sp-consensus-aura", "dep:sp-consensus-babe", "dep:sp-consensus-beefy", "dep:sp-consensus-grandpa", "dep:sp-consensus-pow", "dep:sp-consensus-slots", "dep:sp-core", "dep:sp-crypto-ec-utils", "dep:sp-crypto-hashing", "dep:sp-crypto-hashing-proc-macro", "dep:sp-debug-derive", "dep:sp-externalities", "dep:sp-genesis-builder", "dep:sp-inherents", "dep:sp-io", "dep:sp-keyring", "dep:sp-keystore", "dep:sp-metadata-ir", "dep:sp-mixnet", "dep:sp-mmr-primitives", "dep:sp-npos-elections", "dep:sp-offchain", "dep:sp-runtime", "dep:sp-runtime-interface", "dep:sp-runtime-interface-proc-macro", "dep:sp-session", "dep:sp-staking", "dep:sp-state-machine", "dep:sp-statement-store", "dep:sp-std", "dep:sp-storage", "dep:sp-timestamp", "dep:sp-tracing", "dep:sp-transaction-pool", "dep:sp-transaction-storage-proof", "dep:sp-trie", "dep:sp-version", "dep:sp-version-proc-macro", "dep:sp-wasm-interface", "dep:sp-weights", "dep:staging-parachain-info", "dep:staging-xcm", "dep:staging-xcm-builder", "dep:staging-xcm-executor", "dep:substrate-bip39", "dep:testnet-parachains-constants", "dep:tracing-gum-proc-macro", "dep:westend-runtime", "dep:westend-runtime-constants", "dep:xcm-fee-payment-runtime-api", "dep:xcm-procedural"] -node = ["dep:asset-test-utils", "dep:bridge-hub-test-utils", "dep:cumulus-client-cli", "dep:cumulus-client-collator", "dep:cumulus-client-consensus-aura", "dep:cumulus-client-consensus-common", "dep:cumulus-client-consensus-proposer", "dep:cumulus-client-consensus-relay-chain", "dep:cumulus-client-network", "dep:cumulus-client-parachain-inherent", "dep:cumulus-client-pov-recovery", "dep:cumulus-client-service", "dep:cumulus-relay-chain-inprocess-interface", "dep:cumulus-relay-chain-interface", "dep:cumulus-relay-chain-minimal-node", "dep:cumulus-relay-chain-rpc-interface", "dep:cumulus-test-relay-sproof-builder", "dep:emulated-integration-tests-common", "dep:fork-tree", "dep:frame-benchmarking-cli", "dep:frame-remote-externalities", "dep:frame-support-procedural-tools", "dep:generate-bags", "dep:mmr-gadget", "dep:mmr-rpc", "dep:pallet-contracts-mock-network", "dep:pallet-transaction-payment-rpc", "dep:parachains-runtimes-test-utils", "dep:polkadot-approval-distribution", "dep:polkadot-availability-bitfield-distribution", "dep:polkadot-availability-distribution", "dep:polkadot-availability-recovery", "dep:polkadot-cli", "dep:polkadot-collator-protocol", "dep:polkadot-dispute-distribution", "dep:polkadot-erasure-coding", "dep:polkadot-gossip-support", "dep:polkadot-network-bridge", "dep:polkadot-node-collation-generation", "dep:polkadot-node-core-approval-voting", "dep:polkadot-node-core-av-store", "dep:polkadot-node-core-backing", "dep:polkadot-node-core-bitfield-signing", "dep:polkadot-node-core-candidate-validation", "dep:polkadot-node-core-chain-api", "dep:polkadot-node-core-chain-selection", "dep:polkadot-node-core-dispute-coordinator", "dep:polkadot-node-core-parachains-inherent", "dep:polkadot-node-core-prospective-parachains", "dep:polkadot-node-core-provisioner", "dep:polkadot-node-core-pvf", "dep:polkadot-node-core-pvf-checker", "dep:polkadot-node-core-pvf-common", "dep:polkadot-node-core-pvf-execute-worker", "dep:polkadot-node-core-pvf-prepare-worker", "dep:polkadot-node-core-runtime-api", "dep:polkadot-node-jaeger", "dep:polkadot-node-metrics", "dep:polkadot-node-network-protocol", "dep:polkadot-node-primitives", "dep:polkadot-node-subsystem", "dep:polkadot-node-subsystem-types", "dep:polkadot-node-subsystem-util", "dep:polkadot-overseer", "dep:polkadot-rpc", "dep:polkadot-service", "dep:polkadot-statement-distribution", "dep:polkadot-statement-table", "dep:sc-allocator", "dep:sc-authority-discovery", "dep:sc-basic-authorship", "dep:sc-block-builder", "dep:sc-chain-spec", "dep:sc-cli", "dep:sc-client-api", "dep:sc-client-db", "dep:sc-consensus", "dep:sc-consensus-aura", "dep:sc-consensus-babe", "dep:sc-consensus-babe-rpc", "dep:sc-consensus-beefy", "dep:sc-consensus-beefy-rpc", "dep:sc-consensus-epochs", "dep:sc-consensus-grandpa", "dep:sc-consensus-grandpa-rpc", "dep:sc-consensus-manual-seal", "dep:sc-consensus-pow", "dep:sc-consensus-slots", "dep:sc-executor", "dep:sc-executor-common", "dep:sc-executor-polkavm", "dep:sc-executor-wasmtime", "dep:sc-informant", "dep:sc-keystore", "dep:sc-mixnet", "dep:sc-network", "dep:sc-network-common", "dep:sc-network-gossip", "dep:sc-network-light", "dep:sc-network-statement", "dep:sc-network-sync", "dep:sc-network-transactions", "dep:sc-network-types", "dep:sc-offchain", "dep:sc-proposer-metrics", "dep:sc-rpc", "dep:sc-rpc-api", "dep:sc-rpc-server", "dep:sc-rpc-spec-v2", "dep:sc-service", "dep:sc-state-db", "dep:sc-statement-store", "dep:sc-storage-monitor", "dep:sc-sync-state-rpc", "dep:sc-sysinfo", "dep:sc-telemetry", "dep:sc-tracing", "dep:sc-transaction-pool", "dep:sc-transaction-pool-api", "dep:sc-utils", "dep:snowbridge-runtime-test-common", "dep:sp-blockchain", "dep:sp-consensus", "dep:sp-core-hashing", "dep:sp-core-hashing-proc-macro", "dep:sp-database", "dep:sp-maybe-compressed-blob", "dep:sp-panic-handler", "dep:sp-rpc", "dep:staging-node-inspect", "dep:staging-tracking-allocator", "dep:subkey", "dep:substrate-build-script-utils", "dep:substrate-frame-cli", "dep:substrate-frame-rpc-support", "dep:substrate-frame-rpc-system", "dep:substrate-prometheus-endpoint", "dep:substrate-rpc-client", "dep:substrate-state-trie-migration-rpc", "dep:substrate-wasm-builder", "dep:tracing-gum", "dep:xcm-emulator", "dep:xcm-simulator", "dep:xcm-simulator-example", "std"] +runtime = [ "asset-hub-rococo-runtime", "asset-hub-westend-runtime", "assets-common", "binary-merkle-tree", "bp-asset-hub-rococo", "bp-asset-hub-westend", "bp-bridge-hub-cumulus", "bp-bridge-hub-kusama", "bp-bridge-hub-polkadot", "bp-bridge-hub-rococo", "bp-bridge-hub-westend", "bp-header-chain", "bp-kusama", "bp-messages", "bp-parachains", "bp-polkadot", "bp-polkadot-bulletin", "bp-polkadot-core", "bp-relayers", "bp-rococo", "bp-runtime", "bp-test-utils", "bp-westend", "bp-xcm-bridge-hub", "bp-xcm-bridge-hub-router", "bridge-hub-common", "bridge-hub-rococo-runtime", "bridge-hub-westend-runtime", "bridge-runtime-common", "collectives-westend-runtime", "contracts-rococo-runtime", "coretime-rococo-runtime", "coretime-westend-runtime", "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-parachain-system-proc-macro", "cumulus-pallet-session-benchmarking", "cumulus-pallet-solo-to-para", "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", "cumulus-ping", "cumulus-primitives-aura", "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-primitives-proof-size-hostfunction", "cumulus-primitives-storage-weight-reclaim", "cumulus-primitives-timestamp", "cumulus-primitives-utility", "frame-benchmarking", "frame-benchmarking-pallet-pov", "frame-election-provider-solution-type", "frame-election-provider-support", "frame-executive", "frame-support", "frame-support-procedural", "frame-support-procedural-tools-derive", "frame-system", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", "glutton-westend-runtime", "pallet-alliance", "pallet-asset-conversion", "pallet-asset-conversion-ops", "pallet-asset-conversion-tx-payment", "pallet-asset-rate", "pallet-asset-tx-payment", "pallet-assets", "pallet-atomic-swap", "pallet-aura", "pallet-authority-discovery", "pallet-authorship", "pallet-babe", "pallet-bags-list", "pallet-balances", "pallet-beefy", "pallet-beefy-mmr", "pallet-bounties", "pallet-bridge-grandpa", "pallet-bridge-messages", "pallet-bridge-parachains", "pallet-bridge-relayers", "pallet-broker", "pallet-child-bounties", "pallet-collator-selection", "pallet-collective", "pallet-collective-content", "pallet-contracts", "pallet-contracts-proc-macro", "pallet-contracts-uapi", "pallet-conviction-voting", "pallet-core-fellowship", "pallet-default-config-example", "pallet-democracy", "pallet-dev-mode", "pallet-election-provider-multi-phase", "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", "pallet-example-basic", "pallet-example-offchain-worker", "pallet-example-split", "pallet-example-tasks", "pallet-fast-unstake", "pallet-glutton", "pallet-grandpa", "pallet-identity", "pallet-im-online", "pallet-indices", "pallet-insecure-randomness-collective-flip", "pallet-lottery", "pallet-membership", "pallet-message-queue", "pallet-migrations", "pallet-mixnet", "pallet-mmr", "pallet-multisig", "pallet-nft-fractionalization", "pallet-nfts", "pallet-nfts-runtime-api", "pallet-nis", "pallet-node-authorization", "pallet-nomination-pools", "pallet-nomination-pools-benchmarking", "pallet-nomination-pools-runtime-api", "pallet-offences", "pallet-offences-benchmarking", "pallet-paged-list", "pallet-parameters", "pallet-preimage", "pallet-proxy", "pallet-ranked-collective", "pallet-recovery", "pallet-referenda", "pallet-remark", "pallet-root-offences", "pallet-root-testing", "pallet-safe-mode", "pallet-salary", "pallet-scheduler", "pallet-scored-pool", "pallet-session", "pallet-session-benchmarking", "pallet-skip-feeless-payment", "pallet-society", "pallet-staking", "pallet-staking-reward-curve", "pallet-staking-reward-fn", "pallet-staking-runtime-api", "pallet-state-trie-migration", "pallet-statement", "pallet-sudo", "pallet-timestamp", "pallet-tips", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-transaction-storage", "pallet-treasury", "pallet-tx-pause", "pallet-uniques", "pallet-utility", "pallet-vesting", "pallet-whitelist", "pallet-xcm", "pallet-xcm-benchmarks", "pallet-xcm-bridge-hub", "pallet-xcm-bridge-hub-router", "parachains-common", "penpal-runtime", "people-rococo-runtime", "people-westend-runtime", "polkadot-core-primitives", "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-metrics", "polkadot-runtime-parachains", "rococo-parachain-runtime", "rococo-runtime", "rococo-runtime-constants", "sc-chain-spec-derive", "sc-tracing-proc-macro", "seedling-runtime", "shell-runtime", "slot-range-helper", "snowbridge-beacon-primitives", "snowbridge-core", "snowbridge-ethereum", "snowbridge-outbound-queue-merkle-tree", "snowbridge-outbound-queue-runtime-api", "snowbridge-pallet-ethereum-client", "snowbridge-pallet-ethereum-client-fixtures", "snowbridge-pallet-inbound-queue", "snowbridge-pallet-inbound-queue-fixtures", "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", "snowbridge-router-primitives", "snowbridge-runtime-common", "snowbridge-system-runtime-api", "sp-api", "sp-api-proc-macro", "sp-application-crypto", "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-beefy", "sp-consensus-grandpa", "sp-consensus-pow", "sp-consensus-slots", "sp-core", "sp-crypto-ec-utils", "sp-crypto-hashing", "sp-crypto-hashing-proc-macro", "sp-debug-derive", "sp-externalities", "sp-genesis-builder", "sp-inherents", "sp-io", "sp-keyring", "sp-keystore", "sp-metadata-ir", "sp-mixnet", "sp-mmr-primitives", "sp-npos-elections", "sp-offchain", "sp-runtime", "sp-runtime-interface", "sp-runtime-interface-proc-macro", "sp-session", "sp-staking", "sp-state-machine", "sp-statement-store", "sp-std", "sp-storage", "sp-timestamp", "sp-tracing", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", "sp-version", "sp-version-proc-macro", "sp-wasm-interface", "sp-weights", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "substrate-bip39", "testnet-parachains-constants", "tracing-gum-proc-macro", "westend-runtime", "westend-runtime-constants", "xcm-fee-payment-runtime-api", "xcm-procedural",] +node = [ "std", "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-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-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-jaeger", "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "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-node-inspect", "staging-tracking-allocator", "subkey", "substrate-build-script-utils", "substrate-frame-cli", "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", "xcm-simulator-example",] +asset-test-utils = [ "dep:asset-test-utils",] +bridge-hub-test-utils = [ "dep:bridge-hub-test-utils",] +cumulus-client-cli = [ "dep:cumulus-client-cli",] +cumulus-client-collator = [ "dep:cumulus-client-collator",] +cumulus-client-consensus-aura = [ "dep:cumulus-client-consensus-aura",] +cumulus-client-consensus-common = [ "dep:cumulus-client-consensus-common",] +cumulus-client-consensus-proposer = [ "dep:cumulus-client-consensus-proposer",] +cumulus-client-consensus-relay-chain = [ "dep:cumulus-client-consensus-relay-chain",] +cumulus-client-network = [ "dep:cumulus-client-network",] +cumulus-client-parachain-inherent = [ "dep:cumulus-client-parachain-inherent",] +cumulus-client-pov-recovery = [ "dep:cumulus-client-pov-recovery",] +cumulus-client-service = [ "dep:cumulus-client-service",] +cumulus-relay-chain-inprocess-interface = [ "dep:cumulus-relay-chain-inprocess-interface",] +cumulus-relay-chain-interface = [ "dep:cumulus-relay-chain-interface",] +cumulus-relay-chain-minimal-node = [ "dep:cumulus-relay-chain-minimal-node",] +cumulus-relay-chain-rpc-interface = [ "dep:cumulus-relay-chain-rpc-interface",] +cumulus-test-relay-sproof-builder = [ "dep:cumulus-test-relay-sproof-builder",] +emulated-integration-tests-common = [ "dep:emulated-integration-tests-common",] +fork-tree = [ "dep:fork-tree",] +frame-benchmarking-cli = [ "dep:frame-benchmarking-cli",] +frame-remote-externalities = [ "dep:frame-remote-externalities",] +frame-support-procedural-tools = [ "dep:frame-support-procedural-tools",] +generate-bags = [ "dep:generate-bags",] +mmr-gadget = [ "dep:mmr-gadget",] +mmr-rpc = [ "dep:mmr-rpc",] +pallet-contracts-mock-network = [ "dep:pallet-contracts-mock-network",] +pallet-transaction-payment-rpc = [ "dep:pallet-transaction-payment-rpc",] +parachains-runtimes-test-utils = [ "dep:parachains-runtimes-test-utils",] +polkadot-approval-distribution = [ "dep:polkadot-approval-distribution",] +polkadot-availability-bitfield-distribution = [ "dep:polkadot-availability-bitfield-distribution",] +polkadot-availability-distribution = [ "dep:polkadot-availability-distribution",] +polkadot-availability-recovery = [ "dep:polkadot-availability-recovery",] +polkadot-cli = [ "dep:polkadot-cli",] +polkadot-collator-protocol = [ "dep:polkadot-collator-protocol",] +polkadot-dispute-distribution = [ "dep:polkadot-dispute-distribution",] +polkadot-erasure-coding = [ "dep:polkadot-erasure-coding",] +polkadot-gossip-support = [ "dep:polkadot-gossip-support",] +polkadot-network-bridge = [ "dep:polkadot-network-bridge",] +polkadot-node-collation-generation = [ "dep:polkadot-node-collation-generation",] +polkadot-node-core-approval-voting = [ "dep:polkadot-node-core-approval-voting",] +polkadot-node-core-av-store = [ "dep:polkadot-node-core-av-store",] +polkadot-node-core-backing = [ "dep:polkadot-node-core-backing",] +polkadot-node-core-bitfield-signing = [ "dep:polkadot-node-core-bitfield-signing",] +polkadot-node-core-candidate-validation = [ "dep:polkadot-node-core-candidate-validation",] +polkadot-node-core-chain-api = [ "dep:polkadot-node-core-chain-api",] +polkadot-node-core-chain-selection = [ "dep:polkadot-node-core-chain-selection",] +polkadot-node-core-dispute-coordinator = [ "dep:polkadot-node-core-dispute-coordinator",] +polkadot-node-core-parachains-inherent = [ "dep:polkadot-node-core-parachains-inherent",] +polkadot-node-core-prospective-parachains = [ "dep:polkadot-node-core-prospective-parachains",] +polkadot-node-core-provisioner = [ "dep:polkadot-node-core-provisioner",] +polkadot-node-core-pvf = [ "dep:polkadot-node-core-pvf",] +polkadot-node-core-pvf-checker = [ "dep:polkadot-node-core-pvf-checker",] +polkadot-node-core-pvf-common = [ "dep:polkadot-node-core-pvf-common",] +polkadot-node-core-pvf-execute-worker = [ "dep:polkadot-node-core-pvf-execute-worker",] +polkadot-node-core-pvf-prepare-worker = [ "dep:polkadot-node-core-pvf-prepare-worker",] +polkadot-node-core-runtime-api = [ "dep:polkadot-node-core-runtime-api",] +polkadot-node-jaeger = [ "dep:polkadot-node-jaeger",] +polkadot-node-metrics = [ "dep:polkadot-node-metrics",] +polkadot-node-network-protocol = [ "dep:polkadot-node-network-protocol",] +polkadot-node-primitives = [ "dep:polkadot-node-primitives",] +polkadot-node-subsystem = [ "dep:polkadot-node-subsystem",] +polkadot-node-subsystem-types = [ "dep:polkadot-node-subsystem-types",] +polkadot-node-subsystem-util = [ "dep:polkadot-node-subsystem-util",] +polkadot-overseer = [ "dep:polkadot-overseer",] +polkadot-rpc = [ "dep:polkadot-rpc",] +polkadot-service = [ "dep:polkadot-service",] +polkadot-statement-distribution = [ "dep:polkadot-statement-distribution",] +polkadot-statement-table = [ "dep:polkadot-statement-table",] +sc-allocator = [ "dep:sc-allocator",] +sc-authority-discovery = [ "dep:sc-authority-discovery",] +sc-basic-authorship = [ "dep:sc-basic-authorship",] +sc-block-builder = [ "dep:sc-block-builder",] +sc-chain-spec = [ "dep:sc-chain-spec",] +sc-cli = [ "dep:sc-cli",] +sc-client-api = [ "dep:sc-client-api",] +sc-client-db = [ "dep:sc-client-db",] +sc-consensus = [ "dep:sc-consensus",] +sc-consensus-aura = [ "dep:sc-consensus-aura",] +sc-consensus-babe = [ "dep:sc-consensus-babe",] +sc-consensus-babe-rpc = [ "dep:sc-consensus-babe-rpc",] +sc-consensus-beefy = [ "dep:sc-consensus-beefy",] +sc-consensus-beefy-rpc = [ "dep:sc-consensus-beefy-rpc",] +sc-consensus-epochs = [ "dep:sc-consensus-epochs",] +sc-consensus-grandpa = [ "dep:sc-consensus-grandpa",] +sc-consensus-grandpa-rpc = [ "dep:sc-consensus-grandpa-rpc",] +sc-consensus-manual-seal = [ "dep:sc-consensus-manual-seal",] +sc-consensus-pow = [ "dep:sc-consensus-pow",] +sc-consensus-slots = [ "dep:sc-consensus-slots",] +sc-executor = [ "dep:sc-executor",] +sc-executor-common = [ "dep:sc-executor-common",] +sc-executor-polkavm = [ "dep:sc-executor-polkavm",] +sc-executor-wasmtime = [ "dep:sc-executor-wasmtime",] +sc-informant = [ "dep:sc-informant",] +sc-keystore = [ "dep:sc-keystore",] +sc-mixnet = [ "dep:sc-mixnet",] +sc-network = [ "dep:sc-network",] +sc-network-common = [ "dep:sc-network-common",] +sc-network-gossip = [ "dep:sc-network-gossip",] +sc-network-light = [ "dep:sc-network-light",] +sc-network-statement = [ "dep:sc-network-statement",] +sc-network-sync = [ "dep:sc-network-sync",] +sc-network-transactions = [ "dep:sc-network-transactions",] +sc-network-types = [ "dep:sc-network-types",] +sc-offchain = [ "dep:sc-offchain",] +sc-proposer-metrics = [ "dep:sc-proposer-metrics",] +sc-rpc = [ "dep:sc-rpc",] +sc-rpc-api = [ "dep:sc-rpc-api",] +sc-rpc-server = [ "dep:sc-rpc-server",] +sc-rpc-spec-v2 = [ "dep:sc-rpc-spec-v2",] +sc-service = [ "dep:sc-service",] +sc-state-db = [ "dep:sc-state-db",] +sc-statement-store = [ "dep:sc-statement-store",] +sc-storage-monitor = [ "dep:sc-storage-monitor",] +sc-sync-state-rpc = [ "dep:sc-sync-state-rpc",] +sc-sysinfo = [ "dep:sc-sysinfo",] +sc-telemetry = [ "dep:sc-telemetry",] +sc-tracing = [ "dep:sc-tracing",] +sc-transaction-pool = [ "dep:sc-transaction-pool",] +sc-transaction-pool-api = [ "dep:sc-transaction-pool-api",] +sc-utils = [ "dep:sc-utils",] +snowbridge-runtime-test-common = [ "dep:snowbridge-runtime-test-common",] +sp-blockchain = [ "dep:sp-blockchain",] +sp-consensus = [ "dep:sp-consensus",] +sp-core-hashing = [ "dep:sp-core-hashing",] +sp-core-hashing-proc-macro = [ "dep:sp-core-hashing-proc-macro",] +sp-database = [ "dep:sp-database",] +sp-maybe-compressed-blob = [ "dep:sp-maybe-compressed-blob",] +sp-panic-handler = [ "dep:sp-panic-handler",] +sp-rpc = [ "dep:sp-rpc",] +staging-node-inspect = [ "dep:staging-node-inspect",] +staging-tracking-allocator = [ "dep:staging-tracking-allocator",] +subkey = [ "dep:subkey",] +substrate-build-script-utils = [ "dep:substrate-build-script-utils",] +substrate-frame-cli = [ "dep:substrate-frame-cli",] +substrate-frame-rpc-support = [ "dep:substrate-frame-rpc-support",] +substrate-frame-rpc-system = [ "dep:substrate-frame-rpc-system",] +substrate-prometheus-endpoint = [ "dep:substrate-prometheus-endpoint",] +substrate-rpc-client = [ "dep:substrate-rpc-client",] +substrate-state-trie-migration-rpc = [ "dep:substrate-state-trie-migration-rpc",] +substrate-wasm-builder = [ "dep:substrate-wasm-builder",] +tracing-gum = [ "dep:tracing-gum",] +xcm-emulator = [ "dep:xcm-emulator",] +xcm-simulator = [ "dep:xcm-simulator",] +xcm-simulator-example = [ "dep:xcm-simulator-example",] [dependencies.asset-hub-rococo-runtime] path = "../cumulus/parachains/runtimes/assets/asset-hub-rococo" diff --git a/umbrella/src/lib.rs b/umbrella/src/lib.rs index dc17f82f150b..63248d73d897 100644 --- a/umbrella/src/lib.rs +++ b/umbrella/src/lib.rs @@ -1,414 +1,1201 @@ #![cfg_attr(not(feature = "std"), no_std)] - -#[cfg(feature = "runtime")] -pub use runtime::*; -#[cfg(feature = "node")] -pub use node::*; - -#[cfg(feature = "runtime")] -pub mod runtime { - pub use asset_hub_rococo_runtime; - pub use asset_hub_westend_runtime; - pub use assets_common; - pub use binary_merkle_tree; - pub use bp_asset_hub_rococo; - pub use bp_asset_hub_westend; - pub use bp_bridge_hub_cumulus; - pub use bp_bridge_hub_kusama; - pub use bp_bridge_hub_polkadot; - pub use bp_bridge_hub_rococo; - pub use bp_bridge_hub_westend; - pub use bp_header_chain; - pub use bp_kusama; - pub use bp_messages; - pub use bp_parachains; - pub use bp_polkadot; - pub use bp_polkadot_bulletin; - pub use bp_polkadot_core; - pub use bp_relayers; - pub use bp_rococo; - pub use bp_runtime; - pub use bp_test_utils; - pub use bp_westend; - pub use bp_xcm_bridge_hub; - pub use bp_xcm_bridge_hub_router; - pub use bridge_hub_common; - pub use bridge_hub_rococo_runtime; - pub use bridge_hub_westend_runtime; - pub use bridge_runtime_common; - pub use collectives_westend_runtime; - pub use contracts_rococo_runtime; - pub use coretime_rococo_runtime; - pub use coretime_westend_runtime; - pub use cumulus_pallet_aura_ext; - pub use cumulus_pallet_dmp_queue; - pub use cumulus_pallet_parachain_system; - pub use cumulus_pallet_parachain_system_proc_macro; - pub use cumulus_pallet_session_benchmarking; - pub use cumulus_pallet_solo_to_para; - pub use cumulus_pallet_xcm; - pub use cumulus_pallet_xcmp_queue; - pub use cumulus_ping; - pub use cumulus_primitives_aura; - pub use cumulus_primitives_core; - pub use cumulus_primitives_parachain_inherent; - pub use cumulus_primitives_proof_size_hostfunction; - pub use cumulus_primitives_storage_weight_reclaim; - pub use cumulus_primitives_timestamp; - pub use cumulus_primitives_utility; - pub use frame_benchmarking; - pub use frame_benchmarking_pallet_pov; - pub use frame_election_provider_solution_type; - pub use frame_election_provider_support; - pub use frame_executive; - pub use frame_support; - pub use frame_support_procedural; - pub use frame_support_procedural_tools_derive; - pub use frame_system; - pub use frame_system_benchmarking; - pub use frame_system_rpc_runtime_api; - pub use frame_try_runtime; - pub use glutton_westend_runtime; - pub use pallet_alliance; - pub use pallet_asset_conversion; - pub use pallet_asset_conversion_ops; - pub use pallet_asset_conversion_tx_payment; - pub use pallet_asset_rate; - pub use pallet_asset_tx_payment; - pub use pallet_assets; - pub use pallet_atomic_swap; - pub use pallet_aura; - pub use pallet_authority_discovery; - pub use pallet_authorship; - pub use pallet_babe; - pub use pallet_bags_list; - pub use pallet_balances; - pub use pallet_beefy; - pub use pallet_beefy_mmr; - pub use pallet_bounties; - pub use pallet_bridge_grandpa; - pub use pallet_bridge_messages; - pub use pallet_bridge_parachains; - pub use pallet_bridge_relayers; - pub use pallet_broker; - pub use pallet_child_bounties; - pub use pallet_collator_selection; - pub use pallet_collective; - pub use pallet_collective_content; - pub use pallet_contracts; - pub use pallet_contracts_proc_macro; - pub use pallet_contracts_uapi; - pub use pallet_conviction_voting; - pub use pallet_core_fellowship; - pub use pallet_default_config_example; - pub use pallet_democracy; - pub use pallet_dev_mode; - pub use pallet_election_provider_multi_phase; - pub use pallet_election_provider_support_benchmarking; - pub use pallet_elections_phragmen; - pub use pallet_example_basic; - pub use pallet_example_offchain_worker; - pub use pallet_example_split; - pub use pallet_example_tasks; - pub use pallet_fast_unstake; - pub use pallet_glutton; - pub use pallet_grandpa; - pub use pallet_identity; - pub use pallet_im_online; - pub use pallet_indices; - pub use pallet_insecure_randomness_collective_flip; - pub use pallet_lottery; - pub use pallet_membership; - pub use pallet_message_queue; - pub use pallet_migrations; - pub use pallet_mixnet; - pub use pallet_mmr; - pub use pallet_multisig; - pub use pallet_nft_fractionalization; - pub use pallet_nfts; - pub use pallet_nfts_runtime_api; - pub use pallet_nis; - pub use pallet_node_authorization; - pub use pallet_nomination_pools; - pub use pallet_nomination_pools_benchmarking; - pub use pallet_nomination_pools_runtime_api; - pub use pallet_offences; - pub use pallet_offences_benchmarking; - pub use pallet_paged_list; - pub use pallet_parameters; - pub use pallet_preimage; - pub use pallet_proxy; - pub use pallet_ranked_collective; - pub use pallet_recovery; - pub use pallet_referenda; - pub use pallet_remark; - pub use pallet_root_offences; - pub use pallet_root_testing; - pub use pallet_safe_mode; - pub use pallet_salary; - pub use pallet_scheduler; - pub use pallet_scored_pool; - pub use pallet_session; - pub use pallet_session_benchmarking; - pub use pallet_skip_feeless_payment; - pub use pallet_society; - pub use pallet_staking; - pub use pallet_staking_reward_curve; - pub use pallet_staking_reward_fn; - pub use pallet_staking_runtime_api; - pub use pallet_state_trie_migration; - pub use pallet_statement; - pub use pallet_sudo; - pub use pallet_timestamp; - pub use pallet_tips; - pub use pallet_transaction_payment; - pub use pallet_transaction_payment_rpc_runtime_api; - pub use pallet_transaction_storage; - pub use pallet_treasury; - pub use pallet_tx_pause; - pub use pallet_uniques; - pub use pallet_utility; - pub use pallet_vesting; - pub use pallet_whitelist; - pub use pallet_xcm; - pub use pallet_xcm_benchmarks; - pub use pallet_xcm_bridge_hub; - pub use pallet_xcm_bridge_hub_router; - pub use parachains_common; - pub use penpal_runtime; - pub use people_rococo_runtime; - pub use people_westend_runtime; - pub use polkadot_core_primitives; - pub use polkadot_parachain_primitives; - pub use polkadot_primitives; - pub use polkadot_runtime_common; - pub use polkadot_runtime_metrics; - pub use polkadot_runtime_parachains; - pub use rococo_parachain_runtime; - pub use rococo_runtime; - pub use rococo_runtime_constants; - pub use sc_chain_spec_derive; - pub use sc_tracing_proc_macro; - pub use seedling_runtime; - pub use shell_runtime; - pub use slot_range_helper; - pub use snowbridge_beacon_primitives; - pub use snowbridge_core; - pub use snowbridge_ethereum; - pub use snowbridge_outbound_queue_merkle_tree; - pub use snowbridge_outbound_queue_runtime_api; - pub use snowbridge_pallet_ethereum_client; - pub use snowbridge_pallet_ethereum_client_fixtures; - pub use snowbridge_pallet_inbound_queue; - pub use snowbridge_pallet_inbound_queue_fixtures; - pub use snowbridge_pallet_outbound_queue; - pub use snowbridge_pallet_system; - pub use snowbridge_router_primitives; - pub use snowbridge_runtime_common; - pub use snowbridge_system_runtime_api; - pub use sp_api; - pub use sp_api_proc_macro; - pub use sp_application_crypto; - pub use sp_arithmetic; - pub use sp_authority_discovery; - pub use sp_block_builder; - pub use sp_consensus_aura; - pub use sp_consensus_babe; - pub use sp_consensus_beefy; - pub use sp_consensus_grandpa; - pub use sp_consensus_pow; - pub use sp_consensus_slots; - pub use sp_core; - pub use sp_crypto_ec_utils; - pub use sp_crypto_hashing; - pub use sp_crypto_hashing_proc_macro; - pub use sp_debug_derive; - pub use sp_externalities; - pub use sp_genesis_builder; - pub use sp_inherents; - pub use sp_io; - pub use sp_keyring; - pub use sp_keystore; - pub use sp_metadata_ir; - pub use sp_mixnet; - pub use sp_mmr_primitives; - pub use sp_npos_elections; - pub use sp_offchain; - pub use sp_runtime; - pub use sp_runtime_interface; - pub use sp_runtime_interface_proc_macro; - pub use sp_session; - pub use sp_staking; - pub use sp_state_machine; - pub use sp_statement_store; - pub use sp_std; - pub use sp_storage; - pub use sp_timestamp; - pub use sp_tracing; - pub use sp_transaction_pool; - pub use sp_transaction_storage_proof; - pub use sp_trie; - pub use sp_version; - pub use sp_version_proc_macro; - pub use sp_wasm_interface; - pub use sp_weights; - pub use staging_parachain_info; - pub use staging_xcm; - pub use staging_xcm_builder; - pub use staging_xcm_executor; - pub use substrate_bip39; - pub use testnet_parachains_constants; - pub use tracing_gum_proc_macro; - pub use westend_runtime; - pub use westend_runtime_constants; - pub use xcm_fee_payment_runtime_api; - pub use xcm_procedural; -} - -#[cfg(feature = "node")] -pub mod node { - pub use asset_test_utils; - pub use bridge_hub_test_utils; - pub use cumulus_client_cli; - pub use cumulus_client_collator; - pub use cumulus_client_consensus_aura; - pub use cumulus_client_consensus_common; - pub use cumulus_client_consensus_proposer; - pub use cumulus_client_consensus_relay_chain; - pub use cumulus_client_network; - pub use cumulus_client_parachain_inherent; - pub use cumulus_client_pov_recovery; - pub use cumulus_client_service; - pub use cumulus_relay_chain_inprocess_interface; - pub use cumulus_relay_chain_interface; - pub use cumulus_relay_chain_minimal_node; - pub use cumulus_relay_chain_rpc_interface; - pub use cumulus_test_relay_sproof_builder; - pub use emulated_integration_tests_common; - pub use fork_tree; - pub use frame_benchmarking_cli; - pub use frame_remote_externalities; - pub use frame_support_procedural_tools; - pub use generate_bags; - pub use mmr_gadget; - pub use mmr_rpc; - pub use pallet_contracts_mock_network; - pub use pallet_transaction_payment_rpc; - pub use parachains_runtimes_test_utils; - pub use polkadot_approval_distribution; - pub use polkadot_availability_bitfield_distribution; - pub use polkadot_availability_distribution; - pub use polkadot_availability_recovery; - pub use polkadot_cli; - pub use polkadot_collator_protocol; - pub use polkadot_dispute_distribution; - pub use polkadot_erasure_coding; - pub use polkadot_gossip_support; - pub use polkadot_network_bridge; - pub use polkadot_node_collation_generation; - pub use polkadot_node_core_approval_voting; - pub use polkadot_node_core_av_store; - pub use polkadot_node_core_backing; - pub use polkadot_node_core_bitfield_signing; - pub use polkadot_node_core_candidate_validation; - pub use polkadot_node_core_chain_api; - pub use polkadot_node_core_chain_selection; - pub use polkadot_node_core_dispute_coordinator; - pub use polkadot_node_core_parachains_inherent; - pub use polkadot_node_core_prospective_parachains; - pub use polkadot_node_core_provisioner; - pub use polkadot_node_core_pvf; - pub use polkadot_node_core_pvf_checker; - pub use polkadot_node_core_pvf_common; - pub use polkadot_node_core_pvf_execute_worker; - pub use polkadot_node_core_pvf_prepare_worker; - pub use polkadot_node_core_runtime_api; - pub use polkadot_node_jaeger; - pub use polkadot_node_metrics; - pub use polkadot_node_network_protocol; - pub use polkadot_node_primitives; - pub use polkadot_node_subsystem; - pub use polkadot_node_subsystem_types; - pub use polkadot_node_subsystem_util; - pub use polkadot_overseer; - pub use polkadot_rpc; - pub use polkadot_service; - pub use polkadot_statement_distribution; - pub use polkadot_statement_table; - pub use sc_allocator; - pub use sc_authority_discovery; - pub use sc_basic_authorship; - pub use sc_block_builder; - pub use sc_chain_spec; - pub use sc_cli; - pub use sc_client_api; - pub use sc_client_db; - pub use sc_consensus; - pub use sc_consensus_aura; - pub use sc_consensus_babe; - pub use sc_consensus_babe_rpc; - pub use sc_consensus_beefy; - pub use sc_consensus_beefy_rpc; - pub use sc_consensus_epochs; - pub use sc_consensus_grandpa; - pub use sc_consensus_grandpa_rpc; - pub use sc_consensus_manual_seal; - pub use sc_consensus_pow; - pub use sc_consensus_slots; - pub use sc_executor; - pub use sc_executor_common; - pub use sc_executor_polkavm; - pub use sc_executor_wasmtime; - pub use sc_informant; - pub use sc_keystore; - pub use sc_mixnet; - pub use sc_network; - pub use sc_network_common; - pub use sc_network_gossip; - pub use sc_network_light; - pub use sc_network_statement; - pub use sc_network_sync; - pub use sc_network_transactions; - pub use sc_network_types; - pub use sc_offchain; - pub use sc_proposer_metrics; - pub use sc_rpc; - pub use sc_rpc_api; - pub use sc_rpc_server; - pub use sc_rpc_spec_v2; - pub use sc_service; - pub use sc_state_db; - pub use sc_statement_store; - pub use sc_storage_monitor; - pub use sc_sync_state_rpc; - pub use sc_sysinfo; - pub use sc_telemetry; - pub use sc_tracing; - pub use sc_transaction_pool; - pub use sc_transaction_pool_api; - pub use sc_utils; - pub use snowbridge_runtime_test_common; - pub use sp_blockchain; - pub use sp_consensus; - pub use sp_core_hashing; - pub use sp_core_hashing_proc_macro; - pub use sp_database; - pub use sp_maybe_compressed_blob; - pub use sp_panic_handler; - pub use sp_rpc; - pub use staging_node_inspect; - pub use staging_tracking_allocator; - pub use subkey; - pub use substrate_build_script_utils; - pub use substrate_frame_cli; - pub use substrate_frame_rpc_support; - pub use substrate_frame_rpc_system; - pub use substrate_prometheus_endpoint; - pub use substrate_rpc_client; - pub use substrate_state_trie_migration_rpc; - pub use substrate_wasm_builder; - pub use tracing_gum; - pub use xcm_emulator; - pub use xcm_simulator; - pub use xcm_simulator_example; -} + +#[cfg(feature = "asset-hub-rococo-runtime")] +pub use asset_hub_rococo_runtime; + +#[cfg(feature = "asset-hub-westend-runtime")] +pub use asset_hub_westend_runtime; + +#[cfg(feature = "asset-test-utils")] +pub use asset_test_utils; + +#[cfg(feature = "assets-common")] +pub use assets_common; + +#[cfg(feature = "binary-merkle-tree")] +pub use binary_merkle_tree; + +#[cfg(feature = "bp-asset-hub-rococo")] +pub use bp_asset_hub_rococo; + +#[cfg(feature = "bp-asset-hub-westend")] +pub use bp_asset_hub_westend; + +#[cfg(feature = "bp-bridge-hub-cumulus")] +pub use bp_bridge_hub_cumulus; + +#[cfg(feature = "bp-bridge-hub-kusama")] +pub use bp_bridge_hub_kusama; + +#[cfg(feature = "bp-bridge-hub-polkadot")] +pub use bp_bridge_hub_polkadot; + +#[cfg(feature = "bp-bridge-hub-rococo")] +pub use bp_bridge_hub_rococo; + +#[cfg(feature = "bp-bridge-hub-westend")] +pub use bp_bridge_hub_westend; + +#[cfg(feature = "bp-header-chain")] +pub use bp_header_chain; + +#[cfg(feature = "bp-kusama")] +pub use bp_kusama; + +#[cfg(feature = "bp-messages")] +pub use bp_messages; + +#[cfg(feature = "bp-parachains")] +pub use bp_parachains; + +#[cfg(feature = "bp-polkadot")] +pub use bp_polkadot; + +#[cfg(feature = "bp-polkadot-bulletin")] +pub use bp_polkadot_bulletin; + +#[cfg(feature = "bp-polkadot-core")] +pub use bp_polkadot_core; + +#[cfg(feature = "bp-relayers")] +pub use bp_relayers; + +#[cfg(feature = "bp-rococo")] +pub use bp_rococo; + +#[cfg(feature = "bp-runtime")] +pub use bp_runtime; + +#[cfg(feature = "bp-test-utils")] +pub use bp_test_utils; + +#[cfg(feature = "bp-westend")] +pub use bp_westend; + +#[cfg(feature = "bp-xcm-bridge-hub")] +pub use bp_xcm_bridge_hub; + +#[cfg(feature = "bp-xcm-bridge-hub-router")] +pub use bp_xcm_bridge_hub_router; + +#[cfg(feature = "bridge-hub-common")] +pub use bridge_hub_common; + +#[cfg(feature = "bridge-hub-rococo-runtime")] +pub use bridge_hub_rococo_runtime; + +#[cfg(feature = "bridge-hub-test-utils")] +pub use bridge_hub_test_utils; + +#[cfg(feature = "bridge-hub-westend-runtime")] +pub use bridge_hub_westend_runtime; + +#[cfg(feature = "bridge-runtime-common")] +pub use bridge_runtime_common; + +#[cfg(feature = "collectives-westend-runtime")] +pub use collectives_westend_runtime; + +#[cfg(feature = "contracts-rococo-runtime")] +pub use contracts_rococo_runtime; + +#[cfg(feature = "coretime-rococo-runtime")] +pub use coretime_rococo_runtime; + +#[cfg(feature = "coretime-westend-runtime")] +pub use coretime_westend_runtime; + +#[cfg(feature = "cumulus-client-cli")] +pub use cumulus_client_cli; + +#[cfg(feature = "cumulus-client-collator")] +pub use cumulus_client_collator; + +#[cfg(feature = "cumulus-client-consensus-aura")] +pub use cumulus_client_consensus_aura; + +#[cfg(feature = "cumulus-client-consensus-common")] +pub use cumulus_client_consensus_common; + +#[cfg(feature = "cumulus-client-consensus-proposer")] +pub use cumulus_client_consensus_proposer; + +#[cfg(feature = "cumulus-client-consensus-relay-chain")] +pub use cumulus_client_consensus_relay_chain; + +#[cfg(feature = "cumulus-client-network")] +pub use cumulus_client_network; + +#[cfg(feature = "cumulus-client-parachain-inherent")] +pub use cumulus_client_parachain_inherent; + +#[cfg(feature = "cumulus-client-pov-recovery")] +pub use cumulus_client_pov_recovery; + +#[cfg(feature = "cumulus-client-service")] +pub use cumulus_client_service; + +#[cfg(feature = "cumulus-pallet-aura-ext")] +pub use cumulus_pallet_aura_ext; + +#[cfg(feature = "cumulus-pallet-dmp-queue")] +pub use cumulus_pallet_dmp_queue; + +#[cfg(feature = "cumulus-pallet-parachain-system")] +pub use cumulus_pallet_parachain_system; + +#[cfg(feature = "cumulus-pallet-parachain-system-proc-macro")] +pub use cumulus_pallet_parachain_system_proc_macro; + +#[cfg(feature = "cumulus-pallet-session-benchmarking")] +pub use cumulus_pallet_session_benchmarking; + +#[cfg(feature = "cumulus-pallet-solo-to-para")] +pub use cumulus_pallet_solo_to_para; + +#[cfg(feature = "cumulus-pallet-xcm")] +pub use cumulus_pallet_xcm; + +#[cfg(feature = "cumulus-pallet-xcmp-queue")] +pub use cumulus_pallet_xcmp_queue; + +#[cfg(feature = "cumulus-ping")] +pub use cumulus_ping; + +#[cfg(feature = "cumulus-primitives-aura")] +pub use cumulus_primitives_aura; + +#[cfg(feature = "cumulus-primitives-core")] +pub use cumulus_primitives_core; + +#[cfg(feature = "cumulus-primitives-parachain-inherent")] +pub use cumulus_primitives_parachain_inherent; + +#[cfg(feature = "cumulus-primitives-proof-size-hostfunction")] +pub use cumulus_primitives_proof_size_hostfunction; + +#[cfg(feature = "cumulus-primitives-storage-weight-reclaim")] +pub use cumulus_primitives_storage_weight_reclaim; + +#[cfg(feature = "cumulus-primitives-timestamp")] +pub use cumulus_primitives_timestamp; + +#[cfg(feature = "cumulus-primitives-utility")] +pub use cumulus_primitives_utility; + +#[cfg(feature = "cumulus-relay-chain-inprocess-interface")] +pub use cumulus_relay_chain_inprocess_interface; + +#[cfg(feature = "cumulus-relay-chain-interface")] +pub use cumulus_relay_chain_interface; + +#[cfg(feature = "cumulus-relay-chain-minimal-node")] +pub use cumulus_relay_chain_minimal_node; + +#[cfg(feature = "cumulus-relay-chain-rpc-interface")] +pub use cumulus_relay_chain_rpc_interface; + +#[cfg(feature = "cumulus-test-relay-sproof-builder")] +pub use cumulus_test_relay_sproof_builder; + +#[cfg(feature = "emulated-integration-tests-common")] +pub use emulated_integration_tests_common; + +#[cfg(feature = "fork-tree")] +pub use fork_tree; + +#[cfg(feature = "frame-benchmarking")] +pub use frame_benchmarking; + +#[cfg(feature = "frame-benchmarking-cli")] +pub use frame_benchmarking_cli; + +#[cfg(feature = "frame-benchmarking-pallet-pov")] +pub use frame_benchmarking_pallet_pov; + +#[cfg(feature = "frame-election-provider-solution-type")] +pub use frame_election_provider_solution_type; + +#[cfg(feature = "frame-election-provider-support")] +pub use frame_election_provider_support; + +#[cfg(feature = "frame-executive")] +pub use frame_executive; + +#[cfg(feature = "frame-remote-externalities")] +pub use frame_remote_externalities; + +#[cfg(feature = "frame-support")] +pub use frame_support; + +#[cfg(feature = "frame-support-procedural")] +pub use frame_support_procedural; + +#[cfg(feature = "frame-support-procedural-tools")] +pub use frame_support_procedural_tools; + +#[cfg(feature = "frame-support-procedural-tools-derive")] +pub use frame_support_procedural_tools_derive; + +#[cfg(feature = "frame-system")] +pub use frame_system; + +#[cfg(feature = "frame-system-benchmarking")] +pub use frame_system_benchmarking; + +#[cfg(feature = "frame-system-rpc-runtime-api")] +pub use frame_system_rpc_runtime_api; + +#[cfg(feature = "frame-try-runtime")] +pub use frame_try_runtime; + +#[cfg(feature = "generate-bags")] +pub use generate_bags; + +#[cfg(feature = "glutton-westend-runtime")] +pub use glutton_westend_runtime; + +#[cfg(feature = "mmr-gadget")] +pub use mmr_gadget; + +#[cfg(feature = "mmr-rpc")] +pub use mmr_rpc; + +#[cfg(feature = "pallet-alliance")] +pub use pallet_alliance; + +#[cfg(feature = "pallet-asset-conversion")] +pub use pallet_asset_conversion; + +#[cfg(feature = "pallet-asset-conversion-ops")] +pub use pallet_asset_conversion_ops; + +#[cfg(feature = "pallet-asset-conversion-tx-payment")] +pub use pallet_asset_conversion_tx_payment; + +#[cfg(feature = "pallet-asset-rate")] +pub use pallet_asset_rate; + +#[cfg(feature = "pallet-asset-tx-payment")] +pub use pallet_asset_tx_payment; + +#[cfg(feature = "pallet-assets")] +pub use pallet_assets; + +#[cfg(feature = "pallet-atomic-swap")] +pub use pallet_atomic_swap; + +#[cfg(feature = "pallet-aura")] +pub use pallet_aura; + +#[cfg(feature = "pallet-authority-discovery")] +pub use pallet_authority_discovery; + +#[cfg(feature = "pallet-authorship")] +pub use pallet_authorship; + +#[cfg(feature = "pallet-babe")] +pub use pallet_babe; + +#[cfg(feature = "pallet-bags-list")] +pub use pallet_bags_list; + +#[cfg(feature = "pallet-balances")] +pub use pallet_balances; + +#[cfg(feature = "pallet-beefy")] +pub use pallet_beefy; + +#[cfg(feature = "pallet-beefy-mmr")] +pub use pallet_beefy_mmr; + +#[cfg(feature = "pallet-bounties")] +pub use pallet_bounties; + +#[cfg(feature = "pallet-bridge-grandpa")] +pub use pallet_bridge_grandpa; + +#[cfg(feature = "pallet-bridge-messages")] +pub use pallet_bridge_messages; + +#[cfg(feature = "pallet-bridge-parachains")] +pub use pallet_bridge_parachains; + +#[cfg(feature = "pallet-bridge-relayers")] +pub use pallet_bridge_relayers; + +#[cfg(feature = "pallet-broker")] +pub use pallet_broker; + +#[cfg(feature = "pallet-child-bounties")] +pub use pallet_child_bounties; + +#[cfg(feature = "pallet-collator-selection")] +pub use pallet_collator_selection; + +#[cfg(feature = "pallet-collective")] +pub use pallet_collective; + +#[cfg(feature = "pallet-collective-content")] +pub use pallet_collective_content; + +#[cfg(feature = "pallet-contracts")] +pub use pallet_contracts; + +#[cfg(feature = "pallet-contracts-mock-network")] +pub use pallet_contracts_mock_network; + +#[cfg(feature = "pallet-contracts-proc-macro")] +pub use pallet_contracts_proc_macro; + +#[cfg(feature = "pallet-contracts-uapi")] +pub use pallet_contracts_uapi; + +#[cfg(feature = "pallet-conviction-voting")] +pub use pallet_conviction_voting; + +#[cfg(feature = "pallet-core-fellowship")] +pub use pallet_core_fellowship; + +#[cfg(feature = "pallet-default-config-example")] +pub use pallet_default_config_example; + +#[cfg(feature = "pallet-democracy")] +pub use pallet_democracy; + +#[cfg(feature = "pallet-dev-mode")] +pub use pallet_dev_mode; + +#[cfg(feature = "pallet-election-provider-multi-phase")] +pub use pallet_election_provider_multi_phase; + +#[cfg(feature = "pallet-election-provider-support-benchmarking")] +pub use pallet_election_provider_support_benchmarking; + +#[cfg(feature = "pallet-elections-phragmen")] +pub use pallet_elections_phragmen; + +#[cfg(feature = "pallet-example-basic")] +pub use pallet_example_basic; + +#[cfg(feature = "pallet-example-offchain-worker")] +pub use pallet_example_offchain_worker; + +#[cfg(feature = "pallet-example-split")] +pub use pallet_example_split; + +#[cfg(feature = "pallet-example-tasks")] +pub use pallet_example_tasks; + +#[cfg(feature = "pallet-fast-unstake")] +pub use pallet_fast_unstake; + +#[cfg(feature = "pallet-glutton")] +pub use pallet_glutton; + +#[cfg(feature = "pallet-grandpa")] +pub use pallet_grandpa; + +#[cfg(feature = "pallet-identity")] +pub use pallet_identity; + +#[cfg(feature = "pallet-im-online")] +pub use pallet_im_online; + +#[cfg(feature = "pallet-indices")] +pub use pallet_indices; + +#[cfg(feature = "pallet-insecure-randomness-collective-flip")] +pub use pallet_insecure_randomness_collective_flip; + +#[cfg(feature = "pallet-lottery")] +pub use pallet_lottery; + +#[cfg(feature = "pallet-membership")] +pub use pallet_membership; + +#[cfg(feature = "pallet-message-queue")] +pub use pallet_message_queue; + +#[cfg(feature = "pallet-migrations")] +pub use pallet_migrations; + +#[cfg(feature = "pallet-mixnet")] +pub use pallet_mixnet; + +#[cfg(feature = "pallet-mmr")] +pub use pallet_mmr; + +#[cfg(feature = "pallet-multisig")] +pub use pallet_multisig; + +#[cfg(feature = "pallet-nft-fractionalization")] +pub use pallet_nft_fractionalization; + +#[cfg(feature = "pallet-nfts")] +pub use pallet_nfts; + +#[cfg(feature = "pallet-nfts-runtime-api")] +pub use pallet_nfts_runtime_api; + +#[cfg(feature = "pallet-nis")] +pub use pallet_nis; + +#[cfg(feature = "pallet-node-authorization")] +pub use pallet_node_authorization; + +#[cfg(feature = "pallet-nomination-pools")] +pub use pallet_nomination_pools; + +#[cfg(feature = "pallet-nomination-pools-benchmarking")] +pub use pallet_nomination_pools_benchmarking; + +#[cfg(feature = "pallet-nomination-pools-runtime-api")] +pub use pallet_nomination_pools_runtime_api; + +#[cfg(feature = "pallet-offences")] +pub use pallet_offences; + +#[cfg(feature = "pallet-offences-benchmarking")] +pub use pallet_offences_benchmarking; + +#[cfg(feature = "pallet-paged-list")] +pub use pallet_paged_list; + +#[cfg(feature = "pallet-parameters")] +pub use pallet_parameters; + +#[cfg(feature = "pallet-preimage")] +pub use pallet_preimage; + +#[cfg(feature = "pallet-proxy")] +pub use pallet_proxy; + +#[cfg(feature = "pallet-ranked-collective")] +pub use pallet_ranked_collective; + +#[cfg(feature = "pallet-recovery")] +pub use pallet_recovery; + +#[cfg(feature = "pallet-referenda")] +pub use pallet_referenda; + +#[cfg(feature = "pallet-remark")] +pub use pallet_remark; + +#[cfg(feature = "pallet-root-offences")] +pub use pallet_root_offences; + +#[cfg(feature = "pallet-root-testing")] +pub use pallet_root_testing; + +#[cfg(feature = "pallet-safe-mode")] +pub use pallet_safe_mode; + +#[cfg(feature = "pallet-salary")] +pub use pallet_salary; + +#[cfg(feature = "pallet-scheduler")] +pub use pallet_scheduler; + +#[cfg(feature = "pallet-scored-pool")] +pub use pallet_scored_pool; + +#[cfg(feature = "pallet-session")] +pub use pallet_session; + +#[cfg(feature = "pallet-session-benchmarking")] +pub use pallet_session_benchmarking; + +#[cfg(feature = "pallet-skip-feeless-payment")] +pub use pallet_skip_feeless_payment; + +#[cfg(feature = "pallet-society")] +pub use pallet_society; + +#[cfg(feature = "pallet-staking")] +pub use pallet_staking; + +#[cfg(feature = "pallet-staking-reward-curve")] +pub use pallet_staking_reward_curve; + +#[cfg(feature = "pallet-staking-reward-fn")] +pub use pallet_staking_reward_fn; + +#[cfg(feature = "pallet-staking-runtime-api")] +pub use pallet_staking_runtime_api; + +#[cfg(feature = "pallet-state-trie-migration")] +pub use pallet_state_trie_migration; + +#[cfg(feature = "pallet-statement")] +pub use pallet_statement; + +#[cfg(feature = "pallet-sudo")] +pub use pallet_sudo; + +#[cfg(feature = "pallet-timestamp")] +pub use pallet_timestamp; + +#[cfg(feature = "pallet-tips")] +pub use pallet_tips; + +#[cfg(feature = "pallet-transaction-payment")] +pub use pallet_transaction_payment; + +#[cfg(feature = "pallet-transaction-payment-rpc")] +pub use pallet_transaction_payment_rpc; + +#[cfg(feature = "pallet-transaction-payment-rpc-runtime-api")] +pub use pallet_transaction_payment_rpc_runtime_api; + +#[cfg(feature = "pallet-transaction-storage")] +pub use pallet_transaction_storage; + +#[cfg(feature = "pallet-treasury")] +pub use pallet_treasury; + +#[cfg(feature = "pallet-tx-pause")] +pub use pallet_tx_pause; + +#[cfg(feature = "pallet-uniques")] +pub use pallet_uniques; + +#[cfg(feature = "pallet-utility")] +pub use pallet_utility; + +#[cfg(feature = "pallet-vesting")] +pub use pallet_vesting; + +#[cfg(feature = "pallet-whitelist")] +pub use pallet_whitelist; + +#[cfg(feature = "pallet-xcm")] +pub use pallet_xcm; + +#[cfg(feature = "pallet-xcm-benchmarks")] +pub use pallet_xcm_benchmarks; + +#[cfg(feature = "pallet-xcm-bridge-hub")] +pub use pallet_xcm_bridge_hub; + +#[cfg(feature = "pallet-xcm-bridge-hub-router")] +pub use pallet_xcm_bridge_hub_router; + +#[cfg(feature = "parachains-common")] +pub use parachains_common; + +#[cfg(feature = "parachains-runtimes-test-utils")] +pub use parachains_runtimes_test_utils; + +#[cfg(feature = "penpal-runtime")] +pub use penpal_runtime; + +#[cfg(feature = "people-rococo-runtime")] +pub use people_rococo_runtime; + +#[cfg(feature = "people-westend-runtime")] +pub use people_westend_runtime; + +#[cfg(feature = "polkadot-approval-distribution")] +pub use polkadot_approval_distribution; + +#[cfg(feature = "polkadot-availability-bitfield-distribution")] +pub use polkadot_availability_bitfield_distribution; + +#[cfg(feature = "polkadot-availability-distribution")] +pub use polkadot_availability_distribution; + +#[cfg(feature = "polkadot-availability-recovery")] +pub use polkadot_availability_recovery; + +#[cfg(feature = "polkadot-cli")] +pub use polkadot_cli; + +#[cfg(feature = "polkadot-collator-protocol")] +pub use polkadot_collator_protocol; + +#[cfg(feature = "polkadot-core-primitives")] +pub use polkadot_core_primitives; + +#[cfg(feature = "polkadot-dispute-distribution")] +pub use polkadot_dispute_distribution; + +#[cfg(feature = "polkadot-erasure-coding")] +pub use polkadot_erasure_coding; + +#[cfg(feature = "polkadot-gossip-support")] +pub use polkadot_gossip_support; + +#[cfg(feature = "polkadot-network-bridge")] +pub use polkadot_network_bridge; + +#[cfg(feature = "polkadot-node-collation-generation")] +pub use polkadot_node_collation_generation; + +#[cfg(feature = "polkadot-node-core-approval-voting")] +pub use polkadot_node_core_approval_voting; + +#[cfg(feature = "polkadot-node-core-av-store")] +pub use polkadot_node_core_av_store; + +#[cfg(feature = "polkadot-node-core-backing")] +pub use polkadot_node_core_backing; + +#[cfg(feature = "polkadot-node-core-bitfield-signing")] +pub use polkadot_node_core_bitfield_signing; + +#[cfg(feature = "polkadot-node-core-candidate-validation")] +pub use polkadot_node_core_candidate_validation; + +#[cfg(feature = "polkadot-node-core-chain-api")] +pub use polkadot_node_core_chain_api; + +#[cfg(feature = "polkadot-node-core-chain-selection")] +pub use polkadot_node_core_chain_selection; + +#[cfg(feature = "polkadot-node-core-dispute-coordinator")] +pub use polkadot_node_core_dispute_coordinator; + +#[cfg(feature = "polkadot-node-core-parachains-inherent")] +pub use polkadot_node_core_parachains_inherent; + +#[cfg(feature = "polkadot-node-core-prospective-parachains")] +pub use polkadot_node_core_prospective_parachains; + +#[cfg(feature = "polkadot-node-core-provisioner")] +pub use polkadot_node_core_provisioner; + +#[cfg(feature = "polkadot-node-core-pvf")] +pub use polkadot_node_core_pvf; + +#[cfg(feature = "polkadot-node-core-pvf-checker")] +pub use polkadot_node_core_pvf_checker; + +#[cfg(feature = "polkadot-node-core-pvf-common")] +pub use polkadot_node_core_pvf_common; + +#[cfg(feature = "polkadot-node-core-pvf-execute-worker")] +pub use polkadot_node_core_pvf_execute_worker; + +#[cfg(feature = "polkadot-node-core-pvf-prepare-worker")] +pub use polkadot_node_core_pvf_prepare_worker; + +#[cfg(feature = "polkadot-node-core-runtime-api")] +pub use polkadot_node_core_runtime_api; + +#[cfg(feature = "polkadot-node-jaeger")] +pub use polkadot_node_jaeger; + +#[cfg(feature = "polkadot-node-metrics")] +pub use polkadot_node_metrics; + +#[cfg(feature = "polkadot-node-network-protocol")] +pub use polkadot_node_network_protocol; + +#[cfg(feature = "polkadot-node-primitives")] +pub use polkadot_node_primitives; + +#[cfg(feature = "polkadot-node-subsystem")] +pub use polkadot_node_subsystem; + +#[cfg(feature = "polkadot-node-subsystem-types")] +pub use polkadot_node_subsystem_types; + +#[cfg(feature = "polkadot-node-subsystem-util")] +pub use polkadot_node_subsystem_util; + +#[cfg(feature = "polkadot-overseer")] +pub use polkadot_overseer; + +#[cfg(feature = "polkadot-parachain-primitives")] +pub use polkadot_parachain_primitives; + +#[cfg(feature = "polkadot-primitives")] +pub use polkadot_primitives; + +#[cfg(feature = "polkadot-rpc")] +pub use polkadot_rpc; + +#[cfg(feature = "polkadot-runtime-common")] +pub use polkadot_runtime_common; + +#[cfg(feature = "polkadot-runtime-metrics")] +pub use polkadot_runtime_metrics; + +#[cfg(feature = "polkadot-runtime-parachains")] +pub use polkadot_runtime_parachains; + +#[cfg(feature = "polkadot-service")] +pub use polkadot_service; + +#[cfg(feature = "polkadot-statement-distribution")] +pub use polkadot_statement_distribution; + +#[cfg(feature = "polkadot-statement-table")] +pub use polkadot_statement_table; + +#[cfg(feature = "rococo-parachain-runtime")] +pub use rococo_parachain_runtime; + +#[cfg(feature = "rococo-runtime")] +pub use rococo_runtime; + +#[cfg(feature = "rococo-runtime-constants")] +pub use rococo_runtime_constants; + +#[cfg(feature = "sc-allocator")] +pub use sc_allocator; + +#[cfg(feature = "sc-authority-discovery")] +pub use sc_authority_discovery; + +#[cfg(feature = "sc-basic-authorship")] +pub use sc_basic_authorship; + +#[cfg(feature = "sc-block-builder")] +pub use sc_block_builder; + +#[cfg(feature = "sc-chain-spec")] +pub use sc_chain_spec; + +#[cfg(feature = "sc-chain-spec-derive")] +pub use sc_chain_spec_derive; + +#[cfg(feature = "sc-cli")] +pub use sc_cli; + +#[cfg(feature = "sc-client-api")] +pub use sc_client_api; + +#[cfg(feature = "sc-client-db")] +pub use sc_client_db; + +#[cfg(feature = "sc-consensus")] +pub use sc_consensus; + +#[cfg(feature = "sc-consensus-aura")] +pub use sc_consensus_aura; + +#[cfg(feature = "sc-consensus-babe")] +pub use sc_consensus_babe; + +#[cfg(feature = "sc-consensus-babe-rpc")] +pub use sc_consensus_babe_rpc; + +#[cfg(feature = "sc-consensus-beefy")] +pub use sc_consensus_beefy; + +#[cfg(feature = "sc-consensus-beefy-rpc")] +pub use sc_consensus_beefy_rpc; + +#[cfg(feature = "sc-consensus-epochs")] +pub use sc_consensus_epochs; + +#[cfg(feature = "sc-consensus-grandpa")] +pub use sc_consensus_grandpa; + +#[cfg(feature = "sc-consensus-grandpa-rpc")] +pub use sc_consensus_grandpa_rpc; + +#[cfg(feature = "sc-consensus-manual-seal")] +pub use sc_consensus_manual_seal; + +#[cfg(feature = "sc-consensus-pow")] +pub use sc_consensus_pow; + +#[cfg(feature = "sc-consensus-slots")] +pub use sc_consensus_slots; + +#[cfg(feature = "sc-executor")] +pub use sc_executor; + +#[cfg(feature = "sc-executor-common")] +pub use sc_executor_common; + +#[cfg(feature = "sc-executor-polkavm")] +pub use sc_executor_polkavm; + +#[cfg(feature = "sc-executor-wasmtime")] +pub use sc_executor_wasmtime; + +#[cfg(feature = "sc-informant")] +pub use sc_informant; + +#[cfg(feature = "sc-keystore")] +pub use sc_keystore; + +#[cfg(feature = "sc-mixnet")] +pub use sc_mixnet; + +#[cfg(feature = "sc-network")] +pub use sc_network; + +#[cfg(feature = "sc-network-common")] +pub use sc_network_common; + +#[cfg(feature = "sc-network-gossip")] +pub use sc_network_gossip; + +#[cfg(feature = "sc-network-light")] +pub use sc_network_light; + +#[cfg(feature = "sc-network-statement")] +pub use sc_network_statement; + +#[cfg(feature = "sc-network-sync")] +pub use sc_network_sync; + +#[cfg(feature = "sc-network-transactions")] +pub use sc_network_transactions; + +#[cfg(feature = "sc-network-types")] +pub use sc_network_types; + +#[cfg(feature = "sc-offchain")] +pub use sc_offchain; + +#[cfg(feature = "sc-proposer-metrics")] +pub use sc_proposer_metrics; + +#[cfg(feature = "sc-rpc")] +pub use sc_rpc; + +#[cfg(feature = "sc-rpc-api")] +pub use sc_rpc_api; + +#[cfg(feature = "sc-rpc-server")] +pub use sc_rpc_server; + +#[cfg(feature = "sc-rpc-spec-v2")] +pub use sc_rpc_spec_v2; + +#[cfg(feature = "sc-service")] +pub use sc_service; + +#[cfg(feature = "sc-state-db")] +pub use sc_state_db; + +#[cfg(feature = "sc-statement-store")] +pub use sc_statement_store; + +#[cfg(feature = "sc-storage-monitor")] +pub use sc_storage_monitor; + +#[cfg(feature = "sc-sync-state-rpc")] +pub use sc_sync_state_rpc; + +#[cfg(feature = "sc-sysinfo")] +pub use sc_sysinfo; + +#[cfg(feature = "sc-telemetry")] +pub use sc_telemetry; + +#[cfg(feature = "sc-tracing")] +pub use sc_tracing; + +#[cfg(feature = "sc-tracing-proc-macro")] +pub use sc_tracing_proc_macro; + +#[cfg(feature = "sc-transaction-pool")] +pub use sc_transaction_pool; + +#[cfg(feature = "sc-transaction-pool-api")] +pub use sc_transaction_pool_api; + +#[cfg(feature = "sc-utils")] +pub use sc_utils; + +#[cfg(feature = "seedling-runtime")] +pub use seedling_runtime; + +#[cfg(feature = "shell-runtime")] +pub use shell_runtime; + +#[cfg(feature = "slot-range-helper")] +pub use slot_range_helper; + +#[cfg(feature = "snowbridge-beacon-primitives")] +pub use snowbridge_beacon_primitives; + +#[cfg(feature = "snowbridge-core")] +pub use snowbridge_core; + +#[cfg(feature = "snowbridge-ethereum")] +pub use snowbridge_ethereum; + +#[cfg(feature = "snowbridge-outbound-queue-merkle-tree")] +pub use snowbridge_outbound_queue_merkle_tree; + +#[cfg(feature = "snowbridge-outbound-queue-runtime-api")] +pub use snowbridge_outbound_queue_runtime_api; + +#[cfg(feature = "snowbridge-pallet-ethereum-client")] +pub use snowbridge_pallet_ethereum_client; + +#[cfg(feature = "snowbridge-pallet-ethereum-client-fixtures")] +pub use snowbridge_pallet_ethereum_client_fixtures; + +#[cfg(feature = "snowbridge-pallet-inbound-queue")] +pub use snowbridge_pallet_inbound_queue; + +#[cfg(feature = "snowbridge-pallet-inbound-queue-fixtures")] +pub use snowbridge_pallet_inbound_queue_fixtures; + +#[cfg(feature = "snowbridge-pallet-outbound-queue")] +pub use snowbridge_pallet_outbound_queue; + +#[cfg(feature = "snowbridge-pallet-system")] +pub use snowbridge_pallet_system; + +#[cfg(feature = "snowbridge-router-primitives")] +pub use snowbridge_router_primitives; + +#[cfg(feature = "snowbridge-runtime-common")] +pub use snowbridge_runtime_common; + +#[cfg(feature = "snowbridge-runtime-test-common")] +pub use snowbridge_runtime_test_common; + +#[cfg(feature = "snowbridge-system-runtime-api")] +pub use snowbridge_system_runtime_api; + +#[cfg(feature = "sp-api")] +pub use sp_api; + +#[cfg(feature = "sp-api-proc-macro")] +pub use sp_api_proc_macro; + +#[cfg(feature = "sp-application-crypto")] +pub use sp_application_crypto; + +#[cfg(feature = "sp-arithmetic")] +pub use sp_arithmetic; + +#[cfg(feature = "sp-authority-discovery")] +pub use sp_authority_discovery; + +#[cfg(feature = "sp-block-builder")] +pub use sp_block_builder; + +#[cfg(feature = "sp-blockchain")] +pub use sp_blockchain; + +#[cfg(feature = "sp-consensus")] +pub use sp_consensus; + +#[cfg(feature = "sp-consensus-aura")] +pub use sp_consensus_aura; + +#[cfg(feature = "sp-consensus-babe")] +pub use sp_consensus_babe; + +#[cfg(feature = "sp-consensus-beefy")] +pub use sp_consensus_beefy; + +#[cfg(feature = "sp-consensus-grandpa")] +pub use sp_consensus_grandpa; + +#[cfg(feature = "sp-consensus-pow")] +pub use sp_consensus_pow; + +#[cfg(feature = "sp-consensus-slots")] +pub use sp_consensus_slots; + +#[cfg(feature = "sp-core")] +pub use sp_core; + +#[cfg(feature = "sp-core-hashing")] +pub use sp_core_hashing; + +#[cfg(feature = "sp-core-hashing-proc-macro")] +pub use sp_core_hashing_proc_macro; + +#[cfg(feature = "sp-crypto-ec-utils")] +pub use sp_crypto_ec_utils; + +#[cfg(feature = "sp-crypto-hashing")] +pub use sp_crypto_hashing; + +#[cfg(feature = "sp-crypto-hashing-proc-macro")] +pub use sp_crypto_hashing_proc_macro; + +#[cfg(feature = "sp-database")] +pub use sp_database; + +#[cfg(feature = "sp-debug-derive")] +pub use sp_debug_derive; + +#[cfg(feature = "sp-externalities")] +pub use sp_externalities; + +#[cfg(feature = "sp-genesis-builder")] +pub use sp_genesis_builder; + +#[cfg(feature = "sp-inherents")] +pub use sp_inherents; + +#[cfg(feature = "sp-io")] +pub use sp_io; + +#[cfg(feature = "sp-keyring")] +pub use sp_keyring; + +#[cfg(feature = "sp-keystore")] +pub use sp_keystore; + +#[cfg(feature = "sp-maybe-compressed-blob")] +pub use sp_maybe_compressed_blob; + +#[cfg(feature = "sp-metadata-ir")] +pub use sp_metadata_ir; + +#[cfg(feature = "sp-mixnet")] +pub use sp_mixnet; + +#[cfg(feature = "sp-mmr-primitives")] +pub use sp_mmr_primitives; + +#[cfg(feature = "sp-npos-elections")] +pub use sp_npos_elections; + +#[cfg(feature = "sp-offchain")] +pub use sp_offchain; + +#[cfg(feature = "sp-panic-handler")] +pub use sp_panic_handler; + +#[cfg(feature = "sp-rpc")] +pub use sp_rpc; + +#[cfg(feature = "sp-runtime")] +pub use sp_runtime; + +#[cfg(feature = "sp-runtime-interface")] +pub use sp_runtime_interface; + +#[cfg(feature = "sp-runtime-interface-proc-macro")] +pub use sp_runtime_interface_proc_macro; + +#[cfg(feature = "sp-session")] +pub use sp_session; + +#[cfg(feature = "sp-staking")] +pub use sp_staking; + +#[cfg(feature = "sp-state-machine")] +pub use sp_state_machine; + +#[cfg(feature = "sp-statement-store")] +pub use sp_statement_store; + +#[cfg(feature = "sp-std")] +pub use sp_std; + +#[cfg(feature = "sp-storage")] +pub use sp_storage; + +#[cfg(feature = "sp-timestamp")] +pub use sp_timestamp; + +#[cfg(feature = "sp-tracing")] +pub use sp_tracing; + +#[cfg(feature = "sp-transaction-pool")] +pub use sp_transaction_pool; + +#[cfg(feature = "sp-transaction-storage-proof")] +pub use sp_transaction_storage_proof; + +#[cfg(feature = "sp-trie")] +pub use sp_trie; + +#[cfg(feature = "sp-version")] +pub use sp_version; + +#[cfg(feature = "sp-version-proc-macro")] +pub use sp_version_proc_macro; + +#[cfg(feature = "sp-wasm-interface")] +pub use sp_wasm_interface; + +#[cfg(feature = "sp-weights")] +pub use sp_weights; + +#[cfg(feature = "staging-node-inspect")] +pub use staging_node_inspect; + +#[cfg(feature = "staging-parachain-info")] +pub use staging_parachain_info; + +#[cfg(feature = "staging-tracking-allocator")] +pub use staging_tracking_allocator; + +#[cfg(feature = "staging-xcm")] +pub use staging_xcm; + +#[cfg(feature = "staging-xcm-builder")] +pub use staging_xcm_builder; + +#[cfg(feature = "staging-xcm-executor")] +pub use staging_xcm_executor; + +#[cfg(feature = "subkey")] +pub use subkey; + +#[cfg(feature = "substrate-bip39")] +pub use substrate_bip39; + +#[cfg(feature = "substrate-build-script-utils")] +pub use substrate_build_script_utils; + +#[cfg(feature = "substrate-frame-cli")] +pub use substrate_frame_cli; + +#[cfg(feature = "substrate-frame-rpc-support")] +pub use substrate_frame_rpc_support; + +#[cfg(feature = "substrate-frame-rpc-system")] +pub use substrate_frame_rpc_system; + +#[cfg(feature = "substrate-prometheus-endpoint")] +pub use substrate_prometheus_endpoint; + +#[cfg(feature = "substrate-rpc-client")] +pub use substrate_rpc_client; + +#[cfg(feature = "substrate-state-trie-migration-rpc")] +pub use substrate_state_trie_migration_rpc; + +#[cfg(feature = "substrate-wasm-builder")] +pub use substrate_wasm_builder; + +#[cfg(feature = "testnet-parachains-constants")] +pub use testnet_parachains_constants; + +#[cfg(feature = "tracing-gum")] +pub use tracing_gum; + +#[cfg(feature = "tracing-gum-proc-macro")] +pub use tracing_gum_proc_macro; + +#[cfg(feature = "westend-runtime")] +pub use westend_runtime; + +#[cfg(feature = "westend-runtime-constants")] +pub use westend_runtime_constants; + +#[cfg(feature = "xcm-emulator")] +pub use xcm_emulator; + +#[cfg(feature = "xcm-fee-payment-runtime-api")] +pub use xcm_fee_payment_runtime_api; + +#[cfg(feature = "xcm-procedural")] +pub use xcm_procedural; + +#[cfg(feature = "xcm-simulator")] +pub use xcm_simulator; + +#[cfg(feature = "xcm-simulator-example")] +pub use xcm_simulator_example;