core/vm: Make INVALID a defined opcode (#24017)

* core/vm: Define 0xfe opcode as INVALID

* core/vm: Remove opInvalid as opUndefined handles it

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
pull/24128/head
Andrei Maiboroda 3 years ago committed by GitHub
parent 81ec6b1d4c
commit 3e47e38a4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      accounts/abi/bind/backends/simulated_test.go
  2. 3
      core/vm/opcodes.go
  3. 2
      eth/tracers/internal/tracetest/testdata/call_tracer/inner_throw_outer_revert.json
  4. 2
      eth/tracers/internal/tracetest/testdata/call_tracer_legacy/inner_throw_outer_revert.json

@ -496,7 +496,7 @@ func TestEstimateGas(t *testing.T) {
GasPrice: big.NewInt(0), GasPrice: big.NewInt(0),
Value: nil, Value: nil,
Data: common.Hex2Bytes("b9b046f9"), Data: common.Hex2Bytes("b9b046f9"),
}, 0, errors.New("invalid opcode: opcode 0xfe not defined"), nil}, }, 0, errors.New("invalid opcode: INVALID"), nil},
{"Valid", ethereum.CallMsg{ {"Valid", ethereum.CallMsg{
From: addr, From: addr,

@ -213,6 +213,7 @@ const (
STATICCALL OpCode = 0xfa STATICCALL OpCode = 0xfa
REVERT OpCode = 0xfd REVERT OpCode = 0xfd
INVALID OpCode = 0xfe
SELFDESTRUCT OpCode = 0xff SELFDESTRUCT OpCode = 0xff
) )
@ -378,6 +379,7 @@ var opCodeToString = map[OpCode]string{
CREATE2: "CREATE2", CREATE2: "CREATE2",
STATICCALL: "STATICCALL", STATICCALL: "STATICCALL",
REVERT: "REVERT", REVERT: "REVERT",
INVALID: "INVALID",
SELFDESTRUCT: "SELFDESTRUCT", SELFDESTRUCT: "SELFDESTRUCT",
} }
@ -532,6 +534,7 @@ var stringToOp = map[string]OpCode{
"RETURN": RETURN, "RETURN": RETURN,
"CALLCODE": CALLCODE, "CALLCODE": CALLCODE,
"REVERT": REVERT, "REVERT": REVERT,
"INVALID": INVALID,
"SELFDESTRUCT": SELFDESTRUCT, "SELFDESTRUCT": SELFDESTRUCT,
} }

@ -59,7 +59,7 @@
"result": { "result": {
"calls": [ "calls": [
{ {
"error": "invalid opcode: opcode 0xfe not defined", "error": "invalid opcode: INVALID",
"from": "0x33056b5dcac09a9b4becad0e1dcf92c19bd0af76", "from": "0x33056b5dcac09a9b4becad0e1dcf92c19bd0af76",
"gas": "0x75fe3", "gas": "0x75fe3",
"gasUsed": "0x75fe3", "gasUsed": "0x75fe3",

@ -59,7 +59,7 @@
"result": { "result": {
"calls": [ "calls": [
{ {
"error": "invalid opcode: opcode 0xfe not defined", "error": "invalid opcode: INVALID",
"from": "0x33056b5dcac09a9b4becad0e1dcf92c19bd0af76", "from": "0x33056b5dcac09a9b4becad0e1dcf92c19bd0af76",
"gas": "0x75fe3", "gas": "0x75fe3",
"gasUsed": "0x75fe3", "gasUsed": "0x75fe3",

Loading…
Cancel
Save