forked from lurk-lang/arecibo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
130 lines (112 loc) · 3.83 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
128
129
130
[package]
name = "arecibo"
version = "0.2.0"
authors = ["Srinath Setty <srinath@microsoft.com>", "Lurk Engineering <engineering@lurk-lab.com>"]
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" # zip_eq
rand = "0.8.5"
ref-cast = "1.0.20" # allocation-less conversion in multilinear polys
derive_more = "0.99.17" # lightens impl macros for pasta
static_assertions = "1.1.0"
[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"))'.dependencies]
proptest = "1.2.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
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