Resolve "(de)serialization of preprocessing" #616
+423
−194
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.
Modify high-level Jolt SDK to allow preprocessing to be de/serialized and performed separately for prover/verifier
This PR implements the changes to the high-level Jolt API described in #585. The main features are as follows:
CanonicalSerialize
andCanonicalDeserialize
for preprocessing, along with helper functions to save/read it in the target directoryA couple of other points to mention:
CanonicalSerialize
andCanonicalDeserialize
on the preprocessing involved making a PR toark-algebra
to provide implementations of these for signed integers. That work will probably need to be merged into https://github.com/a16z/arkworks-algebra/ before this can be merged. I'll go ahead and make a PR for that. The arkworks PR is here: ImplementCanonicalSerialize
andCanonicalDeserialize
for signed integers arkworks-rs/algebra#953Closes #585