[package] name = "polkadot-runtime" build = "build.rs" version = "3.0.0" authors.workspace = true edition.workspace = true license.workspace = true description = "polkadot-runtime" [dependencies] bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] } parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive", "max-encoded-len"] } scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } log = { version = "0.4.17", default-features = false } rustc-hex = { version = "2.1.0", default-features = false } serde = { version = "1.0.188", default-features = false } serde_derive = { version = "1.0.117", optional = true } static_assertions = "1.1.0" smallvec = "1.8.0" authority-discovery-primitives = { package = "sp-authority-discovery", path = "../../../substrate/primitives/authority-discovery", default-features = false, version = "22.0.0" } babe-primitives = { package = "sp-consensus-babe", path = "../../../substrate/primitives/consensus/babe", default-features = false, version = "0.28.0" } beefy-primitives = { package = "sp-consensus-beefy", path = "../../../substrate/primitives/consensus/beefy", default-features = false, version = "9.0.0" } block-builder-api = { package = "sp-block-builder", path = "../../../substrate/primitives/block-builder", default-features = false, version = "22.0.0" } inherents = { package = "sp-inherents", path = "../../../substrate/primitives/inherents", default-features = false, version = "22.0.0" } offchain-primitives = { package = "sp-offchain", path = "../../../substrate/primitives/offchain", default-features = false, version = "22.0.0" } tx-pool-api = { package = "sp-transaction-pool", path = "../../../substrate/primitives/transaction-pool", default-features = false, version = "22.0.0" } sp-arithmetic = { path = "../../../substrate/primitives/arithmetic", default-features = false, version = "19.0.0" } sp-api = { path = "../../../substrate/primitives/api", default-features = false, version = "22.0.0" } sp-genesis-builder = { path = "../../../substrate/primitives/genesis-builder", default-features = false, version = "0.3.0" } sp-std = { path = "../../../substrate/primitives/std", default-features = false, version = "11.0.0" } sp-io = { path = "../../../substrate/primitives/io", default-features = false, version = "26.0.0" } sp-mmr-primitives = { path = "../../../substrate/primitives/merkle-mountain-range", default-features = false, version = "22.0.0" } sp-runtime = { path = "../../../substrate/primitives/runtime", default-features = false, version = "27.0.0" } sp-staking = { path = "../../../substrate/primitives/staking", default-features = false, version = "22.0.0" } sp-core = { path = "../../../substrate/primitives/core", default-features = false, version = "24.0.0" } sp-session = { path = "../../../substrate/primitives/session", default-features = false, version = "23.0.0" } sp-storage = { path = "../../../substrate/primitives/storage", default-features = false, version = "16.0.0" } sp-version = { path = "../../../substrate/primitives/version", default-features = false, version = "25.0.0" } sp-npos-elections = { path = "../../../substrate/primitives/npos-elections", default-features = false, version = "22.0.0" } pallet-authority-discovery = { path = "../../../substrate/frame/authority-discovery", default-features = false, version = "24.0.0" } pallet-authorship = { path = "../../../substrate/frame/authorship", default-features = false, version = "24.0.0" } pallet-babe = { path = "../../../substrate/frame/babe", default-features = false, version = "24.0.0" } pallet-bags-list = { path = "../../../substrate/frame/bags-list", default-features = false, version = "23.0.0" } pallet-balances = { path = "../../../substrate/frame/balances", default-features = false, version = "24.0.0" } pallet-bounties = { path = "../../../substrate/frame/bounties", default-features = false, version = "23.0.0" } pallet-child-bounties = { path = "../../../substrate/frame/child-bounties", default-features = false, version = "23.0.0" } pallet-transaction-payment = { path = "../../../substrate/frame/transaction-payment", default-features = false, version = "24.0.0" } pallet-transaction-payment-rpc-runtime-api = { path = "../../../substrate/frame/transaction-payment/rpc/runtime-api", default-features = false, version = "24.0.0" } pallet-collective = { path = "../../../substrate/frame/collective", default-features = false, version = "24.0.0" } pallet-conviction-voting = { path = "../../../substrate/frame/conviction-voting", default-features = false, version = "24.0.0" } pallet-democracy = { path = "../../../substrate/frame/democracy", default-features = false, version = "24.0.0" } pallet-elections-phragmen = { path = "../../../substrate/frame/elections-phragmen", default-features = false, version = "25.0.0" } pallet-election-provider-multi-phase = { path = "../../../substrate/frame/election-provider-multi-phase", default-features = false, version = "23.0.0" } pallet-fast-unstake = { path = "../../../substrate/frame/fast-unstake", default-features = false, version = "23.0.0" } frame-executive = { path = "../../../substrate/frame/executive", default-features = false, version = "24.0.0" } pallet-grandpa = { path = "../../../substrate/frame/grandpa", default-features = false, version = "24.0.0" } pallet-identity = { path = "../../../substrate/frame/identity", default-features = false, version = "24.0.0" } pallet-im-online = { path = "../../../substrate/frame/im-online", default-features = false, version = "23.0.0" } pallet-indices = { path = "../../../substrate/frame/indices", default-features = false, version = "24.0.0" } pallet-membership = { path = "../../../substrate/frame/membership", default-features = false, version = "24.0.0" } pallet-message-queue = { path = "../../../substrate/frame/message-queue", default-features = false, version = "27.0.0" } pallet-multisig = { path = "../../../substrate/frame/multisig", default-features = false, version = "24.0.0" } pallet-nomination-pools = { path = "../../../substrate/frame/nomination-pools", default-features = false, version = "21.0.0" } pallet-nomination-pools-runtime-api = { path = "../../../substrate/frame/nomination-pools/runtime-api", default-features = false, version = "19.0.0" } pallet-offences = { path = "../../../substrate/frame/offences", default-features = false, version = "23.0.0" } pallet-preimage = { path = "../../../substrate/frame/preimage", default-features = false, version = "24.0.0" } pallet-proxy = { path = "../../../substrate/frame/proxy", default-features = false, version = "24.0.0" } pallet-referenda = { path = "../../../substrate/frame/referenda", default-features = false, version = "24.0.0" } pallet-scheduler = { path = "../../../substrate/frame/scheduler", default-features = false, version = "25.0.0" } pallet-session = { path = "../../../substrate/frame/session", default-features = false, version = "24.0.0" } frame-support = { path = "../../../substrate/frame/support", default-features = false, version = "24.0.0" } pallet-staking = { path = "../../../substrate/frame/staking", default-features = false, version = "24.0.0" } pallet-staking-reward-curve = { version = "9.0.0", path = "../../../substrate/frame/staking/reward-curve" } pallet-staking-runtime-api = { path = "../../../substrate/frame/staking/runtime-api", default-features = false, version = "10.0.0" } frame-system = { path = "../../../substrate/frame/system", default-features = false, version = "24.0.0" } frame-system-rpc-runtime-api = { path = "../../../substrate/frame/system/rpc/runtime-api", default-features = false, version = "22.0.0" } polkadot-runtime-constants = { package = "polkadot-runtime-constants", path = "constants", default-features = false, version = "3.0.0" } pallet-timestamp = { path = "../../../substrate/frame/timestamp", default-features = false, version = "23.0.0" } pallet-tips = { path = "../../../substrate/frame/tips", default-features = false, version = "23.0.0" } pallet-treasury = { path = "../../../substrate/frame/treasury", default-features = false, version = "23.0.0" } pallet-whitelist = { path = "../../../substrate/frame/whitelist", default-features = false, version = "23.0.0" } pallet-vesting = { path = "../../../substrate/frame/vesting", default-features = false, version = "24.0.0" } pallet-utility = { path = "../../../substrate/frame/utility", default-features = false, version = "24.0.0" } frame-election-provider-support = { path = "../../../substrate/frame/election-provider-support", default-features = false, version = "24.0.0" } pallet-xcm = { path = "../../xcm/pallet-xcm", default-features = false, version = "3.0.0" } pallet-xcm-benchmarks = { path = "../../xcm/pallet-xcm-benchmarks", default-features = false, optional = true, version = "3.0.0" } frame-benchmarking = { path = "../../../substrate/frame/benchmarking", default-features = false, optional = true, version = "24.0.0" } frame-try-runtime = { path = "../../../substrate/frame/try-runtime", default-features = false, optional = true, version = "0.30.0" } frame-system-benchmarking = { path = "../../../substrate/frame/system/benchmarking", default-features = false, optional = true, version = "24.0.0" } pallet-election-provider-support-benchmarking = { path = "../../../substrate/frame/election-provider-support/benchmarking", default-features = false, optional = true, version = "23.0.0" } pallet-offences-benchmarking = { path = "../../../substrate/frame/offences/benchmarking", default-features = false, optional = true, version = "24.0.0" } pallet-session-benchmarking = { path = "../../../substrate/frame/session/benchmarking", default-features = false, optional = true, version = "24.0.0" } pallet-nomination-pools-benchmarking = { path = "../../../substrate/frame/nomination-pools/benchmarking", default-features = false, optional = true, version = "22.0.0" } hex-literal = { version = "0.4.1", optional = true } runtime-common = { package = "polkadot-runtime-common", path = "../common", default-features = false, version = "3.0.0" } runtime-parachains = { package = "polkadot-runtime-parachains", path = "../parachains", default-features = false, version = "3.0.0" } primitives = { package = "polkadot-primitives", path = "../../primitives", default-features = false, version = "3.0.0" } xcm = { package = "staging-xcm", path = "../../xcm", default-features = false, version = "3.0.0" } xcm-executor = { package = "staging-xcm-executor", path = "../../xcm/xcm-executor", default-features = false, version = "3.0.0" } xcm-builder = { package = "staging-xcm-builder", path = "../../xcm/xcm-builder", default-features = false, version = "3.0.0" } [dev-dependencies] hex-literal = "0.4.1" tiny-keccak = { version = "2.0.2", features = ["keccak"] } keyring = { package = "sp-keyring", path = "../../../substrate/primitives/keyring" } sp-trie = { path = "../../../substrate/primitives/trie" } serde_json = "1.0.107" separator = "0.4.1" remote-externalities = { package = "frame-remote-externalities", path = "../../../substrate/utils/frame/remote-externalities" } tokio = { version = "1.24.2", features = ["macros"] } sp-tracing = { path = "../../../substrate/primitives/tracing", default-features = false } [build-dependencies] substrate-wasm-builder = { version = "13.0.0", path = "../../../substrate/utils/wasm-builder" } [features] default = [ "std" ] no_std = [] only-staking = [] std = [ "authority-discovery-primitives/std", "babe-primitives/std", "beefy-primitives/std", "bitvec/std", "block-builder-api/std", "frame-benchmarking?/std", "frame-election-provider-support/std", "frame-executive/std", "frame-support/std", "frame-system-benchmarking?/std", "frame-system-rpc-runtime-api/std", "frame-system/std", "frame-try-runtime/std", "inherents/std", "log/std", "offchain-primitives/std", "pallet-authority-discovery/std", "pallet-authorship/std", "pallet-babe/std", "pallet-bags-list/std", "pallet-balances/std", "pallet-bounties/std", "pallet-child-bounties/std", "pallet-collective/std", "pallet-conviction-voting/std", "pallet-democracy/std", "pallet-election-provider-multi-phase/std", "pallet-election-provider-support-benchmarking?/std", "pallet-elections-phragmen/std", "pallet-fast-unstake/std", "pallet-grandpa/std", "pallet-identity/std", "pallet-im-online/std", "pallet-indices/std", "pallet-membership/std", "pallet-message-queue/std", "pallet-multisig/std", "pallet-nomination-pools-benchmarking?/std", "pallet-nomination-pools-runtime-api/std", "pallet-nomination-pools/std", "pallet-offences-benchmarking?/std", "pallet-offences/std", "pallet-preimage/std", "pallet-proxy/std", "pallet-referenda/std", "pallet-scheduler/std", "pallet-session-benchmarking?/std", "pallet-session/std", "pallet-staking-runtime-api/std", "pallet-staking/std", "pallet-timestamp/std", "pallet-tips/std", "pallet-transaction-payment-rpc-runtime-api/std", "pallet-transaction-payment/std", "pallet-treasury/std", "pallet-utility/std", "pallet-vesting/std", "pallet-whitelist/std", "pallet-xcm-benchmarks?/std", "pallet-xcm/std", "parity-scale-codec/std", "polkadot-runtime-constants/std", "primitives/std", "runtime-common/std", "runtime-parachains/std", "rustc-hex/std", "scale-info/std", "serde/std", "serde_derive", "sp-api/std", "sp-arithmetic/std", "sp-core/std", "sp-genesis-builder/std", "sp-io/std", "sp-mmr-primitives/std", "sp-npos-elections/std", "sp-runtime/std", "sp-session/std", "sp-staking/std", "sp-std/std", "sp-storage/std", "sp-version/std", "tx-pool-api/std", "xcm-builder/std", "xcm-executor/std", "xcm/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", "frame-election-provider-support/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system-benchmarking/runtime-benchmarks", "frame-system/runtime-benchmarks", "hex-literal", "pallet-babe/runtime-benchmarks", "pallet-bags-list/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-bounties/runtime-benchmarks", "pallet-child-bounties/runtime-benchmarks", "pallet-collective/runtime-benchmarks", "pallet-conviction-voting/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-fast-unstake/runtime-benchmarks", "pallet-grandpa/runtime-benchmarks", "pallet-identity/runtime-benchmarks", "pallet-im-online/runtime-benchmarks", "pallet-indices/runtime-benchmarks", "pallet-membership/runtime-benchmarks", "pallet-message-queue/runtime-benchmarks", "pallet-multisig/runtime-benchmarks", "pallet-nomination-pools-benchmarking/runtime-benchmarks", "pallet-nomination-pools/runtime-benchmarks", "pallet-offences-benchmarking/runtime-benchmarks", "pallet-offences/runtime-benchmarks", "pallet-preimage/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", "pallet-referenda/runtime-benchmarks", "pallet-scheduler/runtime-benchmarks", "pallet-session-benchmarking/runtime-benchmarks", "pallet-staking/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", "pallet-tips/runtime-benchmarks", "pallet-treasury/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", "pallet-whitelist/runtime-benchmarks", "pallet-xcm-benchmarks/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "primitives/runtime-benchmarks", "runtime-common/runtime-benchmarks", "runtime-parachains/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "sp-staking/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", ] try-runtime = [ "frame-election-provider-support/try-runtime", "frame-executive/try-runtime", "frame-support/try-runtime", "frame-system/try-runtime", "frame-try-runtime", "frame-try-runtime/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-bounties/try-runtime", "pallet-child-bounties/try-runtime", "pallet-collective/try-runtime", "pallet-conviction-voting/try-runtime", "pallet-democracy/try-runtime", "pallet-election-provider-multi-phase/try-runtime", "pallet-elections-phragmen/try-runtime", "pallet-fast-unstake/try-runtime", "pallet-grandpa/try-runtime", "pallet-identity/try-runtime", "pallet-im-online/try-runtime", "pallet-indices/try-runtime", "pallet-membership/try-runtime", "pallet-message-queue/try-runtime", "pallet-multisig/try-runtime", "pallet-nomination-pools/try-runtime", "pallet-offences/try-runtime", "pallet-preimage/try-runtime", "pallet-proxy/try-runtime", "pallet-referenda/try-runtime", "pallet-scheduler/try-runtime", "pallet-session/try-runtime", "pallet-staking/try-runtime", "pallet-timestamp/try-runtime", "pallet-tips/try-runtime", "pallet-transaction-payment/try-runtime", "pallet-treasury/try-runtime", "pallet-utility/try-runtime", "pallet-vesting/try-runtime", "pallet-whitelist/try-runtime", "pallet-xcm/try-runtime", "runtime-common/try-runtime", "runtime-parachains/try-runtime", "sp-runtime/try-runtime", ] # A feature that should be enabled when the runtime should be build for on-chain # deployment. This will disable stuff that shouldn't be part of the on-chain wasm # to make it smaller like logging for example. on-chain-release-build = [ "sp-api/disable-logging" ] # Set timing constants (e.g. session period) to faster versions to speed up testing. fast-runtime = [] runtime-metrics = [ "runtime-parachains/runtime-metrics", "sp-io/with-tracing" ]