@@ -35,7 +35,7 @@ pub mod synchronizer;
3535/// or simplified structures that only provide a timestamp (e.g., for RFQ logic).
3636pub trait HeaderLike {
3737 fn block ( self ) -> Option < BlockHeader > ;
38- fn ts ( self ) -> u64 ;
38+ fn block_number_or_timestamp ( self ) -> u64 ;
3939}
4040
4141#[ derive( Debug , Clone , PartialEq , Default , Serialize , Deserialize , Eq , Hash ) ]
@@ -64,8 +64,8 @@ impl HeaderLike for BlockHeader {
6464 Some ( self )
6565 }
6666
67- fn ts ( self ) -> u64 {
68- self . timestamp
67+ fn block_number_or_timestamp ( self ) -> u64 {
68+ self . number
6969 }
7070}
7171
@@ -375,14 +375,20 @@ impl SynchronizerStream {
375375}
376376
377377#[ derive( Debug , PartialEq , Clone , Serialize , Deserialize ) ]
378- pub struct FeedMessage {
379- pub state_msgs : HashMap < String , StateSyncMessage < BlockHeader > > ,
378+ pub struct FeedMessage < H >
379+ where
380+ H : HeaderLike ,
381+ {
382+ pub state_msgs : HashMap < String , StateSyncMessage < H > > ,
380383 pub sync_states : HashMap < String , SynchronizerState > ,
381384}
382385
383- impl FeedMessage {
386+ impl < H > FeedMessage < H >
387+ where
388+ H : HeaderLike ,
389+ {
384390 fn new (
385- state_msgs : HashMap < String , StateSyncMessage < BlockHeader > > ,
391+ state_msgs : HashMap < String , StateSyncMessage < H > > ,
386392 sync_states : HashMap < String , SynchronizerState > ,
387393 ) -> Self {
388394 Self { state_msgs, sync_states }
@@ -411,7 +417,9 @@ where
411417 self . synchronizers = Some ( registered) ;
412418 self
413419 }
414- pub async fn run ( mut self ) -> BlockSyncResult < ( JoinHandle < ( ) > , Receiver < FeedMessage > ) > {
420+ pub async fn run (
421+ mut self ,
422+ ) -> BlockSyncResult < ( JoinHandle < ( ) > , Receiver < FeedMessage < BlockHeader > > ) > {
415423 trace ! ( "Starting BlockSynchronizer..." ) ;
416424 let mut state_sync_tasks = FuturesUnordered :: new ( ) ;
417425 let mut synchronizers = self
0 commit comments