Module data

Source
Expand description

Provides types useful for representing HotShot’s data structures

This module provides types for representing consensus internal state, such as leaves, HotShot’s version of a block, and proposals, messages upon which to reach the consensus.

Modules§

ns_table
This module provides helpers for namespace table.
null_block
vid_disperse
This module provides types for VID disperse related data structures.

Macros§

impl_u64_wrapper 🔒
Implements ConsensusTime, Display, Add, AddAssign, Deref and Sub for the given thing wrapper type around u64.

Structs§

DaProposal
A proposal to start providing data availability for a block.
DaProposal2
A proposal to start providing data availability for a block.
EpochNumber
Type-safe wrapper around u64 so we know the thing we’re talking about is a epoch number.
Leaf
This is the consensus-internal analogous concept to a block, and it contains the block proper, as well as the hash of its parent Leaf. NOTE: State is constrained to implementing BlockContents, is TypeMap::BlockPayload
Leaf2
This is the consensus-internal analogous concept to a block, and it contains the block proper, as well as the hash of its parent Leaf.
PackedBundle
A packed bundle constructed from a sequence of bundles.
QuorumProposal
Proposal to append a block.
QuorumProposal2
Proposal to append a block.
QuorumProposalWrapper
Wrapper around a proposal to append a block
UpgradeProposal
A proposal to upgrade the network
ViewNumber
Type-safe wrapper around u64 so we know the thing we’re talking about is a view number.

Enums§

BlockError
The error type for block and its transactions.
VidCommitment
VID Commitment type
VidDisperse
VID dispersal data
VidDisperseShare
VID share and associated metadata for a single node
VidShare
VID share type
ViewChangeEvidence
Helper type to encapsulate the various ways that proposal certificates can be captured and stored.
ViewChangeEvidence2
Helper type to encapsulate the various ways that proposal certificates can be captured and stored.

Traits§

TestableLeaf
Additional functions required to use a Leaf with hotshot-testing.

Functions§

fake_commitment
Fake the thing a genesis block points to. Needed to avoid infinite recursion
random_commitment
create a random commitment
serialize_signature2
Serialization for the QC assembled signature
vid_commitment
Compute the VID payload commitment. TODO(Gus) delete this function?