I properly implemented and tested EIP-7212 P256VERIFY
precompile inside Revm, the Rust EVM implementation used also inside Reth. Here is the branch where you can find it:
GitHub - alessandromazza98/revm at eip-7212
I also created an article about it where I explain step-by-step what I did and how to replicate so that it could be useful in the future for people that have to add new precompiles inside Revm.
Here you go: P256VERIFY
Precompile in Revm
Start working on some issues for Revm as well:
https://github.com/bluealloy/revm/pull/713: this one is a tough one. The goal is to remove the Option
for the db
field of the EVM
struct. The problem is that reviewers do not want that I break too much the signatures of a lot of functions since they already want to do it and they don’t want to break them twice.
And so I have to find the correct balance, but this creates of course some problems that I have to solve. Waiting some help or feedback.
https://github.com/bluealloy/revm/pull/722: I added some docs comment to the InvalidTransaction
enum. I also renamed a variant since in my opinion it was written in a not clear way. Waiting for review.
https://github.com/paradigmxyz/reth/pull/4580: on Reth I worked on this issue related to prune storage history filtering by contract address and storage slots. It’s my greatest issue for Reth since I started working on it. I think I did a good implementation, I’m not 100% sure it is all good but I’m quite positive about it. It lacks a proper test. I mean, I included also a test but it doesn’t actually test every aspect of what I implemented.
Right now I’m waiting for some feedback because I am not able to conclude the test in the proper way and also I want to know if my work is in the right direction.