[package]
name = "reth-rpc-eth-api"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Reth RPC 'eth' namespace API"

[lints]
workspace = true

[dependencies]
# reth
revm.workspace = true
revm-inspectors = { workspace = true, features = ["js-tracer"] }
revm-primitives = { workspace = true, features = ["dev"] }
reth-errors.workspace = true
reth-evm.workspace = true
reth-primitives.workspace = true
reth-provider.workspace = true
reth-revm.workspace = true
reth-rpc-types.workspace = true
reth-rpc-types-compat.workspace = true
reth-tasks = { workspace = true, features = ["rayon"] }
reth-transaction-pool.workspace = true
reth-chainspec.workspace = true
reth-execution-types.workspace = true
reth-rpc-eth-types.workspace = true
reth-rpc-server-types.workspace = true
reth-network-api.workspace = true

# ethereum
alloy-dyn-abi = { workspace = true, features = ["eip712"] }

# rpc
jsonrpsee = { workspace = true, features = ["server", "macros"] }
jsonrpsee-types.workspace = true

# async
async-trait.workspace = true
futures.workspace = true
parking_lot.workspace = true
tokio.workspace = true

# misc
auto_impl.workspace = true
dyn-clone.workspace = true
tracing.workspace = true

[features]
client = ["jsonrpsee/client", "jsonrpsee/async-client"]
optimism = [
    "reth-primitives/optimism",
    "revm/optimism",
    "reth-provider/optimism",
]
