Calling a contract which has an undefined opcode as first byte of code#836
Calling a contract which has an undefined opcode as first byte of code#836winsvega merged 3 commits intoethereum:developfrom
Conversation
|
I realize now that it should be changed for London, because @winsvega Can we merge this first as is? Do you already merge changes for London? |
|
Not yet. Eip1559 is in development |
ff32460 to
209774a
Compare
Then I guess this should be fine to merge now. I've added blockchain tests. Please double check the list of undefined opcodes. |
I looked at |
winsvega
left a comment
There was a problem hiding this comment.
It is good to have a separate test, but now we have so much data copied for every transaction.
Each blockchain test has a copy of the whole state, but executes just one contract from that state.
Perhaps its better to design the call loop in one transaction otherwise we have 100k+ of test lines?
also should have all possible opcodes as the first byte, so we have a map of which opcodes are supposed to halt the execution, and make sure that others are fine.
then we change this map over forks.
4ba9b33 to
d3ea193
Compare
|
In the second commit I changed it to be the single transaction calling all contracts in a loop and saving those that succeed (expected none to succeed) In the third commit I changed it to test all possible bytes as a first byte, but then expected section contains the list of those that don't require values on stack and execution is successful. Perhaps final version is better, but then it's better to rename the test (it's not about undefined opcodes anymore) @winsvega any thoughts? |
|
yes this looks much better about space. |
5cb3a48 to
46c0669
Compare
Pulled out of #835