| Opcode ByteByte | Opcode NameOpcode | Operand | Stack Inputs | Stack Outputs | Description | Gas CostGas |
|---|---|---|---|---|---|---|
| 0x01 | POP | value | Pops and discards the top stack value. | 11 | ||
Description Pops and discards the top stack value. Stack Inputs value MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x02 | RET | ret_val_0...ret_val_n | Returns from the current frame. Exactly the function-signature return count remains on the shared operand stack for the caller; at top-level those values are the function return values. | 11 | ||
Description Returns from the current frame. Exactly the function-signature return count remains on the shared operand stack for the caller; at top-level those values are the function return values. Stack Inputs ret_val_0...ret_val_n MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x03 | BR_TRUE | offset | bool | Jumps to operand offset when condition is true. 'offset' is ULEB128-encoded and targets an opcode position in this function (not a byte/hex location). | 11 | |
Description Jumps to operand offset when condition is true. 'offset' is ULEB128-encoded and targets an opcode position in this function (not a byte/hex location). Operand offset Stack Inputs bool MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x04 | BR_FALSE | offset | bool | Jumps to operand offset when condition is false. 'offset' is ULEB128-encoded and targets an opcode position in this function (not a byte/hex location). | 11 | |
Description Jumps to operand offset when condition is false. 'offset' is ULEB128-encoded and targets an opcode position in this function (not a byte/hex location). Operand offset Stack Inputs bool MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x05 | BRANCH | offset | Unconditional jump to operand offset. 'offset' is ULEB128-encoded and targets an opcode position in this function (not a byte/hex location). | 11 | ||
Description Unconditional jump to operand offset. 'offset' is ULEB128-encoded and targets an opcode position in this function (not a byte/hex location). Operand offset MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x06 | LD_U64 | u64 | u64 | Pushes u64 immediate. 'u64' is a 8-byte little-endian immediate. | 1010 | |
Description Pushes u64 immediate. 'u64' is a 8-byte little-endian immediate. Operand u64 Stack Outputs u64 MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x07 | LD_CONST | idx | const[idx] | Pushes constant pool entry at idx. 'idx' is ULEB128 and points to CONSTANT_POOL. | 22 | |
Description Pushes constant pool entry at idx. 'idx' is ULEB128 and points to CONSTANT_POOL. Operand idx Stack Outputs const[idx] MoveVM Version
Gas Cost 2 Abort / failure conditions
| ||||||
| 0x08 | LD_TRUE | bool | Pushes boolean true immediate. | 33 | ||
Description Pushes boolean true immediate. Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x09 | LD_FALSE | bool | Pushes boolean false immediate. | 33 | ||
Description Pushes boolean false immediate. Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x0A | COPY_LOC | idx | T | Copies local[idx] to stack. 'idx' is a ULEB128 index operand. | 22 | |
Description Copies local[idx] to stack. 'idx' is a ULEB128 index operand. Operand idx Stack Outputs T MoveVM Version
Gas Cost 2 Abort / failure conditions
| ||||||
| 0x0B | MOVE_LOC | idx | T | Moves local[idx] to stack (local becomes invalid). 'idx' is a ULEB128 index operand. | 1010 | |
Description Moves local[idx] to stack (local becomes invalid). 'idx' is a ULEB128 index operand. Operand idx Stack Outputs T MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x0C | ST_LOC | idx | T | Stores top value into local[idx]. 'idx' is a ULEB128 index operand. | 11 | |
Description Stores top value into local[idx]. 'idx' is a ULEB128 index operand. Operand idx Stack Inputs T MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x0D | MUT_BORROW_LOC | idx | &mut T | Borrows local[idx] mutably. 'idx' is a ULEB128 index operand. | 1010 | |
Description Borrows local[idx] mutably. 'idx' is a ULEB128 index operand. Operand idx Stack Outputs &mut T MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x0E | IMM_BORROW_LOC | idx | &T | Borrows local[idx] immutably. 'idx' is a ULEB128 index operand. | 1010 | |
Description Borrows local[idx] immutably. 'idx' is a ULEB128 index operand. Operand idx Stack Outputs &T MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x0F | MUT_BORROW_FIELD | idx | &mut Struct | &mut Field | Borrows a field mutably from a struct reference. 'idx' is ULEB128 and points to FIELD_HANDLES. | 1010 |
Description Borrows a field mutably from a struct reference. 'idx' is ULEB128 and points to FIELD_HANDLES. Operand idx Stack Inputs &mut Struct Stack Outputs &mut Field MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x10 | IMM_BORROW_FIELD | idx | &Struct | &Field | Borrows a field immutably from a struct reference. 'idx' is ULEB128 and points to FIELD_HANDLES. | 1010 |
Description Borrows a field immutably from a struct reference. 'idx' is ULEB128 and points to FIELD_HANDLES. Operand idx Stack Inputs &Struct Stack Outputs &Field MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x11 | CALL | idx | arg_0...arg_n | ret_val_0...ret_val_n | Invokes a function. Arguments are consumed from the shared operand stack and moved into callee locals; when callee executes RET, declared return values are left on the same shared operand stack for the caller. 'idx' is ULEB128 and points to FUNCTION_HANDLES. | 11 |
Description Invokes a function. Arguments are consumed from the shared operand stack and moved into callee locals; when callee executes RET, declared return values are left on the same shared operand stack for the caller. 'idx' is ULEB128 and points to FUNCTION_HANDLES. Operand idx Stack Inputs arg_0...arg_n Stack Outputs ret_val_0...ret_val_n MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x12 | PACK | idx | struct_field_0...struct_field_n | struct<T> | Packs field values into a struct. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. | 44 |
Description Packs field values into a struct. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. Operand idx Stack Inputs struct_field_0...struct_field_n Stack Outputs struct<T> MoveVM Version
Gas Cost 4 Abort / failure conditions
| ||||||
| 0x13 | UNPACK | idx | struct<T> | struct_field_0...struct_field_n | Unpacks struct into its fields. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. | 11 |
Description Unpacks struct into its fields. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. Operand idx Stack Inputs struct<T> Stack Outputs struct_field_0...struct_field_n MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x14 | READ_REF | &T or &mut T | T | Reads value through a reference. | 22 | |
Description Reads value through a reference. Stack Inputs &T or &mut T Stack Outputs T MoveVM Version
Gas Cost 2 Abort / failure conditions
| ||||||
| 0x15 | WRITE_REF | T&mut T | Writes value through a mutable reference. | 11 | ||
Description Writes value through a mutable reference. Stack Inputs T&mut T MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x16 | ADD | uNuN | uN | Adds two unsigned integers of the same width: lhs + rhs. | 3434 | |
Description Adds two unsigned integers of the same width: lhs + rhs. Stack Inputs uNuN Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x17 | SUB | uNuN | uN | Subtracts two unsigned integers of the same width: lhs - rhs. | 3434 | |
Description Subtracts two unsigned integers of the same width: lhs - rhs. Stack Inputs uNuN Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x18 | MUL | uNuN | uN | Multiplies two unsigned integers of the same width: lhs * rhs. | 3434 | |
Description Multiplies two unsigned integers of the same width: lhs * rhs. Stack Inputs uNuN Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x19 | MOD | uNuN | uN | Computes unsigned remainder of same-width integers: lhs % rhs. | 3434 | |
Description Computes unsigned remainder of same-width integers: lhs % rhs. Stack Inputs uNuN Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x1A | DIV | uNuN | uN | Computes unsigned division of same-width integers: lhs / rhs. | 3434 | |
Description Computes unsigned division of same-width integers: lhs / rhs. Stack Inputs uNuN Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x1B | BIT_OR | uNuN | uN | Bitwise OR on same-width unsigned integers: lhs | rhs. | 3434 | |
Description Bitwise OR on same-width unsigned integers: lhs | rhs. Stack Inputs uNuN Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x1C | BIT_AND | uNuN | uN | Bitwise AND on same-width unsigned integers: lhs & rhs. | 3434 | |
Description Bitwise AND on same-width unsigned integers: lhs & rhs. Stack Inputs uNuN Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x1D | XOR | uNuN | uN | Bitwise XOR on same-width unsigned integers: lhs ^ rhs. | 3434 | |
Description Bitwise XOR on same-width unsigned integers: lhs ^ rhs. Stack Inputs uNuN Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x1E | OR | boolbool | bool | Boolean OR operation: lhs || rhs. | 33 | |
Description Boolean OR operation: lhs || rhs. Stack Inputs boolbool Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x1F | AND | boolbool | bool | Boolean AND operation: lhs && rhs. | 33 | |
Description Boolean AND operation: lhs && rhs. Stack Inputs boolbool Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x20 | NOT | bool | bool | Boolean negation. | 33 | |
Description Boolean negation. Stack Inputs bool Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x21 | EQ | TT | bool | Equality comparison: pushes true iff lhs == rhs. | 33 | |
Description Equality comparison: pushes true iff lhs == rhs. Stack Inputs TT Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x22 | NEQ | TT | bool | Inequality comparison: pushes true iff lhs != rhs. | 22 | |
Description Inequality comparison: pushes true iff lhs != rhs. Stack Inputs TT Stack Outputs bool MoveVM Version
Gas Cost 2 Abort / failure conditions
| ||||||
| 0x23 | LT | uNuN | bool | Unsigned comparison: pushes true iff lhs < rhs. | 33 | |
Description Unsigned comparison: pushes true iff lhs < rhs. Stack Inputs uNuN Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x24 | GT | uNuN | bool | Unsigned comparison: pushes true iff lhs > rhs. | 33 | |
Description Unsigned comparison: pushes true iff lhs > rhs. Stack Inputs uNuN Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x25 | LE | uNuN | bool | Unsigned comparison: pushes true iff lhs <= rhs. | 33 | |
Description Unsigned comparison: pushes true iff lhs <= rhs. Stack Inputs uNuN Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x26 | GE | uNuN | bool | Unsigned comparison: pushes true iff lhs >= rhs. | 33 | |
Description Unsigned comparison: pushes true iff lhs >= rhs. Stack Inputs uNuN Stack Outputs bool MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x27 | ABORT | u64 | Aborts execution with the given sub-status code. | 11 | ||
Description Aborts execution with the given sub-status code. Stack Inputs u64 MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x28 | NOP | No operation. | 11 | |||
Description No operation. MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x29 | EXISTS | idx | address | bool | Checks if resource/object of type T exists at address. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. | |
Description Checks if resource/object of type T exists at address. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. Operand idx Stack Inputs address Stack Outputs bool MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x2A | MUT_BORROW_GLOBAL | idx | address | &mut T | Borrows global resource/object mutably. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. | |
Description Borrows global resource/object mutably. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. Operand idx Stack Inputs address Stack Outputs &mut T MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x2B | IMM_BORROW_GLOBAL | idx | address | &T | Borrows global resource/object immutably. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. | |
Description Borrows global resource/object immutably. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. Operand idx Stack Inputs address Stack Outputs &T MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x2C | MOVE_FROM | idx | address | T | Moves global resource/object out of storage. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. | |
Description Moves global resource/object out of storage. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. Operand idx Stack Inputs address Stack Outputs T MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x2D | MOVE_TO | idx | addressT | Moves a resource/object into storage. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. | ||
Description Moves a resource/object into storage. 'idx' is ULEB128 and points to STRUCT_DEFINITIONS. Operand idx Stack Inputs addressT MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x2E | FREEZE_REF | &mut T | &T | Converts mutable reference into immutable reference. | 1010 | |
Description Converts mutable reference into immutable reference. Stack Inputs &mut T Stack Outputs &T MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x2F | SHL | uNu8 | uN | Left shift on unsigned integer by u8 shift count: lhs << rhs. | 3434 | |
Description Left shift on unsigned integer by u8 shift count: lhs << rhs. Stack Inputs uNu8 Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x30 | SHR | uNu8 | uN | Right shift on unsigned integer by u8 shift count: lhs >> rhs. | 3434 | |
Description Right shift on unsigned integer by u8 shift count: lhs >> rhs. Stack Inputs uNu8 Stack Outputs uN MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x31 | LD_U8 | u8 | u8 | Pushes u8 immediate. 'u8' is a 1-byte little-endian immediate. | 33 | |
Description Pushes u8 immediate. 'u8' is a 1-byte little-endian immediate. Operand u8 Stack Outputs u8 MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x32 | LD_U128 | u128 | u128 | Pushes u128 immediate. 'u128' is a 16-byte little-endian immediate. | 1818 | |
Description Pushes u128 immediate. 'u128' is a 16-byte little-endian immediate. Operand u128 Stack Outputs u128 MoveVM Version
Gas Cost 18 Abort / failure conditions
| ||||||
| 0x33 | CAST_U8 | uN | u8 | Casts integer to u8. | 33 | |
Description Casts integer to u8. Stack Inputs uN Stack Outputs u8 MoveVM Version
Gas Cost 3 Abort / failure conditions
| ||||||
| 0x34 | CAST_U64 | uN | u64 | Casts integer to u64. | 1010 | |
Description Casts integer to u64. Stack Inputs uN Stack Outputs u64 MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x35 | CAST_U128 | uN | u128 | Casts integer to u128. | 1818 | |
Description Casts integer to u128. Stack Inputs uN Stack Outputs u128 MoveVM Version
Gas Cost 18 Abort / failure conditions
| ||||||
| 0x36 | MUT_BORROW_FIELD_GENERIC | idx | &mut Struct | &mut Field | Borrows a field mutably from a struct reference. 'idx' is ULEB128 and points to FIELD_INSTANTIATIONS. | 1010 |
Description Borrows a field mutably from a struct reference. 'idx' is ULEB128 and points to FIELD_INSTANTIATIONS. Operand idx Stack Inputs &mut Struct Stack Outputs &mut Field MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x37 | IMM_BORROW_FIELD_GENERIC | idx | &Struct | &Field | Borrows a field immutably from a struct reference. 'idx' is ULEB128 and points to FIELD_INSTANTIATIONS. | 1010 |
Description Borrows a field immutably from a struct reference. 'idx' is ULEB128 and points to FIELD_INSTANTIATIONS. Operand idx Stack Inputs &Struct Stack Outputs &Field MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x38 | CALL_GENERIC | idx | arg_0...arg_n | ret_val_0...ret_val_n | Invokes a generic function. Arguments are consumed from the shared operand stack and moved into callee locals; when callee executes RET, declared return values are left on the same shared operand stack for the caller. 'idx' is ULEB128 and points to FUNCTION_INSTANTIATIONS. | 11 |
Description Invokes a generic function. Arguments are consumed from the shared operand stack and moved into callee locals; when callee executes RET, declared return values are left on the same shared operand stack for the caller. 'idx' is ULEB128 and points to FUNCTION_INSTANTIATIONS. Operand idx Stack Inputs arg_0...arg_n Stack Outputs ret_val_0...ret_val_n MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x39 | PACK_GENERIC | idx | struct_field_0...struct_field_n | struct<T> | Packs field values into a struct. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. | 44 |
Description Packs field values into a struct. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. Operand idx Stack Inputs struct_field_0...struct_field_n Stack Outputs struct<T> MoveVM Version
Gas Cost 4 Abort / failure conditions
| ||||||
| 0x3A | UNPACK_GENERIC | idx | struct<T> | struct_field_0...struct_field_n | Unpacks struct into its fields. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. | 11 |
Description Unpacks struct into its fields. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. Operand idx Stack Inputs struct<T> Stack Outputs struct_field_0...struct_field_n MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x3B | EXISTS_GENERIC | idx | address | bool | Checks if resource/object of type T exists at address. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. | |
Description Checks if resource/object of type T exists at address. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. Operand idx Stack Inputs address Stack Outputs bool MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x3C | MUT_BORROW_GLOBAL_GENERIC | idx | address | &mut T | Borrows global resource/object mutably. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. | |
Description Borrows global resource/object mutably. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. Operand idx Stack Inputs address Stack Outputs &mut T MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x3D | IMM_BORROW_GLOBAL_GENERIC | idx | address | &T | Borrows global resource/object immutably. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. | |
Description Borrows global resource/object immutably. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. Operand idx Stack Inputs address Stack Outputs &T MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x3E | MOVE_FROM_GENERIC | idx | address | T | Moves global resource/object out of storage. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. | |
Description Moves global resource/object out of storage. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. Operand idx Stack Inputs address Stack Outputs T MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x3F | MOVE_TO_GENERIC | idx | addressT | Moves a resource/object into storage. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. | ||
Description Moves a resource/object into storage. 'idx' is ULEB128 and points to STRUCT_DEF_INSTANTIATIONS. Operand idx Stack Inputs addressT MoveVM Version No opcode-specific entries. Abort / failure conditions
| ||||||
| 0x40 | VEC_PACK | idxu64 | element_0...element_n | vector<T> | Packs N values into vector. 'idx' is ULEB128 and points to SIGNATURES. 'u64' is a 8-byte little-endian immediate. | 1010 |
Description Packs N values into vector. 'idx' is ULEB128 and points to SIGNATURES. 'u64' is a 8-byte little-endian immediate. Operand idxu64 Stack Inputs element_0...element_n Stack Outputs vector<T> MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x41 | VEC_LEN | idx | &vector<T> or vector<T> | u64 | Returns vector length. 'idx' is ULEB128 and points to SIGNATURES. | 1010 |
Description Returns vector length. 'idx' is ULEB128 and points to SIGNATURES. Operand idx Stack Inputs &vector<T> or vector<T> Stack Outputs u64 MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x42 | VEC_IMM_BORROW | idx | u64 index&vector<T> | &T | Borrows vector element immutably. 'idx' is ULEB128 and points to SIGNATURES. | 1010 |
Description Borrows vector element immutably. 'idx' is ULEB128 and points to SIGNATURES. Operand idx Stack Inputs u64 index&vector<T> Stack Outputs &T MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x43 | VEC_MUT_BORROW | idx | u64 index&mut vector<T> | &mut T | Borrows vector element mutably. 'idx' is ULEB128 and points to SIGNATURES. | 1010 |
Description Borrows vector element mutably. 'idx' is ULEB128 and points to SIGNATURES. Operand idx Stack Inputs u64 index&mut vector<T> Stack Outputs &mut T MoveVM Version
Gas Cost 10 Abort / failure conditions
| ||||||
| 0x44 | VEC_PUSH_BACK | idx | T&mut vector<T> | Appends element to vector. 'idx' is ULEB128 and points to SIGNATURES. | 11 | |
Description Appends element to vector. 'idx' is ULEB128 and points to SIGNATURES. Operand idx Stack Inputs T&mut vector<T> MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x45 | VEC_POP_BACK | idx | &mut vector<T> | T | Pops and returns last vector element. 'idx' is ULEB128 and points to SIGNATURES. | 22 |
Description Pops and returns last vector element. 'idx' is ULEB128 and points to SIGNATURES. Operand idx Stack Inputs &mut vector<T> Stack Outputs T MoveVM Version
Gas Cost 2 Abort / failure conditions
| ||||||
| 0x46 | VEC_UNPACK | idxu64 | vector<T> | element_0...element_n | Unpacks vector into N values. 'idx' is ULEB128 and points to SIGNATURES. 'u64' is a 8-byte little-endian immediate. | 11 |
Description Unpacks vector into N values. 'idx' is ULEB128 and points to SIGNATURES. 'u64' is a 8-byte little-endian immediate. Operand idxu64 Stack Inputs vector<T> Stack Outputs element_0...element_n MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x47 | VEC_SWAP | idx | u64 iu64 j&mut vector<T> | Swaps two vector elements. 'idx' is ULEB128 and points to SIGNATURES. | 11 | |
Description Swaps two vector elements. 'idx' is ULEB128 and points to SIGNATURES. Operand idx Stack Inputs u64 iu64 j&mut vector<T> MoveVM Version
Gas Cost 1 Abort / failure conditions
| ||||||
| 0x48 | LD_U16 | u16 | u16 | Pushes u16 immediate. 'u16' is a 2-byte little-endian immediate. | 44 | |
Description Pushes u16 immediate. 'u16' is a 2-byte little-endian immediate. Operand u16 Stack Outputs u16 MoveVM Version
Gas Cost 4 Abort / failure conditions
| ||||||
| 0x49 | LD_U32 | u32 | u32 | Pushes u32 immediate. 'u32' is a 4-byte little-endian immediate. | 66 | |
Description Pushes u32 immediate. 'u32' is a 4-byte little-endian immediate. Operand u32 Stack Outputs u32 MoveVM Version
Gas Cost 6 Abort / failure conditions
| ||||||
| 0x4A | LD_U256 | u256 | u256 | Pushes u256 immediate. 'u256' is a 32-byte little-endian immediate. | 3434 | |
Description Pushes u256 immediate. 'u256' is a 32-byte little-endian immediate. Operand u256 Stack Outputs u256 MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x4B | CAST_U16 | uN | u16 | Casts integer to u16. | 44 | |
Description Casts integer to u16. Stack Inputs uN Stack Outputs u16 MoveVM Version
Gas Cost 4 Abort / failure conditions
| ||||||
| 0x4C | CAST_U32 | uN | u32 | Casts integer to u32. | 66 | |
Description Casts integer to u32. Stack Inputs uN Stack Outputs u32 MoveVM Version
Gas Cost 6 Abort / failure conditions
| ||||||
| 0x4D | CAST_U256 | uN | u256 | Casts integer to u256. | 3434 | |
Description Casts integer to u256. Stack Inputs uN Stack Outputs u256 MoveVM Version
Gas Cost 34 Abort / failure conditions
| ||||||
| 0x4E | PACK_VARIANT | idx | variant_field_0...variant_field_n | variant<E::V> | Packs fields into enum variant value. 'idx' is ULEB128 and points to VARIANT_HANDLES. | 44 |
Description Packs fields into enum variant value. 'idx' is ULEB128 and points to VARIANT_HANDLES. Operand idx Stack Inputs variant_field_0...variant_field_n Stack Outputs variant<E::V> MoveVM Version No opcode-specific entries. Gas Cost 4 Abort / failure conditions
| ||||||
| 0x4F | PACK_VARIANT_GENERIC | idx | variant_field_0...variant_field_n | variant<E::V> | Packs fields into enum variant value. 'idx' is ULEB128 and points to VARIANT_INST_HANDLES. | 44 |
Description Packs fields into enum variant value. 'idx' is ULEB128 and points to VARIANT_INST_HANDLES. Operand idx Stack Inputs variant_field_0...variant_field_n Stack Outputs variant<E::V> MoveVM Version No opcode-specific entries. Gas Cost 4 Abort / failure conditions
| ||||||
| 0x50 | UNPACK_VARIANT | idx | variant<E::V> | variant_field_0...variant_field_n | Unpacks enum variant into field values. 'idx' is ULEB128 and points to VARIANT_HANDLES. | 11 |
Description Unpacks enum variant into field values. 'idx' is ULEB128 and points to VARIANT_HANDLES. Operand idx Stack Inputs variant<E::V> Stack Outputs variant_field_0...variant_field_n MoveVM Version No opcode-specific entries. Gas Cost 1 Abort / failure conditions
| ||||||
| 0x51 | UNPACK_VARIANT_IMM_REF | idx | &variant<E::V> | &field_0...&field_n | Borrows fields from variant reference immutably. 'idx' is ULEB128 and points to VARIANT_HANDLES. | 11 |
Description Borrows fields from variant reference immutably. 'idx' is ULEB128 and points to VARIANT_HANDLES. Operand idx Stack Inputs &variant<E::V> Stack Outputs &field_0...&field_n MoveVM Version No opcode-specific entries. Gas Cost 1 Abort / failure conditions
| ||||||
| 0x52 | UNPACK_VARIANT_MUT_REF | idx | &mut variant<E::V> | &mut field_0...&mut field_n | Borrows fields from variant reference mutably. 'idx' is ULEB128 and points to VARIANT_HANDLES. | 11 |
Description Borrows fields from variant reference mutably. 'idx' is ULEB128 and points to VARIANT_HANDLES. Operand idx Stack Inputs &mut variant<E::V> Stack Outputs &mut field_0...&mut field_n MoveVM Version No opcode-specific entries. Gas Cost 1 Abort / failure conditions
| ||||||
| 0x53 | UNPACK_VARIANT_GENERIC | idx | variant<E::V> | variant_field_0...variant_field_n | Unpacks enum variant into field values. 'idx' is ULEB128 and points to VARIANT_INST_HANDLES. | 11 |
Description Unpacks enum variant into field values. 'idx' is ULEB128 and points to VARIANT_INST_HANDLES. Operand idx Stack Inputs variant<E::V> Stack Outputs variant_field_0...variant_field_n MoveVM Version No opcode-specific entries. Gas Cost 1 Abort / failure conditions
| ||||||
| 0x54 | UNPACK_VARIANT_GENERIC_IMM_REF | idx | &variant<E::V> | &field_0...&field_n | Borrows fields from variant reference immutably. 'idx' is ULEB128 and points to VARIANT_INST_HANDLES. | 11 |
Description Borrows fields from variant reference immutably. 'idx' is ULEB128 and points to VARIANT_INST_HANDLES. Operand idx Stack Inputs &variant<E::V> Stack Outputs &field_0...&field_n MoveVM Version No opcode-specific entries. Gas Cost 1 Abort / failure conditions
| ||||||
| 0x55 | UNPACK_VARIANT_GENERIC_MUT_REF | idx | &mut variant<E::V> | &mut field_0...&mut field_n | Borrows fields from variant reference mutably. 'idx' is ULEB128 and points to VARIANT_INST_HANDLES. | 11 |
Description Borrows fields from variant reference mutably. 'idx' is ULEB128 and points to VARIANT_INST_HANDLES. Operand idx Stack Inputs &mut variant<E::V> Stack Outputs &mut field_0...&mut field_n MoveVM Version No opcode-specific entries. Gas Cost 1 Abort / failure conditions
| ||||||
| 0x56 | VARIANT_SWITCH | idx | &variant<E> | Branches by variant tag via jump table. 'idx' is ULEB128 and points to VARIANT_JUMP_TABLE (function-local). | 11 | |
Description Branches by variant tag via jump table. 'idx' is ULEB128 and points to VARIANT_JUMP_TABLE (function-local). Operand idx Stack Inputs &variant<E> MoveVM Version No opcode-specific entries. Gas Cost 1 Abort / failure conditions
| ||||||