This repository was archived by the owner on Nov 6, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
This repository was archived by the owner on Nov 6, 2020. It is now read-only.
Constantinople statetest support #9568
Copy link
Copy link
Closed
Labels
F3-annoyance 💩The client behaves within expectations, however this “expected behaviour” itself is at issue.The client behaves within expectations, however this “expected behaviour” itself is at issue.M4-core ⛓Core client code / Rust.Core client code / Rust.M5-binaries 📦External binaries (ethkey, ethstore, ethvm, etc.)External binaries (ethkey, ethstore, ethvm, etc.)P2-asap 🌊No need to stop dead in your tracks, however issue should be addressed as soon as possible.No need to stop dead in your tracks, however issue should be addressed as soon as possible.
Milestone
Description
Version
Version: parity-evm built from scratch today, so most likely bbaac0c
Description
I trying out the fuzzer on Constantinople rules, which unfortunately does not execute on parity.
parity:
# /parity-evm state-test --std-json /testfiles/martin-Sat_21_41_37-29930-11-test.json
{"action":"skipping because of missing spec","test":"randomStatetestmartin-Sat_21_41_37-29930-11:constantinople:0"}
geth
# evm --json --nomemory statetest /testfiles/martin-Sat_21_41_37-29930-11-test.json
{"pc":0,"op":97,"gas":"0x6770fc","gasCost":"0x3","memory":"0x","memSize":0,"stack":[],"depth":1,"opName":"PUSH2","error":""}
{"pc":3,"op":120,"gas":"0x6770f9","gasCost":"0x3","memory":"0x","memSize":0,"stack":["0xdfa0"],"depth":1,"opName":"PUSH25","error":""}
...
Example file to repro the behaviour (I had to remove the code due to max-character limit in GH issues):
{"randomStatetestmartin-Sat_21_41_37-29930-11": {"_fuzz": {"compressed_random_state": null}, "env": {"currentCoinbase": "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty": "0x20000", "currentGasLimit": "0x4e022e707ab8ab", "currentNumber": "1", "currentTimestamp": "1000", "previousHash": "d663c53908df5dfcb22877d223956064501796d274ef5c2228473dc8639d1b50"}, "post": {"Constantinople": [{"hash": "0x00000000000000000000000000000000000000000000000000000000deadc0de", "logs": "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "indexes": {"data": 0, "gas": 0, "value": 0}}]}, "pre": {"ffffffffffffffffffffffffffffffffffffffff": {"balance": "0x1c4ef331ed3517fa", "code": "0x00", "nonce": "0x55", "storage": {}}, "1000000000000000000000000000000000000000": {"balance": "0x2696307dd1a7a247", "code": "0x00", "nonce": "0x55", "storage": {}}, "b94f5374fce5edbc8e2a8697c15331677e6ebf0b": {"balance": "0x8ca921e5c5d5fa90", "code": "0x00", "nonce": "0x55", "storage": {}}, "c94f5374fce5edbc8e2a8697c15331677e6ebf0b": {"balance": "0x3e91fcbd5e70a9ac", "code": "0x00", "nonce": "0x55", "storage": {}}, "d94f5374fce5edbc8e2a8697c15331677e6ebf0b": {"balance": "0xdda850621df9ca1d", "code": "0x00", "nonce": "0x55", "storage": {}}, "a94f5374fce5edbc8e2a8697c15331677e6ebf0b": {"balance": "0x0aef8f40be752b38", "code": "0x", "nonce": "0x55", "storage": {}}}, "transaction": {"data": ["0x00"], "gasLimit": ["0x8ff6f4", "3000000"], "gasPrice": "0x05", "nonce": "0x55", "secretKey": "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to": "0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": ["0x74c5f72f", "0"]}}}
This is one of the few remaining snags before we can put fuzzing properly into prod.
5chdn
Metadata
Metadata
Assignees
Labels
F3-annoyance 💩The client behaves within expectations, however this “expected behaviour” itself is at issue.The client behaves within expectations, however this “expected behaviour” itself is at issue.M4-core ⛓Core client code / Rust.Core client code / Rust.M5-binaries 📦External binaries (ethkey, ethstore, ethvm, etc.)External binaries (ethkey, ethstore, ethvm, etc.)P2-asap 🌊No need to stop dead in your tracks, however issue should be addressed as soon as possible.No need to stop dead in your tracks, however issue should be addressed as soon as possible.