You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The noir/acir-bberg interface requires serialization of a verification key to and from field values, i.e. VerificationKey <--> std::vector<bb::fr>. The current logic for doing this is brittle in that it needs to be manually updated each time a change is made to the vkey structure fields and there are no tests to ensure that this is done correctly and that all fields are accounted for. (The current implementations are missing some fields, for example). Refactor the logic to improve robustness (or at least correct the methods) and add a test to ensure they don't break quietly in the future.
Note: This work will allow for the completion of the acir-ivc interface which requires constructing a stdlib vkey from the witness indices of a verification key represented as a vector of field values.
The text was updated successfully, but these errors were encountered:
The previous
[PR](AztecProtocol/aztec-packages#8230) in this
series set up the basic infrastructure for completing kernel circuits
from acir RecursionConstraints, including connecting the dummy proof in
the constraint to the genuine witnesses known internally in AztecIvc.
This PR completes this line work by using the (genuine) verification key
witnesses in the constraint to construct the stdlib verification keys
from which the recursive verifiers are instantiated.
Doing this properly involved correcting/implementing/testing various
serialization/deserialization/construction methods for native and stdlib
verification keys - this accounts for most of the changes in this PR.
The corrections mostly applied to Mega and were related to not
accounting for `databus_propagation_data`. I also updated some of the
corresponding Ultra methods in an attempt to make them a bit more
readable and more easily maintainable.
closes#1090
The noir/acir-bberg interface requires serialization of a verification key to and from field values, i.e.
VerificationKey
<-->std::vector<bb::fr>
. The current logic for doing this is brittle in that it needs to be manually updated each time a change is made to the vkey structure fields and there are no tests to ensure that this is done correctly and that all fields are accounted for. (The current implementations are missing some fields, for example). Refactor the logic to improve robustness (or at least correct the methods) and add a test to ensure they don't break quietly in the future.Note: This work will allow for the completion of the acir-ivc interface which requires constructing a stdlib vkey from the witness indices of a verification key represented as a vector of field values.
The text was updated successfully, but these errors were encountered: