use crate::frost::redjubjub as frost;
use alloc::collections::btree_map::BTreeMap;
pub fn sign_with_randomizer_seed(
signing_package: &frost::SigningPackage,
signer_nonces: &frost::round1::SigningNonces,
key_package: &frost::keys::KeyPackage,
randomizer_seed: &[u8],
) -> Result<frost::round2::SignatureShare, frost::Error> {
frost_rerandomized::sign_with_randomizer_seed::<frost::JubjubBlake2b512>(
signing_package,
signer_nonces,
key_package,
randomizer_seed,
)
}
pub fn aggregate(
signing_package: &frost::SigningPackage,
signature_shares: &BTreeMap<frost::Identifier, frost::round2::SignatureShare>,
pubkeys: &frost::keys::PublicKeyPackage,
randomized_params: &RandomizedParams,
) -> Result<frost::Signature, frost::Error> {
frost_rerandomized::aggregate::<frost::JubjubBlake2b512>(
signing_package,
signature_shares,
pubkeys,
randomized_params,
)
}
pub fn aggregate_custom(
signing_package: &frost::SigningPackage,
signature_shares: &BTreeMap<frost::Identifier, frost::round2::SignatureShare>,
pubkeys: &frost::keys::PublicKeyPackage,
cheater_detection: frost::CheaterDetection,
randomized_params: &RandomizedParams,
) -> Result<frost::Signature, frost::Error> {
frost_rerandomized::aggregate_custom::<frost::JubjubBlake2b512>(
signing_package,
signature_shares,
pubkeys,
cheater_detection,
randomized_params,
)
}
pub type Randomizer = frost_rerandomized::Randomizer<frost::JubjubBlake2b512>;
pub type RandomizedParams = frost_rerandomized::RandomizedParams<frost::JubjubBlake2b512>;