EIP-3541 ethereum/tests Run#1247
Conversation
tx: create access list utility
tx: export EIP1559
common: add docs getEIPActivationBlockNumber common: add extra constant
block: add more EIP1559 tests
block: enable access list transactions as TxData and EIP1559 transactions block: add base fee test check
tx: add EIP1559-related gas logic block: use EIP1559 api from tx
tx: fix gas limit not present in signed EIP1559 txns tx/vm: lint
…rice (with extended 0x-instantiation guard) to legacy and EIP-2930 txs
…igned default value instantiation for fromValuesArray() calls
…uctor, introduced TRANSACTION_TYPE and TRANSACTION_TYPE_BUFFER constants to EIP-2930 tx, added v, r, s aliases for consistency
…two fixes on TRANSACTION_TYPE_BUFFER Buffer initialization, fixed transaction type Buffer comparison in fromSerializedTx()
Co-authored-by: Ryan Ghods <ryan@ryanio.com>
|
1..114
# tests 114
# pass 114Counter test: 1..114
# tests 114
# pass 114Actually also pass, this doesn't seem to be right I guess? 🤔 |
|
1..1
# tests 1
# pass 1Counter test: # tests 1
# pass 0
# fail 1Everything ok here. |
|
1..4
# tests 4
# pass 4Counter test: # tests 4
# pass 0
# fail 4Everything ok here. |
|
1..1
# tests 1
# pass 1Counter test: # tests 1
# pass 0
# fail 1Everything ok here. |
|
# tests 4
# pass 4Counter test: # tests 4
# pass 0
# fail 4Everything ok here. |
|
1..130
# tests 130
# pass 130ok 128 the state roots should match
ok 129 the state roots should match
not ok 130 the state roots should match
1..130
# tests 130
# pass 129
# fail 1On counter test run only the last failing? 🤔 Is this correct? |
|
@gumb0 can you comment when you get a chance please? |
|
For |
|
Ah, ok, have found the following comment from @gumb0 on the original PR: "This could be merged separately already, because EIP-3541 doesn't change this behavior." 😄 |
|
Have found this comment for "I didn't care to make all possible invalid opcodes here. And this also can be merged independently, because this behavior is not changing yet." This actually doesn't explain yet why 1 test is failing for us on (there is also always the third possibility that there is something wrong in our test setup 😄 ) |
|
It's the |
|
Found the problem, we are deploying a contract with 0xEF as code. |
|
|
||
| const state = new Trie() | ||
| const hardfork = options.forkConfigVM | ||
| const hardfork = 'berlin' |
There was a problem hiding this comment.
?? Now we run all in Berlin and thus the --fork param is ignored?
There was a problem hiding this comment.
Ah ok this PR is supposed to be hacky :)
Codecov Report
Flags with carried forward coverage won't be shown. Click here to find out more. |
|
Ran this; Result: all pass. Counter test, all fail except
|
|
Ah ok I think I got a bit confused by the process here. @holgerd77 Yes that one test fails is correct, I reproduced this as well; in your final test a 0xEF contract is deployed. For Berlin this is fine (it is allowed) but for Berlin+3541 this is not OK as it is an invalid contract. So it is correct that this is the only test which fails on Berlin+3541. |
|
@jochem-brouwer I have to say I can't completely "read" this explanation. First - these are not "my tests", these are the tests from @gumb0 submitted to the Also: if there is a test case failing, there definitely something behaves wrong. Either in: a) Our code What are you suggesting and with what argumentation? 😄 (again: I'm just not able to interpret your current answer). |
|
@holgerd77 I just passed all tests on So this is the test in question right?
Except now in the counter test we run this with no EIPs (so EIP 3541 is not activated). We still run it in the context of Berlin+3541. Then this test indeed fails. This is because:
If we activate 3541, this creation fails, and thus the storage slot write gets reverted. |
|
@jochem-brouwer ah, yes, you're right, sorry, I was confused as well. So I guess the tests created are all ok. 😄 |
|
Confirming that In |
|
@gumb0 cool, thanks for the feedback here! 👍 |
4a92829 to
c8aeabf
Compare
|
Results have been picked up on the ethereum/tests side, will close. |
This is a test run of a our EIP-3541 implementation from #1240 towards the tests implemented at ethereum/tests#835.
DO NOT MERGE!!!
@axic I noted that our test setup is very much not prepared to adhoc integrate these invented fork names, I couldn't imminently get this work to run on CI.
I will instead take this PR as a base and do manual tests runs of the different files.