@@ -23,6 +23,7 @@ use timeboost_types::{
23
23
AccumulatorMode , DecryptionKey , DecryptionKeyCell , DkgAccumulator , DkgBundle , DkgSubset ,
24
24
InclusionList , KeyStore , KeyStoreVec ,
25
25
} ;
26
+ use timeboost_utils:: keyset:: DECRYPTER_PORT_OFFSET ;
26
27
use tokio:: spawn;
27
28
use tokio:: sync:: mpsc:: { Receiver , Sender , channel} ;
28
29
use tokio:: task:: { JoinError , JoinHandle } ;
@@ -80,15 +81,14 @@ impl NextKey {
80
81
81
82
/// Next committee state.
82
83
#[ derive( Default ) ]
83
- #[ allow( clippy:: large_enum_variant) ]
84
84
enum NextCommittee {
85
85
/// No next committee is scheduled.
86
86
#[ default]
87
87
None ,
88
88
/// The next committee should become effective at the given round.
89
89
///
90
90
/// Key material is supplied if member of both current and next.
91
- Use ( Round , Option < NextKey > ) ,
91
+ Use ( Round , Option < Box < NextKey > > ) ,
92
92
/// The old committee should be removed when the given round is garbage collected.
93
93
Del ( Round ) ,
94
94
}
@@ -377,7 +377,7 @@ fn translate_addr(c: AddressableCommittee) -> AddressableCommittee {
377
377
let shifted_entries = c
378
378
. entries ( )
379
379
. map ( |( pk, dh, addr) | {
380
- let dec_port = addr. port ( ) . saturating_add ( 1000 ) ;
380
+ let dec_port = addr. port ( ) . saturating_add ( DECRYPTER_PORT_OFFSET ) ;
381
381
let new_addr = addr. with_port ( dec_port) ;
382
382
( pk, dh, new_addr)
383
383
} )
@@ -1240,7 +1240,7 @@ impl Worker {
1240
1240
. map_err ( |e| DecrypterError :: Dkg ( format ! ( "key extraction failed: {e}" ) ) ) ?;
1241
1241
1242
1242
self . next_committee =
1243
- NextCommittee :: Use ( round, Some ( NextKey :: new ( new_dkg_sk, new_dec_key) ) ) ;
1243
+ NextCommittee :: Use ( round, Some ( Box :: new ( NextKey :: new ( new_dkg_sk, new_dec_key) ) ) ) ;
1244
1244
trace ! ( node = %self . label, %round, "completed key extraction" ) ;
1245
1245
} else {
1246
1246
// not in new committee - request DKG subset from current committee
@@ -1297,9 +1297,9 @@ impl Worker {
1297
1297
. map_err ( |_: NetworkDown | EndOfPlay :: NetworkDown ) ?;
1298
1298
1299
1299
// update keys if also member of next committee
1300
- if let Some ( NextKey { dkg_key , dec_key } ) = next_key {
1301
- self . dec_key . set ( dec_key. clone ( ) ) ;
1302
- self . dkg_sk = dkg_key. clone ( ) ;
1300
+ if let Some ( next_key ) = next_key. as_ref ( ) {
1301
+ self . dec_key . set ( next_key . dec_key . clone ( ) ) ;
1302
+ self . dkg_sk = next_key . dkg_key . clone ( ) ;
1303
1303
}
1304
1304
self . current = start. committee ( ) ;
1305
1305
self . next_committee = NextCommittee :: Del ( * start) ;
0 commit comments