[package]
name = "ockam_core"
version = "0.64.0"
authors = ["Ockam Developers"]
edition = "2021"
license = "Apache-2.0"
homepage = "https://github.com/build-trust/ockam"
repository = "https://github.com/build-trust/ockam/implementations/rust/ockam/ockam_core"
readme = "README.md"
categories = [
"cryptography",
"asynchronous",
"authentication",
"network-programming",
"embedded",
]
keywords = ["ockam", "crypto", "p2p", "cryptography", "encryption"]
description = """
Core types of the Ockam library.
"""
publish = true
rust-version = "1.56.0"
[features]
default = ["std", "error-traces"]
std = [
"alloc",
"hex/std",
"minicbor/std",
"rand/std",
"rand/std_rng",
"serde_bare/std",
"ockam_macros/std",
"once_cell/std",
"tinyvec/std"
]
no_std = ["core2", "hex", "rand_pcg", "spin", "ockam_macros/no_std"]
alloc = [
"core2/alloc",
"heapless",
"hex/alloc",
"minicbor/alloc",
"serde/alloc",
"serde_bare/alloc",
]
error-traces = ["backtrace", "tracing-error", "once_cell"]
tag = []
[dependencies]
ockam_macros = { path = "../ockam_macros", version = "^0.18.0", default_features = false }
async-trait = "0.1.42"
hashbrown = { version = "0.11", default-features = false, features = [
"ahash",
"serde",
] }
heapless = { version = "0.7.1", optional = true }
hex = { version = "0.4", default-features = false, optional = true }
minicbor = { version = "0.18.0", features = ["derive"] }
serde = { version = "1.0", default-features = false, features = ["derive"] }
serde_bare = { version = "0.5.0", default-features = false }
rand = { version = "0.8", default-features = false }
rand_pcg = { version = "0.3.1", default-features = false, optional = true }
core2 = { version = "0.3.2", default-features = false, optional = true }
spin = { version = "0.9.1", default-features = false, features = [
"mutex",
"rwlock",
"spin_mutex",
], optional = true }
futures-util = { version = "0.3.17", default-features = false, features = [
"alloc",
"async-await-macro",
"sink",
] }
tinyvec = { version = "1.6.0", features = ["rustc_1_57"] }
zeroize = { version = "1.4.2", features = ["zeroize_derive"] }
cfg-if = "1.0"
subtle = { version = "2", default-features = false }
tracing = { version = "0.1", default-features = false, features = ["attributes"] }
tracing-error = { version = "0.2", default-features = false, optional = true }
backtrace = { version = "0.3", default-features = false, features = ["std", "serialize-serde"], optional = true }
once_cell = { version = "1", optional = true, default-features = false }