alloy-consensus 0.6.1

Ethereum consensus interface
Documentation
[package]
name = "alloy-consensus"
description = "Ethereum consensus interface"

version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
exclude.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lints]
workspace = true

[dependencies]
alloy-eips = { workspace = true, features = ["kzg-sidecar"] }
alloy-primitives = { workspace = true, features = ["rlp"] }
alloy-rlp.workspace = true
alloy-serde = { workspace = true, optional = true }

# k256
k256 = { workspace = true, features = ["ecdsa"], optional = true }

# kzg
c-kzg = { workspace = true, features = ["serde"], optional = true }

# arbitrary
arbitrary = { workspace = true, features = ["derive"], optional = true }
rand = { workspace = true, optional = true }

# serde
serde = { workspace = true, features = ["derive"], optional = true }
serde_with = { workspace = true, optional = true }

# misc
derive_more = { workspace = true, features = [
    "from",
    "deref",
    "deref_mut",
    "into_iterator"
], default-features = false }
auto_impl.workspace = true

[dev-dependencies]
alloy-eips = { workspace = true, features = ["arbitrary"] }
alloy-primitives = { workspace = true, features = ["arbitrary", "rand"] }
alloy-signer.workspace = true

arbitrary = { workspace = true, features = ["derive"] }
bincode = "1.3"
k256.workspace = true
rand.workspace = true
serde_json.workspace = true
tokio = { workspace = true, features = ["macros"] }

[features]
default = ["std"]
std = ["alloy-eips/std", "c-kzg?/std"]
k256 = ["dep:k256", "alloy-primitives/k256", "alloy-eips/k256"]
kzg = ["dep:c-kzg", "alloy-eips/kzg", "std"]
arbitrary = ["std", "dep:rand", "dep:arbitrary", "alloy-eips/arbitrary"]
serde = [
    "dep:serde",
    "alloy-primitives/serde",
    "dep:alloy-serde",
    "alloy-eips/serde",
]
serde-bincode-compat = ["alloy-eips/serde-bincode-compat", "serde_with"]