Enum vvm::Instruction [−][src]
Virtual machine bytecode instruction.
Variants
halts execution
addition operation
mulitplication operation
subtraction operation
integer division operation
signed integer division operation
modulo remainder operation
signed modulo remainder operation
unsigned modular addition
unsigned modular multiplication
exponential operation
extend length of signed integer
less-than comparision
greater-than comparision
signed less-than comparision
signed greater-than comparision
equality comparision
simple not operator
bitwise AND operation
bitwise OR operation
bitwise XOR operation
bitwise NOT opertation
retrieve single byte from word
shift left operation
logical shift right operation
arithmetic shift right operation
compute SHA3-256 hash
get address of currently executing account
get balance of the given account
get execution origination address
get caller address
get deposited value by the instruction/transaction responsible for this execution
get input data of current environment
get size of input data in current environment
copy input data in current environment to memory
get size of code running in current environment
copy code running in current environment to memory
get price of gas in current environment
get external code size (from another contract)
copy external code (from another contract)
get the size of the return data buffer for the last call
copy return data buffer to memory
return the keccak256 hash of contract code
get hash of most recent complete block
get the block’s coinbase address
get the block’s timestamp
get the block’s number
get the block’s difficulty
get the block’s gas limit
get chain ID
get balance of own account
remove item from stack
load word from memory
save word to memory
save byte to memory
load word from storage
save word to storage
alter the program counter
conditionally alter the program counter
get the program counter
get the size of active memory
get the amount of available gas
set a potential jump destination
place 1 byte item on stack
place 2 byte item on stack
place 3 byte item on stack
place 4 byte item on stack
place 5 byte item on stack
place 6 byte item on stack
place 7 byte item on stack
place 8 byte item on stack
place 9 byte item on stack
place 10 byte item on stack
place 11 byte item on stack
place 12 byte item on stack
place 13 byte item on stack
place 14 byte item on stack
place 15 byte item on stack
place 16 byte item on stack
place 17 byte item on stack
place 18 byte item on stack
place 19 byte item on stack
place 20 byte item on stack
place 21 byte item on stack
place 22 byte item on stack
place 23 byte item on stack
place 24 byte item on stack
place 25 byte item on stack
place 26 byte item on stack
place 27 byte item on stack
place 28 byte item on stack
place 29 byte item on stack
place 30 byte item on stack
place 31 byte item on stack
place 32 byte item on stack
copies the highest item in the stack to the top of the stack
copies the second highest item in the stack to the top of the stack
copies the third highest item in the stack to the top of the stack
copies the 4th highest item in the stack to the top of the stack
copies the 5th highest item in the stack to the top of the stack
copies the 6th highest item in the stack to the top of the stack
copies the 7th highest item in the stack to the top of the stack
copies the 8th highest item in the stack to the top of the stack
copies the 9th highest item in the stack to the top of the stack
copies the 10th highest item in the stack to the top of the stack
copies the 11th highest item in the stack to the top of the stack
copies the 12th highest item in the stack to the top of the stack
copies the 13th highest item in the stack to the top of the stack
copies the 14th highest item in the stack to the top of the stack
copies the 15th highest item in the stack to the top of the stack
copies the 16th highest item in the stack to the top of the stack
swaps the highest and second highest value on the stack
swaps the highest and third highest value on the stack
swaps the highest and 4th highest value on the stack
swaps the highest and 5th highest value on the stack
swaps the highest and 6th highest value on the stack
swaps the highest and 7th highest value on the stack
swaps the highest and 8th highest value on the stack
swaps the highest and 9th highest value on the stack
swaps the highest and 10th highest value on the stack
swaps the highest and 11th highest value on the stack
swaps the highest and 12th highest value on the stack
swaps the highest and 13th highest value on the stack
swaps the highest and 14th highest value on the stack
swaps the highest and 15th highest value on the stack
swaps the highest and 16th highest value on the stack
swaps the highest and 17th highest value on the stack
Makes a log entry, no topics.
Makes a log entry, 1 topic.
Makes a log entry, 2 topics.
Makes a log entry, 3 topics.
Makes a log entry, 4 topics.
create a new account with associated code
message-call into an account
message-call with another account’s code only
halt execution returning output data
like CALLCODE but keeps caller’s value and sender
create a new account and set creation address to sha3(sender + sha3(init code)) % 2**160
stop execution and revert state changes. Return output data.
like CALL but it does not take value, nor modify the state
halt execution and register account for later deletion
Implementations
impl Instruction
[src]
impl Instruction
[src]
pub fn is_push(&self) -> bool
[src]
Returns true if given instruction is PUSHN
instruction.
pub fn push_bytes(&self) -> Option<usize>
[src]
Returns number of bytes to read for PUSHN
instruction
PUSH1 -> 1
pub fn dup_position(&self) -> Option<usize>
[src]
Returns stack position of item to duplicate DUP1 -> 0
pub fn swap_position(&self) -> Option<usize>
[src]
Returns stack position of item to SWAP top with SWAP1 -> 1
pub fn log_topics(&self) -> Option<usize>
[src]
Returns number of topics to take from stack LOG0 -> 0
pub fn info(&self) -> &'static InstructionInfo
[src]
Returns the instruction info.
Trait Implementations
impl Clone for Instruction
[src]
fn clone(&self) -> Instruction
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for Instruction
[src]
impl Debug for Instruction
[src]
impl Eq for Instruction
[src]
impl Hash for Instruction
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for Instruction
[src]
fn cmp(&self, other: &Instruction) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<Instruction> for Instruction
[src]
fn eq(&self, other: &Instruction) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<Instruction> for Instruction
[src]
fn partial_cmp(&self, other: &Instruction) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for Instruction
[src]
impl StructuralPartialEq for Instruction
[src]
Auto Trait Implementations
impl RefUnwindSafe for Instruction
impl Send for Instruction
impl Sync for Instruction
impl Unpin for Instruction
impl UnwindSafe for Instruction
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,