Closed hdevalence closed 5 years ago
Ah, looks like this doesn't quite work, because of the lack of error conversions...
Updated. There's an issue with the R1CS benchmarks -- it looks like they fell out of sync with the RandomizedConstraintSystem
/ RandomizableConstraintSystem
change.
In the long term, I think that it would be better to combine R1CSError with ProofError, if we can do that without breaking stability. If not, we should refactor the TranscriptProtocol so that it returns a TranscriptError type that can be converted into either a ProofError or an R1CSError. For now I would prefer to keep the "bad conversion" and then remove it later by one of those two means.
Have you considered using something like failure
for the exported error types? In my experience it aids with three things:
bail!()
et al., if you're prototyping something new.Error
struct and ?
...Yep, we are using failure
, but we don't want to use Error
because it's not as lightweight as we'd like. I think that the correct fix is to add a TranscriptError
type.
We should probably update and merge this branch before merging #280. I think the things left to do here are:
TranscriptError
that can be converted to a ProofError
or an R1CSError
)Fixed the R1CS benchmarks.
Moved the error item into #286, let's fix it there instead of here.
This updates the develop branch with R1CS code to include the extra validation changes made in the main branch for 1.0.2.