package
0.29.6-upgrade-to-badger-v3
Repository: https://github.com/koko1123/flow-go-1.git
Documentation: pkg.go.dev

# 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
No description provided by the author
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.

# Constants

CheckSumLen is fixed to be 4 bytes.
No description provided by the author

# Variables

CollectorVoteTag is used for Collection Hotstuff votes.
ConsensusVoteTag is used for Consensus Hotstuff votes.
DKGMessageTag is used for DKG messages.
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.
These functions are the non-relic versions of some public functions from the package.