[package]
name = "foundry-block-explorers"
description = "Bindings for Etherscan.io and other block explorer APIs"
keywords = ["crypto", "ethers", "ethereum", "web3", "etherscan"]

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

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

[package.metadata.playground]
all-features = true

[dependencies]
alloy-chains.workspace = true
alloy-json-abi = { workspace = true, default-features = false, features = [
    "std",
    "serde_json",
] }
alloy-primitives = { workspace = true, default-features = false, features = [
    "std",
    "serde",
] }

reqwest = { workspace = true, default-features = false, features = ["json"] }
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
thiserror = "1.0"
tracing = "0.1.37"
semver = "1.0"

foundry-compilers = { version = "0.17.0", optional = true }

[dev-dependencies]
tempfile = "3.8"
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "time"] }
serial_test = "3.0.0"
tracing-subscriber = { version = "0.3.17", features = ["env-filter", "fmt"] }

[features]
default = ["rustls"]
rustls = ["reqwest/rustls-tls"]
openssl = ["reqwest/native-tls"]

foundry-compilers = ["dep:foundry-compilers"]
compilers-full = ["foundry-compilers?/full"]
