Closed alxiong closed 4 months ago
reminder for myself after I address comments for this PR:
Should not we add an if
statement to raise an error here if the plonk instance does not support lookups?
because anyway it's not used to construct the hasher.
yes, but previously, we were using it. in this PR, we removed it.
Same field also exists in the RescueTranscript, we should consider removing that as well.
that would require refactoring of the recursion circuit, since we are not using it atm, maybe we leave it as it is for now.
cc @mrain
Should not we add an if statement to raise an error here if the plonk instance does not support lookups?
we have already does the protection from the caller side: in snark.rs
let plookup_evals = if circuits[i].support_lookup() {
let evals = prover.compute_plookup_evaluations(
prove_keys[i],
&challenges,
&online_oracles[i],
)?;
transcript.append_plookup_evaluations::<E>(&evals)?;
Some(evals)
} else {
None
};
we only invoke it if .supports_lookup()
evaluates to true.
cc @philippecamacho
closes: #618
This PR:
Changes behavior of
SolidityTranscript
, see the linked issue for descriptionThis PR does not:
Question: should we also optionally append
tau
for circuits that does support lookup? currently in contract, we have to do a uselessget_and_append_challenge
call for this unused challenge.@chancharles92 @philippecamacho
Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.
CHANGELOG.md
of touched crates.Files changed
in the GitHub PR explorer