We currently have our release artifacts created by building the files of the form circuits/*.circom. This isn't really sustainable. I will outline my thoughts for this below.
Tasks
[ ] Let's instead create a new directory for the specific purpose of housing main components of circuit builds that interface with one another. I propose the following organization:
Basically, this allows us to set up a collection of different builds that target specific max plaintext size. Let's start perhaps just with 512b, 1024b, and 2048b.
[ ] The *_nivc_*b.circom files should adopt this (or similar) semantic naming scheme.
[ ] The *_nivc_*b.circom files should solely be a main component.
[ ] OPTIONALLY: We could deploy these different sizes with the CI itself and not have these *_nivc_*b.circom files in here at all. Though I think this is just more challenging than we need at the moment.
We will have to pick MAX_* sizes for other parameters too. Let's start with reasonable values that will work in many cases and we can always change later. I'll let the assignee decide these sizes.
Mission
We currently have our release artifacts created by building the files of the form
circuits/*.circom
. This isn't really sustainable. I will outline my thoughts for this below.Tasks
Basically, this allows us to set up a collection of different builds that target specific max plaintext size. Let's start perhaps just with 512b, 1024b, and 2048b.
*_nivc_*b.circom
files should adopt this (or similar) semantic naming scheme.*_nivc_*b.circom
files should solely be amain
component.*_nivc_*b.circom
files in here at all. Though I think this is just more challenging than we need at the moment.We will have to pick
MAX_*
sizes for other parameters too. Let's start with reasonable values that will work in many cases and we can always change later. I'll let the assignee decide these sizes.