From 7a5979288650958bab88dc775428cc4bbf2da919 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Thu, 2 May 2024 14:59:11 +0200 Subject: [PATCH] First version for umbrella crate Signed-off-by: Oliver Tale-Yazdi --- .config/zepter.yaml | 6 +- Cargo.lock | 558 +++- Cargo.toml | 9 +- substrate/bin/node/cli/Cargo.toml | 58 +- substrate/bin/node/cli/src/benchmarking.rs | 2 + substrate/bin/node/cli/src/chain_spec.rs | 2 + substrate/bin/node/cli/src/command.rs | 1 + substrate/bin/node/cli/src/service.rs | 3 + substrate/bin/node/cli/tests/basic.rs | 1 + substrate/bin/node/cli/tests/common.rs | 3 +- substrate/bin/node/cli/tests/fees.rs | 1 + .../bin/node/cli/tests/submit_transaction.rs | 1 + substrate/bin/node/runtime/Cargo.toml | 385 +-- substrate/bin/node/runtime/src/assets_api.rs | 2 + substrate/bin/node/runtime/src/impls.rs | 23 +- substrate/bin/node/runtime/src/lib.rs | 12 +- .../solution-type/src/lib.rs | 11 +- .../frame/staking/reward-curve/src/lib.rs | 10 +- .../src/pallet/expand/tt_default_parts.rs | 2 +- .../support/procedural/src/runtime/mod.rs | 18 + .../frame/support/procedural/tools/src/lib.rs | 20 + .../primitives/api/proc-macro/src/utils.rs | 5 + umbrella/Cargo.toml | 2596 +++++++++++++++++ umbrella/src/lib.rs | 414 +++ 24 files changed, 3581 insertions(+), 562 deletions(-) create mode 100644 umbrella/Cargo.toml create mode 100644 umbrella/src/lib.rs 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; +}