-
Notifications
You must be signed in to change notification settings - Fork 234
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Oink takes directly populates an instance (#8170)
Oink can be thought of as an "instance completer", i.e. when it is done running all of the data that comprises an instance has been created. Up until now the model was to pass oink a reference to a proving key. It would "complete" the proving key in place by populating some witness polynomials then explicitly return the rest of the data comprising an instance (relation_parameters etc.) in a custom struct like `OinkOutput`. The data from this output would then be std::move'd into an instance existing in the external scope. This PR simplifies this model by simply passing oink an instance (ProverInstance or VerifierInstance) which is "completed" in place throughout oink. IMO this is cleaner and clearer than the half-and-half approach of completing the proving key in place and explicitly returning other data. It also removes a ton of boilerplate for moving data in and out of an instance. I don't love the "input parameter treated as output parameter approach" but unless we refactor Honk/PG to construct proving_key instead of an instance, I think this is preferred. (In that case oink could take a proving_key and return a completed instance).
- Loading branch information
1 parent
7f95ee7
commit 6e46b45
Showing
14 changed files
with
93 additions
and
138 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.