halo2
halo2 copied to clipboard
feat: add middleware check_witness
Complete the implementation of the check_witness
function which checks that a witness assignment passes all the constraints from a middleware Circuit. The missing parts were:
- Simulate blind rows
- Check copy constraints
- Check lookups
- Check shuffles
I've tried to keep the implementation simple (compared to the MockProver). For now it panics instead of returning errors.
This function was previously defined in the p3_frontend
but is now moved to halo2_debug
so that it can be used anywhere.