forked from ethereumproject/go-ethereum
-
Notifications
You must be signed in to change notification settings - Fork 1
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
Ecip1045 dev create2 #24
Open
whilei
wants to merge
58
commits into
ecip1045
Choose a base branch
from
ecip1045-dev-create2
base: ecip1045
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains 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
Path changed so instead of using gcc 8.2.0 from MSYS2, gcc 7.2.0 from mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1 is used. This also makes gcc version stable - MSYS2 gcc version can be changed without changes in appveyor.xml.
It seems that we need MSYS2 for Janus installation, but later, for Rust compilation we need gcc from mingw-64 7.2.0.
Because we wan't to retest all cases (including passing ones) we need to override the `-count' to force execution of cached tests.
IsEIPx interface methods replace IsForkName methods. By using EIP-level methods instead of fork-level methods, increased granularity is possible for unit tests, miniature contract tests, more extensible code-reuse and configuration alternatives. Further work might involve modifications to chain config JSON schema, possibly using ForkFeatures to configure EIP implementations on a per-fork basis. (Currently these are loosely grouped in core/config.go by implementing the methods on an ECIP1045B/C basis, but that could be consolidated and made more descriptive using the system referenced above.)
Support individual EIPx configuration in JSON configuration schema on a per-fork basis.
…interface solution: remove it core.ChainConfig#IsEIP658 can still be used for implementation
- allows reuse of init_code keccak hash - modifies Create2 unit tests for consistency with ETH
It is implemented in crypto/
- moves spec tests (again) from crypto -> core/vm/ because this allows gas testing as well as expected address hash val tests.
If PostState is present in RLP decoded Receipt (received from network), we can't assume anything about transaction Status, so it should be set to TxStatusUnknown.
Type of Status changed to from `byte` to `uint8` to emphasize that it's a scalar. Struct used in RLP encoding changed, so it can handle both `uint8` (Status) and `[]byte` (PostState). RLP decoding changed accordingly. Comment added.
solution: append 'Msg' to name to make clear why string and not error type
solution: fix typo
This causes TestEIP658RLPRoundTrip2 to break.
solution: invalid returning of writer.Flush() causes EOF error
Ensures round trip RLP en/de-coder works for both empty (eg zero-value address) hash and arbitrary value.
solution: fix what I think are typos, which caused - extra gas to be spent intializing addresses, and - 0xf3 (EXTCODEHASH) opcode missed entirely because pre/post/exec code fields mismatched
solution: check statedb for existence of account before checking obj nillitude.
Hard to see why they are the way they are. solution: Add a temporary file that describes my methods of how I made the values in the test
JSON test files should reflect this convention solution: rename files
solution: use SSTORE instead of return values Thanks @mersinvald
using MSTORE to hold input value
whilei
force-pushed
the
ecip1045-dev-create2
branch
from
October 26, 2018 14:08
796c91c
to
31f7038
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.