Skip to content
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

Error feedback on compile-prover discrepancies #14887

Draft
wants to merge 2 commits into
base: o1js-main
Choose a base branch
from

Conversation

mitschabaude
Copy link
Member

@mitschabaude mitschabaude commented Jan 17, 2024

Companion of o1-labs/o1js#1363
Bumps snarky to o1-labs/snarky#834

This fixes what I would consider unexpected behaviour in the Poseidon gadget:

Previously, the Poseidon gadget mutated the array of states that form the witness for the Poseidon gate, after it had added that gate to snarky's R1CS_constraint_system.t with assert_. This mutated

In general, it seems desirable to not mutate constraints in the constraint system from outside, after they have been added. This could have been a major bug if R1CS_constraint_system.add_constraint wouldn't have copied the Poseidon states itself (which it does though).

In particular, this behaviour was blocking my work in o1-labs/o1js#1363, so I changed it by putting a copy of the mutable state into the constraint, instead of the state itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant