[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, features = ["optional_block_gas_limit", "optional_eip3607", "optional_no_base_fee"] }
revm-inspectors.workspace = true
revm-primitives = { workspace = true }
reth-primitives-traits.workspace = true
reth-errors.workspace = true
reth-evm.workspace = true
reth-primitives.workspace = true
reth-provider.workspace = true
reth-revm.workspace = true
reth-rpc-types-compat.workspace = true
reth-tasks = { workspace = true, features = ["rayon"] }
reth-transaction-pool.workspace = true
reth-chainspec.workspace = true
reth-rpc-eth-types.workspace = true
reth-rpc-server-types.workspace = true
reth-network-api.workspace = true
reth-node-api.workspace = true
reth-trie-common = { workspace = true, features = ["eip1186"] }

# ethereum
alloy-rlp.workspace = true
alloy-serde.workspace = true
alloy-eips.workspace = true
alloy-dyn-abi = { workspace = true, features = ["eip712"] }
alloy-json-rpc.workspace = true
alloy-network.workspace = true
alloy-primitives.workspace = true
alloy-rpc-types-eth.workspace = true
alloy-rpc-types-mev.workspace = true
alloy-consensus.workspace = true

# 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]
js-tracer = ["revm-inspectors/js-tracer", "reth-rpc-eth-types/js-tracer"]
client = ["jsonrpsee/client", "jsonrpsee/async-client"]
