commonware_cryptography/bls12381/certificate/
mod.rs1pub mod multisig;
9pub mod threshold;
10
11use crate::{
12 bls12381::primitives::{sharing::Sharing, variant::Variant},
13 certificate::{AssemblyError, Signers},
14};
15use commonware_utils::Participant;
16
17impl<'a, V, I> TryFrom<(&'a Sharing<V>, I)> for Signers
19where
20 V: Variant,
21 I: IntoIterator<Item = Participant>,
22{
23 type Error = AssemblyError;
24
25 fn try_from((quorum, signers): (&'a Sharing<V>, I)) -> Result<Self, Self::Error> {
26 Self::new(quorum.total().get(), signers)?.require(quorum.required())
27 }
28}