forked from private-attribution/ipa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
108 lines (95 loc) · 3.18 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
108
[package]
name = "raw-ipa"
version = "0.1.0"
rust-version = "1.64.0"
edition = "2021"
[features]
default = ["debug", "cli"]
cli = ["comfy-table", "clap", "enable-serde", "metrics-tracing-context", "metrics-util", "tracing-subscriber", "web-app"]
debug = []
enable-serde = ["serde", "serde_json"]
web-app = ["tokio", "tokio-stream", "tokio-util", "axum", "axum-server", "hyper", "hyper-tls", "tower", "tower-http"]
self-signed-certs = ["hyper-tls"]
test-fixture = []
[dependencies]
aes = "0.8"
async-trait = "0.1.57"
axum = { version = "0.5.16", optional = true, features = ["http2"] }
axum-server = { version = "0.4.2", optional = true, features = ["rustls", "rustls-pemfile", "tls-rustls"] }
bitvec = "1.0.1"
byteorder = "1.4.3"
clap = { version = "4.0.10", optional = true, features = ["derive"] }
comfy-table = { version = "6.0.0", optional = true }
config = "0.13.2"
embed-doc-image = "0.1.4"
futures = "0.3.24"
futures-util = "0.3.24"
hex = { version = "0.4", features = ["serde"] }
hkdf = "0.12.3"
hyper = { version = "0.14.20", optional = true, features = ["client", "h2"] }
hyper-tls = { version = "0.5.0", optional = true }
metrics = "0.20.1"
metrics-tracing-context = { version = "0.12.0", optional = true }
metrics-util = { version = "0.14.0", optional = true }
pin-project = "1.0.12"
rand = "0.8"
rand_chacha = "0.3.1"
rand_core = "0.6"
# TODO consider using zerocopy or serde_bytes or in-house serialization
serde = { version = "1.0", optional = true, features = ["derive"] }
serde_json = { version = "1.0", optional = true }
sha2 = "0.10.6"
thiserror = "1.0"
tinyvec = { version = "1.6.0" }
tokio = { version = "1.21.2", optional = true, features = ["rt", "rt-multi-thread", "macros"] }
tokio-stream = { version = "0.1.10", optional = true }
tokio-util = { version = "0.7.4", optional = true }
tower = { version = "0.4.13", optional = true }
tower-http = { version = "0.3.4", optional = true, features = ["trace"] }
# disable debug traces and below for release builds and keep everything for debug build
tracing = { version = "0.1.37", features = ["max_level_trace", "release_max_level_info"] }
tracing-subscriber = { version = "0.3.16", optional = true, features = ["env-filter"] }
x25519-dalek = "2.0.0-pre.1"
[dev-dependencies]
criterion = { version = "0.4.0", default-features = false, features = ["async_tokio", "plotters", "html_reports"] }
iai = "0.1.1"
proptest = "1.0.0"
[lib]
name = "raw_ipa"
path = "src/lib.rs"
bench = false
[[bin]]
name = "helper"
required-features = ["cli"]
bench = false
[[bin]]
name = "ipa_bench"
path = "src/bin/ipa_bench/ipa_bench.rs"
required-features = ["cli"]
bench = false
[[bin]]
name = "test_mpc"
required-features = ["cli"]
bench = false
[profile.bench]
debug = true
[[bench]]
name = "criterion_arithmetic"
path = "benches/ct/arithmetic_circuit.rs"
harness = false
required-features = ["test-fixture"]
[[bench]]
name = "iai_arithmetic"
path = "benches/iai/arithmetic_circuit.rs"
harness = false
required-features = ["test-fixture"]
[[bench]]
name = "oneshot_arithmetic"
path = "benches/oneshot/arithmetic_circuit.rs"
harness = false
required-features = ["test-fixture"]
[[bench]]
name = "oneshot_sort"
path = "benches/oneshot/sort.rs"
harness = false
required-features = ["test-fixture"]