[package] name = "synor-zk" version.workspace = true edition.workspace = true authors.workspace = true license.workspace = true description = "Zero-knowledge proof system for Synor L2 rollups" [dependencies] synor-types = { path = "../synor-types" } synor-crypto = { path = "../synor-crypto" } # ZK Proof System - Using arkworks for flexibility # (Can be swapped for Halo2, Plonky2, or other backends) ark-ff = "0.4" ark-ec = "0.4" ark-poly = "0.4" ark-serialize = "0.4" ark-std = "0.4" ark-bn254 = "0.4" ark-groth16 = "0.4" ark-snark = "0.4" ark-relations = "0.4" ark-r1cs-std = "0.4" # Merkle tree for state management rs_merkle = "1.4" # Hashing sha3 = { workspace = true } blake3 = { workspace = true } # Serialization serde = { workspace = true } borsh = { workspace = true } # Utilities thiserror = { workspace = true } hex = { workspace = true } parking_lot = { workspace = true } rand = { workspace = true } # Async runtime and logging (for binaries) tokio = { version = "1", features = ["full"], optional = true } tracing = { version = "0.1", optional = true } tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true } [features] default = [] node = ["tokio", "tracing", "tracing-subscriber"] [[bin]] name = "zk-sequencer" path = "src/bin/zk-sequencer.rs" required-features = ["node"] [dev-dependencies] criterion = { workspace = true } proptest = { workspace = true } tempfile = { workspace = true } # [[bench]] # name = "zk_bench" # harness = false