Primitives

The fundamental types used in the protocol are essential for understanding its structure and functionality. These types, primarily described in Rust syntax, form the backbone of the protocol’s data handling and operation.

Common Types

Basic types that appear frequently throughout the protocol:

  • u8: Unsigned 8-bit integer.
  • u32: Unsigned 32-bit integer.
  • u64: Unsigned 64-bit integer.
  • u128: Unsigned 128-bit integer.
  • u256: Unsigned 256-bit integer.
  • Bytes32: A fixed-length array of 32 bytes ([u8; 32]).
  • Bytes: A variable-length vector of bytes (Vec<u8>).

Protocol Specific Types

Key types defined by the protocol include:

  • ID: Unique identifier for objects within a set.
  • Oid: Fullly qualified identifier for objects across universes.
  • PartialOid: Identifier for objects within a universe.
  • Revision: Version number of an object's state.
  • Selector: Identifier of a specific underlying asset of an object token.
  • Meta: Metadata containing key information about an object.
  • Time: Represents a specific moment within a universe.
  • Position: Represents Location within a universe.
  • Adjacency: Specifies how many objects of a certain kind can be accepted in a relation, serving as a core unit within the adjacency specification.