[package]
name = "hdi"
version = "0.8.0-dev.11"
description = "The HDI"
license = "CAL-1.0"
repository = "https://github.com/holochain/holochain/tree/develop/crates/hdi"
documentation = "https://docs.rs/hdi"
authors = ["Holochain Core Dev Team <devcore@holochain.org>"]
keywords = ["holochain", "holo", "integrity"]
categories = ["cryptography"]
edition = "2021"

# reminder - do not use workspace deps
[dependencies]
hdk_derive = { version = "^0.7.0-dev.11", path = "../hdk_derive" }
holo_hash = { version = "^0.7.0-dev.9", features = [
  "hashing",
], path = "../holo_hash" }
holochain_wasmer_guest = "=0.0.103"
holochain_serialized_bytes = "=0.0.57"
holochain_serialized_bytes_derive = "=0.0.57"
# it's important that we depend on holochain_integrity_types with no default
# features, both here AND in hdk_derive, to reduce code bloat
holochain_integrity_types = { version = "^0.7.0-dev.11", path = "../holochain_integrity_types", default-features = false }
paste = "1.0"
serde = "1.0"
serde_bytes = "0.11"
tracing = { version = "0.1", optional = true }
tracing-core = { version = "0.1", optional = true }
mockall = { version = "0.13", optional = true }

# When building for the WASM target, we need to configure getrandom
# to use the host system for the source of crypto-secure randomness.
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
getrandom = { version = "0.3" }

[dev-dependencies]
hdi = { path = ".", features = ["test_utils"] }
fixt = { path = "../fixt" }
test-case = "3.3"

[lints]
workspace = true

[features]
default = []
trace = ["dep:tracing", "dep:tracing-core", "holochain_integrity_types/tracing"]
fuzzing = ["holochain_integrity_types/fuzzing"]
mock = ["dep:mockall"]
test_utils = [
  "holochain_integrity_types/fuzzing",
  "holochain_integrity_types/test_utils",
]
unstable-functions = []
