[package] name = "ockam_core" version = "0.122.0" authors = ["Ockam Developers"] categories = [ "cryptography", "asynchronous", "authentication", "network-programming", "embedded", ] edition = "2021" homepage = "https://github.com/build-trust/ockam" keywords = ["ockam", "crypto", "p2p", "cryptography", "encryption"] license = "Apache-2.0" publish = true readme = "README.md" repository = "https://github.com/build-trust/ockam/implementations/rust/ockam/ockam_core" rust-version = "1.70.0" description = """ Core types of the Ockam library. """ [features] default = ["std", "error-traces"] # Feature (enabled by default): "std" enables functionality expected to # be available on a standard platform. std = [ "alloc", "hex/std", "minicbor/std", "rand/std", "rand/std_rng", "serde_bare/std", "ockam_macros/std", "once_cell/std", "opentelemetry", "regex", "serde_json", "tinyvec/std", "tracing-error", "tracing-opentelemetry", "tracing-subscriber", "strum/std", "miette", ] # Feature: "no_std" enables functionality required for platforms # without the standard library. no_std = ["core2", "hex", "rand_pcg", "spin", "ockam_macros/no_std", "utcnow"] # Feature: "alloc" enables support for heap allocation (implied by `feature = "std"`) alloc = [ "core2/alloc", "hex/alloc", "minicbor/alloc", "serde/alloc", "serde_bare/alloc", ] # Feature: "error-traces" cover whether our errors capture # backtraces and/or spantraces by default. error-traces = [ "tracing-error", "once_cell", ] # "backtrace" is disabled by default since it slows down the code drastically # Feature: "debugger" enables functionality to trace addresses and # message flows within Ockam apps. debugger = [] [dependencies] async-trait = "0.1.82" backtrace = { version = "0.3", default-features = false, features = ["std", "serialize-serde"], optional = true } cfg-if = "1.0" core2 = { version = "0.4.0", default-features = false, optional = true } futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "async-await-macro", "sink"] } hashbrown = { version = "0.14", default-features = false, features = ["ahash", "serde"] } hex = { version = "0.4", default-features = false, optional = true } miette = { version = "7.2.0", features = ["fancy-no-backtrace"], optional = true } minicbor = { version = "0.25.1", default-features = false, features = ["derive"] } ockam_macros = { path = "../ockam_macros", version = "^0.36.0", default-features = false } once_cell = { version = "1", optional = true, default-features = false } opentelemetry = { version = "0.26.0", features = ["logs", "metrics", "trace"], optional = true } rand = { version = "0.8", default-features = false } rand_pcg = { version = "0.3.1", default-features = false, optional = true } regex = { version = "1.10.6", 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 } spin = { version = "0.9.8", default-features = false, features = ["mutex", "rwlock", "spin_mutex"], optional = true } strum = { version = "0.26.3", default-features = false, features = ["derive"] } tinyvec = { version = "1.8.0", features = ["rustc_1_57"] } tracing = { version = "0.1", default-features = false } tracing-error = { version = "0.2", default-features = false, optional = true } tracing-opentelemetry = { version = "0.27.0", optional = true } tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"], optional = true } # Wasn't tested on no_std utcnow = { version = "0.2.5", default-features = false, features = ["fallback"], optional = true } [dev-dependencies] cddl-cat = { version = "0.6.2" } proptest = "1.5.0" quickcheck = "1.0.1" tokio = { version = "1.41.0", features = ["full"] }