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