-
Notifications
You must be signed in to change notification settings - Fork 59
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
Update instructions and constants according to u32 instructions refactoring #292
Conversation
4d1cb7d
to
fe5f2c0
Compare
fe5f2c0
to
48844df
Compare
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.
Looks good! Thank you!
Let's create an issue for computing MAST roots used in testing at compile time. We can probably use something similar to what we did here for decreasing PoW requirements in testing context.
The CI is failing here because account seeds seem to no longer result in valid account IDs. This is likely because MAST roots of procedures changed. @hackaugusto - could you help with figuring out how to generate new valid seeds? |
@Overcastan - one question: why did the MAT roots for procedures change? Most checked instructions should have been replaced with the exact same sequences of operations as would have been generated by the assembler. Is the reason that |
Yes, unfortunately it turned out to be impossible to emulate exactly the checked variants of
|
Looks like making |
I wonder if an easier approach would be to just query the MAST roots from the assembler? If we can't do that, my suggestion would to:
One issue with the above, is that changes to the |
|
3f65702
to
7dae4d8
Compare
7dae4d8
to
aea11c0
Compare
I think getting correct MAST roots is a part of the issue. The other part is that once MAST roots change, we also need to update account seeds (and mock data). So, we need to come up with a process of how to handle such updates end-to-end. I'll create an issue for this. |
This small PR updates u32 instructions according to the new refactoring. To make the code work after updating the instructions it is necessary to update MAST roots of the procedures used in the
call
invocations, as well as constants containing MAST roots of this procedures.Due to the fact that some roots are stored as constants, it turns out to be quite difficult to automatically regenerate them when running tests, so for now, new hashes are hardcoded, just as before.
Also now it becomes clear the reason why errors appear during the actions described in this issue.
This PR should be merged after the main refactoring PR.