execution-spec-tests
execution-spec-tests copied to clipboard
Add the `supported_evm_code_types` property to the `Opcode` class
Add a supported_evm_code_types to the Opcode such that, for example:
print(Op.PUSH1.supported_evm_code_types)
# -> {EVMCodeType.LEGACY, EVMCodeType.EOF_V1}
print(Op.CALL.supported_evm_code_types)
# -> {EVMCodeType.LEGACY}
This would allow the generation and deployment of contract code based on its type for tests that are parametrized or use all opcodes, cf #748 and this discussion: https://github.com/ethereum/execution-spec-tests/pull/748#discussion_r1733311523
Maybe becomes interesting again when EOF becomes relevant again