#[non_exhaustive]pub enum Error<C: Ciphersuite> {
Show 30 variants
InvalidMinSigners,
InvalidMaxSigners,
InvalidCoefficients,
MalformedIdentifier,
DuplicatedIdentifier,
UnknownIdentifier,
IncorrectNumberOfIdentifiers,
MalformedSigningKey,
MalformedVerifyingKey,
MalformedSignature,
InvalidSignature,
DuplicatedShares,
IncorrectNumberOfShares,
IdentityCommitment,
MissingCommitment,
IncorrectCommitment,
IncorrectNumberOfCommitments,
InvalidSignatureShare {
culprit: Identifier<C>,
},
InvalidSecretShare {
culprit: Option<Identifier<C>>,
},
PackageNotFound,
IncorrectNumberOfPackages,
IncorrectPackage,
DKGNotSupported,
InvalidProofOfKnowledge {
culprit: Identifier<C>,
},
FieldError(FieldError),
GroupError(GroupError),
InvalidCoefficient,
IdentifierDerivationNotSupported,
SerializationError,
DeserializationError,
}
Expand description
An error related to FROST.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidMinSigners
min_signers is invalid
InvalidMaxSigners
max_signers is invalid
InvalidCoefficients
max_signers is invalid
MalformedIdentifier
This identifier is unserializable.
DuplicatedIdentifier
This identifier is duplicated.
UnknownIdentifier
This identifier does not belong to a participant in the signing process.
IncorrectNumberOfIdentifiers
Incorrect number of identifiers.
MalformedSigningKey
The encoding of a signing key was malformed.
MalformedVerifyingKey
The encoding of a verifying key was malformed.
MalformedSignature
The encoding of a signature was malformed.
InvalidSignature
Signature verification failed.
Duplicated shares provided
Incorrect number of shares.
IdentityCommitment
Commitment equals the identity
MissingCommitment
The participant’s commitment is missing from the Signing Package
IncorrectCommitment
The participant’s commitment is incorrect
IncorrectNumberOfCommitments
Incorrect number of commitments.
Signature share verification failed.
Secret share verification failed.
PackageNotFound
Round 1 package not found for Round 2 participant.
IncorrectNumberOfPackages
Incorrect number of packages.
IncorrectPackage
The incorrect package was specified.
DKGNotSupported
The ciphersuite does not support DKG.
InvalidProofOfKnowledge
The proof of knowledge is not valid.
Fields
culprit: Identifier<C>
The identifier of the signer whose share validation failed.
FieldError(FieldError)
Error in scalar Field.
GroupError(GroupError)
Error in elliptic curve Group.
InvalidCoefficient
Error in coefficient commitment deserialization.
IdentifierDerivationNotSupported
The ciphersuite does not support deriving identifiers from strings.
SerializationError
Error serializing value.
DeserializationError
Error deserializing value.
Implementations§
Source§impl<C> Error<C>where
C: Ciphersuite,
impl<C> Error<C>where
C: Ciphersuite,
Sourcepub fn culprit(&self) -> Option<Identifier<C>>
pub fn culprit(&self) -> Option<Identifier<C>>
Return the identifier of the participant that caused the error. Returns None if not applicable for the error.
This can be used to penalize a participant that does not follow the protocol correctly, e.g. removing them from further signings.