-
Notifications
You must be signed in to change notification settings - Fork 380
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: fix accountCreated
handling, add storageTrace
, fix DELEGATECALL
/STATICCALL
caller state
#42
Conversation
I have test this PR on the skipped blocks in roller and all of them can passed the handl-block phase (so witness can be assigned and circuit be built), execpt for block 17, which assert with |
@noel2004 I checked the transaction in the block 17 and it calls to the L2Messenger contract. The contract shouldn't have a zero codehash. So not sure why the assert failed for this block. |
You can Leave this error case to me. You can really proved some blocks in our dev server (i suggest only prove evm circuit. Don't prove agg) |
Suggest Set MOCK_PROVE env var to true to get better circuit error msg. |
accountCreated
handling, add storageTrace
, fix DELEGATECALL
/STATICCALL
caller state
I will build and test without merging first. BTW what dores
|
issue.json is being added accidentally. It would be prune |
Now the PR has passed with block 17 so it should be ready. Work left:
|
Now the |
add keccak256 dir
TODO:update zkevm-circuits
As discussed in the issue. Some inconsistecies are caused by unsuitable initialization of stateDB used by busmapping. This PR change the initialization by adding states being traced in
storageTrace
field of block results and this work should fix most of the inconsistency.This PR also change the example traces by manually revert the byte order in proofs, because they have been unified into big-endian.