@@ -3,7 +3,6 @@ use alloy_primitives::{utils::parse_ether, Address, BlockHash, U256};
33use alloy_rpc_types_beacon:: BlsPublicKey ;
44use flate2:: { write:: GzEncoder , Compression } ;
55use governor:: { DefaultDirectRateLimiter , Quota , RateLimiter } ;
6- use itertools:: Itertools ;
76use rbuilder_primitives:: mev_boost:: {
87 HeaderSubmissionOptimisticV3 , KnownRelay , MevBoostRelayID , RelayMode ,
98 SubmitBlockRequestNoBlobs , SubmitBlockRequestWithMetadata , ValidatorRegistration ,
@@ -749,35 +748,29 @@ impl RelayClient {
749748 if let Some ( top_competitor_bid) = metadata. value . top_competitor_bid {
750749 builder = builder. header ( TOP_BID_HEADER , top_competitor_bid. to_string ( ) ) ;
751750 }
752- if !metadata. order_ids . is_empty ( ) {
753- const MAX_BUNDLE_IDS : usize = 150 ;
754- let bundle_ids: Vec < _ > = metadata
755- . order_ids
751+
752+ const MAX_BUNDLE_HASHES : usize = 150 ;
753+ if !metadata. bundle_hashes . is_empty ( ) {
754+ let bundle_hashes: Vec < _ > = metadata
755+ . bundle_hashes
756756 . iter ( )
757- . filter_map ( |order| match order {
758- rbuilder_primitives:: OrderId :: Tx ( _fixed_bytes) => None ,
759- rbuilder_primitives:: OrderId :: Bundle ( uuid) => Some ( uuid) ,
760- rbuilder_primitives:: OrderId :: ShareBundle ( _fixed_bytes) => None ,
761- } )
757+ . take ( MAX_BUNDLE_HASHES )
758+ . map ( |h| format ! ( "{h:?}" ) )
762759 . collect ( ) ;
763- let total_bundles = bundle_ids. len ( ) ;
764- let mut bundle_ids = bundle_ids
765- . iter ( )
766- . take ( MAX_BUNDLE_IDS )
767- . map ( |uuid| format ! ( "{uuid:?}" ) ) ;
768- let bundle_ids = if total_bundles > MAX_BUNDLE_IDS {
769- bundle_ids. join ( "," ) + ",CAPPED"
760+
761+ let bundle_hashes = if bundle_hashes. len ( ) > MAX_BUNDLE_HASHES {
762+ bundle_hashes. join ( "," ) + ",CAPPED"
770763 } else {
771- bundle_ids . join ( "," )
764+ bundle_hashes . join ( "," )
772765 } ;
773- builder = builder. header ( BUNDLE_HASHES_HEADER , bundle_ids) ;
774-
775- let sent_at = std:: time:: SystemTime :: now ( )
776- . duration_since ( std:: time:: UNIX_EPOCH )
777- . unwrap_or_default ( )
778- . as_secs_f64 ( ) ;
779- builder = builder. header ( "X-BuilderNet-SentAt" , sent_at. to_string ( ) ) ;
766+ builder = builder. header ( BUNDLE_HASHES_HEADER , bundle_hashes) ;
780767 }
768+
769+ let sent_at = std:: time:: SystemTime :: now ( )
770+ . duration_since ( std:: time:: UNIX_EPOCH )
771+ . unwrap_or_default ( )
772+ . as_secs_f64 ( ) ;
773+ builder = builder. header ( "X-BuilderNet-SentAt" , sent_at. to_string ( ) ) ;
781774 }
782775
783776 let response = builder
@@ -1260,6 +1253,7 @@ mod tests {
12601253 top_competitor_bid : None ,
12611254 } ,
12621255 order_ids : vec ! [ ] ,
1256+ bundle_hashes : vec ! [ ] ,
12631257 } ,
12641258 } ;
12651259 let registration = ValidatorSlotData {
0 commit comments