-
Notifications
You must be signed in to change notification settings - Fork 4
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 with latest plonky2 and rely on BlockchainTests instead #37
Conversation
Not needed anymore
@wborgeaud Actually it seems there's an issue with the RLP encoding derived from the |
cf795ec
to
7887a60
Compare
I've addressed the TODOs mentioned in the two last points, It doesn't solve the issue mentioned above, arising for instance in |
f9d72f9
to
19098ee
Compare
Note that once 0xPolygonZero/plonky2#1276 is merged, we should be good here. I'll update the serialized |
I've updated the serialized inputs at https://github.com/topos-protocol/evm-tests-suite-parsed/tree/main. @wborgeaud Just FYI, so far I have 2310 ✅ / 13 ❌ .
We'll start diving into them to see why they are failing. I'll keep you updated on discord if other tests appear to fail! |
Thanks @Nashtare ! |
Have you tried running the others? I noticed that they were getting out of order when being processed, so that may be the reason the indices aren't right? On an unrelated note, most of the stEip1559/intrinsic tests are failing, but if I understand them it is expected, as plonky2 is expecting only well formed transactions? As those aren't and we are still passing them to the prover, we get a txn root / receipt root mismatch (it wasn't caught in the past because we didn't support those tries yet). |
I could also update the logic to keep their original name like |
Ah yes that's it. For me it's
Yes that sounds right.
As you prefer. I think it could be easier that way to pinpoint exactly which tests are failing. |
Yes indeed I just reproduced locally (for me it's still
I'll update the parsing logic, those malformed txns usually have a
I'll do that! |
@wborgeaud FYI We can now run it with the actual variant test names. I've updated https://github.com/topos-protocol/evm-tests-suite-parsed accordingly. |
Also there appear to still be issues with the RLP encoding. I think I spotted them, I'll probably refactor things this afternoon, assuming we're always having a single txn per block in our tests (which is the case). This should simplify the case disjunctions with all those weird RLP encoding choices. |
Latest commits adds |
dcd3c71
to
385dcdb
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.
LGTM!
Remove intermediary block blooms
This PR updates the way tests are being deserialized to handle the latest version of plonky2.
Major points:
BlockchainTests
are on a per transaction basis, which required changing a bit the parsing logicHashMap
, which kinda bothers me (I originally wanted to read keys and only process values for the ones related to Shanghai).@BGluth there's no rush at all for reviewing this, as I can still use it locally to run some tests. There are probably refactoring that could be done, as I may have done this in a hurried way.
Following discussion in #35, for now we still process tests as before, i.e. alter manually the gaslimit if possible, run the test, and ignore it if it was altered and still resulted in a panic. I'll update this once we handle 2-limb
gaslimit
/gas_used
on plonky2 side.FYI @wborgeaud I've run the updated runner against a small sample. I got 140 ✅ tests, and 1 ❌ (
creationTxInitCodeSizeLimit
), but haven't dived into why yet. If it's useful to you, I've gathered all the serializedGenerationInputs
from the parsed tests here: https://github.com/topos-protocol/evm-tests-suite-parsed.closes #35