pub fn part3(
round2_secret_package: &SecretPackage,
round1_packages: &BTreeMap<Identifier, Package>,
round2_packages: &BTreeMap<Identifier, Package>,
) -> Result<(KeyPackage, PublicKeyPackage), Error>Expand description
Performs the third and final part of the distributed key generation protocol
for the participant holding the given round2::SecretPackage, given the
received round1::Packages and round2::Packages received from the
other participants.
round1_packages must be the same used in part2().
round2_packages maps the identifier of each other participant to the
round2::Package they sent to the current participant (the owner of
secret_package). These identifiers must come from whatever mapping the
coordinator has between communication channels and participants, i.e. they
must have assurance that the round2::Package came from the participant
with that identifier.
It returns the KeyPackage that has the long-lived key share for the
participant, and the PublicKeyPackages that has public information about
all participants; both of which are required to compute FROST signatures.