lez-fuzzing/fuzz_props/Cargo.toml

40 lines
1.5 KiB
TOML
Raw Permalink Normal View History

2026-04-13 16:03:20 +08:00
[package]
name = "fuzz_props"
version = "0.1.0"
edition = "2024"
[lints]
workspace = true
[features]
fuzzer-libfuzzer = []
fuzzer-afl = []
2026-04-13 16:03:20 +08:00
[dependencies]
# NOTE: `prove` is deliberately NOT enabled here. Enabling it drags risc0's STARK
# prover backend (C++/CUDA kernels + heavy circuit codegen) into the fuzz-target
# build, blowing "cargo fuzz build" from ~6 min to ~50 min — all to compile a prover
# that `Program::execute` never calls (it executes, it does not prove). Instead the
# fuzz targets use risc0's `ExternalProver`, which runs the guest via an external
# `r0vm` binary installed in CI (see .github/actions/install-r0vm). It is still
# enabled under [dev-dependencies] so `cargo test` runs the guest in-process.
nssa = { workspace = true }
nssa_core = { workspace = true }
2026-04-13 16:03:20 +08:00
common = { workspace = true }
borsh = { workspace = true }
2026-06-16 17:37:36 +08:00
# Needed by `privacy.rs` to synthesise a *passing* dev-mode fake receipt (Path B):
# a privacy-preserving proof is a borsh-encoded `risc0_zkvm::InnerReceipt`.
risc0-zkvm = { workspace = true }
2026-04-13 16:03:20 +08:00
proptest = "1.4"
arbitrary = { version = "1", features = ["derive"] }
testnet_initial_state = { workspace = true }
2026-06-25 13:15:33 +08:00
# Reproduce LEZ genesis (builtin programs + system accounts) in `genesis_state`,
# which LEZ moved out of the state machine into these crates.
programs = { workspace = true }
system_accounts = { workspace = true }
2026-04-13 16:03:20 +08:00
[dev-dependencies]
proptest = "1.4"
# In-process guest execution for the test suite (no external r0vm needed under `cargo test`).
nssa = { workspace = true, features = ["prove"] }