mirror of
https://github.com/logos-blockchain/lez-fuzzing.git
synced 2026-07-23 10:33:19 +00:00
40 lines
1.5 KiB
TOML
40 lines
1.5 KiB
TOML
[package]
|
|
name = "fuzz_props"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
fuzzer-libfuzzer = []
|
|
fuzzer-afl = []
|
|
|
|
[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 }
|
|
common = { workspace = true }
|
|
borsh = { workspace = true }
|
|
# 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 }
|
|
proptest = "1.4"
|
|
arbitrary = { version = "1", features = ["derive"] }
|
|
testnet_initial_state = { workspace = true }
|
|
# 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 }
|
|
|
|
[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"] }
|