-
Notifications
You must be signed in to change notification settings - Fork 270
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduces the pattern for constructing an execution trace sorted by gate type. The single {`wires`, `selectors`} pair in the builders is replaced by a `GateBlocks` type which has one {`wires`, `selectors`} pair or "ExecutionTraceBlock" per gate type. The classes in arithmetization.hpp have been updated to describe this structure. This PR does not yet fully break the gates up by gate type. For example the Goblin ultra builder still only has three blocks: ecc op gates, public inputs, and "main" (everything else). This results in the exact same execution trace that is currently constructed in master. In principle, the full sorting amounts to simply adding gates to their particular block instead of `main`. This will be done in a follow on. This PR also makes modifications to the check_circuit functionality in the Ultra builder. Previously, there was a fair bit of logic for storing the pre-finalized state of the circuit so that it could be returned to its original state after finalizing and checking. This has been replaced by simply copying the circuit via its constructor, then ultimately resetting it using this copy. This is a bit less efficient but simplifies the logic substantially. (I have another follow on that will further simplify, improve efficiency, and move the check circuit logic to a separate class). Closes AztecProtocol/barretenberg#862
- Loading branch information
1 parent
e414846
commit 61067a5
Showing
19 changed files
with
1,064 additions
and
1,564 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
Oops, something went wrong.