risechain / pevm

Blazingly fast Parallel EVM
MIT License
217 stars 41 forks source link

Support EOF #316

Closed hai-rise closed 1 week ago

hai-rise commented 1 month ago

https://github.com/risechain/pevm/blob/24266be8d317bdcbe8f8ac10c6ce34ae7298802d/src/storage.rs#L104

byhashdong commented 2 weeks ago

@hai-rise Has anybody claimed this issue?

hai-rise commented 2 weeks ago

@byhashdong Not yet, but it's currently blocked by #358. I'll ping you when this is ready :pray:.

byhashdong commented 2 weeks ago

OK, Thanks a lot!

hai-rise commented 2 weeks ago

@byhashdong This is unblocked now :pray:.

byhashdong commented 2 weeks ago

@hai-rise I will take it.

hai-rise commented 2 weeks ago

@byhashdong Thank you!!

byhashdong commented 1 week ago

@hai-rise Can you help clarify why do we introduce the EVMCode struct, but not reuse ByteCode from revm?

hai-rise commented 1 week ago

@byhashdong This was a hard decision but revm types weren't optimal for pevm. We need to make a fork to make it easier to implement pevm and optimize several hot paths. Eventually, we decided on our types (EvmCode included) for:

For state-of-the-art performance, we'll likely need to:

And library users will only use pevm and alloy types to interface (for minimal conversions).

Nevertheless, we still provide a branch that uses revm instead of our custom types for integration with existing revm users like upstream Reth: https://github.com/risechain/pevm/pull/360/files.

TL;DR: It allows pevm users to not pin and use our forked revm types (which would clash if they were already using standard revm somewhere), but to use Storage, EvmAccount, EvmCode, etc.

byhashdong commented 1 week ago

Nice, Thanks for you clear explain @hai-rise

byhashdong commented 1 week ago

@hai-rise just submitted pr(#374), please feel free to have a review, thanks!

hai-rise commented 1 week ago

Done in #374.

byhashdong commented 1 week ago

Done in #374.

Thanks for your precise review.