# Functions
CheckSumFromIdentities returns checksum for the given identities.
CompareAndExtract reads the checksum from the given `checkSumPrefixedSignerIndices` and compares it with the checksum of the given identifier list.
TODO: to be removed in V3, replace by packer's unpack method DecodeDoubleSig decodes the signature data into a staking signature and an optional random beacon signature.
DecodeSignerIndicesToIdentifiers decodes the given compacted bit vector into signerIDs Prerequisite: - The input `canonicalIdentifiers` must exhaustively list the set of authorized signers in their canonical order.
DecodeSignerIndicesToIdentities decodes the given compacted bit vector into node Identities.
DecodeSigTypeToStakingAndBeaconSigners decodes the bit-vector `sigType` to the set of staking signer identities (`stakingSigners`) and the set of beacon signer identities (`beaconSigners`).
DecodeSingleSig decodes the signature data into a cryptographic signature and a type as required by the consensus design.
TODO: to be removed in V3, replace by packer's pack method EncodeDoubleSig encodes both the staking signature and random beacon signature into one sigData.
EncodeIdentities will concatenation all the identities into bytes.
EncodeSignersToIndices encodes the given signerIDs into compacted bit vector.
EncodeSignerToIndicesAndSigType encodes the given stakingSigners and beaconSigners into bit vectors for signer indices and sig types.
EncodeSingleSig encodes a single signature into signature data as required by the consensus design.
IsDuplicatedSignerIdxError returns whether err is an DuplicatedSignerIdxError.
IsInsufficientSignaturesError returns whether err is an InsufficientSignaturesError.
IsInvalidSignatureIncludedError returns whether err is an InvalidSignatureIncludedError.
IsInvalidSignerIdxError returns whether err is an InvalidSignerIdxError.
IsInvalidSignerIndicesError returns whether err is an InvalidSignerIndicesError.
IsInvalidSigTypesError returns whether err is an InvalidSigTypesError.
NewBLSHasher returns a hasher to be used for BLS signing and verifying in the protocol and abstracts the hasher details from the protocol logic.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewPublicKeyAggregator creates an index-based key aggregator, for the given list of authorized signers.
NewSignatureAggregatorSameMessage returns a new SignatureAggregatorSameMessage structure.
PrefixCheckSum prefix the given data with the checksum of the given identifier list.
RandomBeaconThreshold returns the threshold (t) to allow the largest number of malicious nodes (m) assuming the protocol requires: - m<=t for unforgeability - n-m>=t+1 for robustness.
SplitCheckSum splits the given bytes into two parts: - prefixed checksum of the canonical identifier list - the signerIndices Expected error during normal operations: - ErrInvalidChecksum if the input is shorter than the expected checksum contained therein.
# Variables
CollectorTimeoutTag is used for Collector Active Pacemaker timeouts.
CollectorVoteTag is used for Collection Hotstuff votes.
ConsensusTimeoutTag is used for Consensus Active Pacemaker timeouts.
ConsensusVoteTag is used for Consensus Hotstuff votes.
DKGMessageTag is used for DKG messages.
ErrIdentityPublicKey indicates that the signer's public keys add up to the BLS identity public key.
ErrIllegallyPaddedBitVector indicates that the index vector was padded with unexpected bit values.
ErrIncompatibleBitVectorLength indicates that the bit vector's length is different than the expected length, based on the supplied node list.
No description provided by the author
ErrInvalidChecksum indicates that the index vector's checksum is invalid.
No description provided by the author
ExecutionReceiptTag is used for execution receipts.
RandomBeaconTag is used for threshold signatures in the random beacon.
ResultApprovalTag is used for result approvals.
SPOCKTag is used to generate SPoCK proofs.
# Structs
DuplicatedSignerIdxError indicates that a signature from the respective signer index was already added.
InsufficientSignaturesError indicates that not enough signatures have been stored to complete the operation.
InvalidSignatureIncludedError indicates that some signatures, included via TrustedAdd, are invalid.
InvalidSignerIdxError indicates that the signer index is invalid.
InvalidSignerIndicesError indicates that a bit vector does not encode a valid set of signers.
InvalidSigTypesError indicates that the given data not encode valid signature types.
PublicKeyAggregator aggregates BLS public keys in an optimized manner.
SignatureAggregatorSameMessage aggregates BLS signatures of the same message from different signers.