tests: BlockchainTests format changed

With https://github.com/ethereum/tests/commit/f386934ce509fa0a4dbd1c68421b3361b01b2efa (and the corresponding deletion https://github.com/ethereum/tests/commit/f11c47462ffc48203b8b588ab35e9ccb3cc79e04#diff-1a427fc3f925eef4e65fb0650dc712f7 ) the format of the transactions in BlockchainTests changed, from signed to unsigned.

Was this breaking change was intended? It has rendered both https://github.com/kframework/evm-semantics and https://github.com/dapphub/dapptools/tree/master/src/hevm incapable of running these tests.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 46 (20 by maintainers)

Commits related to this issue

Most upvoted comments

Yes unmarshalling from JSON is usually automated based on some strong type, and it’s not always easy to declare a field as something abstract over both string and array type. The existing unmarshaller (deserialiser) in Hive was expecting a target type of array. The fix for me was to ignore the field as it is irrelevant for Hive, but I don’t know if that is always the case for others. I think yes there should be a consistent type. Perhaps add a NEW field to represent the case that the poststate is a hash, while omitting the existing array, so deserialisers can allow for the existing field to be declared as optional.

A stable master should be made available agreed.

Going to fix. BCGeneralStateTests already fixed.

Another issue is that some tests seem to have change the format of postState to be a hash (?) rather than a map, e.g. this and this. Not sure where to look for documentation on that, if it’s a mistake that needs fixing or us that need to update our parsing code.