-
Notifications
You must be signed in to change notification settings - Fork 19.9k
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
Eip 1884 v3 #19743
Eip 1884 v3 #19743
Conversation
This PR has now been updated according to ethereum/EIPs#2180
|
10e85c0
to
df2ec6d
Compare
Rebased, squashed. This does add (a small) overhead, but that would be easily fixed if we reuse vm across all txs in a block. |
My rebase happened to drop a commit where I moved SELFBALANCE to be according to EIP updates, and also repriced EXTCODEHASH. Now added back again. |
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.
Generally LGTM, minor nitpicks
Fixed, PTAL |
Co-Authored-By: Péter Szilágyi <peterke@gmail.com>
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
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
This PR is on top of #19735 (and is actually quite small). It adds support for EIP 1884, and makes use of the simplified chain management from #19735. It makes it possible to run statetests with e.g.
Constantinople+1884
, and thus apply 1884 without havingIstanbul
defined.This PR creates
core/vm/eips.go
where any minor new eips can be added. Minor == eips that onlyFor more invasive EIPs, that would modify the block validation or execution engine outside of the evm (e.g. progpow), this refactoring won't help much.