@@ -548,7 +548,6 @@ pub fn split<C: Ciphersuite, R: RngCore + CryptoRng>(
548
548
}
549
549
} ;
550
550
let mut verifying_shares: BTreeMap < Identifier < C > , VerifyingShare < C > > = BTreeMap :: new ( ) ;
551
-
552
551
let mut secret_shares_by_id: BTreeMap < Identifier < C > , SecretShare < C > > = BTreeMap :: new ( ) ;
553
552
554
553
for secret_share in secret_shares {
@@ -558,14 +557,13 @@ pub fn split<C: Ciphersuite, R: RngCore + CryptoRng>(
558
557
secret_shares_by_id. insert ( secret_share. identifier , secret_share) ;
559
558
}
560
559
561
- Ok ( (
562
- secret_shares_by_id,
563
- PublicKeyPackage {
564
- header : Header :: default ( ) ,
565
- verifying_shares,
566
- verifying_key,
567
- } ,
568
- ) )
560
+ let public_key_package = PublicKeyPackage {
561
+ header : Header :: default ( ) ,
562
+ verifying_shares,
563
+ verifying_key,
564
+ } ;
565
+
566
+ Ok ( ( secret_shares_by_id, public_key_package) )
569
567
}
570
568
571
569
/// Evaluate the polynomial with the given coefficients (constant term first)
@@ -696,14 +694,28 @@ where
696
694
fn try_from ( secret_share : SecretShare < C > ) -> Result < Self , Error < C > > {
697
695
let ( verifying_share, verifying_key) = secret_share. verify ( ) ?;
698
696
699
- Ok ( KeyPackage {
697
+ let key_package = KeyPackage {
700
698
header : Header :: default ( ) ,
701
699
identifier : secret_share. identifier ,
702
700
signing_share : secret_share. signing_share ,
703
701
verifying_share,
704
702
verifying_key,
705
703
min_signers : secret_share. commitment . 0 . len ( ) as u16 ,
706
- } )
704
+ } ;
705
+
706
+ // Create a temporary PublicKeyPackage for post_generate
707
+ let mut verifying_shares = BTreeMap :: new ( ) ;
708
+ verifying_shares. insert ( secret_share. identifier , verifying_share) ;
709
+ let public_key_package = PublicKeyPackage {
710
+ header : Header :: default ( ) ,
711
+ verifying_shares,
712
+ verifying_key,
713
+ } ;
714
+
715
+ // Apply the post-processing
716
+ let ( processed_key_package, _) = C :: post_generate ( key_package, public_key_package) ?;
717
+
718
+ Ok ( processed_key_package)
707
719
}
708
720
}
709
721
0 commit comments