diff --git a/core/vm/evm.go b/core/vm/evm.go index 3583f62bbc..9060898190 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -567,6 +567,10 @@ func (evm *EVM) create(caller ContractRef, codeAndHash *codeAndHash, gas uint64, if err == nil && isInitcodeEOF && !hasEOFMagic(ret) { err = ErrLegacyCode } + // Reject EOF deployment from legacy. + if err == nil && !isInitcodeEOF && hasEOFMagic(ret) { + err = ErrLegacyCode + } // Reject code starting with 0xEF if EIP-3541 is enabled. if err == nil && len(ret) >= 1 && HasEOFByte(ret) {