[package]
name = "holochain"
version = "0.7.0-dev.21"
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.7.0-dev.8", path = "../holo_hash", features = [
"full",
] }
holochain_cascade = { version = "^0.7.0-dev.21", default-features = false, path = "../holochain_cascade" }
holochain_conductor_api = { version = "^0.7.0-dev.20", path = "../holochain_conductor_api", default-features = false }
holochain_data = { version = "^0.7.0-dev.10", path = "../holochain_data", features = [
"sqlite-encrypted",
] }
holochain_keystore = { version = "^0.7.0-dev.12", path = "../holochain_keystore", default-features = false }
holochain_p2p = { version = "^0.7.0-dev.21", default-features = false, path = "../holochain_p2p" }
holochain_sqlite = { version = "^0.7.0-dev.16", path = "../holochain_sqlite" }
holochain_serialized_bytes = "=0.0.56"
holochain_state = { version = "^0.7.0-dev.21", path = "../holochain_state" }
holochain_types = { version = "^0.7.0-dev.20", path = "../holochain_types" }
holochain_util = { version = "^0.7.0-dev.1", path = "../holochain_util" }
holochain_wasmer_host = { version = "=0.0.101", default-features = false, features = [
"error_as_host",
] }
holochain_websocket = { version = "^0.7.0-dev.20", path = "../holochain_websocket" }
holochain_zome_types = { version = "^0.7.0-dev.12", path = "../holochain_zome_types", features = [
"full",
] }
holochain_nonce = { version = "^0.7.0-dev.1", path = "../holochain_nonce" }
holochain_secure_primitive = { version = "^0.7.0-dev.1", path = "../holochain_secure_primitive" }
holochain_conductor_config = { version = "^0.7.0-dev.20", path = "../holochain_conductor_config", default-features = false }
holochain_timestamp = { version = "^0.7.0-dev.0", path = "../timestamp" }
human-panic = "2.0"
itertools = { version = "0.14" }
kitsune2_api = "0.4.0-dev.6"
kitsune2_core = "0.4.0-dev.6"
mockall = "0.13"
mr_bundle = { version = "^0.7.0-dev.1", path = "../mr_bundle", features = [
"fs",
] }
must_future = "0.1.1"
nanoid = "0.4"
holochain_trace = { version = "^0.7.0-dev.1", path = "../holochain_trace" }
holochain_metrics = { version = "^0.7.0-dev.6", path = "../holochain_metrics" }
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"
url2 = "0.0.6"
uuid = { version = "1.8", features = ["serde", "v4"] }
opentelemetry = "0.31"
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.7.0-dev.0", path = "../fixt", optional = true }
diff = { version = "0.1", optional = true }
hdk = { version = "^0.7.0-dev.13", path = "../hdk", optional = true }
matches = { version = "0.1.8", optional = true }
holochain_wasm_test_utils = { version = "^0.7.0-dev.21", path = "../test_utils/wasm", optional = true }
holochain_test_wasm_common = { version = "^0.7.0-dev.13", path = "../test_utils/wasm_common", optional = true }
unwrap_to = { version = "0.1.0", optional = true }
kitsune2_bootstrap_srv = { version = "0.4.0-dev.6", default-features = false, optional = true }
schemars = "0.9"
[target.'cfg(unix)'.dependencies]
sd-notify = "0.4"
[dev-dependencies]
holochain = { path = ".", default-features = false, features = [
"test_utils",
"slow_tests",
] }
holochain_state = { version = "^0.7.0-dev.21", path = "../holochain_state", features = [
"test_utils",
] }
anyhow = "1.0"
assert_cmd = "2"
criterion = { version = "0.6", features = ["async_tokio"] }
ed25519-dalek = { version = "2", features = ["rand_core"] }
lair_keystore = "0.6.3"
pretty_assertions = "1.4"
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.4.0-dev.6"
rand_dalek = { version = "0.8", package = "rand" }
[build-dependencies]
hdk = { version = "^0.7.0-dev.13", 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", "schema", "wasmer_sys", "transport-iroh"]
test_utils = [
"dep:fixt",
"dep: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",
"dep:matches",
"dep:holochain_test_wasm_common",
"dep:holochain_wasm_test_utils",
"dep:unwrap_to",
"dep:kitsune2_bootstrap_srv",
"holo_hash/fixturators",
]
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_p2p/sqlite-encrypted",
"holochain_sqlite/sqlite-encrypted",
"holochain_state/sqlite-encrypted",
"holochain_types/sqlite-encrypted",
"holochain_zome_types/sqlite-encrypted",
"holochain_data/sqlite-encrypted",
]
sqlite = [
"rusqlite/bundled",
"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",
]
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",
]
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"]
unstable-migration = [
"holochain_types/unstable-migration",
"holochain_conductor_api/unstable-migration",
]
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",
]