Expand description

Holochain Zome Types: only the types needed by Holochain application developers to use in their Zome code, and nothing more.

This crate is intentionally kept as minimal as possible, since it is typically included as a dependency in Holochain Zomes, which are distributed as chunks of Wasm. In contrast, the holochain_types crate contains more types which are used by Holochain itself.

Re-exports

pub use kitsune_p2p_timestamp as timestamp;
pub use prelude::*;

Modules

represent arbitrary bytes (not serialized) e.g. totally random crypto bytes from random_bytes

Capability Grants and Claims

A “Cell” represents a DNA/AgentId pair - a space where one dna/agent can track its source chain and service network requests / responses.

Countersigned entries involve preflights between many agents to build a session that is part of the entry.

Re-exported dependencies

Defines DnaDef struct

An Entry is a unit of data in a Holochain Source Chain.

Fixturators for zome types

Types related to the genesis process whereby a user commits their initial records and validates them to the best of their ability. Full validation may not be possible if network access is required, so they perform a “self-check” (as in “check yourself before you wreck yourself”) before joining to ensure that they can catch any problems they can before being subject to the scrutiny of their peers and facing possible rejection. For more details see holochain_integrity_types::genesis.

Items related to the DNA initialization callback.

Wrapper type to indicate some data which has a ValidationStatus associated with it.

Metadata types for use in wasm

For more details see holochain_integrity_types::op.

Common types

Types for source chain queries

Types for rate limiting

Defines a Record, the basic unit of Holochain data.

Types for requesting metadata

Schedule functions to run outside a direct zome call.

App-defined signals

Signature for authenticity of data

Common helpers for writing tests against zome types

Types related to the debug host function

Tracking versions between the WASM host and guests and other interfaces.

Types for warrants

A Zome is a module of app-defined code which can be run by Holochain. A group of Zomes are composed to form a DnaDef.

Macros

Serialization for fixed arrays is generally not available in a way that can be derived. Being able to wrap fixed size arrays is important e.g. for crypto safety etc. so this is a simple way to implement serialization so that we can send these types between the host/guest.

Helper macro for implementing ToSql, when using rusqlite as a dependency

Helper macro for implementing ToSql, when using rusqlite as a dependency

Cryptographic secrets are fiddly at the best of times.

Enums

Action contains variants for each type of action.

Structure holding the entry portion of a chain record.

Errors related to the secure primitive macro.

Statics

10MB of entropy free for the taking. Useful for initializing arbitrary::Unstructured data

Traits