[package]
name = "edr_napi"
version = "0.3.5"
edition = "2021"

[lib]
crate-type = ["cdylib"]

[dependencies]
alloy-dyn-abi = { version = "0.7.6", default-features = false, features = ["eip712", "std"] }
alloy-json-abi = { version = "0.7.4", default-features = false }
alloy-sol-types = { version = "0.5.1", default-features = false, features = ["std"] }
derive-where = { version = "1.2.7", default-features = false }
edr_eth = { path = "../edr_eth" }
edr_evm = { path = "../edr_evm" }
edr_generic = { path = "../edr_generic" }
edr_napi_core = { path = "../edr_napi_core" }
edr_optimism = { path = "../edr_optimism", optional = true }
edr_provider = { path = "../edr_provider" }
edr_rpc_client = { path = "../edr_rpc_client" }
edr_solidity ={ version = "0.3.5", path = "../edr_solidity" }
mimalloc = { version = "0.1.39", default-features = false, features = ["local_dynamic_tls"] }
# The `async` feature ensures that a tokio runtime is available
napi = { version = "2.16.10", default-features = false, features = ["async", "error_anyhow", "napi8", "serde-json"] }
napi-derive = "2.16.12"
rand = { version = "0.8.4", optional = true }
semver = "1.0.22"
serde = { version = "1.0.209", features = ["derive"] }
serde_json = { version = "1.0.127" }
strum = { version = "0.26.0", features = ["derive"] }
tracing = { version = "0.1.37", default-features = false, features = ["std"] }
tracing-flame = { version = "0.2.0", default-features = false, features = ["smallvec"] }
tracing-subscriber = { version = "0.3.18", default-features = false, features = ["ansi", "env-filter", "fmt", "parking_lot", "smallvec", "std"] }
parking_lot = { version = "0.12.1", default-features = false }
lazy_static = { version = "1.4.0", features = [] }

[target.x86_64-unknown-linux-gnu.dependencies]
openssl-sys = { version = "0.9.93", features = ["vendored"] }

[target.x86_64-unknown-linux-musl.dependencies]
openssl-sys = { version = "0.9.93", features = ["vendored"] }

[target.aarch64-unknown-linux-gnu.dependencies]
openssl-sys = { version = "0.9.93", features = ["vendored"] }

[target.aarch64-unknown-linux-musl.dependencies]
openssl-sys = { version = "0.9.93", features = ["vendored"] }

[build-dependencies]
napi-build = "2.0.1"

[features]
optimism = ["dep:edr_optimism"]
scenarios = ["rand"]
tracing = ["edr_evm/tracing", "edr_napi_core/tracing", "edr_provider/tracing"]

[lints]
workspace = true
