-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Split plonk and honk tests #529
Conversation
/* Generates a monomial basis Grumpkin SRS for testing purposes. | ||
We only provide functionality create a single transcript file. | ||
The SRS has the form [1]_1, [x]_1, [x^2]_1, ... where x = 2. */ | ||
/** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was out of date.
@@ -159,7 +159,8 @@ void UltraHonkComposerHelper_<Flavor>::compute_witness(CircuitConstructor& circu | |||
template <UltraFlavor Flavor> | |||
UltraProver_<Flavor> UltraHonkComposerHelper_<Flavor>::create_prover(CircuitConstructor& circuit_constructor) | |||
{ | |||
finalize_circuit(circuit_constructor); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't see a reason for composer helpers to have a function that proxies immediately to circuit_constructor.finalize_circuit
so I made the change.
@@ -1,19 +1,18 @@ | |||
#include "standard_honk_composer.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tests that were refactors have enormous diffs. I tried hard to keep the work to a totally formulaic refactor.
@@ -1,274 +0,0 @@ | |||
#pragma once |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is not in use anywhere.
@@ -1179,7 +1179,6 @@ class UltraCircuitConstructor : public CircuitConstructorBase<arithmetization::U | |||
fr alpha_base, | |||
fr alpha) const; | |||
|
|||
void update_circuit_in_the_head(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function is declared but not defined.
@@ -136,7 +136,7 @@ template <typename OuterComposer> class stdlib_verifier : public testing::Test { | |||
verification_key_pt::from_witness(&outer_composer, verification_key_native); | |||
|
|||
info("Constructing the ultra (inner) proof ..."); | |||
plonk::proof recursive_proof = prover.construct_proof(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Name was vague. If anything, I'd call the outer proof, the one constructed by the recursive verifier, the recursive proof.
@@ -1,5 +1,4 @@ | |||
# TODO(Cody): Remove plonk dependency |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had already observed with Mara that this was easy to do, and doing so here let me work on this PR more incrementally.
@@ -70,6 +70,8 @@ template <typename Curve> struct aggregation_state { | |||
|
|||
auto* context = P0.get_context(); | |||
|
|||
context->check_circuit(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to leave this in? Currently it will only print information about failed gates
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops, no, that should go
I don't understand why it's complaining about the conventional commit title. |
I force re-ran it and everything seems ok |
I swear the action/github actions is just a bit buggy - I see PR's close and then suddenly their bad status propagates to another PR |
Co-authored-by: Rumata888 <[email protected]>
Co-authored-by: Rumata888 <[email protected]>
Description
With this PR, honk_tests and plonk_tests targets build without a composer wrapping a circuit constructor and composer helper. I verified this by temporarily deleting the composer files and rebuilding, but the composer files are still present place because other parts of Barretenberg still depend on them. Next step is to split the stdlib tests and then delete the old composers.
Along the way I deleted some unused (or declared but not defined) functions, did some renaming (some
composer
s becomecircuit_constructor
orbuilder
; I leave a mix since a big renaming PR will have to be made later anyway), removed the honk dependency on plonk (very easy), and did other nice small bits of cleanup.Checklist:
/markdown/specs
have been updated.@brief
describing the intended functionality.