Skip to content

v0.3.1

Latest

Choose a tag to compare

@ananas-block ananas-block released this 27 Oct 22:46
dad4eb6

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-setup feature 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.

Changes since v0.3.0