Package convex.core.data
package convex.core.data
Data structures and algorithms, including a complete set of classes
required to implement immutable, decentralised data objects.
-
ClassDescriptionAbstract base class for binary data stored in Java arrays.Abstract base class for data objects containing immutable chunks of binary data.Abstract base class for Blob-like objects, which conceptually behave as a sequence of bytes.Immutable class representing an Ed25519 Public Key for an AccountClass representing the current on-chain status of an account.Abstract base class for Cells.ACollection<T extends ACell>Abstract base class for Persistent Merkle CollectionsACountable<E extends ACell>Abstract base class for Countable objects, supporting `count`, `nth`, `empty?` and `slice` Countable values support a count of elements and the ability to get by an element index.ADataStructure<E extends ACell>Abstract base class for Persistent data structures.Immutable class representing an Address, generally used to uniquely identify an Account.Abstract Blob base base for Blobs that derive their functionality from other sources.Abstract base class for Indexes: a sorted radix-tree map of Blobs to Values.Abstract base class for lists.Abstract base class for maps.Base class for Record data types.Abstract base class for generic records.Abstract base class for concrete sequential data structure (immutable persistent lists and vectors etc.)Abstract based class for sets.ASpecialVector<T extends ACell>BAse class for specialised vector implementationsAbstract base Class representing a CVM String.Abstract based class for symbolic objects (Keywords, Symbols)Abstract base class for vectors.General purpose immutable wrapper for byte array data.Implementation of a large Blob data structure consisting of 2 or more chunks.Static utility class for dealing with cellsEncoder for storesStatic utility class for message format encoding "Standards are always out of date.Class used to represent an immutable 32-byte Hash value.Interface for associative data structuresIndex node implementation, providing an efficient radix tree based immutable data structure for indexed access and sorting.Functional interface for operations on Cell Refs that may throw a MissingDataException In general, IRefFunction is used to provide a visitor for data objects containing nested Refs.Interface for classes that can be validatedKeyword data type.Static Keyword values for configuration maps, records etc.Implementation of a list wrapping a vector.Wrapper for an 8-byte long as a Blob We use this mainly for efficient management of indexes using Longs in Indexes.Map.Entry implementation for persistent maps.Limited size Persistent Merkle Map implemented as a small sorted list of Key/Value pairs Must be sorted by Key hash value to ensure uniqueness of representationUtility class for map functionsPersistent Map for large hash maps requiring tree structure.Class describing the on-chain state of a Peer declared on the network.Class representing a smart reference to a decentralised data value.Ref subclass for direct in-memory references.Static utilities for working with RefsReference class implemented via a soft reference and store lookup.Limited size Persistent Merkle Set implemented as a small sorted list of Values Must be sorted by Key hash value to ensure uniqueness of representationPersistent Set for large hash sets requiring tree structure.SignedData<T extends ACell>Node representing a signed data object.Class representing a short CVM string, backed by a flat Blob Used for most small strings, and acts as the leaf chunk for StringTreesAString subclass representing a view some String data.String implementation class wrapping a BlobTree.Class representing a Symbol.Class representing a Syntax Object.Class containing constant Tag values.VectorArray<T extends ACell>Non-canonical vector implementation designed to make operations on small temporary vectors more efficient.VectorLeaf<T extends ACell>A Persistent Vector implementation representing 0-16 elements with a packed Vector prefix.Static utility functions for working with VectorsVectorTree<T extends ACell>Persistent Vector implemented as a merkle tree of chunks shift indicates the level of the tree: 4 = 1st level, 8 = second etc.