-
Notifications
You must be signed in to change notification settings - Fork 103
/
Copy pathCargo.toml
98 lines (86 loc) · 3.43 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
[package]
name = "powdr-backend"
description = "powdr backend types and API"
version = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
[features]
default = []
halo2 = [
"dep:halo2_proofs",
"dep:halo2_curves",
"dep:snark-verifier",
"dep:halo2_solidity_verifier",
]
estark-starky = ["dep:starky"]
estark-polygon = ["dep:pil-stark-prover", "dep:starky"]
plonky3 = [
"dep:powdr-plonky3",
"dep:p3-commit",
"dep:p3-matrix",
"dep:p3-uni-stark",
]
stwo = ["dep:stwo-prover"]
# Enable AVX or Neon accordingly in backends that support them.
plonky3-simd = ["powdr-plonky3?/nightly-features"]
estark-starky-simd = ["starky?/avx512"]
[dependencies]
powdr-ast.workspace = true
powdr-number.workspace = true
powdr-parser.workspace = true
powdr-pil-analyzer.workspace = true
powdr-executor.workspace = true
powdr-executor-utils.workspace = true
powdr-parser-util.workspace = true
powdr-backend-utils.workspace = true
powdr-plonky3 = { path = "../plonky3", optional = true }
starky = { git = "https://github.com/0xEigenLabs/eigen-zkvm.git", rev = "cf405b2e2cecb8567cfd083a55936b71722276d5", optional = true }
pil-stark-prover = { git = "https://github.com/powdr-labs/pil-stark-prover.git", rev = "769b1153f3ae2d7cbab4c8acf33865ed13f8a823", optional = true }
# TODO change this once Halo2 releases 0.3.1
#halo2_proofs = { git = "https://github.com/privacy-scaling-explorations/halo2", tag = "v0.3.0", features = ["circuit-params"] }
halo2_proofs = { git = "https://github.com/powdr-labs/halo2.git", rev = "fb8087565115ff38da4074b9d1777e9a97222caa", features = [
"circuit-params",
], optional = true }
halo2_curves = { version = "0.6.1", package = "halo2curves", optional = true }
# TODO change this once Halo2 releases 0.3.1 and snark-verifier uses it
#snark-verifier = { git = "https://github.com/privacy-scaling-explorations/snark-verifier", tag = "v2024_01_31" }
snark-verifier = { git = "https://github.com/powdr-labs/snark-verifier.git", rev = "55012261fd4b0b8d21b581a9782d05258afe4104", optional = true }
halo2_solidity_verifier = { git = "https://github.com/powdr-labs/halo2-solidity-verifier.git", rev = "ecae7fd2f62178c18b5fe18011630aa71da3371f", features = [
"evm",
], optional = true }
rayon = "1.7.0"
p3-commit = { git = "https://github.com/plonky3/Plonky3.git", rev = "2192432ddf28e7359dd2c577447886463e6124f0", features = [
"test-utils",
], optional = true }
p3-matrix = { git = "https://github.com/plonky3/Plonky3.git", rev = "2192432ddf28e7359dd2c577447886463e6124f0", optional = true }
p3-uni-stark = { git = "https://github.com/plonky3/Plonky3.git", rev = "2192432ddf28e7359dd2c577447886463e6124f0", optional = true }
stwo-prover = { git = "https://github.com/ShuangWu121/stwo-GKR-serialized-proof.git", optional = true, features = [
"parallel",
] }
strum = { version = "0.24.1", features = ["derive"] }
log = "0.4.27"
tracing = "0.1.37"
serde = "1.0"
serde_json = "1.0"
bincode = "1.3.3"
hex = "0.4"
thiserror = "1.0.43"
mktemp = "0.5.0"
num-traits = "0.2.15"
num-integer = "0.1.45"
itertools = "0.13"
rand = "0.8.5"
derive_more = { version = "1.0.0", features = ["from", "display"] }
[dev-dependencies]
test-log = "0.2.12"
env_logger = "0.10.0"
pretty_assertions = "1.4.0"
powdr-pipeline.workspace = true
[package.metadata.cargo-udeps.ignore]
development = ["env_logger"]
[lints]
workspace = true
[lib]
bench = false # See https://github.com/bheisler/criterion.rs/issues/458