[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 = [
"-Zunstable-options",
"--generate-link-to-definition",
"--show-type-layout",
]
[lints]
workspace = true
[dependencies]
alloy-eip2124.workspace = true
alloy-eip2930.workspace = true
alloy-eip7702.workspace = true
alloy-primitives = { workspace = true, features = ["rlp"] }
alloy-rlp = { workspace = true, features = ["derive"] }
either.workspace = true
thiserror.workspace = true
alloy-serde = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
serde_with = { workspace = true, optional = true }
c-kzg = { workspace = true, optional = true, features = [
"ethereum_kzg_settings",
] }
derive_more = { workspace = true, features = [
"as_ref",
"deref",
"deref_mut",
"from",
"into_iterator",
], default-features = false }
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 }
borsh = { workspace = true, optional = true, features = ["derive"] }
auto_impl.workspace = 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",
"alloy-serde?/std",
"alloy-eip2124/std",
"alloy-eip2930/std",
"alloy-eip7702/std",
"derive_more/std",
"sha2?/std",
"either/std",
"serde_with?/std",
"thiserror/std",
"borsh?/std"
]
serde = [
"dep:alloy-serde",
"dep:serde",
"dep:serde_with",
"alloy-primitives/serde",
"c-kzg?/serde",
"alloy-eip2930/serde",
"alloy-eip7702/serde",
"alloy-eip2124/serde",
"either/serde",
"rand/serde",
]
serde-bincode-compat = ["alloy-eip7702/serde-bincode-compat"]
kzg = ["kzg-sidecar", "sha2", "dep:c-kzg"]
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-eip2124/arbitrary",
"alloy-eip2930/arbitrary",
"alloy-eip7702/arbitrary",
"alloy-eip7702/k256",
"c-kzg?/arbitrary"
]
borsh = [
"dep:borsh",
"alloy-primitives/borsh",
"alloy-eip2930/borsh",
"alloy-eip7702/borsh",
]