Struct Opcode

Source
pub struct Opcode(pub u8);
Expand description

Opcode enum. One-to-one corresponding to an u8 value.

Tuple Fields§

§0: u8

Implementations§

Source§

impl Opcode

Source

pub const STOP: Opcode

STOP

Source

pub const ADD: Opcode

ADD

Source

pub const MUL: Opcode

MUL

Source

pub const SUB: Opcode

SUB

Source

pub const DIV: Opcode

DIV

Source

pub const SDIV: Opcode

SDIV

Source

pub const MOD: Opcode

MOD

Source

pub const SMOD: Opcode

SMOD

Source

pub const ADDMOD: Opcode

ADDMOD

Source

pub const MULMOD: Opcode

MULMOD

Source

pub const EXP: Opcode

EXP

Source

pub const SIGNEXTEND: Opcode

SIGNEXTEND

Source

pub const LT: Opcode

LT

Source

pub const GT: Opcode

GT

Source

pub const SLT: Opcode

SLT

Source

pub const SGT: Opcode

SGT

Source

pub const EQ: Opcode

EQ

Source

pub const ISZERO: Opcode

ISZERO

Source

pub const AND: Opcode

AND

Source

pub const OR: Opcode

OR

Source

pub const XOR: Opcode

XOR

Source

pub const NOT: Opcode

NOT

Source

pub const BYTE: Opcode

BYTE

Source

pub const SHL: Opcode

SHL

Source

pub const SHR: Opcode

SHR

Source

pub const SAR: Opcode

SAR

Source

pub const CALLDATALOAD: Opcode

CALLDATALOAD

Source

pub const CALLDATASIZE: Opcode

CALLDATASIZE

Source

pub const CALLDATACOPY: Opcode

CALLDATACOPY

Source

pub const CODESIZE: Opcode

CODESIZE

Source

pub const CODECOPY: Opcode

CODECOPY

Source

pub const POP: Opcode

POP

Source

pub const MLOAD: Opcode

MLOAD

Source

pub const MSTORE: Opcode

MSTORE

Source

pub const MSTORE8: Opcode

MSTORE8

Source

pub const JUMP: Opcode

JUMP

Source

pub const JUMPI: Opcode

JUMPI

Source

pub const PC: Opcode

PC

Source

pub const MSIZE: Opcode

MSIZE

Source

pub const JUMPDEST: Opcode

JUMPDEST

Source

pub const MCOPY: Opcode

MCOPY

Source

pub const PUSH0: Opcode

PUSH0

Source

pub const PUSH1: Opcode

PUSH1

Source

pub const PUSH2: Opcode

PUSH2

Source

pub const PUSH3: Opcode

PUSH3

Source

pub const PUSH4: Opcode

PUSH4

Source

pub const PUSH5: Opcode

PUSH5

Source

pub const PUSH6: Opcode

PUSH6

Source

pub const PUSH7: Opcode

PUSH7

Source

pub const PUSH8: Opcode

PUSH8

Source

pub const PUSH9: Opcode

PUSH9

Source

pub const PUSH10: Opcode

PUSH10

Source

pub const PUSH11: Opcode

PUSH11

Source

pub const PUSH12: Opcode

PUSH12

Source

pub const PUSH13: Opcode

PUSH13

Source

pub const PUSH14: Opcode

PUSH14

Source

pub const PUSH15: Opcode

PUSH15

Source

pub const PUSH16: Opcode

PUSH16

Source

pub const PUSH17: Opcode

PUSH17

Source

pub const PUSH18: Opcode

PUSH18

Source

pub const PUSH19: Opcode

PUSH19

Source

pub const PUSH20: Opcode

PUSH20

Source

pub const PUSH21: Opcode

PUSH21

Source

pub const PUSH22: Opcode

PUSH22

Source

pub const PUSH23: Opcode

PUSH23

Source

pub const PUSH24: Opcode

PUSH24

Source

pub const PUSH25: Opcode

PUSH25

Source

pub const PUSH26: Opcode

PUSH26

Source

pub const PUSH27: Opcode

PUSH27

Source

pub const PUSH28: Opcode

PUSH28

Source

pub const PUSH29: Opcode

PUSH29

Source

pub const PUSH30: Opcode

PUSH30

Source

pub const PUSH31: Opcode

PUSH31

Source

pub const PUSH32: Opcode

PUSH32

Source

pub const DUP1: Opcode

DUP1

Source

pub const DUP2: Opcode

DUP2

Source

pub const DUP3: Opcode

DUP3

Source

pub const DUP4: Opcode

DUP4

Source

pub const DUP5: Opcode

DUP5

Source

pub const DUP6: Opcode

DUP6

Source

pub const DUP7: Opcode

DUP7

Source

pub const DUP8: Opcode

DUP8

Source

pub const DUP9: Opcode

DUP9

Source

pub const DUP10: Opcode

DUP10

Source

pub const DUP11: Opcode

DUP11

Source

pub const DUP12: Opcode

DUP12

Source

pub const DUP13: Opcode

DUP13

Source

pub const DUP14: Opcode

DUP14

Source

pub const DUP15: Opcode

DUP15

Source

pub const DUP16: Opcode

DUP16

Source

pub const SWAP1: Opcode

SWAP1

Source

pub const SWAP2: Opcode

SWAP2

Source

pub const SWAP3: Opcode

SWAP3

Source

pub const SWAP4: Opcode

SWAP4

Source

pub const SWAP5: Opcode

SWAP5

Source

pub const SWAP6: Opcode

SWAP6

Source

pub const SWAP7: Opcode

SWAP7

Source

pub const SWAP8: Opcode

SWAP8

Source

pub const SWAP9: Opcode

SWAP9

Source

pub const SWAP10: Opcode

SWAP10

Source

pub const SWAP11: Opcode

SWAP11

Source

pub const SWAP12: Opcode

SWAP12

Source

pub const SWAP13: Opcode

SWAP13

Source

pub const SWAP14: Opcode

SWAP14

Source

pub const SWAP15: Opcode

SWAP15

Source

pub const SWAP16: Opcode

SWAP16

Source

pub const EOFMAGIC: Opcode

Source

pub const RETURN: Opcode

RETURN

Source

pub const REVERT: Opcode

REVERT

Source

pub const INVALID: Opcode

INVALID

Source§

impl Opcode

Source

pub const SHA3: Opcode

SHA3

Source

pub const ADDRESS: Opcode

ADDRESS

Source

pub const BALANCE: Opcode

BALANCE

Source

pub const ORIGIN: Opcode

ORIGIN

Source

pub const CALLER: Opcode

CALLER

Source

pub const CALLVALUE: Opcode

CALLVALUE

Source

pub const GASPRICE: Opcode

GASPRICE

Source

pub const EXTCODESIZE: Opcode

EXTCODESIZE

Source

pub const EXTCODECOPY: Opcode

EXTCODECOPY

Source

pub const RETURNDATASIZE: Opcode

RETURNDATASIZE

Source

pub const RETURNDATACOPY: Opcode

RETURNDATACOPY

Source

pub const EXTCODEHASH: Opcode

EXTCODEHASH

Source

pub const BLOCKHASH: Opcode

BLOCKHASH

Source

pub const COINBASE: Opcode

COINBASE

Source

pub const TIMESTAMP: Opcode

TIMESTAMP

Source

pub const NUMBER: Opcode

NUMBER

Source

pub const DIFFICULTY: Opcode

DIFFICULTY

Source

pub const GASLIMIT: Opcode

GASLIMIT

Source

pub const CHAINID: Opcode

CHAINID

Source

pub const SELFBALANCE: Opcode

SELFBALANCE

Source

pub const BASEFEE: Opcode

BASEFEE

Source

pub const BLOBHASH: Opcode

BLOBHASH

Source

pub const BLOBBASEFEE: Opcode

BLOBBASEFEE

Source

pub const SLOAD: Opcode

SLOAD

Source

pub const SSTORE: Opcode

SSTORE

Source

pub const GAS: Opcode

GAS

Source

pub const TLOAD: Opcode

TLOAD

Source

pub const TSTORE: Opcode

TSTORE

Source

pub const LOG0: Opcode

LOG0

Source

pub const LOG1: Opcode

LOG1

Source

pub const LOG2: Opcode

LOG2

Source

pub const LOG3: Opcode

LOG3

Source

pub const LOG4: Opcode

LOG4

Source

pub const CREATE: Opcode

CREATE

Source

pub const CALL: Opcode

CALL

Source

pub const CALLCODE: Opcode

CALLCODE

Source

pub const DELEGATECALL: Opcode

DELEGATECALL

Source

pub const CREATE2: Opcode

CREATE2

Source

pub const STATICCALL: Opcode

STATICCALL

Source

pub const SUICIDE: Opcode

SUICIDE

Source§

impl Opcode

Source

pub fn is_push(&self) -> Option<u8>

Whether the opcode is a push opcode.

Source

pub const fn as_u8(&self) -> u8

Convert opcode to u8.

Source

pub const fn as_usize(&self) -> usize

Convert opcode to usize.

Trait Implementations§

Source§

impl Clone for Opcode

Source§

fn clone(&self) -> Opcode

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Opcode

Source§

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

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

impl<'de> Deserialize<'de> for Opcode

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Opcode

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Opcode

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for Opcode

Source§

impl Eq for Opcode

Source§

impl StructuralPartialEq for Opcode

Auto Trait Implementations§

§

impl Freeze for Opcode

§

impl RefUnwindSafe for Opcode

§

impl Send for Opcode

§

impl Sync for Opcode

§

impl Unpin for Opcode

§

impl UnwindSafe for Opcode

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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> TrapConsume<T> for T

Source§

type Rest = Infallible

Rest type.
Source§

fn consume(self) -> Result<T, Infallible>

Consume T to get Rest.
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,