fix: maintain ordering of return value witnesses when constructing ABI#1177
fix: maintain ordering of return value witnesses when constructing ABI#1177kevaundray merged 1 commit intomasterfrom
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 |
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 fmtwith default settings.Documentation needs
Additional context
BEGIN_COMMIT_OVERRIDE
fix: maintain ordering of return value witnesses when constructing ABI (#1177)
END_COMMIT_OVERRIDE