[package]
name = "reth-evm"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true

[lints]
workspace = true

[dependencies]
# reth
reth-chainspec.workspace = true
reth-consensus-common.workspace = true
reth-execution-errors.workspace = true
reth-execution-types.workspace = true
reth-metrics = { workspace = true, optional = true }
reth-primitives.workspace = true
reth-primitives-traits.workspace = true
reth-storage-errors.workspace = true

revm.workspace = true
revm-database.workspace = true
revm-optimism = { workspace = true, optional = true }

# alloy
alloy-primitives.workspace = true
alloy-eips.workspace = true
alloy-evm.workspace = true
alloy-consensus.workspace = true

auto_impl.workspace = true
derive_more.workspace = true
futures-util.workspace = true
metrics = { workspace = true, optional = true }
parking_lot = { workspace = true, optional = true }

[dev-dependencies]
parking_lot.workspace = true
reth-ethereum-forks.workspace = true
alloy-consensus.workspace = true
metrics-util = { workspace = true, features = ["debugging"] }
reth-ethereum-primitives.workspace = true

[features]
default = ["std"]
std = [
    "reth-primitives/std",
    "reth-primitives-traits/std",
    "alloy-eips/std",
    "alloy-primitives/std",
    "alloy-consensus/std",
    "revm/std",
    "reth-ethereum-forks/std",
    "reth-ethereum-primitives/std",
    "reth-chainspec/std",
    "reth-consensus-common/std",
    "alloy-evm/std",
    "revm-database/std",
    "revm-optimism?/std",
    "reth-execution-errors/std",
    "reth-execution-types/std",
    "reth-storage-errors/std",
    "futures-util/std",
    "derive_more/std",
]
metrics = [
    "std",
    "dep:metrics",
    "dep:reth-metrics",
]
test-utils = [
    "dep:parking_lot",
    "reth-chainspec/test-utils",
    "reth-ethereum-primitives/test-utils",
    "reth-primitives/test-utils",
    "reth-primitives-traits/test-utils",
    "revm/test-utils",
]
op = [
    "revm-optimism",
    "alloy-evm/op",
    "reth-primitives-traits/op",
]
