Skip to main content

Opcode

Enum Opcode 

Source
pub enum Opcode {
Show 155 variants Stop, Add, Mul, Sub, Div, Sdiv, Mod, Smod, Addmod, Mulmod, Exp, Signextend, Lt, Gt, Slt, Sgt, Eq, Iszero, And, Or, Xor, Not, Byte, Shl, Shr, Sar, Keccak256, Address, Balance, Origin, Caller, Callvalue, Calldataload, Calldatasize, Calldatacopy, Codesize, Codecopy, Gasprice, Extcodesize, Extcodecopy, Returndatasize, Returndatacopy, Blockhash, Coinbase, Timestamp, Number, Difficulty, Prevrandao, Gaslimit, Chainid, Clz, Selfbalance, Basefee, Blobhash, Blobbasefee, Slotnum, Pop, Mload, Mstore, Mstore8, Sload, Sstore, Jump, Jumpi, Pc, Msize, Gas, Jumpdest, Push0, Push1, Push2, Push3, Push4, Push5, Push6, Push7, Push8, Push9, Push10, Push11, Push12, Push13, Push14, Push15, Push16, Push17, Push18, Push19, Push20, Push21, Push22, Push23, Push24, Push25, Push26, Push27, Push28, Push29, Push30, Push31, Push32, Dup1, Dup2, Dup3, Dup4, Dup5, Dup6, Dup7, Dup8, Dup9, Dup10, Dup11, Dup12, Dup13, Dup14, Dup15, Dup16, Dupn, Swap1, Swap2, Swap3, Swap4, Swap5, Swap6, Swap7, Swap8, Swap9, Swap10, Swap11, Swap12, Swap13, Swap14, Swap15, Swap16, Swapn, Exchange, Log0, Log1, Log2, Log3, Log4, Tload, Tstore, Mcopy, Create, Call, Callcode, Return, Delegatecall, Create2, Staticcall, Revert, Invalid, Selfdestruct, Extcodehash,
}
Expand description

Variants§

§

Stop

Halts execution.

§

Add

Addition operation

§

Mul

Multiplication Operation

§

Sub

Subtraction Operation

§

Div

Integer Division Operation

§

Sdiv

Signed Integer Division Operation

§

Mod

Modulo Remainder Operation

§

Smod

Signed Modulo Remainder Operation

§

Addmod

Modulo Addition Operation

§

Mulmod

Modulo Multiplication Operation

§

Exp

Exponential Operation

§

Signextend

Extend Length of Two’s Complement Signed Integer

§

Lt

Less-than Comparison

§

Gt

Greater-than Comparison

§

Slt

Signed Less-than Comparison

§

Sgt

Signed Greater-than Comparison

§

Eq

Equality Comparison

§

Iszero

Not Operation

§

And

Bitwise AND Operation

§

Or

Bitwise OR Operation

§

Xor

Bitwise XOR Operation

§

Not

Bitwise NOT Operation

§

Byte

Retrieve Single Byte from Word

§

Shl

Left Shift Operation

§

Shr

Right Shift Operation

§

Sar

Arithmetic Shift Right Operation

§

Keccak256

Compute the Keccak-256 hash of a 32-byte word

§

Address

Address of currently executing account

§

Balance

Balance of a given account

§

Origin

Address of execution origination

§

Caller

Address of the caller

§

Callvalue

Value of the call

§

Calldataload

Loads Calldata

§

Calldatasize

Size of the Calldata

§

Calldatacopy

Copies the Calldata to Memory

§

Codesize

Size of the Executing Code

§

Codecopy

Copies Executing Code to Memory

§

Gasprice

Current Price of Gas

§

Extcodesize

Size of an Account’s Code

§

Extcodecopy

Copies an Account’s Code to Memory

§

Returndatasize

Size of Output Data from Previous Call

§

Returndatacopy

Copies Output Data from Previous Call to Memory

§

Blockhash

Hash of a Block from the most recent 256 blocks

§

Coinbase

The Current Blocks Beneficiary Address

§

Timestamp

The Current Blocks Timestamp

§

Number

The Current Blocks Number

§

Difficulty

The Current Blocks Difficulty

§

Prevrandao

Pseudorandomness from the Beacon Chain

§

Gaslimit

The Current Blocks Gas Limit

§

Chainid

The Chain ID

§

Clz

Count Leading Zeros - Returns the number of zeros preceding the most significant one bit

§

Selfbalance

Balance of the Currently Executing Account

§

Basefee

Base Fee

§

Blobhash

Versioned hashes of blobs associated with the transaction.

§

Blobbasefee

Blob base fee of the current block.

§

Slotnum

Beacon chain slot number of the current block

§

Pop

Removes an Item from the Stack

§

Mload

Loads a word from Memory

§

Mstore

Stores a word in Memory

§

Mstore8

Stores a byte in Memory

§

Sload

Load a word from Storage

§

Sstore

Store a word in Storage

§

Jump

Alter the Program Counter

§

Jumpi

Conditionally Alter the Program Counter

§

Pc

Value of the Program Counter Before the Current Instruction

§

Msize

Size of Active Memory in Bytes

§

Gas

Amount of available gas including the cost of the current instruction

§

Jumpdest

Marks a valid destination for jumps

§

Push0

Places a zero on top of the stack

§

Push1

Places 1 byte item on top of the stack

§

Push2

Places 2 byte item on top of the stack

§

Push3

Places 3 byte item on top of the stack

§

Push4

Places 4 byte item on top of the stack

§

Push5

Places 5 byte item on top of the stack

§

Push6

Places 6 byte item on top of the stack

§

Push7

Places 7 byte item on top of the stack

§

Push8

Places 8 byte item on top of the stack

§

Push9

Places 9 byte item on top of the stack

§

Push10

Places 10 byte item on top of the stack

§

Push11

Places 11 byte item on top of the stack

§

Push12

Places 12 byte item on top of the stack

§

Push13

Places 13 byte item on top of the stack

§

Push14

Places 14 byte item on top of the stack

§

Push15

Places 15 byte item on top of the stack

§

Push16

Places 16 byte item on top of the stack

§

Push17

Places 17 byte item on top of the stack

§

Push18

Places 18 byte item on top of the stack

§

Push19

Places 19 byte item on top of the stack

§

Push20

Places 20 byte item on top of the stack

§

Push21

Places 21 byte item on top of the stack

§

Push22

Places 22 byte item on top of the stack

§

Push23

Places 23 byte item on top of the stack

§

Push24

Places 24 byte item on top of the stack

§

Push25

Places 25 byte item on top of the stack

§

Push26

Places 26 byte item on top of the stack

§

Push27

Places 27 byte item on top of the stack

§

Push28

Places 28 byte item on top of the stack

§

Push29

Places 29 byte item on top of the stack

§

Push30

Places 30 byte item on top of the stack

§

Push31

Places 31 byte item on top of the stack

§

Push32

Places 32 byte item on top of the stack

§

Dup1

Duplicates the first stack item

§

Dup2

Duplicates the 2nd stack item

§

Dup3

Duplicates the 3rd stack item

§

Dup4

Duplicates the 4th stack item

§

Dup5

Duplicates the 5th stack item

§

Dup6

Duplicates the 6th stack item

§

Dup7

Duplicates the 7th stack item

§

Dup8

Duplicates the 8th stack item

§

Dup9

Duplicates the 9th stack item

§

Dup10

Duplicates the 10th stack item

§

Dup11

Duplicates the 11th stack item

§

Dup12

Duplicates the 12th stack item

§

Dup13

Duplicates the 13th stack item

§

Dup14

Duplicates the 14th stack item

§

Dup15

Duplicates the 15th stack item

§

Dup16

Duplicates the 16th stack item

§

Dupn

Duplicate the Nth stack item (17 <= N <= 235), with N given by an immediate byte

§

Swap1

Exchange the top two stack items

§

Swap2

Exchange the first and third stack items

§

Swap3

Exchange the first and fourth stack items

§

Swap4

Exchange the first and fifth stack items

§

Swap5

Exchange the first and sixth stack items

§

Swap6

Exchange the first and seventh stack items

§

Swap7

Exchange the first and eighth stack items

§

Swap8

Exchange the first and ninth stack items

§

Swap9

Exchange the first and tenth stack items

§

Swap10

Exchange the first and eleventh stack items

§

Swap11

Exchange the first and twelfth stack items

§

Swap12

Exchange the first and thirteenth stack items

§

Swap13

Exchange the first and fourteenth stack items

§

Swap14

Exchange the first and fifteenth stack items

§

Swap15

Exchange the first and sixteenth stack items

§

Swap16

Exchange the first and seventeenth stack items

§

Swapn

Exchange the first and (N+1)th stack items (17 <= N <= 235), with N given by an immediate byte

§

Exchange

Exchange the (N+1)th and (M+1)th stack items, with N and M given by an immediate byte

§

Log0

Append Log Record with no Topics

§

Log1

Append Log Record with 1 Topic

§

Log2

Append Log Record with 2 Topics

§

Log3

Append Log Record with 3 Topics

§

Log4

Append Log Record with 4 Topics

§

Tload

Transaction-persistent, but storage-ephemeral variable load

§

Tstore

Transaction-persistent, but storage-ephemeral variable store

§

Mcopy

Copies an area of memory from src to dst. Areas can overlap.

§

Create

Create a new account with associated code

§

Call

Message-call into an account

§

Callcode

Message-call into this account with an alternative accounts code

§

Return

Halt execution, returning output data

§

Delegatecall

Message-call into this account with an alternative accounts code, persisting the sender and value

§

Create2

Create a new account with associated code

§

Staticcall

Static Message-call into an account

§

Revert

Halt execution, reverting state changes, but returning data and remaining gas

§

Invalid

Invalid Instruction

§

Selfdestruct

Halt Execution and Register Account for later deletion

§

Extcodehash

Get hash of an account’s code

Implementations§

Source§

impl Opcode

Source

pub fn string(&self) -> String

Translates an Opcode into a string

Source

pub fn is_value_push(&self) -> bool

Returns true if the current opcode is a push opcode that takes a literal value

Source

pub fn prefix_push_literal(&self, literal: &str) -> String

Prefixes the literal if necessary

Source

pub fn push_size(&self) -> Option<usize>

Number of value bytes following a PUSH1..PUSH32 opcode, or None for any other opcode

Source

pub fn stack_immediate_operands(&self) -> usize

Number of stack-position operands an opcode encodes in its immediate byte (EIP-8024)

dupn <n> and swapn <n> take one operand, exchange <n> <m> takes two. Every other opcode returns 0.

Source

pub fn has_stack_immediate(&self) -> bool

Returns true if the opcode is followed by a one-byte stack immediate (EIP-8024)

Source

pub fn encode_stack_immediate(&self, operands: &[usize]) -> Option<u8>

Encodes the stack operands of a DUPN, SWAPN or EXCHANGE into its immediate byte

Operands use the same numbering as the EIP: dupn 17 behaves like a dup17, swapn 17 like a swap17, and exchange n m swaps the (n+1)th and (m+1)th stack items.

Returns None if the operands cannot be represented. The encoding never produces a byte that would be read as JUMPDEST or PUSH1..PUSH32, so emitted code keeps its jump targets.

Source

pub fn encode_immediate(&self, values: &[U256]) -> Result<String, String>

Encodes the immediate data that follows the opcode from its resolved operand values

PUSH1..PUSH32 take one value that must fit the push width; DUPN, SWAPN and EXCHANGE take stack positions as described in Opcode::encode_stack_immediate. Returns the immediate as a hex string, or a description of why the values cannot be encoded.

Source

pub fn stack_immediate_hint(&self) -> String

Describes the valid operand range of a stack-immediate opcode, for error messages

Source

pub fn push_overflows(&self, literal: &str) -> bool

Checks if the value overflows the given push opcode

Source

pub fn requires_evm_version(&self) -> Option<SupportedEVMVersions>

Returns the minimum EVM version required for this opcode Returns None for opcodes that have been available since the beginning

Trait Implementations§

Source§

impl AsRef<str> for Opcode

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for Opcode

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Opcode

Source§

impl Debug for Opcode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Opcode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Opcode

Source§

impl From<Opcode> for String

Source§

fn from(o: Opcode) -> Self

Converts to this type from the input type.
Source§

impl FromStr for Opcode

Source§

type Err = ParseError

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Opcode, <Self as FromStr>::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Ord for Opcode

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

fn clamp_to<R>(self, range: R) -> Self
where Self: Sized, R: ClampBounds<Self>,

🔬This is a nightly-only experimental API. (clamp_to)
Restrict a value to a certain range. Read more
Source§

impl PartialEq for Opcode

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialOrd for Opcode

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl StructuralPartialEq for Opcode

Source§

impl TryFrom<&str> for Opcode

Source§

type Error = ParseError

The type returned in the event of a conversion error.
Source§

fn try_from(s: &str) -> Result<Opcode, <Self as TryFrom<&str>>::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 1 byte

Size for each variant:

  • Stop: 0 bytes
  • Add: 0 bytes
  • Mul: 0 bytes
  • Sub: 0 bytes
  • Div: 0 bytes
  • Sdiv: 0 bytes
  • Mod: 0 bytes
  • Smod: 0 bytes
  • Addmod: 0 bytes
  • Mulmod: 0 bytes
  • Exp: 0 bytes
  • Signextend: 0 bytes
  • Lt: 0 bytes
  • Gt: 0 bytes
  • Slt: 0 bytes
  • Sgt: 0 bytes
  • Eq: 0 bytes
  • Iszero: 0 bytes
  • And: 0 bytes
  • Or: 0 bytes
  • Xor: 0 bytes
  • Not: 0 bytes
  • Byte: 0 bytes
  • Shl: 0 bytes
  • Shr: 0 bytes
  • Sar: 0 bytes
  • Keccak256: 0 bytes
  • Address: 0 bytes
  • Balance: 0 bytes
  • Origin: 0 bytes
  • Caller: 0 bytes
  • Callvalue: 0 bytes
  • Calldataload: 0 bytes
  • Calldatasize: 0 bytes
  • Calldatacopy: 0 bytes
  • Codesize: 0 bytes
  • Codecopy: 0 bytes
  • Gasprice: 0 bytes
  • Extcodesize: 0 bytes
  • Extcodecopy: 0 bytes
  • Returndatasize: 0 bytes
  • Returndatacopy: 0 bytes
  • Blockhash: 0 bytes
  • Coinbase: 0 bytes
  • Timestamp: 0 bytes
  • Number: 0 bytes
  • Difficulty: 0 bytes
  • Prevrandao: 0 bytes
  • Gaslimit: 0 bytes
  • Chainid: 0 bytes
  • Clz: 0 bytes
  • Selfbalance: 0 bytes
  • Basefee: 0 bytes
  • Blobhash: 0 bytes
  • Blobbasefee: 0 bytes
  • Slotnum: 0 bytes
  • Pop: 0 bytes
  • Mload: 0 bytes
  • Mstore: 0 bytes
  • Mstore8: 0 bytes
  • Sload: 0 bytes
  • Sstore: 0 bytes
  • Jump: 0 bytes
  • Jumpi: 0 bytes
  • Pc: 0 bytes
  • Msize: 0 bytes
  • Gas: 0 bytes
  • Jumpdest: 0 bytes
  • Push0: 0 bytes
  • Push1: 0 bytes
  • Push2: 0 bytes
  • Push3: 0 bytes
  • Push4: 0 bytes
  • Push5: 0 bytes
  • Push6: 0 bytes
  • Push7: 0 bytes
  • Push8: 0 bytes
  • Push9: 0 bytes
  • Push10: 0 bytes
  • Push11: 0 bytes
  • Push12: 0 bytes
  • Push13: 0 bytes
  • Push14: 0 bytes
  • Push15: 0 bytes
  • Push16: 0 bytes
  • Push17: 0 bytes
  • Push18: 0 bytes
  • Push19: 0 bytes
  • Push20: 0 bytes
  • Push21: 0 bytes
  • Push22: 0 bytes
  • Push23: 0 bytes
  • Push24: 0 bytes
  • Push25: 0 bytes
  • Push26: 0 bytes
  • Push27: 0 bytes
  • Push28: 0 bytes
  • Push29: 0 bytes
  • Push30: 0 bytes
  • Push31: 0 bytes
  • Push32: 0 bytes
  • Dup1: 0 bytes
  • Dup2: 0 bytes
  • Dup3: 0 bytes
  • Dup4: 0 bytes
  • Dup5: 0 bytes
  • Dup6: 0 bytes
  • Dup7: 0 bytes
  • Dup8: 0 bytes
  • Dup9: 0 bytes
  • Dup10: 0 bytes
  • Dup11: 0 bytes
  • Dup12: 0 bytes
  • Dup13: 0 bytes
  • Dup14: 0 bytes
  • Dup15: 0 bytes
  • Dup16: 0 bytes
  • Dupn: 0 bytes
  • Swap1: 0 bytes
  • Swap2: 0 bytes
  • Swap3: 0 bytes
  • Swap4: 0 bytes
  • Swap5: 0 bytes
  • Swap6: 0 bytes
  • Swap7: 0 bytes
  • Swap8: 0 bytes
  • Swap9: 0 bytes
  • Swap10: 0 bytes
  • Swap11: 0 bytes
  • Swap12: 0 bytes
  • Swap13: 0 bytes
  • Swap14: 0 bytes
  • Swap15: 0 bytes
  • Swap16: 0 bytes
  • Swapn: 0 bytes
  • Exchange: 0 bytes
  • Log0: 0 bytes
  • Log1: 0 bytes
  • Log2: 0 bytes
  • Log3: 0 bytes
  • Log4: 0 bytes
  • Tload: 0 bytes
  • Tstore: 0 bytes
  • Mcopy: 0 bytes
  • Create: 0 bytes
  • Call: 0 bytes
  • Callcode: 0 bytes
  • Return: 0 bytes
  • Delegatecall: 0 bytes
  • Create2: 0 bytes
  • Staticcall: 0 bytes
  • Revert: 0 bytes
  • Invalid: 0 bytes
  • Selfdestruct: 0 bytes
  • Extcodehash: 0 bytes