INNER CODE UNIT · Rust
detect_cheater
ZcashFoundation/frost · frost-core/src/lib.rs:690
fn detect_cheater<C: Ciphersuite>(
group_commitment: &GroupCommitment<C>,
pubkeys: &keys::PublicKeyPackage<C>,
signing_package: &SigningPackage<C>,
signature_shares: &BTreeMap<Identifier<C>, round2::SignatureShare<C>>,
binding_factor_list: &BindingFactorList<C>,
cheater_detection: CheaterDetection,
) -> Result<(), Error<C>> {
// Compute the per-message challenge.
let challenge = <C>::challenge(
&group_commitment.0,
&pubkeys.verifying_key,
signing_package.message(),
)?;
let mut all_culprits = Vec::new();
// Verify the signature shares.