You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When we return values from main, they should all be set to public inputs. Right now we are creating new public inputs and setting the return values to be equal to the newly created public inputs.
Solution
When we return a structure from main, take the witness index and add it to the public inputs index in the ACIR structure
Alternatives considered
(Describe any alternative solutions you have considered.)
Additional context
(If applicable.)
The text was updated successfully, but these errors were encountered:
Can you elaborate on the advantages of this over our current scheme?
This creates less constraints because you no longer need to create two sets of witnesses. You simply just iterate the last structure that is being returned, get their witness indices and put all of those into the public_inputs vector in circuit.
Right now, we are creating two sets of witnesses and making them equal, which is why we need the BinarySolver PR
After a discussion with Jake and Maxim on Slack, Jake realised that we can delay this SetPub to a future PR and possibly not require BinarySolver by optimising out the boolean values that are created when we constrain arrays
Problem
When we return values from main, they should all be set to public inputs. Right now we are creating new public inputs and setting the return values to be equal to the newly created public inputs.
Solution
When we return a structure from main, take the witness index and add it to the public inputs index in the ACIR structure
Alternatives considered
(Describe any alternative solutions you have considered.)
Additional context
(If applicable.)
The text was updated successfully, but these errors were encountered: