-
-
Notifications
You must be signed in to change notification settings - Fork 556
/
Cargo.toml
107 lines (99 loc) · 3.77 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
[package]
name = "ockam_core"
version = "0.109.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.56.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 not 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.80"
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", optional = true }
minicbor = { version = "0.24.0", features = ["derive"] }
ockam_macros = { path = "../ockam_macros", version = "^0.34.0", default_features = false }
once_cell = { version = "1", optional = true, default-features = false }
opentelemetry = { version = "0.23.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.4", 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.2", default-features = false, features = ["derive"] }
tinyvec = { version = "1.6.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.24.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.1" }
proptest = "1.4.0"
quickcheck = "1.0.1"
serde_cbor = { version = "0.11.2" }
tokio = { version = "1.37.0", features = ["full"] }