[package] name = "dwn" description = "Rust implementation of a Decentralized Web Node." version.workspace = true edition.workspace = true repository.workspace = true license.workspace = true keywords.workspace = true [features] default = ["surrealdb"] s3 = ["dep:rust-s3"] surrealdb = ["dep:surrealdb", "dep:tokio"] [dependencies] aes-gcm = "0.10.3" anyhow = "1.0.82" base64 = "0.22.0" did-method-key = "0.2.2" didkit.workspace = true jsonschema = { version = "0.20.0", default-features = false, features = [ "draft201909", "draft202012", ] } libipld = { version = "0.16.0", features = ["serde-codec"] } libipld-cbor = "0.16.0" libipld-core = { version = "0.16.0", features = [ "serde", "serde-codec", "multibase", ] } reqwest = { version = "0.12.4", default-features = false, features = [ "rustls-tls", "charset", "http2", "macos-system-configuration", "json", ] } semver = { version = "1.0.22", features = ["serde"] } serde = { version = "1.0.198", features = ["derive"] } serde_ipld_dagcbor = "0.6.0" serde_json.workspace = true thiserror = "1.0.59" tracing.workspace = true rust-s3 = { version = "0.35.1", optional = true } surrealdb = { workspace = true, optional = true } tokio = { workspace = true, optional = true } [target.'cfg(target_family = "wasm")'.dependencies] time = { version = "0.3.36", features = ["serde-well-known", "wasm-bindgen"] } [target.'cfg(not(target_family = "wasm"))'.dependencies] time = { version = "0.3.31", features = ["serde-well-known"] } [dev-dependencies] surrealdb = { workspace = true, features = ["kv-mem"] } tracing-subscriber.workspace = true tracing-test.workspace = true