-
Notifications
You must be signed in to change notification settings - Fork 750
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
Backporting old HF rules #652
Comments
Sounds great, would love to be a part of this work. |
I love this idea. Initially, I see lots of fork name comparison to set the correct values. We should first categorize the set of changes required and define a solid plan to implement them. In a first pass I see these categories of changes. Feel free to add more: 1. New precompiles/opcodesShould we deny the use of newer opcodes in former HF versions? I guess this behavior is a bit flaky today, but my hunch is yes, we should deny. 2. Opcode repricingWe should make extensive use of the 3. VM optimization/behavior rules, eg: EIP-663Those can be more complex and need to have fork name comparison to set the new behavior. |
Fixed by linked PRs, will close. |
We should really take on backporting the old HF rules rather sooner than later, re-remembered this when @s1na told about his block execution setup in the internal channel. This shouldn't be too hard to do and it would open up the VM to various interesting new use cases if we had a fully HF-supporting code base.
Some context: until mid 2018 the common ground/policy on this library was to "throw away" the old HF code on HF updates (due to economical reasons) and implement the new HF rules. This changed along #304 with the introduction of the overhauled ethereumjs-common library allowing for easier parallel HF integration. Initial integration was on the
Byzantium
rules, subsequent HFs were then added without deleting the old fork rules.So the following HFs are currently missing:
The code is still there (along former merged PRs), so this should actually have some good basis to work on (of course things will need some adoption). This should also be a pretty rewarding work. @ryanio @evertonfraga @marcgarreau eventually this is some good task to get more familiar with the VM code.
Probably we should wait with this for after the monorepo transition since this will be easier to implement then, but might also depend on the specific HF to implement.
The text was updated successfully, but these errors were encountered: