mirror of
https://github.com/serai-dex/serai.git
synced 2024-12-22 19:49:22 +00:00
Fix the known instance of #295
This commit is contained in:
parent
6a4bccba74
commit
c9bb284570
3 changed files with 6 additions and 7 deletions
|
@ -16,12 +16,6 @@ use crate::{Participant, DkgError, ThresholdCore, ThresholdKeys, validate_map};
|
||||||
|
|
||||||
/// Promote a set of keys to another Ciphersuite definition.
|
/// Promote a set of keys to another Ciphersuite definition.
|
||||||
pub trait CiphersuitePromote<C2: Ciphersuite> {
|
pub trait CiphersuitePromote<C2: Ciphersuite> {
|
||||||
#[doc(hidden)]
|
|
||||||
#[allow(non_snake_case)]
|
|
||||||
fn _bound_C2(_c2: C2) {
|
|
||||||
panic!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn promote(self) -> ThresholdKeys<C2>;
|
fn promote(self) -> ThresholdKeys<C2>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,9 @@ pub mod tests;
|
||||||
/// Various errors possible during signing.
|
/// Various errors possible during signing.
|
||||||
#[derive(Clone, Copy, PartialEq, Eq, Debug, Error)]
|
#[derive(Clone, Copy, PartialEq, Eq, Debug, Error)]
|
||||||
pub enum FrostError {
|
pub enum FrostError {
|
||||||
|
#[error("internal error: {0}")]
|
||||||
|
InternalError(&'static str),
|
||||||
|
|
||||||
#[error("invalid participant (0 < participant <= {0}, yet participant is {1})")]
|
#[error("invalid participant (0 < participant <= {0}, yet participant is {1})")]
|
||||||
InvalidParticipant(u16, Participant),
|
InvalidParticipant(u16, Participant),
|
||||||
#[error("invalid signing set ({0})")]
|
#[error("invalid signing set ({0})")]
|
||||||
|
|
|
@ -516,6 +516,8 @@ impl<C: Curve, A: Algorithm<C>> SignatureMachine<A::Signature> for AlgorithmSign
|
||||||
}
|
}
|
||||||
|
|
||||||
// If everyone has a valid share, and there were enough participants, this should've worked
|
// If everyone has a valid share, and there were enough participants, this should've worked
|
||||||
panic!("everyone had a valid share yet the signature was still invalid");
|
// The only known way to cause this, for valid parameters/algorithms, is to deserialize a
|
||||||
|
// semantically invalid FrostKeys
|
||||||
|
Err(FrostError::InternalError("everyone had a valid share yet the signature was still invalid"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue