Cleanly separate Circom1 and Circom2 traits #60
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I was working on upgrading the libraries here to use more recent versions of
wasmer
-- I have tests passing for the most recent versions4.2.*
. In the process I noticed that the separation betweenCircomBase
Circom
andCircom2
traits wasn't as clean as it could be, and in fact this was affecting the project I was working on. These should all be non-breaking changes:Circom
trait toCircom1
for consistency and to make it easier to explain this work.WitnessCalculator
object, we don't use theSafeMemory
object for theCircom2
trait methods and iiuc it won't even work in this case. This field should be optional and take a value ofNone
for the circom2 case.ptr
based methods fromCircomBase
toCircom1
, as they are not useful in theCircom2
case.get_version
andget_u32
toCircomBase
get_witness_buffer