forked from 0xProject/OpenZKP
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
94 lines (87 loc) · 3.23 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
[package]
name = "zkp-stark"
version = "0.2.1"
description = "Implementation of the STARK ZK-proof system"
repository = "https://github.com/0xProject/starkcrypto/tree/master/crypto/stark"
keywords = ["zkp", "stark", "no-std", "wasm"]
categories = ["cryptography", "algorithms", "no-std", "wasm"]
authors = [
"Remco Bloemen <[email protected]>",
"Mason Liang <[email protected]>",
"Paul Vienhage <[email protected]>"]
readme = "Readme.md"
license = "Apache-2.0"
edition = "2018"
[dependencies]
hex = { version = "0.4.0", optional = true }
itertools = { version = "0.9.0", default_features = false }
lazy_static = { version = "1.3.0", features = [ "spin_no_std" ] } # TODO: When `std` is set we want this feature off!
log = { version = "0.4.8", default_features = false }
no-std-compat = { version = "0.4.0", features = [ "alloc" ] }
rand = { version = "0.7.2", optional = true }
rayon = { version = "1.0.3", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
thiserror = { version = "1.0", optional = true }
tiny-keccak = { version = "2.0.1", features = ["keccak"] }
tinytemplate = { version = "1.1.0", optional = true }
zkp-hash = { version = "0.2.0", path = "../../crypto/hash", default-features = false }
zkp-logging-allocator = { version = "0.2.0", path = "../../utils/logging-allocator", optional = true }
zkp-macros-decl = { version = "0.2.0", path = "../../utils/macros-decl", default-features = false }
zkp-merkle-tree = { version = "0.2.0", path = "../../crypto/merkle-tree", default-features = false }
zkp-mmap-vec = { version = "0.2.0", path = "../../utils/mmap-vec", default-features = false }
zkp-primefield = { version = "0.2.0", path = "../../algebra/primefield", default-features = false }
zkp-u256 = { version = "0.2.0", path = "../../algebra/u256", default-features = false }
[dev-dependencies]
criterion = "0.3.0"
env_logger = "0.7.1"
proptest = "0.9.4"
rand = "0.7.2"
rand_xoshiro = "0.4.0"
structopt = "0.3.5"
rand_core = { version = "0.6.3", features = ["getrandom"] }
zkp-criterion-utils = { version = "0.2.0", path = "../../utils/criterion-utils" }
zkp-elliptic-curve = { version = "0.2.0", path = "../../algebra/elliptic-curve" }
zkp-elliptic-curve-crypto = { version = "0.2.0", path = "../../crypto/elliptic-curve-crypto" }
zkp-logging-allocator = { version = "0.2.0", path = "../../utils/logging-allocator" }
zkp-primefield = { version = "0.2.0", path = "../../algebra/primefield", features = ["proptest"] }
zkp-u256 = { version = "0.2.0", path = "../../algebra/u256", features = ["proptest", "proptest-derive"] }
[[bench]]
name = "benchmark"
harness = false
[[bench]]
name = "bench_ecdsa"
harness = false
[features]
default = [
"inline",
"prover",
"std",
]
std = [
"hex",
"itertools/use_std",
"log/std",
"no-std-compat/std",
"rayon",
"serde",
"thiserror",
"tinytemplate",
"zkp-hash/std",
"zkp-macros-decl/std",
"zkp-merkle-tree/std",
"zkp-mmap-vec/std",
"zkp-primefield/std",
"zkp-u256/std",
]
inline = [
"zkp-primefield/inline",
"zkp-u256/inline",
]
prover = [
"std", # TODO: Make prove run in no-std wasm.
"rand",
"zkp-merkle-tree/prover",
]
# Allow math in docs
[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", ".cargo/katex-header.html"]