[package]
name = "alloy-eips"
description = "Ethereum Improvement Proprosal (EIP) implementations"
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-eip2930.workspace = true
alloy-eip7702.workspace = true
alloy-primitives = { workspace = true, features = ["rlp"] }
alloy-rlp = { workspace = true, features = ["derive"] }
alloy-serde = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
c-kzg = { workspace = true, optional = true }
derive_more = { workspace = true, features = [
"as_ref",
"deref",
"deref_mut",
"from",
"into_iterator",
], default-features = false }
once_cell = { workspace = true, features = ["race", "alloc"], optional = true }
sha2 = { workspace = true, optional = true }
ethereum_ssz_derive = { workspace = true, optional = true }
ethereum_ssz = { workspace = true, optional = true }
arbitrary = { workspace = true, features = ["derive"], optional = true }
[dev-dependencies]
alloy-primitives = { workspace = true, features = [
"rand",
"serde",
"arbitrary",
] }
arbitrary = { workspace = true, features = ["derive"] }
serde_json.workspace = true
rand.workspace = true
[features]
default = ["std", "kzg-sidecar"]
std = ["alloy-primitives/std", "alloy-rlp/std",
"serde?/std", "c-kzg?/std", "once_cell?/std"]
serde = ["dep:alloy-serde", "dep:serde", "alloy-primitives/serde",
"c-kzg?/serde", "alloy-eip2930/serde", "alloy-eip7702/serde"]
serde-bincode-compat = ["alloy-eip7702/serde-bincode-compat"]
kzg = ["kzg-sidecar", "sha2", "dep:c-kzg", "dep:once_cell"]
kzg-sidecar = ["sha2"]
k256 = ["alloy-eip7702/k256"]
sha2 = ["dep:sha2"]
ssz = ["std", "dep:ethereum_ssz", "dep:ethereum_ssz_derive"]
arbitrary = [
"std",
"kzg-sidecar",
"dep:arbitrary",
"alloy-primitives/arbitrary",
"alloy-serde?/arbitrary",
"alloy-eip2930/arbitrary",
"alloy-eip7702/arbitrary",
"alloy-eip7702/k256",
]