-
Notifications
You must be signed in to change notification settings - Fork 236
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
public-vm(ts): Implement Call and static call instructions #4127
Closed
2 tasks done
Tracked by
#3383
Labels
C-avm
Component: AVM related tickets (aka public VM)
Comments
This was referenced Mar 8, 2024
fcarreiro
added a commit
that referenced
this issue
Mar 11, 2024
This PR enables the stack of 6 PRs on top. \ While working on external calls, we came across several problems with Brillig. I made some changes to fix them. Some Brillig changes: * **Truncation**: Brillig was using AND of Fields (actually, AND on Ints of 254 bits). This is not supported by the VM. Truncation was changed to be done without ANDing, and using `CAST` instead, which truncates to the required bit size. * **Array.get**/**Array.set**: Calculation of the `arrayBase+index` was done using field arithmetic (or field sizes). Now it's done using ints. * **Reference counting**: Checking `refCount==1` was done using field arithmetic (or field sizes). Now it's done with ints. These changes seem to solve all the comparison w/different bit sizes, and unexpected uses of field arithmetic. (That we've found with the current test contract). NOTE: I had to recreate the contract snapshots with `yarn workspace @aztec/protocol-contracts test -u`, then modify * noir-projects/noir-contracts/contracts/app_subscription_contract/src/main.nr * noir-projects/noir-contracts/contracts/fpc_contract/src/main.nr Relates to #4313, #4127.
fcarreiro
added a commit
that referenced
this issue
Mar 11, 2024
fcarreiro
added a commit
that referenced
this issue
Mar 11, 2024
fcarreiro
added a commit
that referenced
this issue
Mar 11, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
#Overview
Part of general implementation (and testing) of all of the VM instructions.
Tasks
The text was updated successfully, but these errors were encountered: