Skip to content
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

Fix access lists pointers check #217

Merged
merged 6 commits into from
May 7, 2024

Conversation

4l0n50
Copy link
Contributor

@4l0n50 4l0n50 commented May 3, 2024

For inserting/deleting in the access lists, the prover guesses the predecessor pointer divided by the list node size so that node_size*guessed_val always point the beginning of a valid node. In order to do so, it checked that node_size * guessed_val - SEGMENT_SCALLING < UNSCALED_LIST_LEN. This is not correct because the guessed value is the scaled pointer divided by node_size (prover_input.rs:348), so it shouldn't be unscaled. Additionally, the comparison was done against the address of UNSCALED_LIST_LEN istead of the actual value.
On the other hand, I find clearer to check that guessed_val < UNSCALED_LIST_LEN/node_size because for some node_size it's possible to have node_size * guessed_val mod 2^256 != 0 mod node_size (even though this is not possible because node_size = 2, 4).
I'm also fixing macro assert_gt, which wasn't a problem because it was never used.

@4l0n50 4l0n50 added bug Something isn't working crate: evm_arithmetization Anything related to the evm_arithmetization crate. labels May 3, 2024
@4l0n50 4l0n50 changed the title Fix access lists pointers Fix access lists pointers check May 3, 2024
@Nashtare Nashtare added this to the Cleanups and Misc. milestone May 4, 2024
@4l0n50 4l0n50 requested a review from cpubot as a code owner May 7, 2024 15:42
Copy link
Collaborator

@Nashtare Nashtare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@Nashtare Nashtare merged commit 2c73b25 into 0xPolygonZero:develop May 7, 2024
6 checks passed
Nashtare added a commit that referenced this pull request May 20, 2024
* Fix access lists pointers

* Update evm_arithmetization/src/cpu/kernel/asm/core/access_lists.asm

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>

* Address reviews

---------

Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working crate: evm_arithmetization Anything related to the evm_arithmetization crate.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants