[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]
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"]