Module types

Module types 

Source
Expand description

Types used in crate::simplex.

Structs§

AttributableVec
AttributableVec is a vector of Attributable items where a given Attributable::signer() can add at most one item.
BatchVerifier
BatchVerifier is a utility for tracking and batch verifying consensus messages.
ConflictingFinalize
ConflictingFinalize represents evidence of a Byzantine validator sending conflicting finalizes. Similar to ConflictingNotarize, but for finalizes.
ConflictingNotarize
ConflictingNotarize represents evidence of a Byzantine validator sending conflicting notarizes. This is used to prove that a validator has equivocated (voted for different proposals in the same view).
Context
Context is a collection of metadata from consensus about a given payload. It provides information about the current epoch/view and the parent payload that new proposals are built on.
Finalization
Aggregated finalization certificate recovered from finalize votes. When a proposal is finalized, it becomes the canonical block for its view.
Finalize
Validator vote to finalize a proposal. This happens after a proposal has been notarized, confirming it as the canonical block for this round.
Notarization
Aggregated notarization certificate recovered from notarize votes. When a proposal is notarized, it means at least 2f+1 validators have voted for it.
Notarize
Validator vote that endorses a proposal for notarization.
Nullification
Aggregated nullification certificate recovered from nullify votes. When a view is nullified, the consensus moves to the next view without finalizing a block.
Nullify
Validator vote for nullifying the current round, i.e. skip the current round. This is typically used when the leader is unresponsive or fails to propose a valid block.
NullifyFinalize
NullifyFinalize represents evidence of a Byzantine validator sending both a nullify and finalize for the same view, which is contradictory behavior (a validator should either try to skip a view OR finalize a proposal, not both).
Proposal
Proposal represents a proposed block in the protocol. It includes the view number, the parent view, and the actual payload (typically a digest of block data).
Request
Request is a message to request missing notarizations and nullifications. This is used by validators who need to catch up with the consensus state.
Response
Response is a message containing the requested notarizations and nullifications. This is sent in response to a Request message.
Vote
Signed vote emitted by a participant.
VoteVerification
Result of verifying a batch of votes.

Enums§

Activity
Activity represents all possible activities that can occur in the consensus protocol. This includes both regular consensus messages and fault evidence.
Backfiller
Backfiller is a message type for requesting and receiving missing consensus artifacts. This is used to synchronize validators that have fallen behind or just joined the network.
VoteContext
Identifies the signing domain for a vote or certificate.
Voter
Voter represents all possible message types that can be sent by validators in the consensus protocol.

Traits§

Attributable
Attributable is a trait that provides access to the signer index. This is used to identify which participant signed a given message.
OrderedExt
Extension trait for Ordered participant sets providing quorum and index utilities.