@@ -3380,17 +3380,22 @@ async fn test_import_historical_data_columns_batch() {
33803380 . await ;
33813381 harness. advance_slot ( ) ;
33823382
3383- let block_root_iter = harness
3383+ let block_root_and_slot = harness
33843384 . chain
33853385 . forwards_iter_block_roots_until ( start_slot, end_slot)
33863386 . unwrap ( ) ;
33873387
33883388 let mut data_columns_list = vec ! [ ] ;
33893389
33903390 // Get all data columns for epoch 0
3391- for block in block_root_iter {
3392- let ( block_root, _) = block. unwrap ( ) ;
3393- let data_columns = harness. chain . store . get_data_columns ( & block_root) . unwrap ( ) ;
3391+ for block_root_and_slot in block_root_and_slot {
3392+ let ( block_root, slot) = block_root_and_slot. unwrap ( ) ;
3393+ let fork_name = harness. spec . fork_name_at_slot :: < E > ( slot) ;
3394+ let data_columns = harness
3395+ . chain
3396+ . store
3397+ . get_data_columns ( & block_root, fork_name)
3398+ . unwrap ( ) ;
33943399 for data_column in data_columns. unwrap_or_default ( ) {
33953400 data_columns_list. push ( data_column) ;
33963401 }
@@ -3415,15 +3420,20 @@ async fn test_import_historical_data_columns_batch() {
34153420 . try_prune_blobs ( true , Epoch :: new ( 2 ) )
34163421 . unwrap ( ) ;
34173422
3418- let block_root_iter = harness
3423+ let block_root_and_slot_iter = harness
34193424 . chain
34203425 . forwards_iter_block_roots_until ( start_slot, end_slot)
34213426 . unwrap ( ) ;
34223427
34233428 // Assert that data columns no longer exist for epoch 0
3424- for block in block_root_iter {
3425- let ( block_root, _) = block. unwrap ( ) ;
3426- let data_columns = harness. chain . store . get_data_columns ( & block_root) . unwrap ( ) ;
3429+ for block_root_and_slot in block_root_and_slot_iter {
3430+ let ( block_root, slot) = block_root_and_slot. unwrap ( ) ;
3431+ let fork_name = harness. spec . fork_name_at_slot :: < E > ( slot) ;
3432+ let data_columns = harness
3433+ . chain
3434+ . store
3435+ . get_data_columns ( & block_root, fork_name)
3436+ . unwrap ( ) ;
34273437 assert ! ( data_columns. is_none( ) )
34283438 }
34293439
@@ -3433,14 +3443,14 @@ async fn test_import_historical_data_columns_batch() {
34333443 . import_historical_data_column_batch ( Epoch :: new ( 0 ) , data_columns_list, cgc)
34343444 . unwrap ( ) ;
34353445
3436- let block_root_iter = harness
3446+ let block_root_and_slot_iter = harness
34373447 . chain
34383448 . forwards_iter_block_roots_until ( start_slot, end_slot)
34393449 . unwrap ( ) ;
34403450
34413451 // Assert that data columns now exist for epoch 0
3442- for block in block_root_iter {
3443- let ( block_root, _ ) = block . unwrap ( ) ;
3452+ for block_root_and_slot in block_root_and_slot_iter {
3453+ let ( block_root, slot ) = block_root_and_slot . unwrap ( ) ;
34443454 if !harness
34453455 . get_block ( block_root. into ( ) )
34463456 . unwrap ( )
@@ -3450,7 +3460,12 @@ async fn test_import_historical_data_columns_batch() {
34503460 . unwrap ( )
34513461 . is_empty ( )
34523462 {
3453- let data_columns = harness. chain . store . get_data_columns ( & block_root) . unwrap ( ) ;
3463+ let fork_name = harness. spec . fork_name_at_slot :: < E > ( slot) ;
3464+ let data_columns = harness
3465+ . chain
3466+ . store
3467+ . get_data_columns ( & block_root, fork_name)
3468+ . unwrap ( ) ;
34543469 assert ! ( data_columns. is_some( ) )
34553470 } ;
34563471 }
@@ -3478,7 +3493,7 @@ async fn test_import_historical_data_columns_batch_mismatched_block_root() {
34783493 . await ;
34793494 harness. advance_slot ( ) ;
34803495
3481- let block_root_iter = harness
3496+ let block_root_and_slot_iter = harness
34823497 . chain
34833498 . forwards_iter_block_roots_until ( start_slot, end_slot)
34843499 . unwrap ( ) ;
@@ -3487,14 +3502,23 @@ async fn test_import_historical_data_columns_batch_mismatched_block_root() {
34873502
34883503 // Get all data columns from start_slot to end_slot
34893504 // and mutate the data columns with an invalid block root
3490- for block in block_root_iter {
3491- let ( block_root, _) = block. unwrap ( ) ;
3492- let data_columns = harness. chain . store . get_data_columns ( & block_root) . unwrap ( ) ;
3505+ for block_root_and_slot in block_root_and_slot_iter {
3506+ let ( block_root, slot) = block_root_and_slot. unwrap ( ) ;
3507+ let fork_name = harness. spec . fork_name_at_slot :: < E > ( slot) ;
3508+ let data_columns = harness
3509+ . chain
3510+ . store
3511+ . get_data_columns ( & block_root, fork_name)
3512+ . unwrap ( ) ;
34933513
34943514 for data_column in data_columns. unwrap_or_default ( ) {
34953515 let mut data_column = ( * data_column) . clone ( ) ;
3496- if data_column. index % 2 == 0 {
3497- data_column. signed_block_header . message . body_root = Hash256 :: ZERO ;
3516+ if data_column. index ( ) % 2 == 0 {
3517+ data_column
3518+ . signed_block_header_mut ( )
3519+ . unwrap ( )
3520+ . message
3521+ . body_root = Hash256 :: ZERO ;
34983522 }
34993523
35003524 data_columns_list. push ( Arc :: new ( data_column) ) ;
@@ -3519,15 +3543,20 @@ async fn test_import_historical_data_columns_batch_mismatched_block_root() {
35193543 . try_prune_blobs ( true , Epoch :: new ( 2 ) )
35203544 . unwrap ( ) ;
35213545
3522- let block_root_iter = harness
3546+ let block_root_and_slot_iter = harness
35233547 . chain
35243548 . forwards_iter_block_roots_until ( start_slot, end_slot)
35253549 . unwrap ( ) ;
35263550
35273551 // Assert there are no columns between start_slot and end_slot
3528- for block in block_root_iter {
3529- let ( block_root, _) = block. unwrap ( ) ;
3530- let data_columns = harness. chain . store . get_data_columns ( & block_root) . unwrap ( ) ;
3552+ for block_root_and_slot in block_root_and_slot_iter {
3553+ let ( block_root, slot) = block_root_and_slot. unwrap ( ) ;
3554+ let fork_name = harness. spec . fork_name_at_slot :: < E > ( slot) ;
3555+ let data_columns = harness
3556+ . chain
3557+ . store
3558+ . get_data_columns ( & block_root, fork_name)
3559+ . unwrap ( ) ;
35313560 assert ! ( data_columns. is_none( ) )
35323561 }
35333562
@@ -3573,20 +3602,29 @@ async fn test_import_historical_data_columns_batch_no_block_found() {
35733602 . await ;
35743603 harness. advance_slot ( ) ;
35753604
3576- let block_root_iter = harness
3605+ let block_root_and_slot_iter = harness
35773606 . chain
35783607 . forwards_iter_block_roots_until ( start_slot, end_slot)
35793608 . unwrap ( ) ;
35803609
35813610 let mut data_columns_list = vec ! [ ] ;
35823611
3583- for block in block_root_iter {
3584- let ( block_root, _) = block. unwrap ( ) ;
3585- let data_columns = harness. chain . store . get_data_columns ( & block_root) . unwrap ( ) ;
3612+ for block_root_and_slot in block_root_and_slot_iter {
3613+ let ( block_root, slot) = block_root_and_slot. unwrap ( ) ;
3614+ let fork_name = harness. spec . fork_name_at_slot :: < E > ( slot) ;
3615+ let data_columns = harness
3616+ . chain
3617+ . store
3618+ . get_data_columns ( & block_root, fork_name)
3619+ . unwrap ( ) ;
35863620
35873621 for data_column in data_columns. unwrap_or_default ( ) {
35883622 let mut data_column = ( * data_column) . clone ( ) ;
3589- data_column. signed_block_header . message . body_root = Hash256 :: ZERO ;
3623+ data_column
3624+ . signed_block_header_mut ( )
3625+ . unwrap ( )
3626+ . message
3627+ . body_root = Hash256 :: ZERO ;
35903628 data_columns_list. push ( Arc :: new ( data_column) ) ;
35913629 }
35923630 }
@@ -3609,14 +3647,19 @@ async fn test_import_historical_data_columns_batch_no_block_found() {
36093647 . try_prune_blobs ( true , Epoch :: new ( 2 ) )
36103648 . unwrap ( ) ;
36113649
3612- let block_root_iter = harness
3650+ let block_root_and_slot_iter = harness
36133651 . chain
36143652 . forwards_iter_block_roots_until ( start_slot, end_slot)
36153653 . unwrap ( ) ;
36163654
3617- for block in block_root_iter {
3618- let ( block_root, _) = block. unwrap ( ) ;
3619- let data_columns = harness. chain . store . get_data_columns ( & block_root) . unwrap ( ) ;
3655+ for block_root_and_slot in block_root_and_slot_iter {
3656+ let ( block_root, slot) = block_root_and_slot. unwrap ( ) ;
3657+ let fork_name = harness. spec . fork_name_at_slot :: < E > ( slot) ;
3658+ let data_columns = harness
3659+ . chain
3660+ . store
3661+ . get_data_columns ( & block_root, fork_name)
3662+ . unwrap ( ) ;
36203663 assert ! ( data_columns. is_none( ) )
36213664 }
36223665
@@ -4995,7 +5038,13 @@ fn check_data_column_existence(
49955038 . unwrap ( )
49965039 . map ( Result :: unwrap)
49975040 {
4998- if let Some ( columns) = harness. chain . store . get_data_columns ( & block_root) . unwrap ( ) {
5041+ let fork_name = harness. spec . fork_name_at_slot :: < E > ( slot) ;
5042+ if let Some ( columns) = harness
5043+ . chain
5044+ . store
5045+ . get_data_columns ( & block_root, fork_name)
5046+ . unwrap ( )
5047+ {
49995048 assert ! ( should_exist, "columns at slot {slot} exist but should not" ) ;
50005049 columns_seen += columns. len ( ) ;
50015050 } else {
0 commit comments