Nova/Cargo.toml
Cargo.tomlRaw
1[package]
2name = "nova-snark"
3version = "0.22.0"
4authors = ["Srinath Setty <srinath@microsoft.com>"]
5edition = "2021"
6description = "Recursive zkSNARKs without trusted setup"
7documentation = "https://docs.rs/nova-snark/"
8readme = "README.md"
9repository = "https://github.com/Microsoft/Nova"
10license-file = "LICENSE"
11keywords = ["zkSNARKs", "cryptography", "proofs"]
12
13[dependencies]
14bellperson = { version = "0.25", default-features = false }
15ff = { version = "0.13.0", features = ["derive"] }
16digest = "0.8.1"
17sha3 = "0.8.2"
18rayon = "1.3.0"
19rand_core = { version = "0.6.0", default-features = false }
20rand_chacha = "0.3"
21itertools = "0.9.0"
22subtle = "2.4"
23pasta_curves = { version = "0.5", features = ["repr-c", "serde"] }
24neptune = { version = "10.0.0", default-features = false }
25generic-array = "0.14.4"
26num-bigint = { version = "0.4", features = ["serde", "rand"] }
27num-traits = "0.2"
28num-integer = "0.1"
29serde = { version = "1.0", features = ["derive"] }
30bincode = "1.2.1"
31flate2 = "1.0"
32bitvec = "1.0"
33byteorder = "1.4.3"
34thiserror = "1.0"
35halo2curves = { version="0.1.0", features = [ "derive_serde" ] }
36
37[target.'cfg(any(target_arch = "x86_64", target_arch = "aarch64"))'.dependencies]
38pasta-msm = { version = "0.1.4" }
39
40[target.wasm32-unknown-unknown.dependencies]
41# see https://github.com/rust-random/rand/pull/948
42getrandom = { version = "0.2.0", default-features = false, features = ["js"]}
43
44[dev-dependencies]
45criterion = { version = "0.4", features = ["html_reports"] }
46rand = "0.8.4"
47hex = "0.4.3"
48pprof = { version = "0.11" }
49cfg-if = "1.0.0"
50sha2 = "0.10.7"
51
52[[bench]]
53name = "recursive-snark"
54harness = false
55
56[[bench]]
57name = "compressed-snark"
58harness = false
59
60[[bench]]
61name = "compute-digest"
62harness = false
63
64[[bench]]
65name = "sha256"
66harness = false
67
68[features]
69default = []
70# Compiles in portable mode, w/o ISA extensions => binary can be executed on all systems.
71portable = ["pasta-msm/portable"]
72cuda = ["neptune/cuda", "neptune/pasta", "neptune/arity24"]
73opencl = ["neptune/opencl", "neptune/pasta", "neptune/arity24"]
74flamegraph = ["pprof/flamegraph", "pprof/criterion"]