[package]
name = "reth-provider"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Reth storage provider."

[lints]
workspace = true

[dependencies]
# reth
reth-chainspec.workspace = true
reth-blockchain-tree-api.workspace = true
reth-execution-types.workspace = true
reth-primitives = { workspace = true, features = ["reth-codec", "secp256k1"] }
reth-fs-util.workspace = true
reth-errors.workspace = true
reth-storage-errors.workspace = true
reth-storage-api.workspace = true
reth-network-p2p.workspace = true
reth-db = { workspace = true, features = ["mdbx"] }
reth-db-api.workspace = true
reth-prune-types.workspace = true
reth-stages-types.workspace = true
reth-trie = { workspace = true, features = ["metrics"] }
reth-trie-db = { workspace = true, features = ["metrics"] }
reth-nippy-jar.workspace = true
reth-codecs.workspace = true
reth-evm.workspace = true
reth-chain-state.workspace = true

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

# async
tokio = { workspace = true, features = ["sync", "macros", "rt-multi-thread"] }

# tracing
tracing.workspace = true

# metrics
reth-metrics.workspace = true
metrics.workspace = true

# misc
auto_impl.workspace = true
itertools.workspace = true
parking_lot.workspace = true
dashmap = { workspace = true, features = ["inline"] }
strum.workspace = true

# test-utils
alloy-rlp = { workspace = true, optional = true }

# parallel utils
rayon.workspace = true

[dev-dependencies]
reth-db = { workspace = true, features = ["test-utils"] }
reth-primitives = { workspace = true, features = ["arbitrary", "test-utils"] }
reth-trie = { workspace = true, features = ["test-utils"] }
reth-testing-utils.workspace = true

alloy-rlp.workspace = true
parking_lot.workspace = true
tempfile.workspace = true
assert_matches.workspace = true
rand.workspace = true

[features]
optimism = ["reth-primitives/optimism", "reth-execution-types/optimism"]
serde = ["reth-execution-types/serde"]
test-utils = ["alloy-rlp", "reth-db/test-utils", "reth-nippy-jar/test-utils", "reth-trie/test-utils", "reth-chain-state/test-utils", "reth-db/test-utils"]
