@@ -29,6 +29,8 @@ pub(crate) mod task_visitors;
2929pub mod utils;
3030pub mod visitor;
3131
32+ pub use task_builder:: TaskBuilderImpl ;
33+
3234#[ derive( Clone , Copy , PartialEq , Eq , Debug ) ]
3335pub enum TaskType {
3436 Commit ,
@@ -301,6 +303,8 @@ pub type BaseTaskResult<T> = Result<T, BaseTaskError>;
301303
302304#[ cfg( test) ]
303305mod serialization_safety_test {
306+ use std:: sync:: Arc ;
307+
304308 use magicblock_program:: {
305309 args:: ShortAccountMeta , magic_scheduled_base_intent:: ProgramArgs ,
306310 } ;
@@ -310,7 +314,7 @@ mod serialization_safety_test {
310314 intent_executor:: NullTaskInfoFetcher ,
311315 tasks:: {
312316 args_task:: { ArgsTask , ArgsTaskType } ,
313- buffer_task:: { BufferTask , BufferTaskType } ,
317+ buffer_task:: BufferTask ,
314318 task_builder:: TaskBuilderImpl ,
315319 * ,
316320 } ,
@@ -382,25 +386,26 @@ mod serialization_safety_test {
382386 async fn test_buffer_task_instruction_serialization ( ) {
383387 let validator = Pubkey :: new_unique ( ) ;
384388
385- let buffer_task =
386- BufferTask :: new_preparation_required ( BufferTaskType :: Commit (
387- TaskBuilderImpl :: create_commit_task (
388- 456 ,
389- false ,
390- CommittedAccount {
391- pubkey : Pubkey :: new_unique ( ) ,
392- account : Account {
393- lamports : 2000 ,
394- data : vec ! [ 7 , 8 , 9 ] ,
395- owner : Pubkey :: new_unique ( ) ,
396- executable : false ,
397- rent_epoch : 0 ,
398- } ,
389+ let buffer_task = BufferTask :: new_preparation_required (
390+ TaskBuilderImpl :: create_commit_task (
391+ 456 ,
392+ false ,
393+ CommittedAccount {
394+ pubkey : Pubkey :: new_unique ( ) ,
395+ account : Account {
396+ lamports : 2000 ,
397+ data : vec ! [ 7 , 8 , 9 ] ,
398+ owner : Pubkey :: new_unique ( ) ,
399+ executable : false ,
400+ rent_epoch : 0 ,
399401 } ,
400- & Arc :: new ( NullTaskInfoFetcher ) ,
401- )
402- . await ,
403- ) ) ;
402+ } ,
403+ & Arc :: new ( NullTaskInfoFetcher ) ,
404+ )
405+ . await
406+ . task_type
407+ . into ( ) ,
408+ ) ;
404409 assert_serializable ( & buffer_task. instruction ( & validator) ) ;
405410 }
406411
@@ -410,25 +415,26 @@ mod serialization_safety_test {
410415 let authority = Pubkey :: new_unique ( ) ;
411416
412417 // Test BufferTask preparation
413- let buffer_task =
414- BufferTask :: new_preparation_required ( BufferTaskType :: Commit (
415- TaskBuilderImpl :: create_commit_task (
416- 789 ,
417- true ,
418- CommittedAccount {
419- pubkey : Pubkey :: new_unique ( ) ,
420- account : Account {
421- lamports : 3000 ,
422- data : vec ! [ 0 ; 1024 ] , // Larger data to test chunking
423- owner : Pubkey :: new_unique ( ) ,
424- executable : false ,
425- rent_epoch : 0 ,
426- } ,
418+ let buffer_task = BufferTask :: new_preparation_required (
419+ TaskBuilderImpl :: create_commit_task (
420+ 789 ,
421+ true ,
422+ CommittedAccount {
423+ pubkey : Pubkey :: new_unique ( ) ,
424+ account : Account {
425+ lamports : 3000 ,
426+ data : vec ! [ 0 ; 1024 ] , // Larger data to test chunking
427+ owner : Pubkey :: new_unique ( ) ,
428+ executable : false ,
429+ rent_epoch : 0 ,
427430 } ,
428- & Arc :: new ( NullTaskInfoFetcher ) ,
429- )
430- . await ,
431- ) ) ;
431+ } ,
432+ & Arc :: new ( NullTaskInfoFetcher ) ,
433+ )
434+ . await
435+ . task_type
436+ . into ( ) ,
437+ ) ;
432438
433439 let PreparationState :: Required ( preparation_task) =
434440 buffer_task. preparation_state ( )
0 commit comments