forked from lambdaclass/cairo-vm
-
Notifications
You must be signed in to change notification settings - Fork 2
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
Fixes to run the bootloader integration tests #37
Closed
odesenfans
wants to merge
22
commits into
dev-bootloader-hints-rebased-on-main
from
od/bootloader-itests-rebased-on-main
Closed
Fixes to run the bootloader integration tests #37
odesenfans
wants to merge
22
commits into
dev-bootloader-hints-rebased-on-main
from
od/bootloader-itests-rebased-on-main
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
odesenfans
force-pushed
the
dev-bootloader-hints-rebased-on-main
branch
from
January 18, 2024 10:59
f183751
to
79dc495
Compare
odesenfans
force-pushed
the
od/bootloader-itests-rebased-on-main
branch
2 times, most recently
from
January 22, 2024 10:38
e0f3574
to
444e7f2
Compare
Benchmark Results for unmodified programs 🚀
|
odesenfans
force-pushed
the
dev-bootloader-hints-rebased-on-main
branch
2 times, most recently
from
February 22, 2024 22:58
2ae2391
to
0945d6d
Compare
Some issues occurred when compiling the project with the Madara prover API.
Store the `simple_bootloader_input` field of the bootloader input instead of storing the whole bootloader_input.
The hint is compiled to a different code.
A backslash was encoded the wrong way in the hint code.
Implement the hint that determines whether a specific builtin is selected for the given program.
`pre_execution_builtin_ptrs` is an array of pointers, not of values as we previously understood.
Problem: `write_return_builtins` copies data from the pre-execution builtins for each builtin not used by the program. We specify that the value of the pre-execution builtins is integer, which is not the case. Solution: just copy the memory without enforcing a specific type.
Implemented `get_task_fact_topologies` for Cairo PIE tasks at the same time.
The hint is compiled to a different code.
…utput) The hint is compiled to a different code.
Remove the hardcoded value for `ret_pc` and compute it using the program identifiers instead. We now expect the bootloader program to be accessible as the `bootloader_program` variable in the root execution scope.
Problem: Deserializing the PIE additional data as a hashmap of `BuiltinAdditionalData` enums because of an issue with deserializing untagged unions in `serde` (see serde-rs/json#1103). Solution: add a new `AdditionalData` struct with explicit fields for each builtin, circumventing the untagged union issue. This solution has the advantage of always associating the correct data type for each builtin (it's not possible anymore to associate a builtin with a different data type), but requires modifications if a new builtin is added.
Problem: the ECDSA/signature builtin additional data is stored internally as a hashmap, but the Python VM stores it as a vector of tuples. Solution: Add a `SignatureBuiltinAdditionalData` struct and implement a custom deserializer for it that can take either a hashmap or a vector.
Fixed a bug in the memory file loader implementation.
Problem: output page IDs do not appear when exporting the builtin memory, but default to page 0 instead. Solution: add a `get_public_memory` to the output builtin to export page IDs correctly.
Added a `from_bytes` class method to build a `CairoPie` method in addition to the existing `from_file` method.
odesenfans
force-pushed
the
od/bootloader-itests-rebased-on-main
branch
from
February 22, 2024 23:35
b2f69d2
to
e0a4653
Compare
Obsolete, we upstreamed all the changes. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains all the changes and fixes required to run the bootloader integration tests in the
madara-prover-api
repository.Checklist