Expand description
Definitions and implementations for each unique instruction type, one for each
unique Opcode
variant.
Structs
Adds two registers.
Adds a register and an immediate value.
Allocate a number of bytes from the heap.
Bitwise ANDs two registers.
Bitwise ANDs a register and an immediate value.
Get the balance of contract of an asset ID.
Get current block height.
Get block header hash for height.
Burn coins of the current contract’s asset ID.
Call a contract.
Get current block proposer’s address.
Copy contract code for a contract.
Extend the current call frame’s stack by an immediate value.
Shrink the current call frame’s stack by an immediate value.
Get code root of a contract.
Get code size of a contract.
Divides two registers.
Divides a register and an immediate value.
The 64-byte public key (x, y) recovered from 64-byte signature on 32-byte message.
Compares two registers for equality.
Raises one register to the power of another.
Raises one register to the power of an immediate value.
Set flag register to a register.
Get metadata from memory.
Compares two registers for greater-than.
Get transaction fields.
Jump.
Dynamic jump.
Conditional dynamic jump.
Conditional jump.
Conditional jump against zero.
The keccak-256 hash of a slice.
A byte is loaded from the specified address offset by an immediate value.
Load a contract’s code as executable.
Log an event.
Log data.
Compares two registers for less-than.
A word is loaded from the specified address offset by an immediate value.
Clear a variable number of bytes in memory.
Clear an immediate number of bytes in memory.
Copy a variable number of bytes in memory.
Copy an immediate number of bytes in memory.
Compare bytes in memory.
Mint coins of the current contract’s asset ID.
The integer logarithm of a register.
Modulo remainder of two registers.
Modulo remainder of a register and an immediate value.
Copy from one register to another.
Copy immediate value into a register
The integer root of a register.
Multiplies two registers.
Multiplies a register and an immediate value.
Performs no operation.
Bitwise NOT a register.
Bitwise ORs two registers.
Bitwise ORs a register and an immediate value.
Return from context.
Return from context with data.
Halt execution, reverting state changes and returning a value.
The SHA-2-256 hash of a slice.
Write the least significant byte of a register to memory.
Clear a series of slots from contract storage.
Left shifts a register by a register.
Left shifts a register by an immediate value.
Send a message to recipient address with call abi, coins, and output.
Right shifts a register by a register.
Right shifts a register by an immediate value.
Load a word from contract storage.
Load a series of 32 byte slots from contract storage.
Subtracts two registers.
Subtracts a register and an immediate value.
Write a register to memory.
Store a word in contract storage.
Store a series of 32 byte slots in contract storage.
Get timestamp of block at given height.
Transfer coins to a contract unconditionally.
Transfer coins to a variable output.
Bitwise XORs two registers.
Bitwise XORs a register and an immediate value.
Functions
Adds two registers.
Adds a register and an immediate value.
Allocate a number of bytes from the heap.
Bitwise ANDs two registers.
Bitwise ANDs a register and an immediate value.
Get the balance of contract of an asset ID.
Get current block height.
Get block header hash for height.
Burn coins of the current contract’s asset ID.
Call a contract.
Get current block proposer’s address.
Copy contract code for a contract.
Extend the current call frame’s stack by an immediate value.
Shrink the current call frame’s stack by an immediate value.
Get code root of a contract.
Get code size of a contract.
Divides two registers.
Divides a register and an immediate value.
The 64-byte public key (x, y) recovered from 64-byte signature on 32-byte message.
Compares two registers for equality.
Raises one register to the power of another.
Raises one register to the power of an immediate value.
Set flag register to a register.
Get metadata from memory.
Construct a
GM
instruction from its arguments.Compares two registers for greater-than.
Get transaction fields.
Construct a
GM
instruction from its arguments.Jump.
Dynamic jump.
Conditional dynamic jump.
Conditional jump.
Conditional jump against zero.
The keccak-256 hash of a slice.
A byte is loaded from the specified address offset by an immediate value.
Load a contract’s code as executable.
Log an event.
Log data.
Compares two registers for less-than.
A word is loaded from the specified address offset by an immediate value.
Clear a variable number of bytes in memory.
Clear an immediate number of bytes in memory.
Copy a variable number of bytes in memory.
Copy an immediate number of bytes in memory.
Compare bytes in memory.
Mint coins of the current contract’s asset ID.
The integer logarithm of a register.
Modulo remainder of two registers.
Modulo remainder of a register and an immediate value.
Copy from one register to another.
Copy immediate value into a register
The integer root of a register.
Multiplies two registers.
Multiplies a register and an immediate value.
Performs no operation.
Bitwise NOT a register.
Bitwise ORs two registers.
Bitwise ORs a register and an immediate value.
Return from context.
Return from context with data.
Halt execution, reverting state changes and returning a value.
The SHA-2-256 hash of a slice.
Write the least significant byte of a register to memory.
Clear a series of slots from contract storage.
Left shifts a register by a register.
Left shifts a register by an immediate value.
Send a message to recipient address with call abi, coins, and output.
Right shifts a register by a register.
Right shifts a register by an immediate value.
Load a word from contract storage.
Load a series of 32 byte slots from contract storage.
Subtracts two registers.
Subtracts a register and an immediate value.
Write a register to memory.
Store a word in contract storage.
Store a series of 32 byte slots in contract storage.
Get timestamp of block at given height.
Transfer coins to a contract unconditionally.
Transfer coins to a variable output.
Bitwise XORs two registers.
Bitwise XORs a register and an immediate value.