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

[lints]

[dependencies]
# reth
reth-chainspec.workspace = true
reth-cli.workspace = true
reth-ethereum-cli.workspace = true
reth-cli-runner.workspace = true
reth-cli-util.workspace = true
reth-codecs.workspace = true
reth-config.workspace = true
reth-consensus.workspace = true
reth-db = { workspace = true, features = ["mdbx"] }
reth-db-api.workspace = true
reth-db-common.workspace = true
reth-downloaders.workspace = true
reth-ecies.workspace = true
reth-eth-wire.workspace = true
reth-evm.workspace = true
reth-exex.workspace = true
reth-fs-util.workspace = true
reth-network = { workspace = true, features = ["serde"] }
reth-network-p2p.workspace = true
reth-network-peers = { workspace = true, features = ["secp256k1"] }
reth-node-api.workspace = true
reth-node-builder.workspace = true
reth-node-core.workspace = true
reth-node-events.workspace = true
reth-node-metrics.workspace = true
reth-primitives.workspace = true
reth-provider.workspace = true
reth-prune.workspace = true
reth-prune-types = { workspace = true, optional = true }
reth-stages.workspace = true
reth-stages-types = { workspace = true, optional = true }
reth-static-file-types = { workspace = true, features = ["clap"] }
reth-static-file.workspace = true
reth-trie = { workspace = true, features = ["metrics"] }
reth-trie-db = { workspace = true, features = ["metrics"] }
reth-trie-common = { workspace = true, optional = true }
reth-primitives-traits.workspace = true

# ethereum
alloy-eips.workspace = true
alloy-primitives.workspace = true
alloy-rlp.workspace = true
alloy-consensus.workspace = true

itertools.workspace = true
futures.workspace = true
tokio.workspace = true

# misc
ahash = "0.8"
human_bytes = "0.4.1"
eyre.workspace = true
clap = { workspace = true, features = ["derive", "env"] }
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
backon.workspace = true
secp256k1 = { workspace = true, features = ["global-context", "std", "recovery"] }

# io
fdlimit.workspace = true
toml = { workspace = true, features = ["display"] }

# tui
comfy-table = "7.0"
crossterm = "0.28.0"
ratatui = { version = "0.29", default-features = false, features = ["crossterm"] }

# reth test-vectors
proptest = { workspace = true, optional = true }
arbitrary = { workspace = true, optional = true }
proptest-arbitrary-interop = { workspace = true, optional = true }

[dev-dependencies]
reth-discv4.workspace = true

[features]
default = []
arbitrary = [
    "dep:proptest",
    "dep:arbitrary",
    "dep:proptest-arbitrary-interop",
    "reth-primitives/arbitrary",
    "reth-db-api/arbitrary",
    "reth-eth-wire/arbitrary",
    "reth-db/arbitrary",
    "reth-chainspec/arbitrary",
    "alloy-eips/arbitrary",
    "alloy-primitives/arbitrary",
    "reth-codecs/test-utils",
    "reth-prune-types/test-utils",
    "reth-stages-types/test-utils",
    "reth-trie-common/test-utils",
    "reth-codecs/arbitrary",
    "reth-prune-types?/arbitrary",
    "reth-stages-types?/arbitrary",
    "reth-trie-common?/arbitrary",
    "alloy-consensus/arbitrary",
    "reth-primitives-traits/arbitrary",
]
