ethrex-levm 17.0.0

Native EVM implementation for the ethrex Ethereum execution client
Documentation
[package]
name = "ethrex-levm"
version.workspace = true
edition.workspace = true
authors.workspace = true
documentation.workspace = true
license.workspace = true
description = "Native EVM implementation for the ethrex Ethereum execution client"
repository.workspace = true

[dependencies]
ethrex-common = { workspace = true, default-features = false }
ethrex-crypto.workspace = true
ethrex-rlp.workspace = true
derive_more = { version = "1.0.0", features = ["full"] }

bytes.workspace = true
thiserror.workspace = true
serde = { workspace = true, features = ["derive", "rc"] }

malachite = "0.6.1"
strum = { version = "0.27.1", features = ["derive"] }
rustc-hash.workspace = true
rayon = { workspace = true, optional = true }


[features]
default = []
c-kzg = ["ethrex-common/c-kzg", "ethrex-crypto/c-kzg"]
eip-8025 = ["ethrex-common/eip-8025"]
ethereum_foundation_tests = []
debug = []
openvm = ["ethrex-common/openvm"]
perf_opcode_timings = []
# zkVM feature stubs — implementations have moved to ethrex-crypto's NativeCrypto/ZkVMCrypto
sp1 = []
risc0 = ["c-kzg"]
zisk = []
rayon = ["dep:rayon"]
secp256k1 = ["rayon"]

[lints.rust]
unsafe_code = "warn"
warnings = "warn"
rust_2018_idioms = "warn"

[lints.clippy]
panic = "deny"
unnecessary_cast = "warn"
deref_by_slicing = "warn"
indexing_slicing = "warn"
manual_unwrap_or = "warn"
manual_unwrap_or_default = "warn"
as_conversions = "deny"
unwrap_used = "deny"
expect_used = "deny"
redundant_clone = "warn"

arithmetic_side_effects = "deny"
panicking_overflow_checks = "warn"
manual_saturating_arithmetic = "warn"

[lib]
path = "./src/lib.rs"