@@ -3244,96 +3244,48 @@ pub enum NumBlobs {
32443244    None , 
32453245} 
32463246
3247+ macro_rules!  add_blob_transactions { 
3248+     ( $message: expr,  $num_blobs: expr,  $rng: expr,  $fork_name: expr)  => { { 
3249+         let  num_blobs = match  $num_blobs { 
3250+             // Get random number between 1 and 2 blobs by default 
3251+             NumBlobs :: Random  => $rng. random_range( 1 ..=2 ) , 
3252+             NumBlobs :: Number ( n)  => n, 
3253+             NumBlobs :: None  => 0 , 
3254+         } ; 
3255+         let  ( bundle,  transactions)  =
3256+             execution_layer:: test_utils:: generate_blobs:: <E >( num_blobs,  $fork_name) . unwrap( ) ; 
3257+ 
3258+         let  payload = & mut  $message. body. execution_payload; 
3259+         payload. execution_payload. transactions = transactions; 
3260+ 
3261+         $message. body. blob_kzg_commitments = bundle. commitments. clone( ) ; 
3262+         bundle
3263+     } } ; 
3264+ } 
3265+ 
32473266pub  fn  generate_rand_block_and_blobs < E :  EthSpec > ( 
32483267    fork_name :  ForkName , 
32493268    num_blobs :  NumBlobs , 
32503269    rng :  & mut  impl  Rng , 
3251-     spec :  & ChainSpec , 
32523270)  -> ( SignedBeaconBlock < E ,  FullPayload < E > > ,  Vec < BlobSidecar < E > > )  { 
32533271    let  inner = map_fork_name ! ( fork_name,  BeaconBlock ,  <_>:: random_for_test( rng) ) ; 
32543272
32553273    let  mut  block = SignedBeaconBlock :: from_block ( inner,  types:: Signature :: random_for_test ( rng) ) ; 
3256-     let  max_blobs = spec. max_blobs_per_block ( block. epoch ( ) )  as  usize ; 
32573274    let  mut  blob_sidecars = vec ! [ ] ; 
32583275
32593276    let  bundle = match  block { 
32603277        SignedBeaconBlock :: Deneb ( SignedBeaconBlockDeneb  { 
32613278            ref  mut  message,  ..
3262-         } )  => { 
3263-             // Get either zero blobs or a random number of blobs between 1 and Max Blobs. 
3264-             let  payload:  & mut  FullPayloadDeneb < E >  = & mut  message. body . execution_payload ; 
3265-             let  num_blobs = match  num_blobs { 
3266-                 NumBlobs :: Random  => rng. random_range ( 1 ..=max_blobs) , 
3267-                 NumBlobs :: Number ( n)  => n, 
3268-                 NumBlobs :: None  => 0 , 
3269-             } ; 
3270-             let  ( bundle,  transactions)  =
3271-                 execution_layer:: test_utils:: generate_blobs :: < E > ( num_blobs,  fork_name) . unwrap ( ) ; 
3272- 
3273-             payload. execution_payload . transactions  = <_ >:: default ( ) ; 
3274-             for  tx in  Vec :: from ( transactions)  { 
3275-                 payload. execution_payload . transactions . push ( tx) . unwrap ( ) ; 
3276-             } 
3277-             message. body . blob_kzg_commitments  = bundle. commitments . clone ( ) ; 
3278-             bundle
3279-         } 
3279+         } )  => add_blob_transactions ! ( message,  num_blobs,  rng,  fork_name) , 
32803280        SignedBeaconBlock :: Electra ( SignedBeaconBlockElectra  { 
32813281            ref  mut  message,  ..
3282-         } )  => { 
3283-             // Get either zero blobs or a random number of blobs between 1 and Max Blobs. 
3284-             let  payload:  & mut  FullPayloadElectra < E >  = & mut  message. body . execution_payload ; 
3285-             let  num_blobs = match  num_blobs { 
3286-                 NumBlobs :: Random  => rng. random_range ( 1 ..=max_blobs) , 
3287-                 NumBlobs :: Number ( n)  => n, 
3288-                 NumBlobs :: None  => 0 , 
3289-             } ; 
3290-             let  ( bundle,  transactions)  =
3291-                 execution_layer:: test_utils:: generate_blobs :: < E > ( num_blobs,  fork_name) . unwrap ( ) ; 
3292-             payload. execution_payload . transactions  = <_ >:: default ( ) ; 
3293-             for  tx in  Vec :: from ( transactions)  { 
3294-                 payload. execution_payload . transactions . push ( tx) . unwrap ( ) ; 
3295-             } 
3296-             message. body . blob_kzg_commitments  = bundle. commitments . clone ( ) ; 
3297-             bundle
3298-         } 
3282+         } )  => add_blob_transactions ! ( message,  num_blobs,  rng,  fork_name) , 
32993283        SignedBeaconBlock :: Fulu ( SignedBeaconBlockFulu  { 
33003284            ref  mut  message,  ..
3301-         } )  => { 
3302-             // Get either zero blobs or a random number of blobs between 1 and Max Blobs. 
3303-             let  payload:  & mut  FullPayloadFulu < E >  = & mut  message. body . execution_payload ; 
3304-             let  num_blobs = match  num_blobs { 
3305-                 NumBlobs :: Random  => rng. random_range ( 1 ..=max_blobs) , 
3306-                 NumBlobs :: Number ( n)  => n, 
3307-                 NumBlobs :: None  => 0 , 
3308-             } ; 
3309-             let  ( bundle,  transactions)  =
3310-                 execution_layer:: test_utils:: generate_blobs :: < E > ( num_blobs,  fork_name) . unwrap ( ) ; 
3311-             payload. execution_payload . transactions  = <_ >:: default ( ) ; 
3312-             for  tx in  Vec :: from ( transactions)  { 
3313-                 payload. execution_payload . transactions . push ( tx) . unwrap ( ) ; 
3314-             } 
3315-             message. body . blob_kzg_commitments  = bundle. commitments . clone ( ) ; 
3316-             bundle
3317-         } 
3285+         } )  => add_blob_transactions ! ( message,  num_blobs,  rng,  fork_name) , 
33183286        SignedBeaconBlock :: Gloas ( SignedBeaconBlockGloas  { 
33193287            ref  mut  message,  ..
3320-         } )  => { 
3321-             // Get either zero blobs or a random number of blobs between 1 and Max Blobs. 
3322-             let  payload:  & mut  FullPayloadGloas < E >  = & mut  message. body . execution_payload ; 
3323-             let  num_blobs = match  num_blobs { 
3324-                 NumBlobs :: Random  => rng. random_range ( 1 ..=max_blobs) , 
3325-                 NumBlobs :: Number ( n)  => n, 
3326-                 NumBlobs :: None  => 0 , 
3327-             } ; 
3328-             let  ( bundle,  transactions)  =
3329-                 execution_layer:: test_utils:: generate_blobs :: < E > ( num_blobs,  fork_name) . unwrap ( ) ; 
3330-             payload. execution_payload . transactions  = <_ >:: default ( ) ; 
3331-             for  tx in  Vec :: from ( transactions)  { 
3332-                 payload. execution_payload . transactions . push ( tx) . unwrap ( ) ; 
3333-             } 
3334-             message. body . blob_kzg_commitments  = bundle. commitments . clone ( ) ; 
3335-             bundle
3336-         } 
3288+         } )  => add_blob_transactions ! ( message,  num_blobs,  rng,  fork_name) , 
33373289        _ => return  ( block,  blob_sidecars) , 
33383290    } ; 
33393291
@@ -3374,7 +3326,7 @@ pub fn generate_rand_block_and_data_columns<E: EthSpec>(
33743326    SignedBeaconBlock < E ,  FullPayload < E > > , 
33753327    DataColumnSidecarList < E > , 
33763328)  { 
3377-     let  ( block,  _blobs)  = generate_rand_block_and_blobs ( fork_name,  num_blobs,  rng,  spec ) ; 
3329+     let  ( block,  _blobs)  = generate_rand_block_and_blobs ( fork_name,  num_blobs,  rng) ; 
33783330    let  data_columns = generate_data_column_sidecars_from_block ( & block,  spec) ; 
33793331    ( block,  data_columns) 
33803332} 
0 commit comments