-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathCargo.toml
More file actions
136 lines (121 loc) · 6.8 KB
/
Copy pathCargo.toml
File metadata and controls
136 lines (121 loc) · 6.8 KB
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
[workspace]
members = [
# Crate to produce stamps with an API key
"api_key_stamper",
# Main API client (generated)
"client",
# Contains tools and script to generate client code from proto
"codegen",
# Contains utilities to encrypt and decrypt data to and from Turnkey secure enclaves
"enclave_encrypt",
# Examples using the Turnkey stamper
"examples",
# Contains utilities to work with Turnkey proofs (boot proofs, app proofs)
"proofs",
"tvc",
# Axum middleware for Turnkey Verifiable Cloud apps (signed responses)
"tvc-axum"
]
resolver = "2"
[workspace.dependencies]
# QuorumOS
qos_core = { version = "0.12.2", default-features = false }
qos_crypto = { version = "0.12.2", default-features = false }
qos_hex = { version = "0.12.2", default-features = false }
qos_json = { version = "0.12.2", default-features = false }
qos_nsm = { version = "0.12.2", default-features = false }
qos_p256 = { version = "0.12.2", default-features = false }
# Encoding and serialization
base64 = { version = "0.22.0", default-features = false, features = ["std"] }
bs58 = { version = "0.5.0", features = ["std", "check"], default-features = false }
hex = { version = "0.4.3", default-features = false, features = ["std"] }
uuid = { version = "1.13.1", default-features = false }
serde = { version = "1.0.219", default-features = false, features = ["std", "derive"] }
serde_json = { version = "1.0.140", default-features = false, features = ["std"] }
serde_bytes = { version = "0.11", default-features = false }
serde_cbor = { version = "0.11", default-features = false }
serde_with = { version = "3.14.0", default-features = false, features = ["macros", "base64"] }
# Cryptography
hpke = { version = "0.10", features = ["alloc", "p256", "serde_impls"], default-features = false }
k256 = { version = "0.13", default-features = false, features = ["ecdsa", "pkcs8"] }
p256 = { version = "0.13.2", default-features = false, features = ["ecdsa"] }
p384 = { version = "0.13", features = ["sha384", "ecdsa", "ecdsa-core", "std"], default-features = false }
rand_core = { version = "0.6.4", default-features = false, features = ["getrandom"] }
sha2 = { version = "0.10", default-features = false }
zeroize = { version = "1.8.1", default-features = false }
# Error handling
thiserror = { version = "2.0.12", default-features = false }
anyhow = { version = "1.0", default-features = false }
tracing = { version = "0.1.41", default-features = false, features = ["std"] }
tracing-subscriber = { version = "0.3.23", default-features = false, features = ["ansi", "env-filter", "fmt"] }
# Web/HTTP
axum = { version = "0.8", default-features = false }
http-body-util = { version = "0.1", default-features = false }
mime = { version = "0.3.17", default-features = false }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "http2"] }
tower = { version = "0.5", default-features = false }
# Async runtime
tokio = { version = "1.47.1", default-features = false }
# Protocol buffers
prost = { version = "0.12", default-features = false, features = ["std"] }
prost-types = { version = "0.12", default-features = false }
prost-build = { version = "0.12.6", default-features = false }
# AWS Nitro enclaves
attestation-doc-validation = { version = "0.8.0", default-features = false }
aws-nitro-enclaves-nsm-api = { version = "0.4", features = ["nix"], default-features = false }
aws-nitro-enclaves-cose = { version = "0.5", default-features = false }
# CBOR and COSE
ciborium = { version = "0.2", default-features = false }
coset = { version = "0.3.7", default-features = false }
# Certificate handling
webpki = { version = "0.22.4", default-features = false }
x509-cert = { version = "=0.1.0", features = ["pem"], default-features = false }
x509-parser = { version = "0.14.0", default-features = false }
# Serialization formats
borsh = { version = "1.0", features = ["std", "derive"], default-features = false }
toml = { version = "0.8", default-features = false, features = ["parse", "display"] }
# Code generation and parsing
chrono = { version = "0.4", default-features = false, features = ["clock"] }
heck = { version = "0.5.0", default-features = false }
prettyplease = { version = "0.2", default-features = false }
proc-macro2 = { version = "1.0.95", default-features = false }
quote = { version = "1.0", default-features = false }
regex = { version = "1", default-features = false, features = ["unicode-perl"] }
syn = { version = "2.0", features = ["full", "extra-traits"], default-features = false }
tonic-build = { version = "0.13", default-features = false, features = ["prost"] }
walkdir = { version = "2.5", default-features = false }
# Environment and configuration
dotenvy = { version = "0.15.0", default-features = false }
clap = { version = "4.5", features = ["std", "derive", "help", "usage", "error-context"], default-features = false }
inquire = { version = "0.9", default-features = false, features = ["crossterm"] }
# Development dependencies
assert_cmd = { version = "2", default-features = false }
predicates = { version = "3", default-features = false }
rexpect = { version = "0.5", default-features = false }
tempfile = { version = "3.19.1", default-features = false }
signature = "2"
wiremock = { version = "0.6", default-features = false }
http = { version = "0.2", default-features = false }
hex-literal = { version = "0.4", default-features = false }
rand = { version = "0.8", default-features = false }
# Workspace crates
turnkey_api_key_stamper = { path = "api_key_stamper", version = "0.11.0" }
turnkey_client = { path = "client", version = "0.11.0" }
turnkey_enclave_encrypt = { path = "enclave_encrypt", version = "0.11.0" }
turnkey_proofs = { path = "proofs", version = "0.11.0" }
# TODO: remove this patch section once qos PR #765
# (https://github.com/tkhq/qos/pull/765) merges and a new qos_core version is
# published to crates.io, then bump the qos_* version pins above.
#
# The fake manifest builder and trust chain verifier used by tvc-axum live in
# qos_core on that branch but are not yet in a published release. All qos_*
# crates are patched to the same git revision because qos_core depends on the
# other qos crates via in-repo path dependencies; patching only qos_core would
# produce duplicate crate sources (crates.io + git) and type mismatches.
[patch.crates-io]
qos_core = { git = "https://github.com/tkhq/qos", branch = "zeke/manifest-fake-and-verify-helpers" }
qos_crypto = { git = "https://github.com/tkhq/qos", branch = "zeke/manifest-fake-and-verify-helpers" }
qos_hex = { git = "https://github.com/tkhq/qos", branch = "zeke/manifest-fake-and-verify-helpers" }
qos_json = { git = "https://github.com/tkhq/qos", branch = "zeke/manifest-fake-and-verify-helpers" }
qos_nsm = { git = "https://github.com/tkhq/qos", branch = "zeke/manifest-fake-and-verify-helpers" }
qos_p256 = { git = "https://github.com/tkhq/qos", branch = "zeke/manifest-fake-and-verify-helpers" }