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.
Context: EOF will no longer be in Cancun and the bytecode does not look like the current version of the
ethereum/tests
that are in our fixture directory. That update of the fixture will come in a separate PR. This change in the structure of the tests puts our code base mostly back to where it was to prepare for EOF implementation.This PR puts the state of the Computation class hierarchy mostly back to where it was, keeping some good cleanup and updating the
ComputationAPI
to match properties implemented in theBaseComputation
implementation class.Some of the earlier
ethereum/tests
pointed to EOF code within the bytecode, not at the start. This led to a refactoring for the class architecture to make it work with our current model, with the bigger refactor PR from last week. With the updated tests (and checking against the EIPs), it would be best to put the state of the Computation hierarchy mostly back to where it was so as to not break too much of the existing structure. Massaging EOF into this model won't require as drastic of an architecture change.Since there won't be a release until all these changes are in, the most this does is muddy the commit history / git blame a bit 🙁. At least we gained a touch of housekeeping along the way.
How was it fixed?
MessageComputation
to make room for other*Computation
classes and return to the{ForkName}Computation
being the overarching class that takes care of applying messages to state and "applying" itself during bytecode execution.Note: The newsfragment for the previous refactor PR (#2097) was removed and replaced with the one from this PR.
Todo:
Cute Animal Picture