-
Notifications
You must be signed in to change notification settings - Fork 200
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
Unexpected ABIError from benign code change #4778
Comments
My understanding was that Aztec was using their own abi encoder though? Is that not correct? |
@alexghr I've pushed a change which will highlight exactly which input is breaking type checks during abi encoding. Looks like your counter for note hash read requests is not a valid u32.
|
#4798) # Description ## Problem\* Resolves #3560 Resolves #4778 ## Summary\* This PR updates `InputValue.matches_abi` to `InputValue.find_type_mismatch` which returns an error related to the type which is failing to be abi encoded. ## Additional Context This should help @alexghr with debugging #4778 ## Documentation\* Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [x] I have tested the changes locally. - [x] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.
Thanks @TomAFrench, I think this could this be related to #4600 where we were seeing corruption of the |
Can confirm the latest changes in Noir have fixed this issue https://github.com/AztecProtocol/aztec-packages/actions/runs/8701866086/job/23865456943 |
Aim
I've encountered this issue doing two different things:
if
statement in aztec-packages in order to update a field on a structnew BatchCall([])
). Internally this usesif
statements to only execute non-empty function callsExpected Behavior
It should work (field should be updated in the first case/the tx should be valid in the second case)
Bug
In both instances aztec's
private_kernel_init
fails with anABIError
.The first code change is here and leads to this error in CI
In the second case here's a minimal example and here's the CI run for it
In the first case we were able to find a workaround where we replaced the
if
statement with a "max" function and that has fixed the problem. I haven't looked for a workaround for the empty BatchCall example.To Reproduce
Run the test in AztecProtocol/aztec-packages#5666
Project Impact
Blocker
Impact Context
A workaround was found for the first case. The second case, with the BatchCall, is contrived but realistically it should work since there's nothing wrong with it.
It's unclear what triggers the bug and what other (valid) use cases could lead to it.
Workaround
None
Workaround Description
We found this workaround for the first use case.
Additional Context
No response
Installation Method
Compiled from source
Nargo Version
No response
NoirJS Version
No response
Would you like to submit a PR for this Issue?
Maybe
Support Needs
No response
The text was updated successfully, but these errors were encountered: