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.10"
17sha3 = "0.10"
18rayon = "1.7"
19rand_core = { version = "0.6", default-features = false }
20rand_chacha = "0.3"
21itertools = "0.11"
22subtle = "2.5"
23pasta_curves = { version = "0.5", features = ["repr-c", "serde"] }
24neptune = { version = "10.0.0", default-features = false }
25generic-array = "0.14"
26num-bigint = { version = "0.4", features = ["serde", "rand"] }
27num-traits = "0.2"
28num-integer = "0.1"
29serde = { version = "1.0", features = ["derive"] }
30bincode = "1.3"
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"
51proptest = "1.2.0"
52
53[[bench]]
54name = "recursive-snark"
55harness = false
56
57[[bench]]
58name = "compressed-snark"
59harness = false
60
61[[bench]]
62name = "compute-digest"
63harness = false
64
65[[bench]]
66name = "sha256"
67harness = false
68
69[features]
70default = []
71# Compiles in portable mode, w/o ISA extensions => binary can be executed on all systems.
72portable = ["pasta-msm/portable"]
73cuda = ["neptune/cuda", "neptune/pasta", "neptune/arity24"]
74opencl = ["neptune/opencl", "neptune/pasta", "neptune/arity24"]
75flamegraph = ["pprof/flamegraph", "pprof/criterion"]