forked from argumentcomputer/arecibo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
127 lines (110 loc) · 3.65 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[package]
name = "arecibo"
version = "0.2.0"
authors = ["Srinath Setty <[email protected]>", "Lurk Engineering <[email protected]>"]
edition = "2021"
description = "Recursive zkSNARKs without trusted setup"
documentation = "https://docs.rs/arecibo/"
readme = "README.md"
repository = "https://github.com/lurk-lab/arecibo"
license-file = "LICENSE"
keywords = ["zkSNARKs", "cryptography", "proofs"]
rust-version="1.70.0"
[dependencies]
bellpepper-core = { git="https://github.com/lurk-lab/bellpepper", branch="dev", default-features = false }
bellpepper = { git="https://github.com/lurk-lab/bellpepper", branch="dev", default-features = false }
ff = { version = "0.13.0", features = ["derive"] }
digest = "0.10"
halo2curves = { version = "0.6.0", features = ["bits", "derive_serde"] }
sha3 = "0.10"
rayon = "1.7"
rand_core = { version = "0.6", default-features = false }
rand_chacha = "0.3"
subtle = "2.5"
pasta_curves = { git = "https://github.com/lurk-lab/pasta_curves", branch="dev", features = ["repr-c", "serde"] }
neptune = { git = "https://github.com/lurk-lab/neptune", branch="dev", default-features = false, features = ["abomonation"] }
generic-array = "1.0.0"
num-bigint = { version = "0.4", features = ["serde", "rand"] }
num-traits = "0.2"
num-integer = "0.1"
serde = { version = "1.0", features = ["derive", "rc"] }
bincode = "1.3"
bitvec = "1.0"
byteorder = "1.4.3"
thiserror = "1.0"
group = "0.13.0"
pairing = "0.23.0"
abomonation = "0.7.3"
abomonation_derive = { version = "0.1.0", package = "abomonation_derive_ng" }
tracing = "0.1.37"
cfg-if = "1.0.0"
once_cell = "1.18.0"
itertools = "0.12.0"
rand = "0.8.5"
ref-cast = "1.0.20"
derive_more = "0.99.17"
[target.'cfg(any(target_arch = "x86_64", target_arch = "aarch64"))'.dependencies]
# grumpkin-msm has been patched to support MSMs for the pasta curve cycle
# see: https://github.com/lurk-lab/grumpkin-msm/pull/3
grumpkin-msm = { git = "https://github.com/lurk-lab/grumpkin-msm", branch = "dev" }
[target.'cfg(target_arch = "wasm32")'.dependencies]
# see https://github.com/rust-random/rand/pull/948
getrandom = { version = "0.2.0", default-features = false, features = ["js"] }
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
proptest = "1.2.0"
pprof = { version = "0.13" }
criterion = { version = "0.5", features = ["html_reports"] }
[dev-dependencies]
flate2 = "1.0"
hex = "0.4.3"
sha2 = "0.10.7"
tracing-test = "0.2.4"
expect-test = "1.4.1"
anyhow = "1.0.72"
tap = "1.0.1"
tracing-texray = "0.2.0"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
[build-dependencies]
vergen = { version = "8", features = ["build", "git", "gitcl"] }
[[bench]]
name = "recursive-snark"
harness = false
[[bench]]
name = "compressed-snark"
harness = false
[[bench]]
name = "compute-digest"
harness = false
[[bench]]
name = "sha256"
harness = false
[[bench]]
name = "recursive-snark-supernova"
harness = false
[[bench]]
name = "compressed-snark-supernova"
harness = false
[[bench]]
name = "supernova-ci"
harness = false
[[bench]]
name = "pcs"
harness = false
[features]
default = []
abomonate = []
asm = ["halo2curves/asm"]
# Compiles in portable mode, w/o ISA extensions => binary can be executed on all systems.
portable = ["grumpkin-msm/portable"]
cuda = ["grumpkin-msm/cuda"]
flamegraph = ["pprof/flamegraph", "pprof/criterion"]
# This is needed to ensure halo2curves, which imports pasta-curves, uses the *same* traits in bn256_grumpkin
[patch.crates-io]
pasta_curves = { git = "https://github.com/lurk-lab/pasta_curves", branch = "dev" }
[profile.dev-ci]
inherits = "dev"
# By compiling dependencies with optimizations, performing tests gets much faster.
opt-level = 3
lto = "thin"
incremental = false
codegen-units = 16