barretenberg
barretenberg copied to clipboard
State tracking in CIVC verifiers
Our native and recursive CIVC verifiers consist of several large components (Mega(ZK)-, Merge-, ECCVM-, and Translator- Verifiers), but only output a single bool and print a bunch of intermediate debug statements.
- Consider creating a struct containing all main CIVC check results and printing something informative in the case of failure.
- Consider if we should proceed with native verification if current step failed. Not proceeding has a couple of downsides - 1) failure tests will break due to incomplete transcript and not because of wrong witnesses; 2) non-const time native verification of incorrect proofs (with valid proof structure); 3) the native behaviour differs from the recursive one