fn gen_group_commitment(
    signing_package: &SigningPackage,
    bindings: &HashMap<u32, Scalar>,
) -> Result<GroupCommitment, &'static str> {
    let mut accumulator = jubjub::ExtendedPoint::identity();

    for commitment in signing_package.signing_commitments.iter() {
        let rho_i = bindings
            .get(&commitment.index)
            .ok_or("No matching commitment index")?;
        accumulator += commitment.hiding + (commitment.binding * rho_i)
    }

    Ok(GroupCommitment(accumulator))
}
/// Generates the group commitment which is published as part of the joint
/// Schnorr signature.
Generates the group commitment which is published as part of the joint
Schnorr signature.
Generates the group commitment which is published as part of the joint Schnorr signature .
fn gen_group_commitment(
    signing_package: &SigningPackage,
    bindings: &HashMap<u32, Scalar>,
) -> Result<GroupCommitment, &'static str> {
    let mut accumulator = jubjub::ExtendedPoint::identity();
    for commitment in signing_package.signing_commitments.iter() {
        let rho_i = bindings
            .get(&commitment.index)
            .ok_or("No matching commitment index")?;
        accumulator += commitment.hiding + (commitment.binding * rho_i)
    }
    Ok(GroupCommitment(accumulator))
}
fn gen_group_commitment ( signing_package : & SigningPackage , bindings : & HashMap < u32 , Scalar > , ) -> Result < GroupCommitment , & ' static str > { let mut accumulator = jubjub :: ExtendedPoint :: identity ( ) ; for commitment in signing_package . signing_commitments . iter ( ) { let rho_i = bindings . get ( & commitment . index ) . ok_or ( " " ) ? ; accumulator += commitment . hiding + ( commitment . binding * rho_i ) } Ok ( GroupCommitment ( accumulator ) ) }
Generates the group commitment which is published as part of the joint
Schnorr signature.
Generates the group commitment which is published as part of the joint Schnorr signature .
signing_package
&SigningPackage
bindings
&HashMap<u32, Scalar>