[package]
name = "reth-node-core"
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-primitives.workspace = true
reth-cli-util.workspace = true
reth-fs-util.workspace = true
reth-db = { workspace = true, features = ["mdbx"] }
reth-db-api.workspace = true
reth-storage-errors.workspace = true
reth-provider.workspace = true
reth-network = { workspace = true, features = ["serde"] }
reth-network-p2p.workspace = true
reth-rpc-eth-types.workspace = true
reth-rpc-server-types.workspace = true
reth-rpc-types.workspace = true
reth-rpc-types-compat.workspace = true
reth-rpc-api = { workspace = true, features = ["client"] }
reth-rpc-eth-api = { workspace = true, features = ["client"] }
reth-transaction-pool.workspace = true
reth-tracing.workspace = true
reth-config.workspace = true
reth-discv4.workspace = true
reth-discv5.workspace = true
reth-net-nat.workspace = true
reth-network-peers.workspace = true
reth-consensus-common.workspace = true
reth-prune-types.workspace = true
reth-stages-types.workspace = true

# ethereum
alloy-genesis.workspace = true
alloy-rpc-types-engine.workspace = true


# misc
eyre.workspace = true
clap = { workspace = true, features = ["derive"] }
humantime.workspace = true
const_format.workspace = true
rand.workspace = true
derive_more.workspace = true

# io
dirs-next = "2.0.0"
shellexpand.workspace = true
serde_json.workspace = true



# tracing
tracing.workspace = true

# crypto
secp256k1 = { workspace = true, features = [
    "global-context",
    "rand-std",
    "recovery",
] }

# async
futures.workspace = true


[dev-dependencies]
# test vectors generation
proptest.workspace = true
tokio.workspace = true

[features]
optimism = [
    "reth-primitives/optimism",
    "reth-provider/optimism",
    "reth-rpc-types-compat/optimism",
    "reth-rpc-eth-api/optimism",
]
# Features for vergen to generate correct env vars
jemalloc = []
asm-keccak = []

[build-dependencies]
vergen = { version = "8.0.0", features = ["build", "cargo", "git", "gitcl"] }
