Module revm_interpreter::instructions::opcode
source · Expand description
EVM opcode definitions and utilities.
Structs§
- An EVM opcode.
Enums§
- Instruction set that contains plain instruction table that contains simple
fnfunction pointer. and BoxedFnvariant that containsBox<dyn Fn()>function pointer that can be used with closured.
Constants§
- The
0x01(“ADD”) opcode. - The
0x08(“ADDMOD”) opcode. - The
0x30(“ADDRESS”) opcode. - The
0x16(“AND”) opcode. - The
0x31(“BALANCE”) opcode. - The
0x48(“BASEFEE”) opcode. - The
0x4A(“BLOBBASEFEE”) opcode. - The
0x49(“BLOBHASH”) opcode. - The
0x40(“BLOCKHASH”) opcode. - The
0x1A(“BYTE”) opcode. - The
0xF1(“CALL”) opcode. - The
0xF2(“CALLCODE”) opcode. - The
0x37(“CALLDATACOPY”) opcode. - The
0x35(“CALLDATALOAD”) opcode. - The
0x36(“CALLDATASIZE”) opcode. - The
0x33(“CALLER”) opcode. - The
0x34(“CALLVALUE”) opcode. - The
0x46(“CHAINID”) opcode. - The
0x39(“CODECOPY”) opcode. - The
0x38(“CODESIZE”) opcode. - The
0x41(“COINBASE”) opcode. - The
0xF0(“CREATE”) opcode. - The
0xF5(“CREATE2”) opcode. - The
0xF4(“DELEGATECALL”) opcode. - The
0x44(“DIFFICULTY”) opcode. - The
0x04(“DIV”) opcode. - The
0x80(“DUP1”) opcode. - The
0x81(“DUP2”) opcode. - The
0x82(“DUP3”) opcode. - The
0x83(“DUP4”) opcode. - The
0x84(“DUP5”) opcode. - The
0x85(“DUP6”) opcode. - The
0x86(“DUP7”) opcode. - The
0x87(“DUP8”) opcode. - The
0x88(“DUP9”) opcode. - The
0x89(“DUP10”) opcode. - The
0x8A(“DUP11”) opcode. - The
0x8B(“DUP12”) opcode. - The
0x8C(“DUP13”) opcode. - The
0x8D(“DUP14”) opcode. - The
0x8E(“DUP15”) opcode. - The
0x8F(“DUP16”) opcode. - The
0x14(“EQ”) opcode. - The
0x0A(“EXP”) opcode. - The
0x3C(“EXTCODECOPY”) opcode. - The
0x3F(“EXTCODEHASH”) opcode. - The
0x3B(“EXTCODESIZE”) opcode. - The
0x5A(“GAS”) opcode. - The
0x45(“GASLIMIT”) opcode. - The
0x3A(“GASPRICE”) opcode. - The
0x11(“GT”) opcode. - The
0xFE(“INVALID”) opcode. - The
0x15(“ISZERO”) opcode. - The
0x56(“JUMP”) opcode. - The
0x5B(“JUMPDEST”) opcode. - The
0x57(“JUMPI”) opcode. - The
0x20(“KECCAK256”) opcode. - The
0xA0(“LOG0”) opcode. - The
0xA1(“LOG1”) opcode. - The
0xA2(“LOG2”) opcode. - The
0xA3(“LOG3”) opcode. - The
0xA4(“LOG4”) opcode. - The
0x10(“LT”) opcode. - The
0x5E(“MCOPY”) opcode. - The
0x51(“MLOAD”) opcode. - The
0x06(“MOD”) opcode. - The
0x59(“MSIZE”) opcode. - The
0x52(“MSTORE”) opcode. - The
0x53(“MSTORE8”) opcode. - The
0x02(“MUL”) opcode. - The
0x09(“MULMOD”) opcode. - The
0x19(“NOT”) opcode. - The
0x43(“NUMBER”) opcode. - Maps each opcode to its name.
- The
0x17(“OR”) opcode. - The
0x32(“ORIGIN”) opcode. - The
0x58(“PC”) opcode. - The
0x50(“POP”) opcode. - The
0x5F(“PUSH0”) opcode. - The
0x60(“PUSH1”) opcode. - The
0x61(“PUSH2”) opcode. - The
0x62(“PUSH3”) opcode. - The
0x63(“PUSH4”) opcode. - The
0x64(“PUSH5”) opcode. - The
0x65(“PUSH6”) opcode. - The
0x66(“PUSH7”) opcode. - The
0x67(“PUSH8”) opcode. - The
0x68(“PUSH9”) opcode. - The
0x69(“PUSH10”) opcode. - The
0x6A(“PUSH11”) opcode. - The
0x6B(“PUSH12”) opcode. - The
0x6C(“PUSH13”) opcode. - The
0x6D(“PUSH14”) opcode. - The
0x6E(“PUSH15”) opcode. - The
0x6F(“PUSH16”) opcode. - The
0x70(“PUSH17”) opcode. - The
0x71(“PUSH18”) opcode. - The
0x72(“PUSH19”) opcode. - The
0x73(“PUSH20”) opcode. - The
0x74(“PUSH21”) opcode. - The
0x75(“PUSH22”) opcode. - The
0x76(“PUSH23”) opcode. - The
0x77(“PUSH24”) opcode. - The
0x78(“PUSH25”) opcode. - The
0x79(“PUSH26”) opcode. - The
0x7A(“PUSH27”) opcode. - The
0x7B(“PUSH28”) opcode. - The
0x7C(“PUSH29”) opcode. - The
0x7D(“PUSH30”) opcode. - The
0x7E(“PUSH31”) opcode. - The
0x7F(“PUSH32”) opcode. - The
0xF3(“RETURN”) opcode. - The
0x3E(“RETURNDATACOPY”) opcode. - The
0x3D(“RETURNDATASIZE”) opcode. - The
0xFD(“REVERT”) opcode. - The
0x1D(“SAR”) opcode. - The
0x05(“SDIV”) opcode. - The
0x47(“SELFBALANCE”) opcode. - The
0xFF(“SELFDESTRUCT”) opcode. - The
0x13(“SGT”) opcode. - The
0x1B(“SHL”) opcode. - The
0x1C(“SHR”) opcode. - The
0x0B(“SIGNEXTEND”) opcode. - The
0x54(“SLOAD”) opcode. - The
0x12(“SLT”) opcode. - The
0x07(“SMOD”) opcode. - The
0x55(“SSTORE”) opcode. - The
0xFA(“STATICCALL”) opcode. - The
0x00(“STOP”) opcode. - The
0x03(“SUB”) opcode. - The
0x90(“SWAP1”) opcode. - The
0x91(“SWAP2”) opcode. - The
0x92(“SWAP3”) opcode. - The
0x93(“SWAP4”) opcode. - The
0x94(“SWAP5”) opcode. - The
0x95(“SWAP6”) opcode. - The
0x96(“SWAP7”) opcode. - The
0x97(“SWAP8”) opcode. - The
0x98(“SWAP9”) opcode. - The
0x99(“SWAP10”) opcode. - The
0x9A(“SWAP11”) opcode. - The
0x9B(“SWAP12”) opcode. - The
0x9C(“SWAP13”) opcode. - The
0x9D(“SWAP14”) opcode. - The
0x9E(“SWAP15”) opcode. - The
0x9F(“SWAP16”) opcode. - The
0x42(“TIMESTAMP”) opcode. - The
0x5C(“TLOAD”) opcode. - The
0x5D(“TSTORE”) opcode. - The
0x18(“XOR”) opcode.
Functions§
- Returns the instruction function for the given opcode and spec.
- Make boxed instruction table that calls
outerclosure for every instruction. - Make instruction table.
- Returns a lookup table of opcode gas info for the given
SpecId.
Type Aliases§
- EVM opcode function signature.
- A table of instructions.
- EVM opcode function signature.
- Instruction table is list of instruction function pointers mapped to 256 EVM opcodes.