@@ -33,6 +33,7 @@ use blockifier::test_utils::dict_state_reader::DictStateReader;
3333use blockifier:: transaction:: account_transaction:: AccountTransaction as BlockifierAccountTx ;
3434use blockifier:: transaction:: transaction_execution:: Transaction as BlockifierTx ;
3535use blockifier:: transaction:: transactions:: ExecutableTransaction ;
36+ use blockifier_test_utils:: cairo_versions:: { CairoVersion , RunnableCairo1 } ;
3637use blockifier_test_utils:: contracts:: FeatureContract ;
3738use expect_test:: expect_file;
3839use google_cloud_storage:: client:: { Client , ClientConfig } ;
@@ -208,7 +209,6 @@ impl BlobFactory {
208209
209210 /// Executes the unblocked transactions and applies the changes to the state.
210211 /// Any subsequent transaction added will end up in the next block.
211- #[ expect( dead_code) ]
212212 async fn close_block ( & mut self ) {
213213 let block_context = self . next_block_context ( ) ;
214214 let block_info = block_context. block_info ( ) . clone ( ) ;
@@ -355,7 +355,6 @@ impl BlobFactory {
355355 // Tx generation
356356 // =====================
357357
358- #[ expect( dead_code) ]
359358 fn boostrap_declare_tx ( & mut self , contract : FeatureContract ) {
360359 let sender_address = ExecutableDeclareTx :: bootstrap_address ( ) ;
361360 let sierra = contract. get_sierra ( ) ;
@@ -594,9 +593,28 @@ async fn fetch_blob_file(client: &Client) -> Vec<AerospikeBlob> {
594593
595594#[ tokio:: test]
596595async fn test_make_data ( ) {
597- let blob_factory = BlobFactory :: new ( ) ;
596+ let mut blob_factory = BlobFactory :: new ( ) ;
598597 let chain_info = OsChainInfo :: from ( & blob_factory. chain_info ) . to_hex_map ( ) ;
599- // TODO(Dori): create txs.
598+
599+ // Create the list of transactions to be included in the blobs:
600+ // 1. bootstrap declare of an ERC20 contract.
601+ // 2. bootstrap declare of an account with real validate.
602+ // TODO(Dori): the rest of the txs.
603+ // 3. deploy account (with zero fees).
604+ // 4. deploy ERC20 contract from the account (with zero fees), while minting some tokens to the
605+ // sender account.
606+ // (from this point - all txs include non-zero fees, and no more bootstrap declares)
607+ // 5. declare the test contract.
608+ // 6. deploy the test contract.
609+ // 7. deploy another instance of the test contract.
610+ // 8. invoke the test contract: something with a state change.
611+ // 9. invoke the test contract: test syscalls.
612+ let erc20_contract = FeatureContract :: ERC20 ( CairoVersion :: Cairo1 ( RunnableCairo1 :: Casm ) ) ;
613+ let account_with_real_validate = FeatureContract :: AccountWithRealValidate ( RunnableCairo1 :: Casm ) ;
614+ blob_factory. boostrap_declare_tx ( erc20_contract) ;
615+ blob_factory. close_block ( ) . await ;
616+ blob_factory. boostrap_declare_tx ( account_with_real_validate) ;
617+
600618 let ( blobs, preconfirmed_block) = blob_factory. finalize ( ) . await ;
601619 expect_file ! [ CHAIN_INFO_PATH ] . assert_eq ( & serde_json:: to_string_pretty ( & chain_info) . unwrap ( ) ) ;
602620 expect_file ! [ PRECONFIRMED_BLOCK_PATH ] . assert_eq ( & to_normalized_json ( & preconfirmed_block) ) ;
0 commit comments