-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathCargo.toml
More file actions
96 lines (86 loc) · 3 KB
/
Cargo.toml
File metadata and controls
96 lines (86 loc) · 3 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
[package]
name = "mithril-stm"
version = "0.9.25"
edition = { workspace = true }
authors = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
description = "A Rust implementation of Mithril Stake-based Threshold Multisignatures (STMs)."
categories = ["cryptography"]
include = ["**/*.rs", "Cargo.toml", "README.md", ".gitignore"]
[lib]
crate-type = ["lib", "cdylib", "staticlib"]
[features]
default = ["num-integer-backend"]
benchmark-internals = [] # For benchmarking
future_snark = [
"dep:ff",
"dep:group",
"dep:midnight-circuits",
"dep:midnight-curves",
"dep:midnight-proofs",
"dep:midnight-zk-stdlib",
"dep:num-bigint",
"dep:num-traits",
"dep:rand",
"dep:sha2",
] # For activating snark features
num-integer-backend = ["dep:num-bigint", "dep:num-integer", "dep:num-rational", "dep:num-traits"]
rug-backend = ["rug/default"]
[dependencies]
anyhow = { workspace = true }
blake2 = "0.10.6"
# Enforce blst portable feature for runtime detection of Intel ADX instruction set.
blst = { version = "0.3.16", features = ["portable"] }
digest = { workspace = true }
ff = { version = "0.13.1", optional = true }
group = { version = "0.13.0", optional = true }
midnight-circuits = { version = "6.0.0", optional = true }
midnight-curves = { version = "0.2.0", optional = true }
midnight-proofs = { version = "0.7.0", optional = true }
midnight-zk-stdlib = { version = "1.0.0", optional = true }
num-bigint = { version = "0.4.6", optional = true }
num-integer = { version = "0.1", optional = true }
num-traits = { version = "0.2.19", optional = true }
rand = { version = "0.10.0", optional = true }
rand_core = { workspace = true, features = ["std"] }
rayon = { workspace = true }
serde = { workspace = true }
sha2 = { version = "0.10.9", optional = true }
thiserror = { workspace = true }
[target.'cfg(any(target_family = "wasm", target_env = "musl", windows))'.dependencies]
# WASM and Windows don't support rug backend, fallback to num-integer only
num-bigint = { version = "0.4.6" }
num-integer = { version = "0.1" }
num-rational = { version = "0.4.2" }
num-traits = { version = "0.2.19" }
[target.'cfg(not(any(target_family = "wasm", target_env = "musl", windows)))'.dependencies]
num-bigint = { version = "0.4.6", optional = true }
num-rational = { version = "0.4.2", optional = true }
num-traits = { version = "0.2.19", optional = true }
# only unix supports the rug backend
rug = { version = "1.28.1", optional = true }
[dev-dependencies]
blake2b_simd = "1"
criterion = { version = "0.8.2", features = ["html_reports"] }
num-bigint = "0.4.6"
num-rational = "0.4.2"
proptest = "1.10.0"
rand = "0.10.0"
rand_chacha = { workspace = true }
serde_json = { workspace = true }
[[bench]]
name = "multi_sig"
harness = false
required-features = ["benchmark-internals"]
[[bench]]
name = "schnorr_sig"
harness = false
required-features = ["future_snark", "benchmark-internals"]
[[bench]]
name = "stm"
harness = false
[[bench]]
name = "size_benches"
harness = false