Uses of Interface
convex.core.data.IWriteable
Packages that use IWriteable
Package
Description
Fundamental Convex classes used for the decentralised network
Crypto algorithms used within Convex, particularly for digital signatures and
cryptographic hashes
Data structures and algorithms, including a complete set of classes
required to implement immutable, decentralised data objects.
Implementation of CVM Primitive Data types
Core CVM implementation
Internal CVM language implementation classes
CVM Operations, effectively the "machine code" of the CVM
Convex network transaction types.
-
Uses of IWriteable in convex.core
Classes in convex.core that implement IWriteableModifier and TypeClassDescriptionclassClass representing a Peer's view of the overall network consensus state.final classA Block contains an ordered collection of signed transactions that may be applied collectively as part of a state update.classClass representing the result of applying a Block to a State.classClass representing an Ordering of transactions, along with the consensus position.classTransaction Receipt record.final classClass representing the result of a Query or Transaction.classClass representing the immutable state of the CVM State transitions are represented by blocks of transactions, according to the logic: s[n+1] = s[n].applyBlock(b[n]) State contains the following elements - Map of AccountStatus for every Address - Map of PeerStatus for every Peer Address - Global values - Schedule data structure "State. -
Uses of IWriteable in convex.core.crypto
Classes in convex.core.crypto that implement IWriteableModifier and TypeClassDescriptionclassClass representing a cryptographic signatureclassImmutable data value class representing an Ed25519 digital signature. -
Uses of IWriteable in convex.core.data
Classes in convex.core.data that implement IWriteableModifier and TypeClassDescriptionclassAbstract base class for binary data stored in Java arrays.classAbstract base class for data objects containing immutable chunks of binary data.classAbstract base class for Blob-like objects, which conceptually behave as a sequence of bytes.classImmutable class representing an Ed25519 Public Key for an AccountclassClass representing the current on-chain status of an account.classAbstract base class for Cells.classACollection<T extends ACell>Abstract base class for Persistent Merkle CollectionsclassACountable<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.classADataStructure<E extends ACell>Abstract base class for Persistent data structures.final classImmutable class representing an Address, generally used to uniquely identify an Account.classAbstract Blob base base for Blobs that derive their functionality from other sources.classclassclassAbstract base class for Indexes: a sorted radix-tree map of Blobs to Values.classAbstract base class for lists.classclassAbstract base class for maps.classclassBase class for Record data types.classAbstract base class for generic records.classAbstract base class for concrete sequential data structure (immutable persistent lists and vectors etc.)classAbstract based class for sets.classASpecialVector<T extends ACell>BAse class for specialised vector implementationsclassAbstract base Class representing a CVM String.classAbstract based class for symbolic objects (Keywords, Symbols)classAbstract base class for vectors.classGeneral purpose immutable wrapper for byte array data.classImplementation of a large Blob data structure consisting of 2 or more chunks.classClass used to represent an immutable 32-byte Hash value.final classIndex node implementation, providing an efficient radix tree based immutable data structure for indexed access and sorting.final classKeyword data type.classImplementation of a list wrapping a vector.final classWrapper for an 8-byte long as a Blob We use this mainly for efficient management of indexes using Longs in Indexes.classMap.Entry implementation for persistent maps.classLimited 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 representationclassPersistent Map for large hash maps requiring tree structure.classClass describing the on-chain state of a Peer declared on the network.classClass representing a smart reference to a decentralised data value.classRef subclass for direct in-memory references.classReference class implemented via a soft reference and store lookup.classLimited size Persistent Merkle Set implemented as a small sorted list of Values Must be sorted by Key hash value to ensure uniqueness of representationclassPersistent Set for large hash sets requiring tree structure.final classSignedData<T extends ACell>Node representing a signed data object.final classClass representing a short CVM string, backed by a flat Blob Used for most small strings, and acts as the leaf chunk for StringTreesclassAString subclass representing a view some String data.classString implementation class wrapping a BlobTree.final classClass representing a Symbol.final classClass representing a Syntax Object.classVectorArray<T extends ACell>Non-canonical vector implementation designed to make operations on small temporary vectors more efficient.classVectorLeaf<T extends ACell>A Persistent Vector implementation representing 0-16 elements with a packed Vector prefix.classVectorTree<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. -
Uses of IWriteable in convex.core.data.impl
Classes in convex.core.data.impl that implement IWriteableModifier and TypeClassDescriptionclassADerivedSet<T extends ACell,K extends ACell, V extends ACell> Abstract base class for non-canonical sets derived off maps Useful for cases where we want a Set instance, but don't want to construct a whole new data structureclassclassBlob filled with all zeros. -
Uses of IWriteable in convex.core.data.prim
Classes in convex.core.data.prim that implement IWriteableModifier and TypeClassDescriptionclassAbstract base class for CVM Integer valuesclassBAse class for CVM numeric typesclassAbstract base class for CVM primitive values.final classArbitrary precision Integer implementation for the CVM.final classClass for CVM Boolean types.final classClass for CVM Character values.final classClass for CVM double floating-point values.final classClass for CVM long values. -
Uses of IWriteable in convex.core.lang
Classes in convex.core.lang that implement IWriteableModifier and TypeClassDescriptionclassBase class for functions expressed as values "You know what's web-scale? The Web.classAbstract base class for CVM operations "...that was the big revelation to me when I was in graduate school—when I finally understood that the half page of code on the bottom of page 13 of the Lisp 1.5 manual was Lisp in itself. -
Uses of IWriteable in convex.core.lang.impl
Classes in convex.core.lang.impl that implement IWriteableModifier and TypeClassDescriptionclassAbstract base class for functions that can close over a lexical environment.classAbstract base class for data structure lookup functions.classAbstract base class for core language functions implemented in the Runtime Core functions are tagged using their symbols in on-chain representationclassAbstract base class for core predicate functionsclassValue class representing a instantiated closure / lambda function.classclassclassclassWrapper for interpreting a sequence object as an invokable functionclass -
Uses of IWriteable in convex.core.lang.ops
Classes in convex.core.lang.ops that implement IWriteableModifier and TypeClassDescriptionclassAbstract base class for Ops with multiple nested operations MultiOps may selectively evaluate sub-expressions.classOp representing a conditional expression.classOperation representing a constant value "One man's constant is another man's variable." - Alan PerlisclassOp that creates a definition in the current environment.classOp for executing a sequence of child operations in order "Design is to take things apart in such a way that they can be put back together" - Rich HickeyclassOp representing the invocation of a function.classOp responsible for creating a new function (closure).classOp for executing a body after lexically binding one or more symbols.classOp to look up a local value from the lexical environmentclassOp to look up a Symbol in the current execution context.classOp for executing a sequence of child operations in order in query mode (no state changes) "Design is to take things apart in such a way that they can be put back together" - Rich HickeyclassOp to set a lexical value in the local execution context.classOp representing special Symbols like *address* and *caller* -
Uses of IWriteable in convex.core.transactions
Classes in convex.core.transactions that implement IWriteableModifier and TypeClassDescriptionclassAbstract base class for immutable transactions Transactions may modify the on-chain State according to the rules of the specific transaction type.classTransaction representing a Call to an Actor.classTransaction class representing the Invoke of an on-chain operation.classThe Multi class enables multiple child transactions to be grouped into a single wrapper transaction with useful joint execution semantics.classTransaction class representing a coin Transfer from one account to another