maci icon indicating copy to clipboard operation
maci copied to clipboard

Enhance MACI circuits readability

Open 0xjei opened this issue 10 months ago • 2 comments

Description

This PR aims to improve the readability of MACI's circuits by introducing precise documentation and refactoring the code to introduce Circom's Anonymous Components and Tuples feature. Also, lighten the circuits by removing unused ones and importing as much as possible from external libraries such as circomlib and zk-kit.

This PR also introduces a significant change to the structure of the Circuits package. Specifically:

  • core contains only processMessages and tallyVotes with their supporting templates for qv and non-qv version.
  • trees contains IQT and IMT
  • utils contains all templates that are not a core part of those in the root. Also, when necessary, they are subdivided between qv and non-qv.

Note the respective QV e NonQV versions of the templates are located in the same file.

Related issue(s)

See https://github.com/privacy-scaling-explorations/zk-kit/issues/131 (last rewrite).

Confirmation

0xjei avatar Apr 02 '24 13:04 0xjei

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
maci-website ✅ Ready (Inspect) Visit Preview May 1, 2024 8:33am

vercel[bot] avatar Apr 02 '24 13:04 vercel[bot]

Love to see this 🙏😍

samajammin avatar Apr 07 '24 23:04 samajammin