synor/crates/synor-zk/Cargo.toml
Gulshan Yadav 694e62e735 feat(zk): add ZK-rollup foundation with Groth16 proof system
Milestone 3 of Phase 13 - ZK-Rollup Foundation:
- Circuit definitions (Transfer, Batch, Deposit, Withdraw)
- Proof system with Groth16/PLONK/STARK backends
- Sparse Merkle tree state management
- Rollup manager for batch processing

Technical details:
- Uses arkworks library for ZK-SNARKs
- R1CS constraint system with BN254 curve
- 32-depth state tree supporting 4B accounts
- Batch processing with 1000 tx max
2026-01-19 14:10:46 +05:30

50 lines
1.1 KiB
TOML

[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 }
[dev-dependencies]
criterion = { workspace = true }
proptest = { workspace = true }
tempfile = { workspace = true }
# [[bench]]
# name = "zk_bench"
# harness = false