-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCargo.toml
More file actions
116 lines (102 loc) · 3.61 KB
/
Cargo.toml
File metadata and controls
116 lines (102 loc) · 3.61 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
[workspace]
members = [
"crates/polytune-test-utils",
"crates/polytune-server-core",
"crates/polytune-http-server",
"examples/api-integration",
"examples/http-multi-server-channels",
"examples/http-single-server-channels",
"examples/wasm-http-channels",
"examples/sql-integration",
]
[workspace.lints.rust]
missing_docs = "warn"
[workspace.lints.clippy]
unwrap_used = "warn"
[workspace.lints.rustdoc]
broken_intra_doc_links = "warn"
[package]
name = "polytune"
version = "0.2.0-alpha.4"
edition = "2024"
rust-version = "1.89.0"
description = "Maliciously-Secure Multi-Party Computation (MPC) Engine using Authenticated Garbling"
repository = "https://github.com/sine-fdn/polytune/"
homepage = "https://polytune.org/"
license = "MIT"
categories = ["cryptography", "security"]
keywords = [
"secure-computation",
"garbled-circuits",
"circuit-description",
"smpc",
"mpc",
]
# we use one bench binary with `benches/main.rs` as the starting point which
# executes benches in various modules under `benches/`. Those modules should
# not be automatically detected as separate benchmarks.
autobenches = false
[package.metadata.docs.rs]
rustdoc-args = ["--generate-link-to-definition"]
[lib]
bench = false
[features]
# For internal use only!
# To work around a limitation in criterion, we define a "private" feature
# which we use to conditionally expose some otherwise private functions
# as public for benchmarking. The __ prefix results in docs.rs not listing
# this feature.
__bench = []
[dependencies]
aes = "=0.9.0-rc.4"
bincode = { version = "2.0.1", default-features = false, features = ["std", "serde"] }
blake3 = "1.8.3"
bytemuck = { version = "1.25.0", features = ["latest_stable_rust"] }
chacha20poly1305 = "0.10.1"
curve25519-dalek = { version = "4.1.0", features = ["rand_core"] }
futures-util = { version = "0.3.32", default-features = false, features = [
"alloc",
"async-await-macro",
] }
garble_lang = "0.7.0-alpha.1"
hybrid-array = { version = "0.4.8", features = ["bytemuck"] }
rand = "0.9.2"
rand_chacha = "0.9.0"
rand_core_0_6 = { package = "rand_core", version = "0.6" }
seq-macro = "0.3.6"
serde = { version = "1.0.228", features = ["derive"] }
subtle = "2.6.1"
tempfile = "3.27.0"
thiserror = "2.0.18"
tokio = { version = "1.49.0", features = ["macros", "sync", "time"] }
tracing = "0.1.44"
wide = { version = "1.1.0", features = ["serde"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
# For wasm compatibility, we need to enable the getrandom js features
# currently both of these versions are present in the dependency tree
# Furthermore RUSTFLAGS needs to be set to
# RUSTFLAGS='--cfg getrandom_backend="wasm_js"'
# when compiling for wasm32-unknown-unknown
getrandom_0_2 = { package = "getrandom", version = "0.2.16", features = ["js"] }
getrandom_0_3 = { package = "getrandom", version = "0.3", features = [
"wasm_js",
] }
[target.'cfg(any(target_arch = "aarch64", target_arch = "loongarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies]
cpufeatures = "0.3.0"
[dev-dependencies]
criterion = { version = "0.8.2", features = ["async_tokio"] }
polytune-test-utils = { path = "crates/polytune-test-utils" }
proptest = "1.10.0"
tokio = { version = "1.49.0", features = ["full"] }
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
[[bench]]
name = "main"
harness = false
required-features = ["__bench"]
[package.metadata.cargo-machete]
# we need the hybrid-array dependency to enable the bytemuck feature
ignored = ["hybrid-array"]
# Use this profile when profiling polytune with e.g. samply or perf
[profile.debug-release]
debug = true
inherits = "release"