@@ -2,7 +2,9 @@ use std::collections::VecDeque;
22use std:: sync:: Arc ;
33
44use tycho_network:: PeerId ;
5- use tycho_slasher_traits:: { AnchorPeerStats , AnchorStats , AnchorStatsRange , CollatedAnchorStats } ;
5+ use tycho_slasher_traits:: {
6+ AnchorPeerStats , AnchorStats , AnchorStatsRange , CollatedAnchorStats , PeerIdInner ,
7+ } ;
68use tycho_util:: FastHashMap ;
79
810use crate :: collator:: messages_reader:: state:: ext:: ExternalKey ;
@@ -320,7 +322,10 @@ impl<'a> AnchorsCacheTransaction<'a> {
320322 prev_imported_chain_time : u64 ,
321323 next_chain_time : u64 ,
322324 ) -> Option < CollatedAnchorStats > {
323- fn merge_anchor_stats ( acc : & mut FastHashMap < u16 , AnchorPeerStats > , stats : & AnchorStats ) {
325+ fn merge_anchor_stats (
326+ acc : & mut FastHashMap < PeerIdInner , AnchorPeerStats > ,
327+ stats : & AnchorStats ,
328+ ) {
324329 for ( validator_idx, peer_stats) in stats. 0 . iter ( ) {
325330 acc. entry ( * validator_idx)
326331 . and_modify ( |exists| {
@@ -405,7 +410,7 @@ mod tests {
405410 fn make_anchor_with_stats (
406411 id : MempoolAnchorId ,
407412 chain_time : u64 ,
408- validator_idx_stats : & [ ( u16 , u16 ) ] ,
413+ peer_id_stats : & [ ( PeerIdInner , u16 ) ] ,
409414 ) -> Arc < MempoolAnchor > {
410415 Arc :: new ( MempoolAnchor {
411416 id,
@@ -414,13 +419,13 @@ mod tests {
414419 author : PeerId ( [ 0 ; 32 ] ) ,
415420 externals : Default :: default ( ) ,
416421 stats : AnchorStats ( Arc :: new (
417- validator_idx_stats
422+ peer_id_stats
418423 . iter ( )
419- . map ( |( validator_idx , points_proven) | {
424+ . map ( |( peer_id , points_proven) | {
420425 let stats = AnchorPeerStats {
421426 points_proven : * points_proven,
422427 } ;
423- ( * validator_idx , stats)
428+ ( * peer_id , stats)
424429 } )
425430 . collect ( ) ,
426431 ) ) ,
@@ -449,10 +454,13 @@ mod tests {
449454 #[ test]
450455 fn test_collect_imported_anchor_stats_uses_trimmed_interval ( ) {
451456 let mut cache = AnchorsCache :: default ( ) ;
452- cache. add ( make_anchor_with_stats ( 10 , 100 , & [ ( 1 , 1 ) ] ) , 0 ) ;
453- cache. add ( make_anchor_with_stats ( 11 , 200 , & [ ( 1 , 2 ) , ( 2 , 3 ) ] ) , 0 ) ;
454- cache. add ( make_anchor_with_stats ( 12 , 300 , & [ ( 1 , 4 ) ] ) , 0 ) ;
455- cache. add ( make_anchor_with_stats ( 13 , 400 , & [ ( 2 , 5 ) ] ) , 0 ) ;
457+ let p1 = [ 1 ; _] ;
458+ let p2 = [ 2 ; _] ;
459+
460+ cache. add ( make_anchor_with_stats ( 10 , 100 , & [ ( p1, 1 ) ] ) , 0 ) ;
461+ cache. add ( make_anchor_with_stats ( 11 , 200 , & [ ( p1, 2 ) , ( p2, 3 ) ] ) , 0 ) ;
462+ cache. add ( make_anchor_with_stats ( 12 , 300 , & [ ( p1, 4 ) ] ) , 0 ) ;
463+ cache. add ( make_anchor_with_stats ( 13 , 400 , & [ ( p2, 5 ) ] ) , 0 ) ;
456464
457465 let mut tx = AnchorsCacheTransaction :: new ( & mut cache) ;
458466 tx. remove_last_imported_above ( 320 ) ;
@@ -464,8 +472,8 @@ mod tests {
464472 top_anchor: 12 ,
465473 } ) ;
466474 assert_eq ! ( collated_stats. stats. 0 . len( ) , 2 ) ;
467- assert_eq ! ( collated_stats. stats. 0 . get( & 1 ) . unwrap( ) . points_proven, 6 ) ;
468- assert_eq ! ( collated_stats. stats. 0 . get( & 2 ) . unwrap( ) . points_proven, 3 ) ;
475+ assert_eq ! ( collated_stats. stats. 0 . get( & p1 ) . unwrap( ) . points_proven, 6 ) ;
476+ assert_eq ! ( collated_stats. stats. 0 . get( & p2 ) . unwrap( ) . points_proven, 3 ) ;
469477 }
470478
471479 #[ test]
0 commit comments