[package]
name = "commonware-resolver"
edition.workspace = true
publish = true
version.workspace = true
license.workspace = true
description = "Resolve data identified by a fixed-length key."
readme = "README.md"
homepage.workspace = true
repository = "https://github.com/commonwarexyz/monorepo/tree/main/resolver"
documentation = "https://docs.rs/commonware-resolver"

[lints]
workspace = true

[dependencies]
arbitrary = { workspace = true, optional = true, features = ["derive"] }
bytes.workspace = true
commonware-codec.workspace = true
commonware-cryptography.workspace = true
commonware-macros.workspace = true
commonware-p2p.workspace = true
commonware-runtime.workspace = true
commonware-stream.workspace = true
commonware-utils.workspace = true
futures.workspace = true
prometheus-client.workspace = true
rand.workspace = true
thiserror.workspace = true
tracing.workspace = true

[dev-dependencies]
commonware-conformance.workspace = true
commonware-resolver = { path = ".", features = ["mocks"] }
tracing-subscriber.workspace = true

[package.metadata.cargo-udeps.ignore]
# Tell cargo-udeps to ignore the use of commonware-resolver in [dev-dependencies],
# which we use to enable the mocks feature in tests
development = ["commonware-resolver"]

[lib]
bench = false

[features]
mocks = []
arbitrary = [
	"commonware-codec/arbitrary",
	"commonware-cryptography/arbitrary",
	"commonware-p2p/arbitrary",
	"commonware-utils/arbitrary",
	"dep:arbitrary",
]
