circuits: zk-circuits: valid-match-settle: Merge match and settle circuits #264
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.
Purpose
This PR merges the match and settle circuits into one. This is necessary to enable proof linking across all proofs. This PR also refactors the circuits over the
mpc-plonk
system.This circuit now validates the execution of the matching engine as well as the execution of the settlement logic into the two parties' wallets.
Along the way it was necessary to build a multiprover
==
gadget, this exposes an interface to test equality on only public values -- i.e. those that have been opened. We use this only on statement types (indices) so this is safe.Testing