[package]
name = "ethrex-common"
version.workspace = true
edition.workspace = true
authors.workspace = true
documentation.workspace = true
license.workspace = true
description = "Core Ethereum data types and block validation for the ethrex Ethereum execution client"
repository.workspace = true
[dependencies]
ethrex-rlp.workspace = true
ethrex-trie.workspace = true
ethrex-crypto.workspace = true
tracing.workspace = true
ethereum-types.workspace = true
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
sha2.workspace = true
once_cell = "1.20.2"
libc = "0.2"
crc32fast.workspace = true
bytes.workspace = true
hex.workspace = true
hex-literal.workspace = true
lazy_static.workspace = true
lru.workspace = true
rayon = { workspace = true, optional = true }
rkyv.workspace = true
rustc-hash.workspace = true
indexmap.workspace = true
hex-simd = "0.8.0"
secp256k1 = { workspace = true, optional = true }
libssz = { workspace = true, optional = true }
libssz-types = { workspace = true, optional = true }
libssz-merkle = { workspace = true, optional = true }
libssz-derive = { workspace = true, optional = true }
[features]
default = ["secp256k1", "rayon"]
c-kzg = ["ethrex-crypto/c-kzg"]
rayon = ["dep:rayon"]
secp256k1 = ["dep:secp256k1", "ethrex-crypto/secp256k1", "rayon"]
eip-8025 = ["dep:libssz", "dep:libssz-types", "dep:libssz-merkle", "dep:libssz-derive", "ethrex-trie/eip-8025"]
risc0 = ["ethrex-crypto/risc0"]
sp1 = []
zisk = []
openvm = []
[dev-dependencies]
k256.workspace = true
[lib]
path = "./common.rs"
[lints.clippy]
unwrap_used = "deny"
redundant_clone = "warn"