Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
This project manages its dependencies using Cargo. Learn more
Cargo.toml 4.20 KiB
[package]
name = "frame-support"
version = "28.0.0"
authors.workspace = true
edition.workspace = true
license = "Apache-2.0"
homepage = "https://substrate.io"
repository.workspace = true
description = "Support code for the runtime."
readme = "README.md"

[lints]
workspace = true

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[dependencies]
array-bytes = { version = "6.2.2", default-features = false }
serde = { features = ["alloc", "derive"], workspace = true }
codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = [
	"derive",
	"max-encoded-len",
] }
scale-info = { version = "2.11.1", default-features = false, features = [
	"derive",
] }
frame-metadata = { version = "16.0.0", default-features = false, features = [
	"current",
] }
sp-api = { path = "../../primitives/api", default-features = false, features = [
	"frame-metadata",
] }
sp-std = { path = "../../primitives/std", default-features = false }
sp-io = { path = "../../primitives/io", default-features = false }
sp-runtime = { path = "../../primitives/runtime", default-features = false, features = [
	"serde",
] }
sp-tracing = { path = "../../primitives/tracing", default-features = false }
sp-core = { path = "../../primitives/core", default-features = false }
sp-arithmetic = { path = "../../primitives/arithmetic", default-features = false }
sp-inherents = { path = "../../primitives/inherents", default-features = false }
sp-staking = { path = "../../primitives/staking", default-features = false }
sp-weights = { path = "../../primitives/weights", default-features = false }
sp-debug-derive = { path = "../../primitives/debug-derive", default-features = false }
sp-metadata-ir = { path = "../../primitives/metadata-ir", default-features = false }
tt-call = "1.0.8"
macro_magic = "0.5.0"
frame-support-procedural = { path = "procedural", default-features = false }
paste = "1.0"
sp-state-machine = { path = "../../primitives/state-machine", default-features = false, optional = true }
bitflags = "1.3"
impl-trait-for-tuples = "0.2.2"
smallvec = "1.11.0"
log = { workspace = true }
sp-crypto-hashing-proc-macro = { path = "../../primitives/crypto/hashing/proc-macro" }
k256 = { version = "0.13.1", default-features = false, features = ["ecdsa"] }
environmental = { version = "1.1.4", default-features = false }
sp-genesis-builder = { path = "../../primitives/genesis-builder", default-features = false }
serde_json = { features = ["alloc"], workspace = true }
docify = "0.2.8"
static_assertions = "1.1.0"

aquamarine = { version = "0.5.0" }

[dev-dependencies]
assert_matches = "1.3.0"
pretty_assertions = "1.2.1"
sp-timestamp = { path = "../../primitives/timestamp", default-features = false }
frame-system = { path = "../system" }
sp-crypto-hashing = { path = "../../primitives/crypto/hashing" }

[features]
default = ["std"]
std = [
	"codec/std",
	"environmental/std",
	"frame-metadata/std",
	"frame-support-procedural/std",
	"frame-system/std",
	"k256/std",
	"log/std",
	"scale-info/std",
	"serde/std",
	"serde_json/std",
	"sp-api/std",
	"sp-arithmetic/std",
	"sp-core/std",
	"sp-debug-derive/std",
	"sp-genesis-builder/std",
	"sp-inherents/std",
	"sp-io/std",
	"sp-metadata-ir/std",
	"sp-runtime/std",
	"sp-staking/std",
	"sp-state-machine/std",
	"sp-std/std",
	"sp-timestamp/std",
	"sp-tracing/std",
	"sp-weights/std",
]
runtime-benchmarks = [
	"frame-system/runtime-benchmarks",
	"sp-runtime/runtime-benchmarks",
	"sp-staking/runtime-benchmarks",
]
try-runtime = [
	"frame-system/try-runtime",
	"sp-debug-derive/force-debug",
	"sp-runtime/try-runtime",
]
experimental = [
	"frame-support-procedural/experimental",
]
# By default some types have documentation, `no-metadata-docs` allows to reduce the documentation
# in the metadata.
no-metadata-docs = [
	"frame-support-procedural/no-metadata-docs",
	"sp-api/no-metadata-docs",
]
# By default some types have documentation, `full-metadata-docs` allows to add documentation to
# more types in the metadata.
full-metadata-docs = ["scale-info/docs"]
# Generate impl-trait for tuples with the given number of tuples. Will be needed as the number of
# pallets in a runtime grows. Does increase the compile time!
tuples-96 = ["frame-support-procedural/tuples-96"]
tuples-128 = ["frame-support-procedural/tuples-128"]