Re-exports

Modules

Macros

  • Creates a match statement that evaluates the operation.
  • Creates a match statement that executes the operation.
  • Creates a match statement that applies the given operation for each instruction.
  • Creates a new struct that implements the Operation trait.
  • Creates a match statement that returns the output type given the input types.

Structs

  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • Asserts an operation on two operands.
  • Compares first and second and jumps to position, if the condition is met.
  • Calls the operands into the declared type. i.e. call transfer r0.owner 0u64 r1.amount into r1 r2;
  • Casts the operands into the declared type.
  • Commits the operand into the declared type.
  • A contains command, e.g. contains accounts[r0] into r1;. Contains is true if a (key, value) entry exists in mapping, stores the result in destination.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • Finalizes an operation on the operands.
  • A get command, e.g. get accounts[r0] into r1;. Gets the value stored at operand in mapping and stores the result in destination.
  • A get command that uses the provided default in case of failure, e.g. get.or_use accounts[r0] r1 into r2;. Gets the value stored at operand in mapping and stores the result in destination. If the key is not present, default is stored in destination.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • Hashes the operand into the declared type.
  • An import statement defines an imported program, and is of the form import {name}.{network};. If no network-level domain is specified, the default network is used.
  • The implementation of the binary operation.
  • Computes an equality operation on two operands, and stores the outcome in destination.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • A position command, e.g. position exit. Indicates a position to which the program can branch to.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • A random-number generator command, e.g. rand.chacha into r1 as field; or rand.chacha r0 into r1 as field;, with the latter including an optional additional seed(s).
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • A remove command, e.g. remove mapping[r0]; Removes the (key, value) entry in mapping.
  • A set command, e.g. set r1 into mapping[r0]; Sets the key entry as value in mapping.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.
  • The implementation of the binary operation.

Enums

  • The operator references a function name or closure name.
  • The type of the cast operation.
  • Enum to represent the allowed set of Merkle tree operations.
  • The Opcode enum stores the mnemonic for the instruction.
  • The Operand enum represents the options for an operand in an instruction. This enum is designed to for instructions such as add {Register} {Literal} into {Register}.

Constants

Traits

Type Definitions

  • Compute the absolute value of first, checking for overflow/underflow, and storing the outcome in destination.
  • Compute the absolute value of first, wrapping around at the boundary of the type, and storing the outcome in destination.
  • Adds first with second, storing the outcome in destination.
  • Adds first with second, wrapping around at the boundary of the type, and storing the outcome in destination.
  • Performs a bitwise and on first and second, storing the outcome in destination.
  • Asserts two operands are equal to each other.
  • Asserts two operands are not equal to each other.
  • A binary literal operation.
  • Jumps to position, if first equals second.
  • Jumps to position, if first does not equal second.
  • BHP256 is a collision-resistant function that processes inputs in 256-bit chunks.
  • BHP512 is a collision-resistant function that processes inputs in 512-bit chunks.
  • BHP768 is a collision-resistant function that processes inputs in 768-bit chunks.
  • BHP1024 is a collision-resistant function that processes inputs in 1024-bit chunks.
  • Pedersen64 is a collision-resistant function that processes inputs in 64-bit chunks.
  • Pedersen128 is a collision-resistant function that processes inputs in 128-bit chunks.
  • Divides first by second, storing the outcome in destination.
  • Divides first by second, wrapping around at the boundary of the type, storing the outcome in destination.
  • Doubles first, storing the outcome in destination.
  • Finalizes the operands on-chain.
  • Computes whether first is greater than second as a boolean, storing the outcome in destination.
  • Computes whether first is greater than or equal to second as a boolean, storing the outcome in destination.
  • BHP256 is a collision-resistant hash function that processes inputs in 256-bit chunks.
  • BHP512 is a collision-resistant hash function that processes inputs in 512-bit chunks.
  • BHP768 is a collision-resistant hash function that processes inputs in 768-bit chunks.
  • BHP1024 is a collision-resistant hash function that processes inputs in 1024-bit chunks.
  • Poseidon2 is a cryptographic hash function that processes inputs in 2-field chunks.
  • Poseidon4 is a cryptographic hash function that processes inputs in 4-field chunks.
  • Poseidon8 is a cryptographic hash function that processes inputs in 8-field chunks.
  • Pedersen64 is a collision-resistant hash function that processes inputs in 64-bit chunks.
  • Pedersen128 is a collision-resistant hash function that processes inputs in 128-bit chunks.
  • Poseidon2 is a cryptographic hash function that processes inputs in 2-field chunks.
  • Poseidon4 is a cryptographic hash function that processes inputs in 4-field chunks.
  • Poseidon8 is a cryptographic hash function that processes inputs in 8-field chunks.
  • Computes the multiplicative inverse of first, storing the outcome in destination.
  • Computes whether first equals second as a boolean, storing the outcome in destination.
  • Computes whether first does not equals second as a boolean, storing the outcome in destination.
  • Computes whether first is less than second as a boolean, storing the outcome in destination.
  • Computes whether first is less than or equal to second as a boolean, storing the outcome in destination.
  • Computes the result of first mod second, storing the outcome in the destination.
  • Multiplies first and second, storing the outcome in destination.
  • Multiplies first and second, wrapping around at the boundary of the type, storing the outcome in destination.
  • Returns false if first and second are true, storing the outcome in destination.
  • Negates first, storing the outcome in destination.
  • Returns true if neither first nor second is true, storing the outcome in destination.
  • Flips each bit in the representation of first, storing the outcome in destination.
  • Performs a bitwise or on first and second, storing the outcome in destination.
  • Raises first to the power of second, storing the outcome in destination.
  • Raises first to the power of second, wrapping around at the boundary of the type, storing the outcome in destination.
  • Divides first by second, storing the remainder in destination.
  • Divides first by second, wrapping around at the boundary of the type, storing the remainder in destination.
  • Shifts first left by second bits, storing the outcome in destination.
  • Shifts first left by second bits, continuing past the boundary of the type, storing the outcome in destination.
  • Shifts first right by second bits, storing the outcome in destination.
  • Shifts first right by second bits, continuing past the boundary of the type, storing the outcome in destination.
  • Squares first, storing the outcome in destination.
  • Computes the square root of first, storing the outcome in destination.
  • Computes first - second, storing the outcome in destination.
  • Computes first - second, wrapping around at the boundary of the type, and storing the outcome in destination.
  • Selects first, if condition is true, otherwise selects second, storing the result in destination.
  • A ternary literal operation.
  • A unary literal operation.
  • Performs a bitwise xor on first and second, storing the outcome in destination.