-
Notifications
You must be signed in to change notification settings - Fork 856
Update halo2 dependency to v2023_04_20 #1374
Conversation
fb9da38
to
f483bec
Compare
Currently many tests are failing at a new assertion from halo2 mock prover assignment here:
|
Need help with that? |
I think I do 🥲 In privacy-scaling-explorations/halo2#129 Han introduced a check for the mock prover advice assignment with the following comment:
Both cases seem reasonable to me, and they are not friendly to the re-assignment with different value check. So I would like help on ideas to proceed! I have thought about using the Cached region to first store all the assignments (where we can re-assign freely), and after everything is assigned, we do the real assignment. I think this would add a lot of unneeded complexity. Moreover, the assignment function returns an AssignedCell which can't be constructed outside of halo2 The other option that comes to my mind is to disable the re-assignment check, maybe with a toggle in the MockProver, or something like that, and then we can disable it for the EVM and state circuits tests. Nevertheless that means we lose the original feature. A final option is to redo the feature to make the MockProver complain on reassignment with different values, only when the new assignment is in a different phase. For that we would need to store the phase of each assignment, which would add some overhead. |
Agree this is not a way.
A final option is to redo the feature to make the MockProver complain on reassignment with different values, only when the new assignment is in a different phase. For that we would need to store the phase of each assignment, which would add some overhead. Do we really want the check?? It just seems there's no good solution for the state circuit case. Let's just get ridd of it for now? |
29d2d89
to
4d1544d
Compare
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.
LGTM! Nice work! Just some nits that could be ignored, and also a question about halo2 dependency.
Path to a recent commit from halo2 that contains a removal of an aggresive check that caused many tests to fail, eventhough the tests and the circuits are OK. See privacy-scaling-explorations/halo2#179 Cargo doesn't support patching a git repository to point to the same repository with different branch/rev/tag. So I'm abusing the fact that previously our github organization was `appliedzkp` to trick Cargo into thinking it's a different git repo (but it's just an alias from github).
5000d53
to
da4d798
Compare
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.
All LGTM now!
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.
All LGTM 👍
Description
Update halo2 to the latest dependency, which contains some changes affecting the
ff
trait.Issue Link
Resolve #1366
Type of change
Rationale
I've extended the
Field
trait we define ineth_types
to contain the common traits used in different places, to avoid having a custom list of traits in each function.