risc0-zkvm 0.12.0-rc.2

RISC Zero zero-knowledge VM
Documentation
[package]
name = "risc0-zkvm"
description = "RISC Zero zero-knowledge VM"
version = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }

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

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

[build-dependencies]
prost-build = { version = "0.11", optional = true }
protobuf-src = { version = "1.1", optional = true }

[dependencies]
anyhow = { version = "1.0", default-features = false }
bytemuck = "1.12"
cfg-if = "1.0"
risc0-circuit-rv32im = { workspace = true }
risc0-zeroio = { workspace = true }
risc0-zkp = { workspace = true }
risc0-zkvm-platform = { workspace = true }
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] }
tracing = { version = "0.1", default-features = false, features = ["attributes"] }

# TODO(nils): Change these `target_os` checks to `target_vendor` checks when we
# have a real target triple.
#
# Host dependencies
[target.'cfg(not(target_os = "zkvm"))'.dependencies]
addr2line = { version = "0.19", optional = true }
elf = { version = "0.7", optional = true }
gimli = { version = "0.27", optional = true }
lazy-regex = { version = "2.3", optional = true }
log = "0.4"
num-derive = "0.3"
num-traits = "0.2"
prost = { version = "0.11", optional = true }
rand = { version = "0.8", optional = true }
rayon = { version = "1.5", optional = true }
sha2 = { version = "0.10", optional = true }

[dev-dependencies]
clap = { version = "4.0", features = ["derive"] }
criterion = "0.4"
tempfile = "3.3"
tracing-forest = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

[target.'cfg(not(target_os = "zkvm"))'.dev-dependencies]
env_logger = "0.10"
lazy_static = "1.4"
risc0-zkvm-methods = { path = "methods" }
serial_test = "1.0"
tar = "0.4"
tempdir = "0.3"
test-log = { version = "0.2", features = ["trace"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

[features]
cuda = ["risc0-circuit-rv32im/cuda", "risc0-zkp/cuda"]
default = ["prove"]
dual = []
insecure_skip_seal = []
metal = []
profiler = ["dep:addr2line", "dep:gimli", "dep:prost", "dep:prost-build", "dep:protobuf-src"]
prove = [
    "dep:elf",
    "dep:lazy-regex",
    "dep:rand",
    "dep:rayon",
    "dep:sha2",
    "risc0-circuit-rv32im/prove",
    "risc0-zkp/prove",
    "std"
]
std = ["anyhow/std", "risc0-circuit-rv32im/std", "risc0-zeroio/std", "risc0-zkp/std", "serde/std"]