[package]
name = "revm-primitives"
description = "Revm primitives types"
version = "23.0.0"
authors.workspace = true
edition.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
readme.workspace = true
rust-version.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lints]
workspace = true

[dependencies]
# alloy
alloy-primitives = { workspace = true, features = [
    "map-indexmap",
    "rlp",
    "map",
] }

# mics
num_enum = { version = "0.7", default-features = false }
once_cell = { version = "1.21", default-features = false, features = [
    "alloc",
    "race",
] }

# Optional
serde = { workspace = true, features = ["derive", "rc"], optional = true }

[features]
default = ["std"]
std = ["alloy-primitives/std", "serde?/std", "num_enum/std", "once_cell/std"]
serde = ["dep:serde", "alloy-primitives/serde"]
map-foldhash = ["alloy-primitives/map-foldhash"]

hashbrown = ["alloy-primitives/map-hashbrown"]
arbitrary = ["std", "alloy-primitives/arbitrary"]
asm-keccak = ["alloy-primitives/asm-keccak"]
sha3-keccak = ["alloy-primitives/sha3-keccak"]
rand = ["alloy-primitives/rand"]
