Skip to content

co-circom: 0.6.0

Latest
Compare
Choose a tag to compare
@dkales dkales released this 12 Nov 15:28
· 2 commits to main since this release

0.6.0 (2024-11-12)

⚠ BREAKING CHANGES

  • serialization format of shared inputs has changed to allow for optional values used to indicate missing elements of an array
  • MPC accelerator changed public API. Also now stores #output signals in component
  • input to compiler now takes PathBuf
  • run and run_with_flat methods on WitnessExtension now consume self again
  • MpcNetworkHandler::establish now takes the config with already read certs and key.
  • Removes the zkey in the said function signature. We needed it earlier because we had to know domain size, which we now no longer need.
  • the prover for Groth16/Plonk now expects an Arc. Cleaner than having multiple Arcs in ZKey
  • The serialized format of shares is now different.
  • Refactor calls to other crates because of API changes

Features

  • add support for merging input arrays (#260) (2c72231)
  • Add the possibility to share co-circom inputs and witness in compressed form (c3443e1)
  • added run_and_get_network to CircomRep3VmWitnessExtension, changed run and run_with_flat back to consume self (b362504)
  • allow to set circom simplification level via CLI (b0d64ba)
  • can now parse bool inputs (#236) (d0147b6)
  • num2bits accelerator working (13cdf10)

Bug Fixes

  • fixed path in zkey benches (#231) (99ab2de)
  • handle inputs that are >= mod in the same way as snarkjs (76f701b)
  • install rustls default crypto provider in our main binaries & examples (#238) (78757e4)

Code Refactoring

  • input to compiler now takes PathBuf (9f36774)
  • prove for circom now expect Arc (c2ac465)
  • Refactor calls to other crates because of API changes (6ed7c1a)
  • split network config into two types (dca1756)
  • with_network_config for ShamirGroth16 doesn't need zkey anymore (2052d89)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • circom-mpc-compiler bumped from 0.6.1 to 0.7.0
      • circom-mpc-vm bumped from 0.4.2 to 0.5.0
      • circom-types bumped from 0.5.0 to 0.6.0
      • co-circom-snarks bumped from 0.1.2 to 0.2.0
      • co-groth16 bumped from 0.5.1 to 0.6.0
      • co-plonk bumped from 0.3.1 to 0.4.0
      • mpc-core bumped from 0.5.0 to 0.6.0
      • mpc-net bumped from 0.1.2 to 0.2.0