Skip to main content

Module opcode

Module opcode 

Source
Expand description

EVM opcodes by byte, with the mnemonics a trace spells them with.

The names are REVM’s, which is what the replay backend and Anvil’s structLogs report. A byte with no instruction is spelled UNKNOWN(0x..), as the replay backend spells it. A step whose backend spelled its mnemonic differently keeps that spelling; see crate::StepTable.

Constants§

CALL
CALLCODE
CALLDATACOPY
CODECOPY
CREATE
CREATE2
DELEGATECALL
EXTCODECOPY
INVALID
JUMP
JUMPDEST
JUMPI
KECCAK256
MCOPY
MLOAD
MSTORE
MSTORE8
RETURN
RETURNDATACOPY
REVERT
SELFDESTRUCT
SLOAD
SSTORE
STATICCALL
STOP
TLOAD
TSTORE

Functions§

from_mnemonic
The byte whose mnemonic is name, exactly as mnemonic spells it.
from_spelling
The byte a backend means by name: the one from_mnemonic finds, the one another client names differently (SHA3, PREVRANDAO, SUICIDE), or the one it spells out for a byte without an instruction, such as geth’s opcode 0xef not defined.
is_call
Whether op is one of the four call instructions.
mnemonic
The mnemonic of op.