@@ -945,12 +945,18 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
945945 match self . chain . get_blobs ( & root) {
946946 Ok ( blob_sidecar_list) => {
947947 for blob_sidecar in blob_sidecar_list. iter ( ) {
948- blobs_sent += 1 ;
949- self . send_network_message ( NetworkMessage :: SendResponse {
950- peer_id,
951- inbound_request_id,
952- response : Response :: BlobsByRange ( Some ( blob_sidecar. clone ( ) ) ) ,
953- } ) ;
948+ // Due to skip slots, blobs could be out of the range, we ensure they
949+ // are in the range before sending
950+ if blob_sidecar. slot ( ) >= request_start_slot
951+ && blob_sidecar. slot ( ) < request_start_slot + req. count
952+ {
953+ blobs_sent += 1 ;
954+ self . send_network_message ( NetworkMessage :: SendResponse {
955+ peer_id,
956+ inbound_request_id,
957+ response : Response :: BlobsByRange ( Some ( blob_sidecar. clone ( ) ) ) ,
958+ } ) ;
959+ }
954960 }
955961 }
956962 Err ( e) => {
@@ -1058,14 +1064,20 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
10581064 for index in & req. columns {
10591065 match self . chain . get_data_column ( & root, index) {
10601066 Ok ( Some ( data_column_sidecar) ) => {
1061- data_columns_sent += 1 ;
1062- self . send_network_message ( NetworkMessage :: SendResponse {
1063- peer_id,
1064- inbound_request_id,
1065- response : Response :: DataColumnsByRange ( Some (
1066- data_column_sidecar. clone ( ) ,
1067- ) ) ,
1068- } ) ;
1067+ // Due to skip slots, data columns could be out of the range, we ensure they
1068+ // are in the range before sending
1069+ if data_column_sidecar. slot ( ) >= request_start_slot
1070+ && data_column_sidecar. slot ( ) < request_start_slot + req. count
1071+ {
1072+ data_columns_sent += 1 ;
1073+ self . send_network_message ( NetworkMessage :: SendResponse {
1074+ peer_id,
1075+ inbound_request_id,
1076+ response : Response :: DataColumnsByRange ( Some (
1077+ data_column_sidecar. clone ( ) ,
1078+ ) ) ,
1079+ } ) ;
1080+ }
10691081 }
10701082 Ok ( None ) => { } // no-op
10711083 Err ( e) => {
0 commit comments