diff --git a/.config/zepter.yaml b/.config/zepter.yaml
index f701392d16b1..4e71408bba1d 100644
--- a/.config/zepter.yaml
+++ b/.config/zepter.yaml
@@ -25,9 +25,13 @@ workflows:
'--show-path',
'--quiet',
]
- # Same as `check`, but with the `--fix` flag.
+ # The umbrella crate uses more features, so we to check those too:
+ check_umbrella:
+ - [ $check.0, '--features=serde,experimental,with-tracing', '-p=polkadot-sdk' ]
+ # Same as `check_*`, but with the `--fix` flag.
default:
- [ $check.0, '--fix' ]
+ - [ $check_umbrella.0, '--fix' ]
# Will be displayed when any workflow fails:
help:
diff --git a/Cargo.lock b/Cargo.lock
index d64800fb085e..8e66e1ef1308 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -7374,123 +7374,15 @@ checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28"
name = "kitchensink-runtime"
version = "3.0.0-dev"
dependencies = [
- "frame-benchmarking",
- "frame-benchmarking-pallet-pov",
- "frame-election-provider-support",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-benchmarking",
- "frame-system-rpc-runtime-api",
- "frame-try-runtime",
"log",
"node-primitives",
- "pallet-alliance",
- "pallet-asset-conversion",
- "pallet-asset-conversion-ops",
- "pallet-asset-conversion-tx-payment",
- "pallet-asset-rate",
- "pallet-asset-tx-payment",
- "pallet-assets",
- "pallet-authority-discovery",
- "pallet-authorship",
- "pallet-babe",
- "pallet-bags-list",
- "pallet-balances",
- "pallet-beefy",
- "pallet-beefy-mmr",
- "pallet-bounties",
- "pallet-broker",
- "pallet-child-bounties",
- "pallet-collective",
- "pallet-contracts",
- "pallet-conviction-voting",
- "pallet-core-fellowship",
- "pallet-democracy",
- "pallet-election-provider-multi-phase",
- "pallet-election-provider-support-benchmarking",
- "pallet-elections-phragmen",
"pallet-example-mbm",
"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-nomination-pools",
- "pallet-nomination-pools-benchmarking",
- "pallet-nomination-pools-runtime-api",
- "pallet-offences",
- "pallet-offences-benchmarking",
- "pallet-parameters",
- "pallet-preimage",
- "pallet-proxy",
- "pallet-ranked-collective",
- "pallet-recovery",
- "pallet-referenda",
- "pallet-remark",
- "pallet-root-testing",
- "pallet-safe-mode",
- "pallet-salary",
- "pallet-scheduler",
- "pallet-session",
- "pallet-session-benchmarking",
- "pallet-skip-feeless-payment",
- "pallet-society",
- "pallet-staking",
- "pallet-staking-reward-curve",
- "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",
"parity-scale-codec",
+ "polkadot-sdk",
"primitive-types",
"scale-info",
"serde_json",
- "sp-api",
- "sp-authority-discovery",
- "sp-block-builder",
- "sp-consensus-babe",
- "sp-consensus-beefy",
- "sp-consensus-grandpa",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-mixnet",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-staking",
- "sp-statement-store",
- "sp-std 14.0.0",
- "sp-storage 19.0.0",
- "sp-transaction-pool",
- "sp-version",
"static_assertions",
"substrate-wasm-builder",
]
@@ -13954,37 +13846,443 @@ dependencies = [
]
[[package]]
-name = "polkadot-sdk-docs"
-version = "0.0.1"
+name = "polkadot-sdk"
+version = "1.9.0"
dependencies = [
+ "asset-hub-rococo-runtime",
+ "asset-hub-westend-runtime",
+ "asset-test-utils",
+ "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-test-utils",
+ "bridge-hub-westend-runtime",
+ "bridge-runtime-common",
+ "collectives-westend-runtime",
+ "contracts-rococo-runtime",
+ "coretime-rococo-runtime",
+ "coretime-westend-runtime",
+ "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-pallet-aura-ext",
+ "cumulus-pallet-dmp-queue",
"cumulus-pallet-parachain-system",
- "docify",
+ "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",
+ "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",
+ "frame-benchmarking-cli",
+ "frame-benchmarking-pallet-pov",
+ "frame-election-provider-solution-type",
+ "frame-election-provider-support",
"frame-executive",
+ "frame-remote-externalities",
"frame-support",
+ "frame-support-procedural",
+ "frame-support-procedural-tools",
+ "frame-support-procedural-tools-derive",
"frame-system",
- "kitchensink-runtime",
+ "frame-system-benchmarking",
+ "frame-system-rpc-runtime-api",
+ "frame-try-runtime",
+ "generate-bags",
+ "glutton-westend-runtime",
+ "mmr-gadget",
+ "mmr-rpc",
+ "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-mock-network",
+ "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-single-block-migrations",
- "pallet-examples",
+ "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-timestamp",
- "pallet-transaction-payment",
- "pallet-uniques",
+ "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",
+ "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",
+ "parachains-runtimes-test-utils",
+ "penpal-runtime",
+ "people-rococo-runtime",
+ "people-westend-runtime",
+ "polkadot-approval-distribution",
+ "polkadot-availability-bitfield-distribution",
+ "polkadot-availability-distribution",
+ "polkadot-availability-recovery",
+ "polkadot-cli",
+ "polkadot-collator-protocol",
+ "polkadot-core-primitives",
+ "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-parachain-primitives",
+ "polkadot-primitives",
+ "polkadot-rpc",
+ "polkadot-runtime-common",
+ "polkadot-runtime-metrics",
+ "polkadot-runtime-parachains",
+ "polkadot-service",
+ "polkadot-statement-distribution",
+ "polkadot-statement-table",
+ "rococo-parachain-runtime",
+ "rococo-runtime",
+ "rococo-runtime-constants",
+ "sc-allocator",
+ "sc-authority-discovery",
+ "sc-basic-authorship",
+ "sc-block-builder",
+ "sc-chain-spec",
+ "sc-chain-spec-derive",
+ "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-tracing-proc-macro",
+ "sc-transaction-pool",
+ "sc-transaction-pool-api",
+ "sc-utils",
+ "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-runtime-test-common",
+ "snowbridge-system-runtime-api",
+ "sp-api",
+ "sp-api-proc-macro",
+ "sp-application-crypto",
+ "sp-arithmetic",
+ "sp-authority-discovery",
+ "sp-block-builder",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-consensus-aura",
+ "sp-consensus-babe",
+ "sp-consensus-beefy",
+ "sp-consensus-grandpa",
+ "sp-consensus-pow",
+ "sp-consensus-slots",
+ "sp-core",
+ "sp-core-hashing",
+ "sp-core-hashing-proc-macro",
+ "sp-crypto-ec-utils 0.10.0",
+ "sp-crypto-hashing",
+ "sp-crypto-hashing-proc-macro",
+ "sp-database",
+ "sp-debug-derive 14.0.0",
+ "sp-externalities 0.25.0",
+ "sp-genesis-builder",
+ "sp-inherents",
+ "sp-io",
+ "sp-keyring",
+ "sp-keystore",
+ "sp-maybe-compressed-blob",
+ "sp-metadata-ir",
+ "sp-mixnet",
+ "sp-mmr-primitives",
+ "sp-npos-elections",
+ "sp-offchain",
+ "sp-panic-handler",
+ "sp-rpc",
+ "sp-runtime",
+ "sp-runtime-interface 24.0.0",
+ "sp-runtime-interface-proc-macro 17.0.0",
+ "sp-session",
+ "sp-staking",
+ "sp-state-machine",
+ "sp-statement-store",
+ "sp-std 14.0.0",
+ "sp-storage 19.0.0",
+ "sp-timestamp",
+ "sp-tracing 16.0.0",
+ "sp-transaction-pool",
+ "sp-transaction-storage-proof",
+ "sp-trie",
+ "sp-version",
+ "sp-version-proc-macro",
+ "sp-wasm-interface 20.0.0",
+ "sp-weights",
+ "staging-node-inspect",
+ "staging-parachain-info",
+ "staging-tracking-allocator",
+ "staging-xcm",
+ "staging-xcm-builder",
+ "staging-xcm-executor",
+ "subkey",
+ "substrate-bip39",
+ "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",
+ "testnet-parachains-constants",
+ "tracing-gum",
+ "tracing-gum-proc-macro",
+ "westend-runtime",
+ "westend-runtime-constants",
+ "xcm-emulator",
+ "xcm-fee-payment-runtime-api",
+ "xcm-procedural",
+ "xcm-simulator",
+ "xcm-simulator-example",
+]
+
+[[package]]
+name = "polkadot-sdk-docs"
+version = "0.0.1"
+dependencies = [
+ "cumulus-pallet-aura-ext",
+ "cumulus-pallet-parachain-system",
+ "docify",
+ "frame-executive",
+ "frame-support",
+ "frame-system",
+ "kitchensink-runtime",
+ "pallet-assets",
+ "pallet-aura",
+ "pallet-authorship",
+ "pallet-babe",
+ "pallet-balances",
+ "pallet-broker",
+ "pallet-collective",
+ "pallet-default-config-example",
+ "pallet-democracy",
+ "pallet-example-offchain-worker",
+ "pallet-example-single-block-migrations",
+ "pallet-examples",
+ "pallet-multisig",
+ "pallet-nfts",
+ "pallet-preimage",
+ "pallet-proxy",
+ "pallet-referenda",
+ "pallet-scheduler",
+ "pallet-timestamp",
+ "pallet-transaction-payment",
+ "pallet-uniques",
"pallet-utility",
"parity-scale-codec",
"polkadot-sdk-frame",
@@ -20236,6 +20534,7 @@ dependencies = [
"pallet-treasury",
"parity-scale-codec",
"platforms",
+ "polkadot-sdk",
"rand 0.8.5",
"regex",
"sc-authority-discovery",
@@ -20273,31 +20572,8 @@ dependencies = [
"serde",
"serde_json",
"soketto",
- "sp-api",
- "sp-application-crypto",
- "sp-authority-discovery",
- "sp-blockchain",
- "sp-consensus",
- "sp-consensus-babe",
"sp-consensus-beefy",
"sp-consensus-grandpa",
- "sp-core",
- "sp-crypto-hashing",
- "sp-externalities 0.25.0",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-keyring",
- "sp-keystore",
- "sp-mixnet",
- "sp-mmr-primitives",
- "sp-runtime",
- "sp-state-machine",
- "sp-statement-store",
- "sp-timestamp",
- "sp-tracing 16.0.0",
- "sp-transaction-storage-proof",
- "sp-trie",
"staging-node-inspect",
"substrate-build-script-utils",
"substrate-cli-test-utils",
diff --git a/Cargo.toml b/Cargo.toml
index 42a6bc8abe1e..6c2682011a2c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -512,20 +512,23 @@ members = [
"substrate/utils/prometheus",
"substrate/utils/substrate-bip39",
"substrate/utils/wasm-builder",
-
"templates/minimal/node",
"templates/minimal/pallets/template",
"templates/minimal/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", "substrate/bin/node/cli"]
+default-members = [
+ "polkadot",
+ "substrate/bin/node/cli",
+ "umbrella",
+]
[workspace.lints.rust]
suspicious_double_ref_op = { level = "allow", priority = 2 }
diff --git a/substrate/bin/node/cli/Cargo.toml b/substrate/bin/node/cli/Cargo.toml
index e6f754fa40b1..564fd9dd4db6 100644
--- a/substrate/bin/node/cli/Cargo.toml
+++ b/substrate/bin/node/cli/Cargo.toml
@@ -49,25 +49,27 @@ futures = "0.3.30"
log = { workspace = true, default-features = true }
rand = "0.8"
+polkadot-sdk = { path = "../../../../umbrella", features = ["node"] }
+
# primitives
-sp-authority-discovery = { path = "../../../primitives/authority-discovery" }
-sp-consensus-babe = { path = "../../../primitives/consensus/babe" }
+#sp-authority-discovery = { path = "../../../primitives/authority-discovery" }
+#sp-consensus-babe = { path = "../../../primitives/consensus/babe" }
beefy-primitives = { package = "sp-consensus-beefy", path = "../../../primitives/consensus/beefy" }
grandpa-primitives = { package = "sp-consensus-grandpa", path = "../../../primitives/consensus/grandpa" }
-sp-api = { path = "../../../primitives/api" }
-sp-core = { path = "../../../primitives/core" }
-sp-runtime = { path = "../../../primitives/runtime" }
-sp-timestamp = { path = "../../../primitives/timestamp" }
-sp-genesis-builder = { path = "../../../primitives/genesis-builder" }
-sp-inherents = { path = "../../../primitives/inherents" }
-sp-keyring = { path = "../../../primitives/keyring" }
-sp-keystore = { path = "../../../primitives/keystore" }
-sp-consensus = { path = "../../../primitives/consensus/common" }
-sp-transaction-storage-proof = { path = "../../../primitives/transaction-storage-proof" }
-sp-io = { path = "../../../primitives/io" }
-sp-mixnet = { path = "../../../primitives/mixnet" }
-sp-mmr-primitives = { path = "../../../primitives/merkle-mountain-range" }
-sp-statement-store = { path = "../../../primitives/statement-store" }
+#sp-api = { path = "../../../primitives/api" }
+#sp-core = { path = "../../../primitives/core" }
+#sp-runtime = { path = "../../../primitives/runtime" }
+#sp-timestamp = { path = "../../../primitives/timestamp" }
+#sp-genesis-builder = { path = "../../../primitives/genesis-builder" }
+#sp-inherents = { path = "../../../primitives/inherents" }
+#sp-keyring = { path = "../../../primitives/keyring" }
+#sp-keystore = { path = "../../../primitives/keystore" }
+#sp-consensus = { path = "../../../primitives/consensus/common" }
+#sp-transaction-storage-proof = { path = "../../../primitives/transaction-storage-proof" }
+#sp-io = { path = "../../../primitives/io" }
+#sp-mixnet = { path = "../../../primitives/mixnet" }
+#sp-mmr-primitives = { path = "../../../primitives/merkle-mountain-range" }
+#sp-statement-store = { path = "../../../primitives/statement-store" }
# client dependencies
sc-client-api = { path = "../../../client/api" }
@@ -126,9 +128,9 @@ sc-consensus-babe = { path = "../../../client/consensus/babe" }
sc-consensus-epochs = { path = "../../../client/consensus/epochs" }
sc-service-test = { path = "../../../client/service/test" }
sc-block-builder = { path = "../../../client/block-builder" }
-sp-tracing = { path = "../../../primitives/tracing" }
-sp-blockchain = { path = "../../../primitives/blockchain" }
-sp-crypto-hashing = { path = "../../../primitives/crypto/hashing" }
+#sp-tracing = { path = "../../../primitives/tracing" }
+#sp-blockchain = { path = "../../../primitives/blockchain" }
+#sp-crypto-hashing = { path = "../../../primitives/crypto/hashing" }
futures = "0.3.30"
tempfile = "3.1.0"
assert_cmd = "2.0.2"
@@ -153,16 +155,16 @@ pallet-glutton = { path = "../../../frame/glutton" }
pallet-sudo = { path = "../../../frame/sudo" }
pallet-treasury = { path = "../../../frame/treasury" }
pallet-transaction-payment = { path = "../../../frame/transaction-payment" }
-sp-application-crypto = { path = "../../../primitives/application-crypto" }
+#sp-application-crypto = { path = "../../../primitives/application-crypto" }
pallet-root-testing = { path = "../../../frame/root-testing" }
-sp-consensus-babe = { path = "../../../primitives/consensus/babe" }
-sp-externalities = { path = "../../../primitives/externalities" }
-sp-keyring = { path = "../../../primitives/keyring" }
-sp-runtime = { path = "../../../primitives/runtime" }
+#sp-consensus-babe = { path = "../../../primitives/consensus/babe" }
+#sp-externalities = { path = "../../../primitives/externalities" }
+#sp-keyring = { path = "../../../primitives/keyring" }
+#sp-runtime = { path = "../../../primitives/runtime" }
serde_json = { workspace = true, default-features = true }
scale-info = { version = "2.11.1", features = ["derive", "serde"] }
-sp-trie = { path = "../../../primitives/trie" }
-sp-state-machine = { path = "../../../primitives/state-machine" }
+#sp-trie = { path = "../../../primitives/trie" }
+#sp-state-machine = { path = "../../../primitives/state-machine" }
[build-dependencies]
clap = { version = "4.5.3", optional = true }
@@ -206,7 +208,7 @@ runtime-benchmarks = [
"pallet-treasury/runtime-benchmarks",
"sc-client-db/runtime-benchmarks",
"sc-service/runtime-benchmarks",
- "sp-runtime/runtime-benchmarks",
+ #"sp-runtime/runtime-benchmarks",
]
# Enable features that allow the runtime to be tried and debugged. Name might be subject to change
# in the near future.
@@ -227,7 +229,7 @@ try-runtime = [
"pallet-timestamp/try-runtime",
"pallet-transaction-payment/try-runtime",
"pallet-treasury/try-runtime",
- "sp-runtime/try-runtime",
+ #"sp-runtime/try-runtime",
"substrate-cli-test-utils/try-runtime",
]
diff --git a/substrate/bin/node/cli/src/benchmarking.rs b/substrate/bin/node/cli/src/benchmarking.rs
index 333f855f2d7b..a2b28a0f317d 100644
--- a/substrate/bin/node/cli/src/benchmarking.rs
+++ b/substrate/bin/node/cli/src/benchmarking.rs
@@ -22,6 +22,8 @@
use crate::service::{create_extrinsic, FullClient};
+use polkadot_sdk::*;
+
use kitchensink_runtime::{BalancesCall, SystemCall};
use node_primitives::{AccountId, Balance};
use sc_cli::Result;
diff --git a/substrate/bin/node/cli/src/chain_spec.rs b/substrate/bin/node/cli/src/chain_spec.rs
index d48d4a50f85f..719afd428151 100644
--- a/substrate/bin/node/cli/src/chain_spec.rs
+++ b/substrate/bin/node/cli/src/chain_spec.rs
@@ -18,6 +18,8 @@
//! Substrate chain configurations.
+use polkadot_sdk::*;
+
use beefy_primitives::ecdsa_crypto::AuthorityId as BeefyId;
use grandpa_primitives::AuthorityId as GrandpaId;
use kitchensink_runtime::{
diff --git a/substrate/bin/node/cli/src/command.rs b/substrate/bin/node/cli/src/command.rs
index d869b77e9122..54e01ccfe0d1 100644
--- a/substrate/bin/node/cli/src/command.rs
+++ b/substrate/bin/node/cli/src/command.rs
@@ -16,6 +16,7 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
+use polkadot_sdk::*;
use super::benchmarking::{inherent_benchmark_data, RemarkBuilder, TransferKeepAliveBuilder};
use crate::{
chain_spec, service,
diff --git a/substrate/bin/node/cli/src/service.rs b/substrate/bin/node/cli/src/service.rs
index 5dc1193daf8d..67ddbba29f14 100644
--- a/substrate/bin/node/cli/src/service.rs
+++ b/substrate/bin/node/cli/src/service.rs
@@ -20,6 +20,8 @@
//! Service implementation. Specialized wrapper over substrate service.
+use polkadot_sdk::*;
+
use crate::Cli;
use codec::Encode;
use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE;
@@ -835,6 +837,7 @@ pub fn new_full(config: Configuration, cli: Cli) -> Result for AllianceProposalProvider
#[cfg(test)]
mod multiplier_tests {
- use frame_support::{
+ use polkadot_sdk::frame_support::{
dispatch::DispatchClass,
weights::{Weight, WeightToFee},
};
- use pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment};
- use sp_runtime::{
+ use polkadot_sdk::pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment};
+ use polkadot_sdk::sp_runtime::{
assert_eq_error_rate,
traits::{Convert, One, Zero},
BuildStorage, FixedPointNumber,
@@ -198,7 +209,7 @@ mod multiplier_tests {
where
F: Fn() -> (),
{
- let mut t: sp_io::TestExternalities = frame_system::GenesisConfig::::default()
+ let mut t: polkadot_sdk::sp_io::TestExternalities = polkadot_sdk::frame_system::GenesisConfig::::default()
.build_storage()
.unwrap()
.into();
@@ -308,7 +319,7 @@ mod multiplier_tests {
Weight::from_parts(100, 0);
// Default substrate weight.
- let tx_weight = frame_support::weights::constants::ExtrinsicBaseWeight::get();
+ let tx_weight = polkadot_sdk::frame_support::weights::constants::ExtrinsicBaseWeight::get();
run_with_system_weight(block_weight, || {
// initial value configured on module
@@ -325,7 +336,7 @@ mod multiplier_tests {
fm = next;
iterations += 1;
let fee =
- ::WeightToFee::weight_to_fee(
+ ::WeightToFee::weight_to_fee(
&tx_weight,
);
let adjusted_fee = fm.saturating_mul_acc_int(fee);
diff --git a/substrate/bin/node/runtime/src/lib.rs b/substrate/bin/node/runtime/src/lib.rs
index 43c617023bcb..731f8ebe3030 100644
--- a/substrate/bin/node/runtime/src/lib.rs
+++ b/substrate/bin/node/runtime/src/lib.rs
@@ -22,6 +22,8 @@
// `construct_runtime!` does a lot of recursion and requires us to increase the limits.
#![recursion_limit = "1024"]
+use polkadot_sdk::*;
+
use codec::{Decode, Encode, MaxEncodedLen};
use frame_election_provider_support::{
bounds::{ElectionBounds, ElectionBoundsBuilder},
@@ -2240,8 +2242,12 @@ impl pallet_parameters::Config for Runtime {
type WeightInfo = ();
}
-#[frame_support::runtime]
+use frame_support::runtime;
+
+#[runtime]
mod runtime {
+ use super::*;
+
#[runtime::runtime]
#[runtime::derive(
RuntimeCall,
@@ -2583,7 +2589,7 @@ impl pallet_beefy::Config for Runtime {
/// MMR helper types.
mod mmr {
- use super::Runtime;
+ use super::*;
pub use pallet_mmr::primitives::*;
pub type Leaf = <::LeafData as LeafDataProvider>::LeafData;
@@ -2593,7 +2599,7 @@ mod mmr {
#[cfg(feature = "runtime-benchmarks")]
mod benches {
- frame_benchmarking::define_benchmarks!(
+ super::frame_benchmarking::define_benchmarks!(
[frame_benchmarking, BaselineBench::]
[frame_benchmarking_pallet_pov, Pov]
[pallet_alliance, Alliance]
diff --git a/substrate/frame/election-provider-support/solution-type/src/lib.rs b/substrate/frame/election-provider-support/solution-type/src/lib.rs
index 80773f6fb476..450db7deb95d 100644
--- a/substrate/frame/election-provider-support/solution-type/src/lib.rs
+++ b/substrate/frame/election-provider-support/solution-type/src/lib.rs
@@ -263,7 +263,16 @@ fn imports() -> Result {
use _feps::private as _fepsp;
))
},
- Err(e) => Err(syn::Error::new(Span::call_site(), e)),
+ Err(e) => match crate_name("polkadot-sdk") {
+ Ok(FoundCrate::Name(polkadot_sdk)) => {
+ let ident = syn::Ident::new(&polkadot_sdk, Span::call_site());
+ Ok(quote!(
+ use #ident::frame_election_provider_support as _feps;
+ use _feps::private as _fepsp;
+ ))
+ },
+ _ => Err(syn::Error::new(Span::call_site(), e)),
+ },
}
}
diff --git a/substrate/frame/staking/reward-curve/src/lib.rs b/substrate/frame/staking/reward-curve/src/lib.rs
index 1986357edabe..0cca24fd4361 100644
--- a/substrate/frame/staking/reward-curve/src/lib.rs
+++ b/substrate/frame/staking/reward-curve/src/lib.rs
@@ -88,7 +88,15 @@ pub fn build(input: TokenStream) -> TokenStream {
let ident = syn::Ident::new(&sp_runtime, Span::call_site());
quote!( #[doc(hidden)] pub use #ident as _sp_runtime; )
},
- Err(e) => syn::Error::new(Span::call_site(), e).to_compile_error(),
+ Err(e) => {
+ match crate_name("polkadot-sdk") {
+ Ok(FoundCrate::Name(polkadot_sdk)) => {
+ let ident = syn::Ident::new(&polkadot_sdk, Span::call_site());
+ quote!( #[doc(hidden)] pub use #ident::sp_runtime as _sp_runtime; )
+ },
+ _ => syn::Error::new(Span::call_site(), e).to_compile_error(),
+ }
+ },
};
let const_name = input.ident;
diff --git a/substrate/frame/support/procedural/src/pallet/expand/tt_default_parts.rs b/substrate/frame/support/procedural/src/pallet/expand/tt_default_parts.rs
index 99364aaa96cd..082a0eb48554 100644
--- a/substrate/frame/support/procedural/src/pallet/expand/tt_default_parts.rs
+++ b/substrate/frame/support/procedural/src/pallet/expand/tt_default_parts.rs
@@ -198,7 +198,7 @@ pub fn expand_tt_default_parts(def: &mut Def) -> proc_macro2::TokenStream {
macro_rules! #default_parts_unique_id_v2 {
{
$caller:tt
- frame_support = [{ $($frame_support:ident)::* }]
+ frame_support = [{ $($frame_support:tt)* }]
} => {
$($frame_support)*::__private::tt_return! {
$caller
diff --git a/substrate/frame/support/procedural/src/runtime/mod.rs b/substrate/frame/support/procedural/src/runtime/mod.rs
index aaae579eb086..d11a9a1e62c5 100644
--- a/substrate/frame/support/procedural/src/runtime/mod.rs
+++ b/substrate/frame/support/procedural/src/runtime/mod.rs
@@ -214,6 +214,24 @@ mod keyword {
}
pub fn runtime(attr: TokenStream, tokens: TokenStream) -> TokenStream {
+ let modified = do_runtime(attr, tokens);
+
+ /*use expander::*;
+ let expanded = Expander::new("baz")
+ .add_comment("This is generated code!".to_owned())
+ .fmt(Edition::_2021)
+ .verbose(true)
+ // common way of gating this, by making it part of the default feature set
+ .dry(cfg!(feature="no-file-expansion"))
+ .write_to_out_dir(modified.clone().into()).unwrap_or_else(|e| {
+ eprintln!("Failed to write to file: {:?}", e);
+ modified.into()
+ });
+ expanded.into()*/
+ modified
+}
+
+pub fn do_runtime(attr: TokenStream, tokens: TokenStream) -> TokenStream {
let mut legacy_ordering = false;
if !attr.is_empty() {
if let Ok(_) = syn::parse::(attr.clone()) {
diff --git a/substrate/frame/support/procedural/tools/src/lib.rs b/substrate/frame/support/procedural/tools/src/lib.rs
index 8952cd6011ff..b75c59ed2349 100644
--- a/substrate/frame/support/procedural/tools/src/lib.rs
+++ b/substrate/frame/support/procedural/tools/src/lib.rs
@@ -70,6 +70,8 @@ pub fn is_using_frame_crate(path: &syn::Path) -> bool {
pub fn generate_access_from_frame_or_crate(def_crate: &str) -> Result {
if let Some(path) = get_frame_crate_path(def_crate) {
Ok(path)
+ } else if let Some(path) = get_sdk_crate_path(def_crate) {
+ Ok(path)
} else {
let ident = match crate_name(def_crate) {
Ok(FoundCrate::Itself) => {
@@ -95,6 +97,13 @@ pub fn generate_hidden_includes(unique_id: &str, def_crate: &str) -> TokenStream
pub use #path as hidden_include;
}
)
+ } else if let Some(path) = get_sdk_crate_path(def_crate) {
+ quote::quote!(
+ #[doc(hidden)]
+ mod #mod_name {
+ pub use #path as hidden_include;
+ }
+ )
} else {
match crate_name(def_crate) {
Ok(FoundCrate::Itself) => quote!(),
@@ -128,6 +137,17 @@ fn get_frame_crate_path(def_crate: &str) -> Option {
}
}
+fn get_sdk_crate_path(def_crate: &str) -> Option {
+ // This does not work if the frame crate is renamed.
+ if let Ok(FoundCrate::Name(name)) = crate_name(&"polkadot-sdk")
+ {
+ let path = format!("{}::{}", name, def_crate.to_string()).replace("-", "_");
+ Some(syn::parse_str::(&path).expect("is a valid path; qed"))
+ } else {
+ None
+ }
+}
+
// fn to remove white spaces around string types
// (basically whitespaces around tokens)
pub fn clean_type_string(input: &str) -> String {
diff --git a/substrate/primitives/api/proc-macro/src/utils.rs b/substrate/primitives/api/proc-macro/src/utils.rs
index d90b56058648..e4c6cf71b126 100644
--- a/substrate/primitives/api/proc-macro/src/utils.rs
+++ b/substrate/primitives/api/proc-macro/src/utils.rs
@@ -40,6 +40,11 @@ pub fn generate_crate_access() -> TokenStream {
let path = format!("{}::deps::sp_api::__private", name);
let path = syn::parse_str::(&path).expect("is a valid path; qed");
quote!( #path )
+ } else if let Ok(FoundCrate::Name(name)) =
+ crate_name(&"polkadot-sdk") {
+ let path = format!("{}::sp_api::__private", name);
+ let path = syn::parse_str::(&path).expect("is a valid path; qed");
+ quote!( #path )
} else {
let err = Error::new(Span::call_site(), e).to_compile_error();
quote!( #err )
diff --git a/umbrella/Cargo.toml b/umbrella/Cargo.toml
new file mode 100644
index 000000000000..8a286eb9d8e3
--- /dev/null
+++ b/umbrella/Cargo.toml
@@ -0,0 +1,2596 @@
+[package]
+name = "polkadot-sdk"
+version = "1.9.0"
+edition = "2021"
+description = "Polkadot SDK umbrella crate"
+
+[features]
+default = [ "std",]
+std = [
+ "asset-hub-rococo-runtime?/std",
+ "asset-hub-westend-runtime?/std",
+ "asset-test-utils?/std",
+ "assets-common?/std",
+ "binary-merkle-tree?/std",
+ "bp-asset-hub-rococo?/std",
+ "bp-asset-hub-westend?/std",
+ "bp-bridge-hub-cumulus?/std",
+ "bp-bridge-hub-kusama?/std",
+ "bp-bridge-hub-polkadot?/std",
+ "bp-bridge-hub-rococo?/std",
+ "bp-bridge-hub-westend?/std",
+ "bp-header-chain?/std",
+ "bp-kusama?/std",
+ "bp-messages?/std",
+ "bp-parachains?/std",
+ "bp-polkadot?/std",
+ "bp-polkadot-bulletin?/std",
+ "bp-polkadot-core?/std",
+ "bp-relayers?/std",
+ "bp-rococo?/std",
+ "bp-runtime?/std",
+ "bp-test-utils?/std",
+ "bp-westend?/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",
+ "bridge-hub-westend-runtime?/std",
+ "bridge-runtime-common?/std",
+ "collectives-westend-runtime?/std",
+ "contracts-rococo-runtime?/std",
+ "coretime-rococo-runtime?/std",
+ "coretime-westend-runtime?/std",
+ "cumulus-pallet-aura-ext?/std",
+ "cumulus-pallet-dmp-queue?/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",
+ "cumulus-pallet-xcmp-queue?/std",
+ "cumulus-ping?/std",
+ "cumulus-primitives-aura?/std",
+ "cumulus-primitives-core?/std",
+ "cumulus-primitives-parachain-inherent?/std",
+ "cumulus-primitives-proof-size-hostfunction?/std",
+ "cumulus-primitives-storage-weight-reclaim?/std",
+ "cumulus-primitives-timestamp?/std",
+ "cumulus-primitives-utility?/std",
+ "cumulus-test-relay-sproof-builder?/std",
+ "frame-benchmarking?/std",
+ "frame-benchmarking-pallet-pov?/std",
+ "frame-election-provider-support?/std",
+ "frame-executive?/std",
+ "frame-support?/std",
+ "frame-support-procedural?/std",
+ "frame-system?/std",
+ "frame-system-benchmarking?/std",
+ "frame-system-rpc-runtime-api?/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-rate?/std",
+ "pallet-asset-tx-payment?/std",
+ "pallet-assets?/std",
+ "pallet-atomic-swap?/std",
+ "pallet-aura?/std",
+ "pallet-authority-discovery?/std",
+ "pallet-authorship?/std",
+ "pallet-babe?/std",
+ "pallet-bags-list?/std",
+ "pallet-balances?/std",
+ "pallet-beefy?/std",
+ "pallet-beefy-mmr?/std",
+ "pallet-bounties?/std",
+ "pallet-bridge-grandpa?/std",
+ "pallet-bridge-messages?/std",
+ "pallet-bridge-parachains?/std",
+ "pallet-bridge-relayers?/std",
+ "pallet-broker?/std",
+ "pallet-child-bounties?/std",
+ "pallet-collator-selection?/std",
+ "pallet-collective?/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",
+ "pallet-democracy?/std",
+ "pallet-dev-mode?/std",
+ "pallet-election-provider-multi-phase?/std",
+ "pallet-election-provider-support-benchmarking?/std",
+ "pallet-elections-phragmen?/std",
+ "pallet-example-basic?/std",
+ "pallet-example-offchain-worker?/std",
+ "pallet-example-split?/std",
+ "pallet-example-tasks?/std",
+ "pallet-fast-unstake?/std",
+ "pallet-glutton?/std",
+ "pallet-grandpa?/std",
+ "pallet-identity?/std",
+ "pallet-im-online?/std",
+ "pallet-indices?/std",
+ "pallet-insecure-randomness-collective-flip?/std",
+ "pallet-lottery?/std",
+ "pallet-membership?/std",
+ "pallet-message-queue?/std",
+ "pallet-migrations?/std",
+ "pallet-mixnet?/std",
+ "pallet-mmr?/std",
+ "pallet-multisig?/std",
+ "pallet-nft-fractionalization?/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-offences?/std",
+ "pallet-offences-benchmarking?/std",
+ "pallet-paged-list?/std",
+ "pallet-parameters?/std",
+ "pallet-preimage?/std",
+ "pallet-proxy?/std",
+ "pallet-ranked-collective?/std",
+ "pallet-recovery?/std",
+ "pallet-referenda?/std",
+ "pallet-remark?/std",
+ "pallet-root-offences?/std",
+ "pallet-root-testing?/std",
+ "pallet-safe-mode?/std",
+ "pallet-salary?/std",
+ "pallet-scheduler?/std",
+ "pallet-scored-pool?/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-state-trie-migration?/std",
+ "pallet-statement?/std",
+ "pallet-sudo?/std",
+ "pallet-timestamp?/std",
+ "pallet-tips?/std",
+ "pallet-transaction-payment?/std",
+ "pallet-transaction-payment-rpc-runtime-api?/std",
+ "pallet-transaction-storage?/std",
+ "pallet-treasury?/std",
+ "pallet-tx-pause?/std",
+ "pallet-uniques?/std",
+ "pallet-utility?/std",
+ "pallet-vesting?/std",
+ "pallet-whitelist?/std",
+ "pallet-xcm?/std",
+ "pallet-xcm-benchmarks?/std",
+ "pallet-xcm-bridge-hub?/std",
+ "pallet-xcm-bridge-hub-router?/std",
+ "parachains-common?/std",
+ "parachains-runtimes-test-utils?/std",
+ "penpal-runtime?/std",
+ "people-rococo-runtime?/std",
+ "people-westend-runtime?/std",
+ "polkadot-core-primitives?/std",
+ "polkadot-parachain-primitives?/std",
+ "polkadot-primitives?/std",
+ "polkadot-runtime-common?/std",
+ "polkadot-runtime-metrics?/std",
+ "polkadot-runtime-parachains?/std",
+ "rococo-parachain-runtime?/std",
+ "rococo-runtime?/std",
+ "rococo-runtime-constants?/std",
+ "sc-executor?/std",
+ "seedling-runtime?/std",
+ "shell-runtime?/std",
+ "slot-range-helper?/std",
+ "snowbridge-beacon-primitives?/std",
+ "snowbridge-core?/std",
+ "snowbridge-ethereum?/std",
+ "snowbridge-outbound-queue-merkle-tree?/std",
+ "snowbridge-outbound-queue-runtime-api?/std",
+ "snowbridge-pallet-ethereum-client?/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?/std",
+ "sp-api-proc-macro?/std",
+ "sp-application-crypto?/std",
+ "sp-arithmetic?/std",
+ "sp-authority-discovery?/std",
+ "sp-block-builder?/std",
+ "sp-consensus-aura?/std",
+ "sp-consensus-babe?/std",
+ "sp-consensus-beefy?/std",
+ "sp-consensus-grandpa?/std",
+ "sp-consensus-pow?/std",
+ "sp-consensus-slots?/std",
+ "sp-core?/std",
+ "sp-core-hashing?/std",
+ "sp-crypto-ec-utils?/std",
+ "sp-crypto-hashing?/std",
+ "sp-debug-derive?/std",
+ "sp-externalities?/std",
+ "sp-genesis-builder?/std",
+ "sp-inherents?/std",
+ "sp-io?/std",
+ "sp-keyring?/std",
+ "sp-keystore?/std",
+ "sp-metadata-ir?/std",
+ "sp-mixnet?/std",
+ "sp-mmr-primitives?/std",
+ "sp-npos-elections?/std",
+ "sp-offchain?/std",
+ "sp-runtime?/std",
+ "sp-runtime-interface?/std",
+ "sp-session?/std",
+ "sp-staking?/std",
+ "sp-state-machine?/std",
+ "sp-statement-store?/std",
+ "sp-std?/std",
+ "sp-storage?/std",
+ "sp-timestamp?/std",
+ "sp-tracing?/std",
+ "sp-transaction-pool?/std",
+ "sp-transaction-storage-proof?/std",
+ "sp-trie?/std",
+ "sp-version?/std",
+ "sp-wasm-interface?/std",
+ "sp-weights?/std",
+ "staging-parachain-info?/std",
+ "staging-xcm?/std",
+ "staging-xcm-builder?/std",
+ "staging-xcm-executor?/std",
+ "substrate-bip39?/std",
+ "testnet-parachains-constants?/std",
+ "westend-runtime?/std",
+ "westend-runtime-constants?/std",
+ "xcm-fee-payment-runtime-api?/std"
+]
+runtime-benchmarks = [
+ "asset-hub-rococo-runtime?/runtime-benchmarks",
+ "asset-hub-westend-runtime?/runtime-benchmarks",
+ "assets-common?/runtime-benchmarks",
+ "bridge-hub-common?/runtime-benchmarks",
+ "bridge-hub-rococo-runtime?/runtime-benchmarks",
+ "bridge-hub-westend-runtime?/runtime-benchmarks",
+ "bridge-runtime-common?/runtime-benchmarks",
+ "collectives-westend-runtime?/runtime-benchmarks",
+ "contracts-rococo-runtime?/runtime-benchmarks",
+ "coretime-rococo-runtime?/runtime-benchmarks",
+ "coretime-westend-runtime?/runtime-benchmarks",
+ "cumulus-pallet-dmp-queue?/runtime-benchmarks",
+ "cumulus-pallet-parachain-system?/runtime-benchmarks",
+ "cumulus-pallet-session-benchmarking?/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-election-provider-support?/runtime-benchmarks",
+ "frame-support?/runtime-benchmarks",
+ "frame-system?/runtime-benchmarks",
+ "frame-system-benchmarking?/runtime-benchmarks",
+ "glutton-westend-runtime?/runtime-benchmarks",
+ "pallet-alliance?/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",
+ "pallet-babe?/runtime-benchmarks",
+ "pallet-bags-list?/runtime-benchmarks",
+ "pallet-balances?/runtime-benchmarks",
+ "pallet-bounties?/runtime-benchmarks",
+ "pallet-bridge-grandpa?/runtime-benchmarks",
+ "pallet-bridge-messages?/runtime-benchmarks",
+ "pallet-bridge-parachains?/runtime-benchmarks",
+ "pallet-bridge-relayers?/runtime-benchmarks",
+ "pallet-broker?/runtime-benchmarks",
+ "pallet-child-bounties?/runtime-benchmarks",
+ "pallet-collator-selection?/runtime-benchmarks",
+ "pallet-collective?/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",
+ "pallet-election-provider-multi-phase?/runtime-benchmarks",
+ "pallet-election-provider-support-benchmarking?/runtime-benchmarks",
+ "pallet-elections-phragmen?/runtime-benchmarks",
+ "pallet-example-basic?/runtime-benchmarks",
+ "pallet-example-split?/runtime-benchmarks",
+ "pallet-example-tasks?/runtime-benchmarks",
+ "pallet-fast-unstake?/runtime-benchmarks",
+ "pallet-glutton?/runtime-benchmarks",
+ "pallet-grandpa?/runtime-benchmarks",
+ "pallet-identity?/runtime-benchmarks",
+ "pallet-im-online?/runtime-benchmarks",
+ "pallet-indices?/runtime-benchmarks",
+ "pallet-lottery?/runtime-benchmarks",
+ "pallet-membership?/runtime-benchmarks",
+ "pallet-message-queue?/runtime-benchmarks",
+ "pallet-migrations?/runtime-benchmarks",
+ "pallet-mixnet?/runtime-benchmarks",
+ "pallet-mmr?/runtime-benchmarks",
+ "pallet-multisig?/runtime-benchmarks",
+ "pallet-nft-fractionalization?/runtime-benchmarks",
+ "pallet-nfts?/runtime-benchmarks",
+ "pallet-nis?/runtime-benchmarks",
+ "pallet-nomination-pools?/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",
+ "pallet-proxy?/runtime-benchmarks",
+ "pallet-ranked-collective?/runtime-benchmarks",
+ "pallet-recovery?/runtime-benchmarks",
+ "pallet-referenda?/runtime-benchmarks",
+ "pallet-remark?/runtime-benchmarks",
+ "pallet-root-offences?/runtime-benchmarks",
+ "pallet-safe-mode?/runtime-benchmarks",
+ "pallet-salary?/runtime-benchmarks",
+ "pallet-scheduler?/runtime-benchmarks",
+ "pallet-session-benchmarking?/runtime-benchmarks",
+ "pallet-skip-feeless-payment?/runtime-benchmarks",
+ "pallet-society?/runtime-benchmarks",
+ "pallet-staking?/runtime-benchmarks",
+ "pallet-state-trie-migration?/runtime-benchmarks",
+ "pallet-sudo?/runtime-benchmarks",
+ "pallet-timestamp?/runtime-benchmarks",
+ "pallet-tips?/runtime-benchmarks",
+ "pallet-transaction-storage?/runtime-benchmarks",
+ "pallet-treasury?/runtime-benchmarks",
+ "pallet-tx-pause?/runtime-benchmarks",
+ "pallet-uniques?/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?/runtime-benchmarks",
+ "pallet-xcm-bridge-hub-router?/runtime-benchmarks",
+ "parachains-common?/runtime-benchmarks",
+ "penpal-runtime?/runtime-benchmarks",
+ "people-rococo-runtime?/runtime-benchmarks",
+ "people-westend-runtime?/runtime-benchmarks",
+ "polkadot-cli?/runtime-benchmarks",
+ "polkadot-node-metrics?/runtime-benchmarks",
+ "polkadot-parachain-primitives?/runtime-benchmarks",
+ "polkadot-primitives?/runtime-benchmarks",
+ "polkadot-runtime-common?/runtime-benchmarks",
+ "polkadot-runtime-parachains?/runtime-benchmarks",
+ "polkadot-service?/runtime-benchmarks",
+ "rococo-parachain-runtime?/runtime-benchmarks",
+ "rococo-runtime?/runtime-benchmarks",
+ "sc-client-db?/runtime-benchmarks",
+ "sc-service?/runtime-benchmarks",
+ "snowbridge-core?/runtime-benchmarks",
+ "snowbridge-pallet-ethereum-client?/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",
+ "snowbridge-runtime-common?/runtime-benchmarks",
+ "snowbridge-runtime-test-common?/runtime-benchmarks",
+ "sp-runtime?/runtime-benchmarks",
+ "sp-staking?/runtime-benchmarks",
+ "staging-node-inspect?/runtime-benchmarks",
+ "staging-xcm-builder?/runtime-benchmarks",
+ "staging-xcm-executor?/runtime-benchmarks",
+ "westend-runtime?/runtime-benchmarks",
+ "xcm-simulator-example?/runtime-benchmarks"
+]
+try-runtime = [
+ "asset-hub-rococo-runtime?/try-runtime",
+ "asset-hub-westend-runtime?/try-runtime",
+ "bridge-hub-rococo-runtime?/try-runtime",
+ "bridge-hub-westend-runtime?/try-runtime",
+ "collectives-westend-runtime?/try-runtime",
+ "contracts-rococo-runtime?/try-runtime",
+ "coretime-rococo-runtime?/try-runtime",
+ "coretime-westend-runtime?/try-runtime",
+ "cumulus-pallet-aura-ext?/try-runtime",
+ "cumulus-pallet-dmp-queue?/try-runtime",
+ "cumulus-pallet-parachain-system?/try-runtime",
+ "cumulus-pallet-solo-to-para?/try-runtime",
+ "cumulus-pallet-xcm?/try-runtime",
+ "cumulus-pallet-xcmp-queue?/try-runtime",
+ "cumulus-ping?/try-runtime",
+ "frame-benchmarking-pallet-pov?/try-runtime",
+ "frame-election-provider-support?/try-runtime",
+ "frame-executive?/try-runtime",
+ "frame-support?/try-runtime",
+ "frame-system?/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-rate?/try-runtime",
+ "pallet-asset-tx-payment?/try-runtime",
+ "pallet-assets?/try-runtime",
+ "pallet-atomic-swap?/try-runtime",
+ "pallet-aura?/try-runtime",
+ "pallet-authority-discovery?/try-runtime",
+ "pallet-authorship?/try-runtime",
+ "pallet-babe?/try-runtime",
+ "pallet-bags-list?/try-runtime",
+ "pallet-balances?/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",
+ "pallet-bridge-parachains?/try-runtime",
+ "pallet-bridge-relayers?/try-runtime",
+ "pallet-broker?/try-runtime",
+ "pallet-child-bounties?/try-runtime",
+ "pallet-collator-selection?/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",
+ "pallet-default-config-example?/try-runtime",
+ "pallet-democracy?/try-runtime",
+ "pallet-dev-mode?/try-runtime",
+ "pallet-election-provider-multi-phase?/try-runtime",
+ "pallet-elections-phragmen?/try-runtime",
+ "pallet-example-basic?/try-runtime",
+ "pallet-example-offchain-worker?/try-runtime",
+ "pallet-example-split?/try-runtime",
+ "pallet-example-tasks?/try-runtime",
+ "pallet-fast-unstake?/try-runtime",
+ "pallet-glutton?/try-runtime",
+ "pallet-grandpa?/try-runtime",
+ "pallet-identity?/try-runtime",
+ "pallet-im-online?/try-runtime",
+ "pallet-indices?/try-runtime",
+ "pallet-insecure-randomness-collective-flip?/try-runtime",
+ "pallet-lottery?/try-runtime",
+ "pallet-membership?/try-runtime",
+ "pallet-message-queue?/try-runtime",
+ "pallet-migrations?/try-runtime",
+ "pallet-mixnet?/try-runtime",
+ "pallet-mmr?/try-runtime",
+ "pallet-multisig?/try-runtime",
+ "pallet-nft-fractionalization?/try-runtime",
+ "pallet-nfts?/try-runtime",
+ "pallet-nis?/try-runtime",
+ "pallet-node-authorization?/try-runtime",
+ "pallet-nomination-pools?/try-runtime",
+ "pallet-offences?/try-runtime",
+ "pallet-paged-list?/try-runtime",
+ "pallet-parameters?/try-runtime",
+ "pallet-preimage?/try-runtime",
+ "pallet-proxy?/try-runtime",
+ "pallet-ranked-collective?/try-runtime",
+ "pallet-recovery?/try-runtime",
+ "pallet-referenda?/try-runtime",
+ "pallet-remark?/try-runtime",
+ "pallet-root-offences?/try-runtime",
+ "pallet-root-testing?/try-runtime",
+ "pallet-safe-mode?/try-runtime",
+ "pallet-salary?/try-runtime",
+ "pallet-scheduler?/try-runtime",
+ "pallet-scored-pool?/try-runtime",
+ "pallet-session?/try-runtime",
+ "pallet-skip-feeless-payment?/try-runtime",
+ "pallet-society?/try-runtime",
+ "pallet-staking?/try-runtime",
+ "pallet-state-trie-migration?/try-runtime",
+ "pallet-statement?/try-runtime",
+ "pallet-sudo?/try-runtime",
+ "pallet-timestamp?/try-runtime",
+ "pallet-tips?/try-runtime",
+ "pallet-transaction-payment?/try-runtime",
+ "pallet-transaction-storage?/try-runtime",
+ "pallet-treasury?/try-runtime",
+ "pallet-tx-pause?/try-runtime",
+ "pallet-uniques?/try-runtime",
+ "pallet-utility?/try-runtime",
+ "pallet-vesting?/try-runtime",
+ "pallet-whitelist?/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",
+ "polkadot-cli?/try-runtime",
+ "polkadot-runtime-common?/try-runtime",
+ "polkadot-runtime-parachains?/try-runtime",
+ "polkadot-service?/try-runtime",
+ "rococo-runtime?/try-runtime",
+ "shell-runtime?/try-runtime",
+ "snowbridge-pallet-ethereum-client?/try-runtime",
+ "snowbridge-pallet-inbound-queue?/try-runtime",
+ "snowbridge-pallet-outbound-queue?/try-runtime",
+ "snowbridge-pallet-system?/try-runtime",
+ "sp-runtime?/try-runtime",
+ "staging-parachain-info?/try-runtime",
+ "westend-runtime?/try-runtime"
+]
+serde = [
+ "bp-polkadot-core?/serde",
+ "bridge-hub-rococo-runtime?/serde",
+ "bridge-hub-westend-runtime?/serde",
+ "coretime-rococo-runtime?/serde",
+ "coretime-westend-runtime?/serde",
+ "frame-benchmarking?/serde",
+ "pallet-asset-tx-payment?/serde",
+ "pallet-beefy?/serde",
+ "pallet-beefy-mmr?/serde",
+ "pallet-contracts?/serde",
+ "pallet-conviction-voting?/serde",
+ "pallet-democracy?/serde",
+ "pallet-message-queue?/serde",
+ "pallet-offences?/serde",
+ "pallet-parameters?/serde",
+ "pallet-referenda?/serde",
+ "pallet-remark?/serde",
+ "pallet-state-trie-migration?/serde",
+ "pallet-tips?/serde",
+ "pallet-transaction-payment?/serde",
+ "pallet-transaction-storage?/serde",
+ "pallet-treasury?/serde",
+ "pallet-xcm?/serde",
+ "people-rococo-runtime?/serde",
+ "people-westend-runtime?/serde",
+ "snowbridge-beacon-primitives?/serde",
+ "snowbridge-core?/serde",
+ "snowbridge-ethereum?/serde",
+ "snowbridge-pallet-ethereum-client?/serde",
+ "snowbridge-pallet-inbound-queue?/serde",
+ "sp-application-crypto?/serde",
+ "sp-arithmetic?/serde",
+ "sp-authority-discovery?/serde",
+ "sp-consensus-aura?/serde",
+ "sp-consensus-babe?/serde",
+ "sp-consensus-beefy?/serde",
+ "sp-consensus-grandpa?/serde",
+ "sp-consensus-slots?/serde",
+ "sp-core?/serde",
+ "sp-mmr-primitives?/serde",
+ "sp-npos-elections?/serde",
+ "sp-runtime?/serde",
+ "sp-staking?/serde",
+ "sp-statement-store?/serde",
+ "sp-storage?/serde",
+ "sp-version?/serde",
+ "sp-weights?/serde"
+]
+experimental = [
+ "frame-support?/experimental",
+ "frame-support-procedural?/experimental",
+ "frame-system?/experimental",
+ "pallet-example-tasks?/experimental"
+]
+with-tracing = [
+ "frame-executive?/with-tracing",
+ "sp-io?/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 = [ "std", "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",]
+
+[dependencies.asset-hub-rococo-runtime]
+path = "../cumulus/parachains/runtimes/assets/asset-hub-rococo"
+default-features = false
+optional = true
+
+[dependencies.asset-hub-westend-runtime]
+path = "../cumulus/parachains/runtimes/assets/asset-hub-westend"
+default-features = false
+optional = true
+
+[dependencies.assets-common]
+path = "../cumulus/parachains/runtimes/assets/common"
+default-features = false
+optional = true
+
+[dependencies.binary-merkle-tree]
+path = "../substrate/utils/binary-merkle-tree"
+default-features = false
+optional = true
+
+[dependencies.bp-asset-hub-rococo]
+path = "../bridges/chains/chain-asset-hub-rococo"
+default-features = false
+optional = true
+
+[dependencies.bp-asset-hub-westend]
+path = "../bridges/chains/chain-asset-hub-westend"
+default-features = false
+optional = true
+
+[dependencies.bp-bridge-hub-cumulus]
+path = "../bridges/chains/chain-bridge-hub-cumulus"
+default-features = false
+optional = true
+
+[dependencies.bp-bridge-hub-kusama]
+path = "../bridges/chains/chain-bridge-hub-kusama"
+default-features = false
+optional = true
+
+[dependencies.bp-bridge-hub-polkadot]
+path = "../bridges/chains/chain-bridge-hub-polkadot"
+default-features = false
+optional = true
+
+[dependencies.bp-bridge-hub-rococo]
+path = "../bridges/chains/chain-bridge-hub-rococo"
+default-features = false
+optional = true
+
+[dependencies.bp-bridge-hub-westend]
+path = "../bridges/chains/chain-bridge-hub-westend"
+default-features = false
+optional = true
+
+[dependencies.bp-header-chain]
+path = "../bridges/primitives/header-chain"
+default-features = false
+optional = true
+
+[dependencies.bp-kusama]
+path = "../bridges/chains/chain-kusama"
+default-features = false
+optional = true
+
+[dependencies.bp-messages]
+path = "../bridges/primitives/messages"
+default-features = false
+optional = true
+
+[dependencies.bp-parachains]
+path = "../bridges/primitives/parachains"
+default-features = false
+optional = true
+
+[dependencies.bp-polkadot]
+path = "../bridges/chains/chain-polkadot"
+default-features = false
+optional = true
+
+[dependencies.bp-polkadot-bulletin]
+path = "../bridges/chains/chain-polkadot-bulletin"
+default-features = false
+optional = true
+
+[dependencies.bp-polkadot-core]
+path = "../bridges/primitives/polkadot-core"
+default-features = false
+optional = true
+
+[dependencies.bp-relayers]
+path = "../bridges/primitives/relayers"
+default-features = false
+optional = true
+
+[dependencies.bp-rococo]
+path = "../bridges/chains/chain-rococo"
+default-features = false
+optional = true
+
+[dependencies.bp-runtime]
+path = "../bridges/primitives/runtime"
+default-features = false
+optional = true
+
+[dependencies.bp-test-utils]
+path = "../bridges/primitives/test-utils"
+default-features = false
+optional = true
+
+[dependencies.bp-westend]
+path = "../bridges/chains/chain-westend"
+default-features = false
+optional = true
+
+[dependencies.bp-xcm-bridge-hub]
+path = "../bridges/primitives/xcm-bridge-hub"
+default-features = false
+optional = true
+
+[dependencies.bp-xcm-bridge-hub-router]
+path = "../bridges/primitives/xcm-bridge-hub-router"
+default-features = false
+optional = true
+
+[dependencies.bridge-hub-common]
+path = "../cumulus/parachains/runtimes/bridge-hubs/common"
+default-features = false
+optional = true
+
+[dependencies.bridge-hub-rococo-runtime]
+path = "../cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo"
+default-features = false
+optional = true
+
+[dependencies.bridge-hub-westend-runtime]
+path = "../cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend"
+default-features = false
+optional = true
+
+[dependencies.bridge-runtime-common]
+path = "../bridges/bin/runtime-common"
+default-features = false
+optional = true
+
+[dependencies.collectives-westend-runtime]
+path = "../cumulus/parachains/runtimes/collectives/collectives-westend"
+default-features = false
+optional = true
+
+[dependencies.contracts-rococo-runtime]
+path = "../cumulus/parachains/runtimes/contracts/contracts-rococo"
+default-features = false
+optional = true
+
+[dependencies.coretime-rococo-runtime]
+path = "../cumulus/parachains/runtimes/coretime/coretime-rococo"
+default-features = false
+optional = true
+
+[dependencies.coretime-westend-runtime]
+path = "../cumulus/parachains/runtimes/coretime/coretime-westend"
+default-features = false
+optional = true
+
+[dependencies.cumulus-pallet-aura-ext]
+path = "../cumulus/pallets/aura-ext"
+default-features = false
+optional = true
+
+[dependencies.cumulus-pallet-dmp-queue]
+path = "../cumulus/pallets/dmp-queue"
+default-features = false
+optional = true
+
+[dependencies.cumulus-pallet-parachain-system]
+path = "../cumulus/pallets/parachain-system"
+default-features = false
+optional = true
+
+[dependencies.cumulus-pallet-parachain-system-proc-macro]
+path = "../cumulus/pallets/parachain-system/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.cumulus-pallet-session-benchmarking]
+path = "../cumulus/pallets/session-benchmarking"
+default-features = false
+optional = true
+
+[dependencies.cumulus-pallet-solo-to-para]
+path = "../cumulus/pallets/solo-to-para"
+default-features = false
+optional = true
+
+[dependencies.cumulus-pallet-xcm]
+path = "../cumulus/pallets/xcm"
+default-features = false
+optional = true
+
+[dependencies.cumulus-pallet-xcmp-queue]
+path = "../cumulus/pallets/xcmp-queue"
+default-features = false
+optional = true
+
+[dependencies.cumulus-ping]
+path = "../cumulus/parachains/pallets/ping"
+default-features = false
+optional = true
+
+[dependencies.cumulus-primitives-aura]
+path = "../cumulus/primitives/aura"
+default-features = false
+optional = true
+
+[dependencies.cumulus-primitives-core]
+path = "../cumulus/primitives/core"
+default-features = false
+optional = true
+
+[dependencies.cumulus-primitives-parachain-inherent]
+path = "../cumulus/primitives/parachain-inherent"
+default-features = false
+optional = true
+
+[dependencies.cumulus-primitives-proof-size-hostfunction]
+path = "../cumulus/primitives/proof-size-hostfunction"
+default-features = false
+optional = true
+
+[dependencies.cumulus-primitives-storage-weight-reclaim]
+path = "../cumulus/primitives/storage-weight-reclaim"
+default-features = false
+optional = true
+
+[dependencies.cumulus-primitives-timestamp]
+path = "../cumulus/primitives/timestamp"
+default-features = false
+optional = true
+
+[dependencies.cumulus-primitives-utility]
+path = "../cumulus/primitives/utility"
+default-features = false
+optional = true
+
+[dependencies.frame-benchmarking]
+path = "../substrate/frame/benchmarking"
+default-features = false
+optional = true
+
+[dependencies.frame-benchmarking-pallet-pov]
+path = "../substrate/frame/benchmarking/pov"
+default-features = false
+optional = true
+
+[dependencies.frame-election-provider-solution-type]
+path = "../substrate/frame/election-provider-support/solution-type"
+default-features = false
+optional = true
+
+[dependencies.frame-election-provider-support]
+path = "../substrate/frame/election-provider-support"
+default-features = false
+optional = true
+
+[dependencies.frame-executive]
+path = "../substrate/frame/executive"
+default-features = false
+optional = true
+
+[dependencies.frame-support]
+path = "../substrate/frame/support"
+default-features = false
+optional = true
+
+[dependencies.frame-support-procedural]
+path = "../substrate/frame/support/procedural"
+default-features = false
+optional = true
+
+[dependencies.frame-support-procedural-tools-derive]
+path = "../substrate/frame/support/procedural/tools/derive"
+default-features = false
+optional = true
+
+[dependencies.frame-system]
+path = "../substrate/frame/system"
+default-features = false
+optional = true
+
+[dependencies.frame-system-benchmarking]
+path = "../substrate/frame/system/benchmarking"
+default-features = false
+optional = true
+
+[dependencies.frame-system-rpc-runtime-api]
+path = "../substrate/frame/system/rpc/runtime-api"
+default-features = false
+optional = true
+
+[dependencies.frame-try-runtime]
+path = "../substrate/frame/try-runtime"
+default-features = false
+optional = true
+
+[dependencies.glutton-westend-runtime]
+path = "../cumulus/parachains/runtimes/glutton/glutton-westend"
+default-features = false
+optional = true
+
+[dependencies.pallet-alliance]
+path = "../substrate/frame/alliance"
+default-features = false
+optional = true
+
+[dependencies.pallet-asset-conversion]
+path = "../substrate/frame/asset-conversion"
+default-features = false
+optional = true
+
+[dependencies.pallet-asset-conversion-ops]
+path = "../substrate/frame/asset-conversion/ops"
+default-features = false
+optional = true
+
+[dependencies.pallet-asset-conversion-tx-payment]
+path = "../substrate/frame/transaction-payment/asset-conversion-tx-payment"
+default-features = false
+optional = true
+
+[dependencies.pallet-asset-rate]
+path = "../substrate/frame/asset-rate"
+default-features = false
+optional = true
+
+[dependencies.pallet-asset-tx-payment]
+path = "../substrate/frame/transaction-payment/asset-tx-payment"
+default-features = false
+optional = true
+
+[dependencies.pallet-assets]
+path = "../substrate/frame/assets"
+default-features = false
+optional = true
+
+[dependencies.pallet-atomic-swap]
+path = "../substrate/frame/atomic-swap"
+default-features = false
+optional = true
+
+[dependencies.pallet-aura]
+path = "../substrate/frame/aura"
+default-features = false
+optional = true
+
+[dependencies.pallet-authority-discovery]
+path = "../substrate/frame/authority-discovery"
+default-features = false
+optional = true
+
+[dependencies.pallet-authorship]
+path = "../substrate/frame/authorship"
+default-features = false
+optional = true
+
+[dependencies.pallet-babe]
+path = "../substrate/frame/babe"
+default-features = false
+optional = true
+
+[dependencies.pallet-bags-list]
+path = "../substrate/frame/bags-list"
+default-features = false
+optional = true
+
+[dependencies.pallet-balances]
+path = "../substrate/frame/balances"
+default-features = false
+optional = true
+
+[dependencies.pallet-beefy]
+path = "../substrate/frame/beefy"
+default-features = false
+optional = true
+
+[dependencies.pallet-beefy-mmr]
+path = "../substrate/frame/beefy-mmr"
+default-features = false
+optional = true
+
+[dependencies.pallet-bounties]
+path = "../substrate/frame/bounties"
+default-features = false
+optional = true
+
+[dependencies.pallet-bridge-grandpa]
+path = "../bridges/modules/grandpa"
+default-features = false
+optional = true
+
+[dependencies.pallet-bridge-messages]
+path = "../bridges/modules/messages"
+default-features = false
+optional = true
+
+[dependencies.pallet-bridge-parachains]
+path = "../bridges/modules/parachains"
+default-features = false
+optional = true
+
+[dependencies.pallet-bridge-relayers]
+path = "../bridges/modules/relayers"
+default-features = false
+optional = true
+
+[dependencies.pallet-broker]
+path = "../substrate/frame/broker"
+default-features = false
+optional = true
+
+[dependencies.pallet-child-bounties]
+path = "../substrate/frame/child-bounties"
+default-features = false
+optional = true
+
+[dependencies.pallet-collator-selection]
+path = "../cumulus/pallets/collator-selection"
+default-features = false
+optional = true
+
+[dependencies.pallet-collective]
+path = "../substrate/frame/collective"
+default-features = false
+optional = true
+
+[dependencies.pallet-collective-content]
+path = "../cumulus/parachains/pallets/collective-content"
+default-features = false
+optional = true
+
+[dependencies.pallet-contracts]
+path = "../substrate/frame/contracts"
+default-features = false
+optional = true
+
+[dependencies.pallet-contracts-proc-macro]
+path = "../substrate/frame/contracts/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.pallet-contracts-uapi]
+path = "../substrate/frame/contracts/uapi"
+default-features = false
+optional = true
+
+[dependencies.pallet-conviction-voting]
+path = "../substrate/frame/conviction-voting"
+default-features = false
+optional = true
+
+[dependencies.pallet-core-fellowship]
+path = "../substrate/frame/core-fellowship"
+default-features = false
+optional = true
+
+[dependencies.pallet-default-config-example]
+path = "../substrate/frame/examples/default-config"
+default-features = false
+optional = true
+
+[dependencies.pallet-democracy]
+path = "../substrate/frame/democracy"
+default-features = false
+optional = true
+
+[dependencies.pallet-dev-mode]
+path = "../substrate/frame/examples/dev-mode"
+default-features = false
+optional = true
+
+[dependencies.pallet-election-provider-multi-phase]
+path = "../substrate/frame/election-provider-multi-phase"
+default-features = false
+optional = true
+
+[dependencies.pallet-election-provider-support-benchmarking]
+path = "../substrate/frame/election-provider-support/benchmarking"
+default-features = false
+optional = true
+
+[dependencies.pallet-elections-phragmen]
+path = "../substrate/frame/elections-phragmen"
+default-features = false
+optional = true
+
+[dependencies.pallet-example-basic]
+path = "../substrate/frame/examples/basic"
+default-features = false
+optional = true
+
+[dependencies.pallet-example-offchain-worker]
+path = "../substrate/frame/examples/offchain-worker"
+default-features = false
+optional = true
+
+[dependencies.pallet-example-split]
+path = "../substrate/frame/examples/split"
+default-features = false
+optional = true
+
+[dependencies.pallet-example-tasks]
+path = "../substrate/frame/examples/tasks"
+default-features = false
+optional = true
+
+[dependencies.pallet-fast-unstake]
+path = "../substrate/frame/fast-unstake"
+default-features = false
+optional = true
+
+[dependencies.pallet-glutton]
+path = "../substrate/frame/glutton"
+default-features = false
+optional = true
+
+[dependencies.pallet-grandpa]
+path = "../substrate/frame/grandpa"
+default-features = false
+optional = true
+
+[dependencies.pallet-identity]
+path = "../substrate/frame/identity"
+default-features = false
+optional = true
+
+[dependencies.pallet-im-online]
+path = "../substrate/frame/im-online"
+default-features = false
+optional = true
+
+[dependencies.pallet-indices]
+path = "../substrate/frame/indices"
+default-features = false
+optional = true
+
+[dependencies.pallet-insecure-randomness-collective-flip]
+path = "../substrate/frame/insecure-randomness-collective-flip"
+default-features = false
+optional = true
+
+[dependencies.pallet-lottery]
+path = "../substrate/frame/lottery"
+default-features = false
+optional = true
+
+[dependencies.pallet-membership]
+path = "../substrate/frame/membership"
+default-features = false
+optional = true
+
+[dependencies.pallet-message-queue]
+path = "../substrate/frame/message-queue"
+default-features = false
+optional = true
+
+[dependencies.pallet-migrations]
+path = "../substrate/frame/migrations"
+default-features = false
+optional = true
+
+[dependencies.pallet-mixnet]
+path = "../substrate/frame/mixnet"
+default-features = false
+optional = true
+
+[dependencies.pallet-mmr]
+path = "../substrate/frame/merkle-mountain-range"
+default-features = false
+optional = true
+
+[dependencies.pallet-multisig]
+path = "../substrate/frame/multisig"
+default-features = false
+optional = true
+
+[dependencies.pallet-nft-fractionalization]
+path = "../substrate/frame/nft-fractionalization"
+default-features = false
+optional = true
+
+[dependencies.pallet-nfts]
+path = "../substrate/frame/nfts"
+default-features = false
+optional = true
+
+[dependencies.pallet-nfts-runtime-api]
+path = "../substrate/frame/nfts/runtime-api"
+default-features = false
+optional = true
+
+[dependencies.pallet-nis]
+path = "../substrate/frame/nis"
+default-features = false
+optional = true
+
+[dependencies.pallet-node-authorization]
+path = "../substrate/frame/node-authorization"
+default-features = false
+optional = true
+
+[dependencies.pallet-nomination-pools]
+path = "../substrate/frame/nomination-pools"
+default-features = false
+optional = true
+
+[dependencies.pallet-nomination-pools-benchmarking]
+path = "../substrate/frame/nomination-pools/benchmarking"
+default-features = false
+optional = true
+
+[dependencies.pallet-nomination-pools-runtime-api]
+path = "../substrate/frame/nomination-pools/runtime-api"
+default-features = false
+optional = true
+
+[dependencies.pallet-offences]
+path = "../substrate/frame/offences"
+default-features = false
+optional = true
+
+[dependencies.pallet-offences-benchmarking]
+path = "../substrate/frame/offences/benchmarking"
+default-features = false
+optional = true
+
+[dependencies.pallet-paged-list]
+path = "../substrate/frame/paged-list"
+default-features = false
+optional = true
+
+[dependencies.pallet-parameters]
+path = "../substrate/frame/parameters"
+default-features = false
+optional = true
+
+[dependencies.pallet-preimage]
+path = "../substrate/frame/preimage"
+default-features = false
+optional = true
+
+[dependencies.pallet-proxy]
+path = "../substrate/frame/proxy"
+default-features = false
+optional = true
+
+[dependencies.pallet-ranked-collective]
+path = "../substrate/frame/ranked-collective"
+default-features = false
+optional = true
+
+[dependencies.pallet-recovery]
+path = "../substrate/frame/recovery"
+default-features = false
+optional = true
+
+[dependencies.pallet-referenda]
+path = "../substrate/frame/referenda"
+default-features = false
+optional = true
+
+[dependencies.pallet-remark]
+path = "../substrate/frame/remark"
+default-features = false
+optional = true
+
+[dependencies.pallet-root-offences]
+path = "../substrate/frame/root-offences"
+default-features = false
+optional = true
+
+[dependencies.pallet-root-testing]
+path = "../substrate/frame/root-testing"
+default-features = false
+optional = true
+
+[dependencies.pallet-safe-mode]
+path = "../substrate/frame/safe-mode"
+default-features = false
+optional = true
+
+[dependencies.pallet-salary]
+path = "../substrate/frame/salary"
+default-features = false
+optional = true
+
+[dependencies.pallet-scheduler]
+path = "../substrate/frame/scheduler"
+default-features = false
+optional = true
+
+[dependencies.pallet-scored-pool]
+path = "../substrate/frame/scored-pool"
+default-features = false
+optional = true
+
+[dependencies.pallet-session]
+path = "../substrate/frame/session"
+default-features = false
+optional = true
+
+[dependencies.pallet-session-benchmarking]
+path = "../substrate/frame/session/benchmarking"
+default-features = false
+optional = true
+
+[dependencies.pallet-skip-feeless-payment]
+path = "../substrate/frame/transaction-payment/skip-feeless-payment"
+default-features = false
+optional = true
+
+[dependencies.pallet-society]
+path = "../substrate/frame/society"
+default-features = false
+optional = true
+
+[dependencies.pallet-staking]
+path = "../substrate/frame/staking"
+default-features = false
+optional = true
+
+[dependencies.pallet-staking-reward-curve]
+path = "../substrate/frame/staking/reward-curve"
+default-features = false
+optional = true
+
+[dependencies.pallet-staking-reward-fn]
+path = "../substrate/frame/staking/reward-fn"
+default-features = false
+optional = true
+
+[dependencies.pallet-staking-runtime-api]
+path = "../substrate/frame/staking/runtime-api"
+default-features = false
+optional = true
+
+[dependencies.pallet-state-trie-migration]
+path = "../substrate/frame/state-trie-migration"
+default-features = false
+optional = true
+
+[dependencies.pallet-statement]
+path = "../substrate/frame/statement"
+default-features = false
+optional = true
+
+[dependencies.pallet-sudo]
+path = "../substrate/frame/sudo"
+default-features = false
+optional = true
+
+[dependencies.pallet-timestamp]
+path = "../substrate/frame/timestamp"
+default-features = false
+optional = true
+
+[dependencies.pallet-tips]
+path = "../substrate/frame/tips"
+default-features = false
+optional = true
+
+[dependencies.pallet-transaction-payment]
+path = "../substrate/frame/transaction-payment"
+default-features = false
+optional = true
+
+[dependencies.pallet-transaction-payment-rpc-runtime-api]
+path = "../substrate/frame/transaction-payment/rpc/runtime-api"
+default-features = false
+optional = true
+
+[dependencies.pallet-transaction-storage]
+path = "../substrate/frame/transaction-storage"
+default-features = false
+optional = true
+
+[dependencies.pallet-treasury]
+path = "../substrate/frame/treasury"
+default-features = false
+optional = true
+
+[dependencies.pallet-tx-pause]
+path = "../substrate/frame/tx-pause"
+default-features = false
+optional = true
+
+[dependencies.pallet-uniques]
+path = "../substrate/frame/uniques"
+default-features = false
+optional = true
+
+[dependencies.pallet-utility]
+path = "../substrate/frame/utility"
+default-features = false
+optional = true
+
+[dependencies.pallet-vesting]
+path = "../substrate/frame/vesting"
+default-features = false
+optional = true
+
+[dependencies.pallet-whitelist]
+path = "../substrate/frame/whitelist"
+default-features = false
+optional = true
+
+[dependencies.pallet-xcm]
+path = "../polkadot/xcm/pallet-xcm"
+default-features = false
+optional = true
+
+[dependencies.pallet-xcm-benchmarks]
+path = "../polkadot/xcm/pallet-xcm-benchmarks"
+default-features = false
+optional = true
+
+[dependencies.pallet-xcm-bridge-hub]
+path = "../bridges/modules/xcm-bridge-hub"
+default-features = false
+optional = true
+
+[dependencies.pallet-xcm-bridge-hub-router]
+path = "../bridges/modules/xcm-bridge-hub-router"
+default-features = false
+optional = true
+
+[dependencies.parachains-common]
+path = "../cumulus/parachains/common"
+default-features = false
+optional = true
+
+[dependencies.penpal-runtime]
+path = "../cumulus/parachains/runtimes/testing/penpal"
+default-features = false
+optional = true
+
+[dependencies.people-rococo-runtime]
+path = "../cumulus/parachains/runtimes/people/people-rococo"
+default-features = false
+optional = true
+
+[dependencies.people-westend-runtime]
+path = "../cumulus/parachains/runtimes/people/people-westend"
+default-features = false
+optional = true
+
+[dependencies.polkadot-core-primitives]
+path = "../polkadot/core-primitives"
+default-features = false
+optional = true
+
+[dependencies.polkadot-parachain-primitives]
+path = "../polkadot/parachain"
+default-features = false
+optional = true
+
+[dependencies.polkadot-primitives]
+path = "../polkadot/primitives"
+default-features = false
+optional = true
+
+[dependencies.polkadot-runtime-common]
+path = "../polkadot/runtime/common"
+default-features = false
+optional = true
+
+[dependencies.polkadot-runtime-metrics]
+path = "../polkadot/runtime/metrics"
+default-features = false
+optional = true
+
+[dependencies.polkadot-runtime-parachains]
+path = "../polkadot/runtime/parachains"
+default-features = false
+optional = true
+
+[dependencies.rococo-parachain-runtime]
+path = "../cumulus/parachains/runtimes/testing/rococo-parachain"
+default-features = false
+optional = true
+
+[dependencies.rococo-runtime]
+path = "../polkadot/runtime/rococo"
+default-features = false
+optional = true
+
+[dependencies.rococo-runtime-constants]
+path = "../polkadot/runtime/rococo/constants"
+default-features = false
+optional = true
+
+[dependencies.sc-chain-spec-derive]
+path = "../substrate/client/chain-spec/derive"
+default-features = false
+optional = true
+
+[dependencies.sc-tracing-proc-macro]
+path = "../substrate/client/tracing/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.seedling-runtime]
+path = "../cumulus/parachains/runtimes/starters/seedling"
+default-features = false
+optional = true
+
+[dependencies.shell-runtime]
+path = "../cumulus/parachains/runtimes/starters/shell"
+default-features = false
+optional = true
+
+[dependencies.slot-range-helper]
+path = "../polkadot/runtime/common/slot_range_helper"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-beacon-primitives]
+path = "../bridges/snowbridge/primitives/beacon"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-core]
+path = "../bridges/snowbridge/primitives/core"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-ethereum]
+path = "../bridges/snowbridge/primitives/ethereum"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-outbound-queue-merkle-tree]
+path = "../bridges/snowbridge/pallets/outbound-queue/merkle-tree"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-outbound-queue-runtime-api]
+path = "../bridges/snowbridge/pallets/outbound-queue/runtime-api"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-pallet-ethereum-client]
+path = "../bridges/snowbridge/pallets/ethereum-client"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-pallet-ethereum-client-fixtures]
+path = "../bridges/snowbridge/pallets/ethereum-client/fixtures"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-pallet-inbound-queue]
+path = "../bridges/snowbridge/pallets/inbound-queue"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-pallet-inbound-queue-fixtures]
+path = "../bridges/snowbridge/pallets/inbound-queue/fixtures"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-pallet-outbound-queue]
+path = "../bridges/snowbridge/pallets/outbound-queue"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-pallet-system]
+path = "../bridges/snowbridge/pallets/system"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-router-primitives]
+path = "../bridges/snowbridge/primitives/router"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-runtime-common]
+path = "../bridges/snowbridge/runtime/runtime-common"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-system-runtime-api]
+path = "../bridges/snowbridge/pallets/system/runtime-api"
+default-features = false
+optional = true
+
+[dependencies.sp-api]
+path = "../substrate/primitives/api"
+default-features = false
+optional = true
+
+[dependencies.sp-api-proc-macro]
+path = "../substrate/primitives/api/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.sp-application-crypto]
+path = "../substrate/primitives/application-crypto"
+default-features = false
+optional = true
+
+[dependencies.sp-arithmetic]
+path = "../substrate/primitives/arithmetic"
+default-features = false
+optional = true
+
+[dependencies.sp-authority-discovery]
+path = "../substrate/primitives/authority-discovery"
+default-features = false
+optional = true
+
+[dependencies.sp-block-builder]
+path = "../substrate/primitives/block-builder"
+default-features = false
+optional = true
+
+[dependencies.sp-consensus-aura]
+path = "../substrate/primitives/consensus/aura"
+default-features = false
+optional = true
+
+[dependencies.sp-consensus-babe]
+path = "../substrate/primitives/consensus/babe"
+default-features = false
+optional = true
+
+[dependencies.sp-consensus-beefy]
+path = "../substrate/primitives/consensus/beefy"
+default-features = false
+optional = true
+
+[dependencies.sp-consensus-grandpa]
+path = "../substrate/primitives/consensus/grandpa"
+default-features = false
+optional = true
+
+[dependencies.sp-consensus-pow]
+path = "../substrate/primitives/consensus/pow"
+default-features = false
+optional = true
+
+[dependencies.sp-consensus-slots]
+path = "../substrate/primitives/consensus/slots"
+default-features = false
+optional = true
+
+[dependencies.sp-core]
+path = "../substrate/primitives/core"
+default-features = false
+optional = true
+
+[dependencies.sp-crypto-ec-utils]
+path = "../substrate/primitives/crypto/ec-utils"
+default-features = false
+optional = true
+
+[dependencies.sp-crypto-hashing]
+path = "../substrate/primitives/crypto/hashing"
+default-features = false
+optional = true
+
+[dependencies.sp-crypto-hashing-proc-macro]
+path = "../substrate/primitives/crypto/hashing/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.sp-debug-derive]
+path = "../substrate/primitives/debug-derive"
+default-features = false
+optional = true
+
+[dependencies.sp-externalities]
+path = "../substrate/primitives/externalities"
+default-features = false
+optional = true
+
+[dependencies.sp-genesis-builder]
+path = "../substrate/primitives/genesis-builder"
+default-features = false
+optional = true
+
+[dependencies.sp-inherents]
+path = "../substrate/primitives/inherents"
+default-features = false
+optional = true
+
+[dependencies.sp-io]
+path = "../substrate/primitives/io"
+default-features = false
+optional = true
+
+[dependencies.sp-keyring]
+path = "../substrate/primitives/keyring"
+default-features = false
+optional = true
+
+[dependencies.sp-keystore]
+path = "../substrate/primitives/keystore"
+default-features = false
+optional = true
+
+[dependencies.sp-metadata-ir]
+path = "../substrate/primitives/metadata-ir"
+default-features = false
+optional = true
+
+[dependencies.sp-mixnet]
+path = "../substrate/primitives/mixnet"
+default-features = false
+optional = true
+
+[dependencies.sp-mmr-primitives]
+path = "../substrate/primitives/merkle-mountain-range"
+default-features = false
+optional = true
+
+[dependencies.sp-npos-elections]
+path = "../substrate/primitives/npos-elections"
+default-features = false
+optional = true
+
+[dependencies.sp-offchain]
+path = "../substrate/primitives/offchain"
+default-features = false
+optional = true
+
+[dependencies.sp-runtime]
+path = "../substrate/primitives/runtime"
+default-features = false
+optional = true
+
+[dependencies.sp-runtime-interface]
+path = "../substrate/primitives/runtime-interface"
+default-features = false
+optional = true
+
+[dependencies.sp-runtime-interface-proc-macro]
+path = "../substrate/primitives/runtime-interface/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.sp-session]
+path = "../substrate/primitives/session"
+default-features = false
+optional = true
+
+[dependencies.sp-staking]
+path = "../substrate/primitives/staking"
+default-features = false
+optional = true
+
+[dependencies.sp-state-machine]
+path = "../substrate/primitives/state-machine"
+default-features = false
+optional = true
+
+[dependencies.sp-statement-store]
+path = "../substrate/primitives/statement-store"
+default-features = false
+optional = true
+
+[dependencies.sp-std]
+path = "../substrate/primitives/std"
+default-features = false
+optional = true
+
+[dependencies.sp-storage]
+path = "../substrate/primitives/storage"
+default-features = false
+optional = true
+
+[dependencies.sp-timestamp]
+path = "../substrate/primitives/timestamp"
+default-features = false
+optional = true
+
+[dependencies.sp-tracing]
+path = "../substrate/primitives/tracing"
+default-features = false
+optional = true
+
+[dependencies.sp-transaction-pool]
+path = "../substrate/primitives/transaction-pool"
+default-features = false
+optional = true
+
+[dependencies.sp-transaction-storage-proof]
+path = "../substrate/primitives/transaction-storage-proof"
+default-features = false
+optional = true
+
+[dependencies.sp-trie]
+path = "../substrate/primitives/trie"
+default-features = false
+optional = true
+
+[dependencies.sp-version]
+path = "../substrate/primitives/version"
+default-features = false
+optional = true
+
+[dependencies.sp-version-proc-macro]
+path = "../substrate/primitives/version/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.sp-wasm-interface]
+path = "../substrate/primitives/wasm-interface"
+default-features = false
+optional = true
+
+[dependencies.sp-weights]
+path = "../substrate/primitives/weights"
+default-features = false
+optional = true
+
+[dependencies.staging-parachain-info]
+path = "../cumulus/parachains/pallets/parachain-info"
+default-features = false
+optional = true
+
+[dependencies.staging-xcm]
+path = "../polkadot/xcm"
+default-features = false
+optional = true
+
+[dependencies.staging-xcm-builder]
+path = "../polkadot/xcm/xcm-builder"
+default-features = false
+optional = true
+
+[dependencies.staging-xcm-executor]
+path = "../polkadot/xcm/xcm-executor"
+default-features = false
+optional = true
+
+[dependencies.substrate-bip39]
+path = "../substrate/utils/substrate-bip39"
+default-features = false
+optional = true
+
+[dependencies.testnet-parachains-constants]
+path = "../cumulus/parachains/runtimes/constants"
+default-features = false
+optional = true
+
+[dependencies.tracing-gum-proc-macro]
+path = "../polkadot/node/gum/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.westend-runtime]
+path = "../polkadot/runtime/westend"
+default-features = false
+optional = true
+
+[dependencies.westend-runtime-constants]
+path = "../polkadot/runtime/westend/constants"
+default-features = false
+optional = true
+
+[dependencies.xcm-fee-payment-runtime-api]
+path = "../polkadot/xcm/xcm-fee-payment-runtime-api"
+default-features = false
+optional = true
+
+[dependencies.xcm-procedural]
+path = "../polkadot/xcm/procedural"
+default-features = false
+optional = true
+
+[dependencies.asset-test-utils]
+path = "../cumulus/parachains/runtimes/assets/test-utils"
+default-features = false
+optional = true
+
+[dependencies.bridge-hub-test-utils]
+path = "../cumulus/parachains/runtimes/bridge-hubs/test-utils"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-cli]
+path = "../cumulus/client/cli"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-collator]
+path = "../cumulus/client/collator"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-consensus-aura]
+path = "../cumulus/client/consensus/aura"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-consensus-common]
+path = "../cumulus/client/consensus/common"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-consensus-proposer]
+path = "../cumulus/client/consensus/proposer"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-consensus-relay-chain]
+path = "../cumulus/client/consensus/relay-chain"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-network]
+path = "../cumulus/client/network"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-parachain-inherent]
+path = "../cumulus/client/parachain-inherent"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-pov-recovery]
+path = "../cumulus/client/pov-recovery"
+default-features = false
+optional = true
+
+[dependencies.cumulus-client-service]
+path = "../cumulus/client/service"
+default-features = false
+optional = true
+
+[dependencies.cumulus-relay-chain-inprocess-interface]
+path = "../cumulus/client/relay-chain-inprocess-interface"
+default-features = false
+optional = true
+
+[dependencies.cumulus-relay-chain-interface]
+path = "../cumulus/client/relay-chain-interface"
+default-features = false
+optional = true
+
+[dependencies.cumulus-relay-chain-minimal-node]
+path = "../cumulus/client/relay-chain-minimal-node"
+default-features = false
+optional = true
+
+[dependencies.cumulus-relay-chain-rpc-interface]
+path = "../cumulus/client/relay-chain-rpc-interface"
+default-features = false
+optional = true
+
+[dependencies.cumulus-test-relay-sproof-builder]
+path = "../cumulus/test/relay-sproof-builder"
+default-features = false
+optional = true
+
+[dependencies.emulated-integration-tests-common]
+path = "../cumulus/parachains/integration-tests/emulated/common"
+default-features = false
+optional = true
+
+[dependencies.fork-tree]
+path = "../substrate/utils/fork-tree"
+default-features = false
+optional = true
+
+[dependencies.frame-benchmarking-cli]
+path = "../substrate/utils/frame/benchmarking-cli"
+default-features = false
+optional = true
+
+[dependencies.frame-remote-externalities]
+path = "../substrate/utils/frame/remote-externalities"
+default-features = false
+optional = true
+
+[dependencies.frame-support-procedural-tools]
+path = "../substrate/frame/support/procedural/tools"
+default-features = false
+optional = true
+
+[dependencies.generate-bags]
+path = "../substrate/utils/frame/generate-bags"
+default-features = false
+optional = true
+
+[dependencies.mmr-gadget]
+path = "../substrate/client/merkle-mountain-range"
+default-features = false
+optional = true
+
+[dependencies.mmr-rpc]
+path = "../substrate/client/merkle-mountain-range/rpc"
+default-features = false
+optional = true
+
+[dependencies.pallet-contracts-mock-network]
+path = "../substrate/frame/contracts/mock-network"
+default-features = false
+optional = true
+
+[dependencies.pallet-transaction-payment-rpc]
+path = "../substrate/frame/transaction-payment/rpc"
+default-features = false
+optional = true
+
+[dependencies.parachains-runtimes-test-utils]
+path = "../cumulus/parachains/runtimes/test-utils"
+default-features = false
+optional = true
+
+[dependencies.polkadot-approval-distribution]
+path = "../polkadot/node/network/approval-distribution"
+default-features = false
+optional = true
+
+[dependencies.polkadot-availability-bitfield-distribution]
+path = "../polkadot/node/network/bitfield-distribution"
+default-features = false
+optional = true
+
+[dependencies.polkadot-availability-distribution]
+path = "../polkadot/node/network/availability-distribution"
+default-features = false
+optional = true
+
+[dependencies.polkadot-availability-recovery]
+path = "../polkadot/node/network/availability-recovery"
+default-features = false
+optional = true
+
+[dependencies.polkadot-cli]
+path = "../polkadot/cli"
+default-features = false
+optional = true
+
+[dependencies.polkadot-collator-protocol]
+path = "../polkadot/node/network/collator-protocol"
+default-features = false
+optional = true
+
+[dependencies.polkadot-dispute-distribution]
+path = "../polkadot/node/network/dispute-distribution"
+default-features = false
+optional = true
+
+[dependencies.polkadot-erasure-coding]
+path = "../polkadot/erasure-coding"
+default-features = false
+optional = true
+
+[dependencies.polkadot-gossip-support]
+path = "../polkadot/node/network/gossip-support"
+default-features = false
+optional = true
+
+[dependencies.polkadot-network-bridge]
+path = "../polkadot/node/network/bridge"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-collation-generation]
+path = "../polkadot/node/collation-generation"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-approval-voting]
+path = "../polkadot/node/core/approval-voting"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-av-store]
+path = "../polkadot/node/core/av-store"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-backing]
+path = "../polkadot/node/core/backing"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-bitfield-signing]
+path = "../polkadot/node/core/bitfield-signing"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-candidate-validation]
+path = "../polkadot/node/core/candidate-validation"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-chain-api]
+path = "../polkadot/node/core/chain-api"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-chain-selection]
+path = "../polkadot/node/core/chain-selection"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-dispute-coordinator]
+path = "../polkadot/node/core/dispute-coordinator"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-parachains-inherent]
+path = "../polkadot/node/core/parachains-inherent"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-prospective-parachains]
+path = "../polkadot/node/core/prospective-parachains"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-provisioner]
+path = "../polkadot/node/core/provisioner"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-pvf]
+path = "../polkadot/node/core/pvf"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-pvf-checker]
+path = "../polkadot/node/core/pvf-checker"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-pvf-common]
+path = "../polkadot/node/core/pvf/common"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-pvf-execute-worker]
+path = "../polkadot/node/core/pvf/execute-worker"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-pvf-prepare-worker]
+path = "../polkadot/node/core/pvf/prepare-worker"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-core-runtime-api]
+path = "../polkadot/node/core/runtime-api"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-jaeger]
+path = "../polkadot/node/jaeger"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-metrics]
+path = "../polkadot/node/metrics"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-network-protocol]
+path = "../polkadot/node/network/protocol"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-primitives]
+path = "../polkadot/node/primitives"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-subsystem]
+path = "../polkadot/node/subsystem"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-subsystem-types]
+path = "../polkadot/node/subsystem-types"
+default-features = false
+optional = true
+
+[dependencies.polkadot-node-subsystem-util]
+path = "../polkadot/node/subsystem-util"
+default-features = false
+optional = true
+
+[dependencies.polkadot-overseer]
+path = "../polkadot/node/overseer"
+default-features = false
+optional = true
+
+[dependencies.polkadot-rpc]
+path = "../polkadot/rpc"
+default-features = false
+optional = true
+
+[dependencies.polkadot-service]
+path = "../polkadot/node/service"
+default-features = false
+optional = true
+
+[dependencies.polkadot-statement-distribution]
+path = "../polkadot/node/network/statement-distribution"
+default-features = false
+optional = true
+
+[dependencies.polkadot-statement-table]
+path = "../polkadot/statement-table"
+default-features = false
+optional = true
+
+[dependencies.sc-allocator]
+path = "../substrate/client/allocator"
+default-features = false
+optional = true
+
+[dependencies.sc-authority-discovery]
+path = "../substrate/client/authority-discovery"
+default-features = false
+optional = true
+
+[dependencies.sc-basic-authorship]
+path = "../substrate/client/basic-authorship"
+default-features = false
+optional = true
+
+[dependencies.sc-block-builder]
+path = "../substrate/client/block-builder"
+default-features = false
+optional = true
+
+[dependencies.sc-chain-spec]
+path = "../substrate/client/chain-spec"
+default-features = false
+optional = true
+
+[dependencies.sc-cli]
+path = "../substrate/client/cli"
+default-features = false
+optional = true
+
+[dependencies.sc-client-api]
+path = "../substrate/client/api"
+default-features = false
+optional = true
+
+[dependencies.sc-client-db]
+path = "../substrate/client/db"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus]
+path = "../substrate/client/consensus/common"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-aura]
+path = "../substrate/client/consensus/aura"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-babe]
+path = "../substrate/client/consensus/babe"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-babe-rpc]
+path = "../substrate/client/consensus/babe/rpc"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-beefy]
+path = "../substrate/client/consensus/beefy"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-beefy-rpc]
+path = "../substrate/client/consensus/beefy/rpc"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-epochs]
+path = "../substrate/client/consensus/epochs"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-grandpa]
+path = "../substrate/client/consensus/grandpa"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-grandpa-rpc]
+path = "../substrate/client/consensus/grandpa/rpc"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-manual-seal]
+path = "../substrate/client/consensus/manual-seal"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-pow]
+path = "../substrate/client/consensus/pow"
+default-features = false
+optional = true
+
+[dependencies.sc-consensus-slots]
+path = "../substrate/client/consensus/slots"
+default-features = false
+optional = true
+
+[dependencies.sc-executor]
+path = "../substrate/client/executor"
+default-features = false
+optional = true
+
+[dependencies.sc-executor-common]
+path = "../substrate/client/executor/common"
+default-features = false
+optional = true
+
+[dependencies.sc-executor-polkavm]
+path = "../substrate/client/executor/polkavm"
+default-features = false
+optional = true
+
+[dependencies.sc-executor-wasmtime]
+path = "../substrate/client/executor/wasmtime"
+default-features = false
+optional = true
+
+[dependencies.sc-informant]
+path = "../substrate/client/informant"
+default-features = false
+optional = true
+
+[dependencies.sc-keystore]
+path = "../substrate/client/keystore"
+default-features = false
+optional = true
+
+[dependencies.sc-mixnet]
+path = "../substrate/client/mixnet"
+default-features = false
+optional = true
+
+[dependencies.sc-network]
+path = "../substrate/client/network"
+default-features = false
+optional = true
+
+[dependencies.sc-network-common]
+path = "../substrate/client/network/common"
+default-features = false
+optional = true
+
+[dependencies.sc-network-gossip]
+path = "../substrate/client/network-gossip"
+default-features = false
+optional = true
+
+[dependencies.sc-network-light]
+path = "../substrate/client/network/light"
+default-features = false
+optional = true
+
+[dependencies.sc-network-statement]
+path = "../substrate/client/network/statement"
+default-features = false
+optional = true
+
+[dependencies.sc-network-sync]
+path = "../substrate/client/network/sync"
+default-features = false
+optional = true
+
+[dependencies.sc-network-transactions]
+path = "../substrate/client/network/transactions"
+default-features = false
+optional = true
+
+[dependencies.sc-network-types]
+path = "../substrate/client/network/types"
+default-features = false
+optional = true
+
+[dependencies.sc-offchain]
+path = "../substrate/client/offchain"
+default-features = false
+optional = true
+
+[dependencies.sc-proposer-metrics]
+path = "../substrate/client/proposer-metrics"
+default-features = false
+optional = true
+
+[dependencies.sc-rpc]
+path = "../substrate/client/rpc"
+default-features = false
+optional = true
+
+[dependencies.sc-rpc-api]
+path = "../substrate/client/rpc-api"
+default-features = false
+optional = true
+
+[dependencies.sc-rpc-server]
+path = "../substrate/client/rpc-servers"
+default-features = false
+optional = true
+
+[dependencies.sc-rpc-spec-v2]
+path = "../substrate/client/rpc-spec-v2"
+default-features = false
+optional = true
+
+[dependencies.sc-service]
+path = "../substrate/client/service"
+default-features = false
+optional = true
+
+[dependencies.sc-state-db]
+path = "../substrate/client/state-db"
+default-features = false
+optional = true
+
+[dependencies.sc-statement-store]
+path = "../substrate/client/statement-store"
+default-features = false
+optional = true
+
+[dependencies.sc-storage-monitor]
+path = "../substrate/client/storage-monitor"
+default-features = false
+optional = true
+
+[dependencies.sc-sync-state-rpc]
+path = "../substrate/client/sync-state-rpc"
+default-features = false
+optional = true
+
+[dependencies.sc-sysinfo]
+path = "../substrate/client/sysinfo"
+default-features = false
+optional = true
+
+[dependencies.sc-telemetry]
+path = "../substrate/client/telemetry"
+default-features = false
+optional = true
+
+[dependencies.sc-tracing]
+path = "../substrate/client/tracing"
+default-features = false
+optional = true
+
+[dependencies.sc-transaction-pool]
+path = "../substrate/client/transaction-pool"
+default-features = false
+optional = true
+
+[dependencies.sc-transaction-pool-api]
+path = "../substrate/client/transaction-pool/api"
+default-features = false
+optional = true
+
+[dependencies.sc-utils]
+path = "../substrate/client/utils"
+default-features = false
+optional = true
+
+[dependencies.snowbridge-runtime-test-common]
+path = "../bridges/snowbridge/runtime/test-common"
+default-features = false
+optional = true
+
+[dependencies.sp-blockchain]
+path = "../substrate/primitives/blockchain"
+default-features = false
+optional = true
+
+[dependencies.sp-consensus]
+path = "../substrate/primitives/consensus/common"
+default-features = false
+optional = true
+
+[dependencies.sp-core-hashing]
+path = "../substrate/deprecated/hashing"
+default-features = false
+optional = true
+
+[dependencies.sp-core-hashing-proc-macro]
+path = "../substrate/deprecated/hashing/proc-macro"
+default-features = false
+optional = true
+
+[dependencies.sp-database]
+path = "../substrate/primitives/database"
+default-features = false
+optional = true
+
+[dependencies.sp-maybe-compressed-blob]
+path = "../substrate/primitives/maybe-compressed-blob"
+default-features = false
+optional = true
+
+[dependencies.sp-panic-handler]
+path = "../substrate/primitives/panic-handler"
+default-features = false
+optional = true
+
+[dependencies.sp-rpc]
+path = "../substrate/primitives/rpc"
+default-features = false
+optional = true
+
+[dependencies.staging-node-inspect]
+path = "../substrate/bin/node/inspect"
+default-features = false
+optional = true
+
+[dependencies.staging-tracking-allocator]
+path = "../polkadot/node/tracking-allocator"
+default-features = false
+optional = true
+
+[dependencies.subkey]
+path = "../substrate/bin/utils/subkey"
+default-features = false
+optional = true
+
+[dependencies.substrate-build-script-utils]
+path = "../substrate/utils/build-script-utils"
+default-features = false
+optional = true
+
+[dependencies.substrate-frame-cli]
+path = "../substrate/utils/frame/frame-utilities-cli"
+default-features = false
+optional = true
+
+[dependencies.substrate-frame-rpc-support]
+path = "../substrate/utils/frame/rpc/support"
+default-features = false
+optional = true
+
+[dependencies.substrate-frame-rpc-system]
+path = "../substrate/utils/frame/rpc/system"
+default-features = false
+optional = true
+
+[dependencies.substrate-prometheus-endpoint]
+path = "../substrate/utils/prometheus"
+default-features = false
+optional = true
+
+[dependencies.substrate-rpc-client]
+path = "../substrate/utils/frame/rpc/client"
+default-features = false
+optional = true
+
+[dependencies.substrate-state-trie-migration-rpc]
+path = "../substrate/utils/frame/rpc/state-trie-migration-rpc"
+default-features = false
+optional = true
+
+[dependencies.substrate-wasm-builder]
+path = "../substrate/utils/wasm-builder"
+default-features = false
+optional = true
+
+[dependencies.tracing-gum]
+path = "../polkadot/node/gum"
+default-features = false
+optional = true
+
+[dependencies.xcm-emulator]
+path = "../cumulus/xcm/xcm-emulator"
+default-features = false
+optional = true
+
+[dependencies.xcm-simulator]
+path = "../polkadot/xcm/xcm-simulator"
+default-features = false
+optional = true
+
+[dependencies.xcm-simulator-example]
+path = "../polkadot/xcm/xcm-simulator/example"
+default-features = false
+optional = true
diff --git a/umbrella/src/lib.rs b/umbrella/src/lib.rs
new file mode 100644
index 000000000000..dc17f82f150b
--- /dev/null
+++ b/umbrella/src/lib.rs
@@ -0,0 +1,414 @@
+#![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;
+}