[package]
edition = "2021"
name = "holochain"
version = "0.7.0-dev.9"
authors = ["Holochain Core Dev Team <devcore@holochain.org>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Holochain, a framework for distributed applications"
documentation = "https://docs.rs/holochain"
readme = "README.md"
license = "CAL-1.0"
repository = "https://github.com/holochain/holochain"
[features]
build_wasms = ["holochain_wasm_test_utils/build"]
chc = [
"dep:bytes",
"dep:reqwest",
"holochain_conductor_api/chc",
"holochain_conductor_config/chc",
"holochain_chc/http",
]
default = [
"sqlite-encrypted",
"metrics_influxive",
"schema",
"wasmer_sys",
"transport-iroh",
]
fuzzing = []
glacial_tests = []
instrument = []
metrics_influxive = ["holochain_metrics/influxive"]
only_check_wasms = ["holochain_wasm_test_utils/only_check"]
schema = ["holochain_conductor_api/schema"]
slow_tests = []
sqlite = [
"rusqlite/bundled",
"holochain_keystore/sqlite",
"holo_hash/sqlite",
"holochain_cascade/sqlite",
"holochain_conductor_api/sqlite",
"holochain_keystore/sqlite",
"holochain_p2p/sqlite",
"holochain_sqlite/sqlite",
"holochain_state/sqlite",
"holochain_types/sqlite",
"holochain_zome_types/sqlite",
]
sqlite-encrypted = [
"rusqlite/bundled-sqlcipher-vendored-openssl",
"holochain_keystore/sqlite-encrypted",
"holo_hash/sqlite-encrypted",
"holochain_cascade/sqlite-encrypted",
"holochain_conductor_api/sqlite-encrypted",
"holochain_keystore/sqlite-encrypted",
"holochain_p2p/sqlite-encrypted",
"holochain_sqlite/sqlite-encrypted",
"holochain_state/sqlite-encrypted",
"holochain_types/sqlite-encrypted",
"holochain_zome_types/sqlite-encrypted",
]
sweettest = [
"test_utils",
"sqlite",
]
test_utils = [
"fixt",
"contrafact",
"diff",
"hdk/test_utils",
"holochain_sqlite/test_utils",
"holochain_state/test_utils",
"holochain_types/test_utils",
"holochain_zome_types/test_utils",
"holochain_cascade/test_utils",
"holochain_conductor_api/test-utils",
"holochain_p2p/test_utils",
"matches",
"holochain_test_wasm_common",
"holochain_wasm_test_utils",
"unwrap_to",
"dep:kitsune2_bootstrap_srv",
"async-once-cell",
"get_if_addrs",
"holo_hash/fixturators",
"dep:bytes",
]
transport-iroh = [
"holochain_p2p/transport-iroh",
"holochain_cascade/transport-iroh",
]
transport-tx5-backend-go-pion = [
"holochain_p2p/transport-tx5-backend-go-pion",
"holochain_cascade/transport-tx5-backend-go-pion",
]
unstable-countersigning = [
"hdk/unstable-countersigning",
"holochain_zome_types/unstable-countersigning",
"holochain_conductor_api/unstable-countersigning",
]
unstable-functions = [
"holochain_zome_types/unstable-functions",
"holochain_wasm_test_utils/unstable-functions",
"hdk/unstable-functions",
]
unstable-migration = [
"holochain_types/unstable-migration",
"holochain_conductor_api/unstable-migration",
]
unstable-sharding = []
unstable-warrants = []
wasmer_debug_memory = ["holochain_wasmer_host/debug_memory"]
wasmer_sys = [
"dep:wasmer-middlewares",
"wasmer/default",
"holochain_wasmer_host/wasmer_sys_dev",
]
wasmer_wamr = [
"wasmer/wamr",
"holochain_wasmer_host/wasmer_wamr",
]
[lib]
name = "holochain"
path = "src/lib.rs"
[[bin]]
name = "holochain"
path = "src/bin/holochain/main.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[bench]]
name = "bench"
path = "benches/bench.rs"
harness = false
[[bench]]
name = "consistency"
path = "benches/consistency.rs"
harness = false
[[bench]]
name = "websocket"
path = "benches/websocket.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-once-cell]
version = "0.5"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1"
optional = true
[dependencies.cfg-if]
version = "1.0"
[dependencies.chrono]
version = "0.4.22"
features = [
"clock",
"std",
"oldtime",
"serde",
]
default-features = false
[dependencies.clap]
version = "4.0"
[dependencies.contrafact]
version = "0.2.0-rc.1"
optional = true
[dependencies.derive_more]
version = "2.0"
features = [
"display",
"index",
]
[dependencies.diff]
version = "0.1"
optional = true
[dependencies.either]
version = "1.5.0"
[dependencies.fixt]
version = "^0.7.0-dev.0"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.get_if_addrs]
version = "0.5.3"
optional = true
[dependencies.getrandom]
version = "0.3"
[dependencies.hdk]
version = "^0.7.0-dev.6"
optional = true
[dependencies.holo_hash]
version = "^0.7.0-dev.3"
features = ["full"]
[dependencies.holochain_cascade]
version = "^0.7.0-dev.9"
default-features = false
[dependencies.holochain_chc]
version = "^0.4.0-dev.9"
default-features = false
[dependencies.holochain_conductor_api]
version = "^0.7.0-dev.9"
default-features = false
[dependencies.holochain_conductor_config]
version = "^0.7.0-dev.9"
default-features = false
[dependencies.holochain_keystore]
version = "^0.7.0-dev.5"
default-features = false
[dependencies.holochain_metrics]
version = "^0.7.0-dev.0"
default-features = false
[dependencies.holochain_nonce]
version = "^0.7.0-dev.0"
[dependencies.holochain_p2p]
version = "^0.7.0-dev.9"
default-features = false
[dependencies.holochain_secure_primitive]
version = "^0.7.0-dev.0"
[dependencies.holochain_serialized_bytes]
version = "=0.0.56"
[dependencies.holochain_sqlite]
version = "^0.7.0-dev.7"
[dependencies.holochain_state]
version = "^0.7.0-dev.9"
[dependencies.holochain_test_wasm_common]
version = "^0.7.0-dev.6"
optional = true
[dependencies.holochain_timestamp]
version = "^0.7.0-dev.0"
[dependencies.holochain_trace]
version = "^0.7.0-dev.0"
[dependencies.holochain_types]
version = "^0.7.0-dev.9"
[dependencies.holochain_util]
version = "^0.7.0-dev.0"
[dependencies.holochain_wasm_test_utils]
version = "^0.7.0-dev.9"
optional = true
[dependencies.holochain_wasmer_host]
version = "=0.0.101"
features = ["error_as_host"]
default-features = false
[dependencies.holochain_websocket]
version = "^0.7.0-dev.9"
[dependencies.holochain_zome_types]
version = "^0.7.0-dev.5"
features = ["full"]
[dependencies.human-panic]
version = "2.0"
[dependencies.indexmap]
version = "2.6.0"
features = ["serde"]
[dependencies.itertools]
version = "0.14"
[dependencies.kitsune2_api]
version = "0.4.0-dev.2"
[dependencies.kitsune2_bootstrap_srv]
version = "0.4.0-dev.2"
optional = true
default-features = false
[dependencies.kitsune2_core]
version = "0.4.0-dev.2"
[dependencies.lair_keystore_api]
version = "=0.6.3"
[dependencies.matches]
version = "0.1.8"
optional = true
[dependencies.mockall]
version = "0.13"
[dependencies.mr_bundle]
version = "^0.7.0-dev.0"
features = ["fs"]
[dependencies.must_future]
version = "0.1.1"
[dependencies.nanoid]
version = "0.4"
[dependencies.once_cell]
version = "1.4.1"
[dependencies.one_err]
version = "0.0.8"
[dependencies.opentelemetry_api]
version = "=0.20.0"
features = ["metrics"]
[dependencies.parking_lot]
version = "0.12"
[dependencies.petgraph]
version = "0.6.0"
features = [
"quickcheck",
"stable_graph",
]
[dependencies.rand]
version = "0.9"
[dependencies.rand-utf8]
version = "0.0.2"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.rusqlite]
version = "0.37"
[dependencies.rustls]
version = "0.23.25"
[dependencies.schemars]
version = "0.9"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_bytes]
version = "0.11.12"
[dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
[dependencies.serde_with]
version = "3.12.0"
features = ["json"]
[dependencies.serde_yaml]
version = "0.9"
[dependencies.shrinkwraprs]
version = "0.3.0"
[dependencies.sodoken]
version = "0.1.0"
[dependencies.strum]
version = "0.27"
[dependencies.subtle-encoding]
version = "0.5"
[dependencies.task-motel]
version = "0.1.0"
[dependencies.tempfile]
version = "3.3"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.36.0"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
features = [
"sync",
"net",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-futures]
version = "0.2.5"
[dependencies.tracing-subscriber]
version = "0.3.16"
[dependencies.unwrap_to]
version = "0.1.0"
optional = true
[dependencies.url]
version = "2.4"
[dependencies.url2]
version = "0.0.6"
[dependencies.uuid]
version = "1.8"
features = [
"serde",
"v4",
]
[dependencies.wasmer]
version = "6.0.1"
default-features = false
[dependencies.wasmer-middlewares]
version = "6.0.1"
optional = true
default-features = false
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.assert2]
version = "0.3.15"
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.contrafact]
version = "0.2.0-rc.1"
[dev-dependencies.criterion]
version = "0.6"
features = ["async_tokio"]
[dev-dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]
[dev-dependencies.holochain_state]
version = "^0.7.0-dev.9"
features = ["test_utils"]
[dev-dependencies.kitsune2_test_utils]
version = "0.4.0-dev.2"
[dev-dependencies.lair_keystore]
version = "0.6.3"
[dev-dependencies.maplit]
version = "1"
[dev-dependencies.predicates]
version = "3.1"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.rand_dalek]
version = "0.8"
package = "rand"
[dev-dependencies.regex]
version = "1.5"
[dev-dependencies.reqwest]
version = "0.12"
default-features = false
[dev-dependencies.test-case]
version = "3.3"
[dev-dependencies.tokio]
version = "1.36.0"
features = [
"full",
"test-util",
]
[dev-dependencies.tokio-tungstenite]
version = "0.27"
[build-dependencies.chrono]
version = "0.4.6"
features = ["serde"]
[build-dependencies.hdk]
version = "^0.7.0-dev.6"
[build-dependencies.hostname]
version = "0.4"
[build-dependencies.lair_keystore]
version = "0.6.3"
features = ["rusqlite-bundled-sqlcipher-vendored-openssl"]
default-features = false
[build-dependencies.serde]
version = "1.0"
features = ["derive"]
[build-dependencies.serde_json]
version = "1.0.51"
[target."cfg(unix)".dependencies.sd-notify]
version = "0.4"
[lints.clippy]
complexity = "deny"
correctness = "deny"
dbg_macro = "deny"
perf = "deny"
style = "deny"
[lints.clippy.cargo]
level = "allow"
priority = -1
[lints.clippy.nursery]
level = "allow"
priority = -1
[lints.clippy.pedantic]
level = "allow"
priority = -1
[lints.clippy.restriction]
level = "allow"
priority = -1
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(build_wasm)",
"cfg(loom)",
]