-
Notifications
You must be signed in to change notification settings - Fork 219
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
fix: maintain ordering of return value witnesses when constructing ABI #1177
Conversation
can you add some tests to ensure future versions don't run into this? |
Can you also add an example to ensure we don't regress? |
how did we regress in the first place? I think this is new to v0.4 - curious how it happened. |
I was saying that we should add an example to ensure we don't regress in the future |
The issue is the integration tests make use of the "prove then immediately verify" feature so we're not loading the public inputs from |
Was it a large effect on CI times? |
It was a pretty sizable percentage afaik, i.e. double digits. |
I've made the changes to integration tests in #1179 as that dwarfs the changes in this PR. |
oof RIP productivity, lets try to get a larger github runner to counteract this |
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 - I think if separating prove and verify add 10 minutes, then we should have the larger runners in place, before merging the other PR
Related issue(s)
Resolves #1174
Description
Summary of changes
This PR switches the evaluator to track the witnesses for the return value in a
Vec<Witness>
rather than aBTreeSet<Witness>
. While it's correct to store them as a set inside theCircuit
, we rely on the ordering of these witnesses for proper ABI decoding and so we need to maintain this when we're constructing the ABI.See #1174 for an example of this causing improper ABI decoding.
Dependency additions / changes
Test additions / changes
Checklist
cargo fmt
with default settings.Documentation needs
Additional context
BEGIN_COMMIT_OVERRIDE
fix: maintain ordering of return value witnesses when constructing ABI (#1177)
END_COMMIT_OVERRIDE