[package]
name = "evm2-inspectors"
description = "evm2 inspector implementations"

version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true

[lints]
workspace = true

[dependencies]
# eth
alloy-consensus.workspace = true
alloy-rpc-types-eth.workspace = true
alloy-rpc-types-trace.workspace = true
alloy-sol-types.workspace = true
alloy-primitives = { workspace = true, features = ["map"] }
evm2.workspace = true

anstyle = { workspace = true, optional = true }
colorchoice.workspace = true
thiserror.workspace = true

# serde
serde = { workspace = true, optional = true, features = ["derive"] }
serde_json = { workspace = true, features = ["alloc"] }

# js-tracer
boa_engine = { workspace = true, optional = true }
boa_gc = { workspace = true, optional = true }

[dev-dependencies]
alloy-hardforks.workspace = true
snapbox = { workspace = true, features = ["term-svg"] }

[features]
default = ["std"]
std = [
    "alloy-primitives/std",
    "alloy-consensus/std",
    "alloy-rpc-types-eth/std",
    "alloy-sol-types/std",
    "anstyle/std",
    "serde/std",
    "serde_json/std",
    "evm2/std",
    "thiserror/std",
]
serde = [
    "dep:serde",
    "alloy-primitives/serde",
    "alloy-consensus/serde",
    "alloy-rpc-types-eth/serde",
    "evm2/serde",
]
js-tracer = ["std", "dep:boa_engine", "dep:boa_gc"]
