risc0-zkp 1.0.0-rc.1

RISC Zero zero-knowledge proof system core crate
Documentation
[package]
name = "risc0-zkp"
description = "RISC Zero zero-knowledge proof system core crate"
version = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }

[[bench]]
name = "ntt"
harness = false

[dependencies]
anyhow = { version = "1.0", default-features = false }
bytemuck = { version = "1.12", features = ["derive"] }
fil-rustacuda = { version = "0.1", optional = true }
paste = "1.0"
rand = { version = "0.8", default-features = false, features = ["small_rng"] }
rand_core = "0.6"
risc0-zeroio = { version = "1.0.0-rc.1", path = "../zeroio", default-features = false }
rustacuda_core = { version = "0.1", optional = true }
rustacuda_derive = { version = "0.1", optional = true }
serde = { version = "1.0", default-features = false, features = ["derive"] }
tracing = { version = "0.1", default-features = false, features = ["attributes"] }

[target.'cfg(not(target_os = "zkvm"))'.dependencies]
log = "0.4"
ndarray = { version = "0.15", features = ["rayon"] }
rayon = "1.5"
sha2 = { version = "0.10", default-features = false, features = ["compress"] }

[target.'cfg(target_os = "zkvm")'.dependencies]
# Lots of things depend on getrandom, and it throws a compiler error
# for environments it doesn't support.
#
# To actually use getrandom, one must provide a custom implementation per
# https://docs.rs/getrandom/latest/getrandom/#custom-implementations or it
# will panic.
getrandom = { version = "0.2", features = ["custom"] }

[target.'cfg(target_os = "macos")'.dependencies]
metal = "0.24"

[dev-dependencies]
criterion = "0.4"
env_logger = "0.10"
rand = { version = "0.8", features = ["small_rng"] }
serial_test = "0.9"
test-log = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

[features]
default = ["std"]
cuda = ["dep:fil-rustacuda", "dep:rustacuda_core", "dep:rustacuda_derive"]
std = ["anyhow/std", "risc0-zeroio/std", "rand/std", "rand/std_rng"]