[package]
name = "reth-optimism-rpc"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Ethereum RPC implementation for optimism."

[lints]
workspace = true

[dependencies]
# reth
reth-evm-optimism.workspace = true
reth-evm.workspace = true
reth-primitives.workspace = true
reth-provider.workspace = true
reth-rpc-eth-api.workspace = true
reth-rpc-eth-types.workspace = true
reth-rpc-server-types.workspace = true
reth-rpc-types.workspace = true
reth-tasks = { workspace = true, features = ["rayon"] }
reth-transaction-pool.workspace = true
reth-rpc.workspace = true
reth-node-api.workspace = true
reth-network-api.workspace = true

# ethereum
alloy-primitives.workspace = true
revm.workspace = true

# async
parking_lot.workspace = true
tokio.workspace = true

# rpc
jsonrpsee.workspace = true
jsonrpsee-types.workspace = true

# misc
thiserror.workspace = true
serde = { workspace = true, features = ["derive"] }
derive_more.workspace = true

[dev-dependencies]
serde_json.workspace = true

[features]
client = [
    "jsonrpsee/client",
    "jsonrpsee/async-client",
    "reth-rpc-eth-api/client"
]

optimism = [
    "reth-evm-optimism/optimism",
    "reth-primitives/optimism",
    "reth-provider/optimism",
    "reth-rpc-eth-api/optimism",
    "revm/optimism"
]