This repository was archived by the owner on Oct 28, 2021. It is now read-only.
Conversation
65dedfe to
4a9ff0f
Compare
Codecov Report
@@ Coverage Diff @@
## master #5641 +/- ##
==========================================
+ Coverage 62.74% 62.76% +0.01%
==========================================
Files 348 348
Lines 29670 29682 +12
Branches 3343 3343
==========================================
+ Hits 18617 18629 +12
- Misses 9841 9842 +1
+ Partials 1212 1211 -1 |
4a9ff0f to
0b36dc1
Compare
…code. Because it's not allowed to overwrite code now.
0b36dc1 to
2af454b
Compare
d5c1e1a to
6c55857
Compare
Member
|
Why is the EIP-689 still a draft? |
Member
Author
|
@chfast Probably no one cared to accept it yet. There was some discussion recently on All Core Devs call, where @holiman mentioned that it's already implemented, see discussion of "Action 60.6" in https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2061.md |
chfast
approved these changes
Jun 27, 2019
Contributor
|
@gumb0 : When would we need to rollback to old code before EIP-689? When there's a chain reorg? |
Member
Author
|
@halfalicious No, rollback happens any time after exception during transaction execution (for example Out-of-gas or invalid instruction) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I think we don't need to save the old code for rollback anymore, because overwriting the code is not allowed according to address collision rules (ethereum/EIPs#684 and https://eips.ethereum.org/EIPS/eip-689) and we never get to rolling back the overwritten code.
A bit of history of this code:
It was written as a fix of incorrect rollback of code overwrite in case of address collision (back then it was possible to overwrite the code)
#4130
#4151
Then in preparation for Byzantium new collision rules were introduced, which applied retroactively to all previous forks, too.
#4384
To quote EIP-689:
This will simplify a little bit the implementation of EIP-1702 Generalized Account Versioning Scheme, because if we don't need to save the old code in journal, then we don't need to save the version either.