-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathCargo.toml
113 lines (105 loc) · 3.34 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
[workspace]
members = ["crates/*"]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2021"
homepage = "https://github.com/worldcoin/semaphore-rs"
license = "MIT"
repository = "https://github.com/worldcoin/semaphore-rs"
authors = [
"Remco Bloemen <[email protected]>",
"Philipp Sippl <[email protected]>",
]
description = "Rust support library for Semaphore"
keywords = ["worldcoin", "protocol", "signup"]
categories = ["cryptography"]
[workspace.dependencies]
# Internal
semaphore-rs-ark-zkey = { version = "0.1.0", path = "crates/ark-zkey" }
semaphore-rs-poseidon = { version = "0.1.0", path = "crates/poseidon" }
semaphore-rs-hasher = { version = "0.1.0", path = "crates/hasher" }
semaphore-rs-keccak = { version = "0.1.0", path = "crates/keccak" }
semaphore-rs-trees = { version = "0.1.0", path = "crates/trees" }
semaphore-rs-storage = { version = "0.1.0", path = "crates/storage" }
semaphore-rs-depth-config = { version = "0.1.0", path = "crates/semaphore-depth-config" }
semaphore-rs-depth-macros = { version = "0.1.0", path = "crates/semaphore-depth-macros" }
semaphore-rs-witness = { version = "0.1.0", path = "crates/circom-witness-rs" }
# 3rd Party
alloy-core = { version = "0.8.12", default-features = false, features = ["sol-types"] }
bincode = "1.3.3"
bytemuck = "1.18"
byteorder = "1"
color-eyre = "0.6"
criterion = { version = "0.5", features = ["async_tokio", "html_reports"] }
cxx = "1"
cxx-build = "1"
derive-where = "1"
hex = "0.4.0"
hex-literal = "0.4"
itertools = "0.13"
lazy_static = "1"
mmap-rs = "0.6.1"
num-bigint = { version = "0.4", default-features = false, features = ["rand"] }
once_cell = "1.8"
postcard = "1"
proptest = "1.0"
rand = { version = "0.8.4", features = ["small_rng"] }
rand_chacha = "0.3.1"
rayon = "1.5.1"
reqwest = { version = "0.11", features = ["blocking"] }
ruint = { version = "1.12.3", features = [
"rand",
"bytemuck",
"serde",
"num-bigint",
"ark-ff-04",
] }
serde = "1.0"
serde_json = "1.0.79"
serial_test = "3"
sha2 = "0.10.1"
test-case = "3.3.1"
tempfile = "3.0"
thiserror = "1.0.0"
tiny-keccak = { version = "2.0.2" }
tracing-test = "0.2"
zeroize = "1.6.0"
memmap2 = "0.9"
flame = "0.2"
flamer = "0.5"
# Proc macros
syn = { version = "2.0.9", features = ["full", "visit-mut", "extra-traits"] }
proc-macro2 = "1.0.53"
quote = "1.0.26"
# Ark
ark-bn254 = { version = "=0.4.0" }
ark-circom = { package = "worldcoin-ark-circom", version = "0.2.0", features = [
"circom-2",
] }
ark-ec = { version = "0.4.2", default-features = false, features = [
"parallel",
] }
ark-ff = { version = "0.4.2", default-features = false, features = [
"parallel",
"asm",
] }
ark-groth16 = { version = "=0.4.0", features = ["parallel"] }
ark-relations = { version = "=0.4.0", default-features = false }
ark-std = { version = "0.4.0", default-features = false, features = [
"parallel",
] }
ark-serialize = { version = "0.4.2", features = ["derive"] }
# Necessary because there's an issue with dependencies in the workspace
# this has something to do with `net` feature not being enabled in `mio`.
tokio = "1"
[profile.release]
codegen-units = 1
lto = true
panic = "abort"
opt-level = 3
# Compilation profile for any non-workspace member.
# Dependencies are optimized, even in a dev build. This improves dev performance
# while having neglible impact on incremental build times.
[profile.dev.package."*"]
opt-level = 3