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
andSub
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.
- Epoch
Number - 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 implementingBlockContents
, isTypeMap::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
. - Packed
Bundle - A packed bundle constructed from a sequence of bundles.
- Quorum
Proposal - Proposal to append a block.
- Quorum
Proposal2 - Proposal to append a block.
- Quorum
Proposal Wrapper - Wrapper around a proposal to append a block
- Upgrade
Proposal - A proposal to upgrade the network
- View
Number - Type-safe wrapper around
u64
so we know the thing we’re talking about is a view number.
Enums§
- Block
Error - The error type for block and its transactions.
- VidCommitment
- VID Commitment type
- VidDisperse
- VID dispersal data
- VidDisperse
Share - VID share and associated metadata for a single node
- VidShare
- VID share type
- View
Change Evidence - Helper type to encapsulate the various ways that proposal certificates can be captured and stored.
- View
Change Evidence2 - Helper type to encapsulate the various ways that proposal certificates can be captured and stored.
Traits§
- Testable
Leaf - 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?