[package]
name = "ockam_node"
version = "0.107.0"
authors = ["Ockam Developers"]
categories = [
"cryptography",
"asynchronous",
"authentication",
"embedded",
"network-programming",
]
edition = "2021"
homepage = "https://github.com/build-trust/ockam"
keywords = [
"ockam",
"crypto",
"cryptography",
"network-programming",
"encryption",
]
license = "Apache-2.0"
publish = true
repository = "https://github.com/build-trust/ockam/tree/develop/implementations/rust/ockam/ockam_node"
rust-version = "1.56.0"
description = """This crate provides an implementation of an Ockam [Ockam][main-ockam-crate-link]
Node and is intended for use by crates that provide features and add-ons
to the main [Ockam][main-ockam-crate-link] library.
The main [Ockam][main-ockam-crate-link] crate re-exports types defined in
this crate, when the `"std"` feature is enabled.
"""
[features]
default = ["std"]
std = [
"ockam_core/std",
"ockam_transport_core/std",
"tokio",
"tracing-subscriber",
"tracing-error",
"alloc",
"futures/std",
"minicbor/std",
"storage",
"fs2",
]
no_std = ["ockam_core/no_std", "ockam_transport_core/no_std", "heapless"]
alloc = ["ockam_core/alloc", "ockam_executor/alloc", "futures/alloc", "minicbor/alloc"]
dump_internals = []
metrics = []
debugger = ["ockam_core/debugger"]
storage = ["std", "time", "serde_json", "sqlx", "tokio-retry"]
[dependencies]
cfg-if = "1.0.0"
fs2 = { version = "0.4.3", optional = true }
futures = { version = "0.3.30", default-features = false }
heapless = { version = "0.8", features = ["mpmc_large"], optional = true }
minicbor = { version = "0.20.0", features = ["derive"] }
ockam_core = { path = "../ockam_core", version = "^0.100.0", default_features = false }
ockam_executor = { path = "../ockam_executor", version = "^0.69.0", default-features = false, optional = true }
ockam_macros = { path = "../ockam_macros", version = "^0.32.0" }
ockam_transport_core = { path = "../ockam_transport_core", version = "^0.73.0", default-features = false, optional = true }
serde = { version = "1.0", default-features = false, features = ["derive"] }
serde_bare = { version = "0.5.0", default-features = false }
serde_json = { version = "1", optional = true }
sqlx = { version = "0.7.3", optional = true, features = ["sqlite", "migrate", "runtime-tokio"] }
time = { version = "0.3.31", default-features = false, optional = true }
tokio = { version = "1.35", default-features = false, optional = true, features = ["sync", "time", "rt", "rt-multi-thread", "macros"] }
tokio-retry = { version = "0.3.0", optional = true }
tracing = { version = "0.1", default_features = false }
tracing-error = { version = "0.2", optional = true }
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"], optional = true }
[dev-dependencies]
hex = { version = "0.4", default-features = false }
tempfile = { version = "3.9.0" }