Skip to content

Consider whether more code can be shared between TestConstraintSystem and ProvingAssignment #92

@daira

Description

@daira

From the QED-it report:

Testing is done with another implementation of ConstraintSystem
Description: ​TestConstraintSystem is used throughout testing while ProvingAssignment is used in proving, both implementing the ConstraintSystem trait. While our focus was testing constraints and cryptography, we’d like to note that this is also a potential location of danger - when adding constraints and allocating variables, there could be a different behaviour.

Note that both implementations (here and here) are very simple and short; they are essentially only keeping track of lists of auxiliary variables, inputs, and R1CS constraints. On the other hand, it does seem as though it might be possible to alleviate this concern for future reviews by sharing more code.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions