forked from privacy-scaling-explorations/halo2
/
Cargo.toml
109 lines (93 loc) · 2.69 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
[package]
name = "halo2_proofs"
version = "0.2.0"
authors = [
"Sean Bowe <sean@electriccoin.co>",
"Ying Tong Lai <yingtong@electriccoin.co>",
"Daira Hopwood <daira@electriccoin.co>",
"Jack Grigg <jack@electriccoin.co>",
]
edition = "2021"
rust-version = "1.66.0"
description = """
Fast PLONK-based zero-knowledge proving system with no trusted setup
"""
license = "MIT OR Apache-2.0"
repository = "https://github.com/zcash/halo2"
documentation = "https://docs.rs/halo2_proofs"
readme = "README.md"
categories = ["cryptography"]
keywords = ["halo", "proofs", "zkp", "zkSNARKs"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs", "--html-in-header", "katex-header.html"]
[[bench]]
name = "arithmetic"
harness = false
[[bench]]
name = "commit_zk"
harness = false
[[bench]]
name = "hashtocurve"
harness = false
[[bench]]
name = "plonk"
harness = false
[[bench]]
name = "dev_lookup"
harness = false
[[bench]]
name = "fft"
harness = false
[dependencies]
log = { version = "0.4.17", default_features = false }
backtrace = { version = "0.3", optional = true }
ff = "0.13"
group = "0.13"
halo2curves = { version = "0.1.0" }
rand_core = { version = "0.6", default-features = false }
tracing = "0.1"
blake2b_simd = "1" # MSRV 1.66.0
sha3 = "0.9.1"
rand_chacha = "0.3"
maybe-rayon = { version = "0.1.0", default-features = false }
lazy_static = { version = "1", optional = true }
env_logger = "0.10.0"
# GPU Icicle integration
icicle = { git = "https://github.com/ingonyama-zk/icicle.git", branch = "rust/large-bucket-factor-msm", optional = true }
rustacuda = { version = "0.1", optional = true }
# Developer tooling dependencies
plotters = { version = "0.3.0", default-features = false, optional = true }
tabbycat = { version = "0.1", features = ["attributes"], optional = true }
# Legacy circuit compatibility
halo2_legacy_pdqsort = { version = "0.1.0", optional = true }
[dev-dependencies]
assert_matches = "1.5"
criterion = "0.3"
gumdrop = "0.8"
proptest = "1"
rand_core = { version = "0.6", default-features = false, features = ["getrandom"] }
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies]
getrandom = { version = "0.2", features = ["js"] }
[features]
default = ["batch", "multicore"]
multicore = ["maybe-rayon/threads"]
dev-graph = ["plotters", "tabbycat"]
test-dev-graph = [
"dev-graph",
"plotters/bitmap_backend",
"plotters/bitmap_encoder",
"plotters/ttf",
]
gadget-traces = ["backtrace"]
thread-safe-region = []
sanity-checks = []
batch = ["rand_core/getrandom"]
circuit-params = []
counter = ["lazy_static"]
icicle_gpu = ["icicle", "rustacuda"]
[lib]
bench = false
[[example]]
name = "circuit-layout"
required-features = ["test-dev-graph"]