zkp-stark 0.1.2

Implementation of the STARK ZK-proof system
Documentation
[package]
name = "zkp-stark"
version = "0.1.2"
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 <remco@0x.org>",
    "Mason Liang <mason@0x.org>",
    "Paul Vienhage <paul@0x.org>"]
readme = "Readme.md"
license = "Apache-2.0"
edition = "2018"

[dependencies]
zkp-macros-decl = { version = "0.1.0", path = "../../utils/macros-decl", default-features = false }
zkp-mmap-vec = { version = "0.1.0", path = "../../utils/mmap-vec", default-features = false }
zkp-logging-allocator = { version = "0.1.0", path = "../../utils/logging-allocator", optional = true }
zkp-u256 = { version = "0.1.1", path = "../../algebra/u256", default-features = false }
zkp-primefield = { version = "0.1.1", path = "../../algebra/primefield", default-features = false }
zkp-hash = { version = "0.1.0", path = "../../crypto/hash", default-features = false }
zkp-merkle-tree = { version = "0.1.0", path = "../../crypto/merkle-tree", default-features = false }

no-std-compat = { version = "0.1.0", features = [ "alloc" ] }
itertools = { version = "0.8.0", default_features = false }
lazy_static = { version = "1.3.0", features = [ "spin_no_std" ] } # TODO: When `std` is set we want this feature off!
tiny-keccak = "1.5.0"
rayon = { version = "1.0.3", optional = true }
quickcheck = { version = "0.9", optional = true }
# TODO: Switch to slog
log = { version = "0.4.8", default_features = false }
env_logger = { version = "0.6.2", optional = true }
zkp-elliptic-curve = { version = "0.1.0", path = "../../algebra/elliptic-curve", default-features = false, optional = true }
zkp-elliptic-curve-crypto = { version = "0.1.0", path = "../../crypto/elliptic-curve-crypto", default-features = false, optional = true }

# HACK: Criterion is really a dev-dependency, but it's important that it's
# optional, or it will enable the `std` flag on various dependencies. Cargo
# does not allow dev-dependencies to be optional.
criterion = { version = "0.3.0", optional = true }
zkp-criterion-utils = { version = "0.1.0", path = "../../utils/criterion-utils", optional = true }
quickcheck_macros = { version = "0.8", optional = true }
hex = { version = "0.4.0", optional = true }

[[bench]]
name = "benchmark"
harness = false
required-features = ["bench"]

[features]
default = [ "std", "prover", "examples" ]
std = [
    "zkp-macros-decl/std",
    "zkp-mmap-vec/std",
    "zkp-u256/std",
    "zkp-primefield/std",
    "zkp-elliptic-curve/std",
    "zkp-elliptic-curve-crypto/std",
    "zkp-hash/std",
    "zkp-merkle-tree/std",
    "no-std-compat/std",
    "itertools/use_std",
    "log/std",
    "rayon",
    "hex",
]
test = [
    "zkp-u256/test",
    "zkp-primefield/test",
    "zkp-elliptic-curve/test",
    "zkp-elliptic-curve-crypto/test",
    "quickcheck",
    "quickcheck_macros",
    "hex",
    "env_logger",
]
bench = [
    "criterion",
    "zkp-criterion-utils",
]
examples = [
    "zkp-logging-allocator",
    "env_logger",
    "zkp-elliptic-curve",
    "zkp-elliptic-curve-crypto",
]
prover = [
    "std", # TODO: Make prove run in no-std wasm.
    "zkp-merkle-tree/prover",
]

# Allow math in docs
[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", ".cargo/katex-header.html"]