[package]
name = "reth-rpc-types"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Reth RPC types"

[lints]
workspace = true

[dependencies]

# ethereum
alloy-primitives = { workspace = true, features = ["rand", "rlp", "serde"] }
alloy-rpc-types.workspace = true
alloy-rpc-types-admin.workspace = true
alloy-rpc-types-anvil.workspace = true
alloy-rpc-types-beacon = { workspace = true, optional = true }
alloy-rpc-types-mev.workspace = true
alloy-rpc-types-trace.workspace = true
alloy-rpc-types-txpool.workspace = true
alloy-serde.workspace = true
alloy-rpc-types-engine = { workspace = true, features = ["jsonrpsee-types"], optional = true }

# misc
jsonrpsee-types = { workspace = true, optional = true }

[dev-dependencies]
# misc
alloy-primitives = { workspace = true, features = ["rand", "rlp", "serde", "arbitrary"] }
arbitrary = { workspace = true, features = ["derive"] }
rand.workspace = true

[features]
default = ["jsonrpsee-types"]
jsonrpsee-types = [
    "dep:jsonrpsee-types",
    "dep:alloy-rpc-types-beacon",
    "dep:alloy-rpc-types-engine",
    "alloy-rpc-types/jsonrpsee-types",
    "alloy-rpc-types-engine/jsonrpsee-types"
]
arbitrary = ["alloy-primitives/arbitrary", "alloy-rpc-types/arbitrary"]
