[package]
name = "frame-decode"
version = "0.5.1"
edition = "2021"
description = "Decode extrinsics and storage from Substrate based chains"
license = "Apache-2.0"
repository = "https://github.com/paritytech/frame-decode"
documentation = "https://docs.rs/frame-decode"
homepage = "https://www.parity.io/"

[features]

default = ["std", "legacy", "error-tracing"]

# Require std environment.
std = [
    "frame-metadata/std",
    "parity-scale-codec/std",
    "scale-decode/std",
    "scale-info/std",
    "scale-info-legacy?/std",
    "scale-value?/std",
    "sp-crypto-hashing/std"
]

# When decoding fails, return a detailed trace of what went wrong.
# This requires scale-value so can be disabled to avoid the extra dep(s).
error-tracing = [
    "dep:scale-value"
]

# Enable decoding of historic metadata.
legacy = [
    "frame-metadata/legacy",
    "dep:scale-info-legacy"
]

[dependencies]
frame-metadata = { version = "17.0.0", features = ["current"], default-features = false }
parity-scale-codec = { version = "3.6.12", default-features = false }
scale-decode = { version = "0.14.0", default-features = false }
scale-info = { version = "2.11.4", default-features = false }
scale-info-legacy = { version = "0.2.2", default-features = false, optional = true }
scale-type-resolver = "0.2.0"
scale-value = { version = "0.17.0", default-features = false, optional = true }
sp-crypto-hashing = { version = "0.1.0", default-features = false }

[dev-dependencies]
hex = "0.4.3"
serde_yaml = "0.9"
serde_json = "1"
scale-value = "0.17.0"
scale-info-legacy = "0.2.2"
