in src/main.rs [226:244]
fn verify_final_cofactored(
pub_key: &EdwardsPoint,
unpacked_signature: &(EdwardsPoint, Scalar),
hash: &Scalar,
) -> Result<()> {
let rprime = EdwardsPoint::vartime_double_scalar_mul_basepoint(
&hash,
&pub_key.neg(),
&unpacked_signature.1,
);
if (unpacked_signature.0 - rprime)
.mul_by_cofactor()
.is_identity()
{
Ok(())
} else {
Err(anyhow!("Invalid cofactored signature"))
}
}