Repository navigation
Release groth16-solana 0.3.1 on crates.io with the verifying key setup-metadata APIs from PR #36. This release retains the Arkworks 0.6 dependencies from 0.3.0.
Changes
- Add
vk::setup::{SetupKind, ProvingKeySource, proving_key_sha256, find_setup_txts}for verifying key generation and inspection. - Generate proving key SHA-256 constants, insecure setup flags, and setup markers that can be read from a program binary.
- Require an explicit
insecure-test-setupfeature in crates that include generated test verifying keys. - Reject keys declared as production when delta equals gamma, which permits forged proofs.
API changes
generate_vk_file, parse_vk_json_to_rust_string, and generate_bsb22_vk_file require setup information and a proving key source or digest. Callers must supply these arguments when upgrading from 0.3.0.
Enable gnark-vk or circom-vk to use the setup-metadata APIs. spr-program remains Git-only.
Validated by the full workspace CI, million-case property and differential tests, Circom end-to-end proving, SBF setup-marker checks, no_std builds, and unchanged CU benchmarks. The crates.io publish dry run also passed.