[workspace]
members = [
    ".",
    "examples/historical_scanning",
    "examples/live_scanning",
    "examples/latest_events_scanning",
    "examples/sync_from_latest_scanning",
    "examples/sync_from_block_scanning",
]
resolver = "2"

[workspace.package]
authors = ["OpenZeppelin"]
edition = "2024"
license = "MIT"
repository = "https://github.com/OpenZeppelin/Event-Scanner"
version = "0.6.0-alpha"

[workspace.lints.clippy]
pedantic = "warn"
all = "warn"

[workspace.dependencies]
alloy = { version = "1.1.2", features = ["full"] }
alloy-node-bindings = "1.1.2"
tokio = { version = "1.48", features = ["full"] }
anyhow = "1.0"
thiserror = "2.0.17"
tokio-stream = "0.1.17"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
test-log = { version = "0.2.18", features = ["trace"] }
backon = "1.6.0"

[package]
name = "event-scanner"
description = "Event Scanner is a library for scanning events from any EVM-based blockchain."
categories = [
    "asynchronous",
    "web-programming",
    "web-programming::websocket",
    "cryptography::cryptocurrencies",
]
keywords = ["evm", "ethereum", "blockchain", "events", "alloy"]
version.workspace = true
license.workspace = true
edition.workspace = true
repository.workspace = true
publish = true

[package.metadata.docs.rs]
all-features = true

[dependencies]
alloy.workspace = true
tokio.workspace = true
anyhow.workspace = true
thiserror.workspace = true
alloy-node-bindings.workspace = true
tokio-stream.workspace = true
tracing.workspace = true
backon.workspace = true

[dev-dependencies]
tracing-subscriber.workspace = true
# used when debugging tests
test-log.workspace = true

[lints]
workspace = true

[features]
test-utils = []
