feat: efficient batch range check
see also #388 .
The batch range check component should enable:
- [x] efficient limb batch range checks for emulated arithmetic (Groth16)
- [x] efficient limb batch range checks for emulated arithmetic (PlonK)
- [x] bypass the range check constraints (but still identify the affected variable that need to be range checked) to perform the range checks out-of-circuit.
@ivokub can you update status on this one?
@ivokub can you update status on this one?
All is done. The range check gadget is agnostic to the builder if it either implements Committer or Rangechecker interfaces. If PLONK is to receive Commit method, then range checks start working automatically. Or if we plug in builder (e.g. Wizard) which has native support for range checks, then starts automatically working (i.e. we relay all range checks to the proof system, which handles it on its own).
I'm not sure if should close before PLONK commitment is done? Otherwise done from my side.