@@ -112,6 +112,7 @@ mod mps {
112112 pub struct Share {
113113 pub share : Vec < u8 > ,
114114 pub pk : [ u8 ; 32 ] ,
115+ pub chaincode : [ u8 ; 32 ] ,
115116 }
116117
117118 fn internal_dkg_round0_process < G > (
@@ -279,6 +280,7 @@ mod mps {
279280 Ok ( Share {
280281 share : bincode:: serialize ( & share) . map_err ( |_| MpsError :: SerializationError ) ?,
281282 pk : share. public_key . compress ( ) . to_bytes ( ) ,
283+ chaincode : share. root_chain_code ,
282284 } )
283285 }
284286
@@ -525,14 +527,22 @@ mod tests {
525527 )
526528 . unwrap ( ) ;
527529
528- // Assert generated public keys are equal
530+ // Assert generated public keychains are equal
529531 assert_eq ! (
530532 p2_share. pk, p0_share. pk,
531- "Party 0 share differs from party 2 share "
533+ "Party 0 public key differs from party 2 public key "
532534 ) ;
533535 assert_eq ! (
534536 p2_share. pk, p1_share. pk,
535- "Party 1 share differs from party 2 share"
537+ "Party 1 public key differs from party 2 public key"
538+ ) ;
539+ assert_eq ! (
540+ p2_share. chaincode, p0_share. chaincode,
541+ "Party 0 chaincode differs from party 2 chaincode"
542+ ) ;
543+ assert_eq ! (
544+ p2_share. chaincode, p1_share. chaincode,
545+ "Party 1 chaincode differs from party 2 chaincode"
536546 ) ;
537547 }
538548
@@ -697,6 +707,7 @@ impl MsgState {
697707pub struct Share {
698708 share : Vec < u8 > ,
699709 pk : Vec < u8 > ,
710+ chaincode : Vec < u8 > ,
700711}
701712
702713#[ wasm_bindgen]
@@ -710,6 +721,11 @@ impl Share {
710721 pub fn pk ( & self ) -> Vec < u8 > {
711722 self . pk . clone ( )
712723 }
724+
725+ #[ wasm_bindgen( getter) ]
726+ pub fn chaincode ( & self ) -> Vec < u8 > {
727+ self . chaincode . clone ( )
728+ }
713729}
714730
715731#[ wasm_bindgen]
@@ -730,6 +746,7 @@ impl MsgShare {
730746 Share {
731747 share : self . share . share . clone ( ) ,
732748 pk : self . share . pk . clone ( ) ,
749+ chaincode : self . share . chaincode . clone ( ) ,
733750 }
734751 }
735752}
@@ -796,6 +813,7 @@ pub fn ed25519_dkg_round2_process(round2_messages: Array, state: &[u8]) -> Resul
796813 Ok ( Share {
797814 share : result. share ,
798815 pk : result. pk . to_vec ( ) ,
816+ chaincode : result. chaincode . to_vec ( ) ,
799817 } )
800818}
801819
0 commit comments