@@ -9,9 +9,13 @@ use papyrus_network_types::network_types::BroadcastedMessageMetadata;
99use papyrus_test_utils:: { get_rng, GetTestInstance } ;
1010use rstest:: { fixture, rstest} ;
1111use starknet_api:: core:: { ChainId , CompiledClassHash , ContractAddress , Nonce } ;
12- use starknet_api:: executable_transaction:: { AccountTransaction , InvokeTransaction } ;
13- use starknet_api:: rpc_transaction:: { RpcDeclareTransaction , RpcTransaction } ;
14- use starknet_api:: transaction:: TransactionHash ;
12+ use starknet_api:: rpc_transaction:: {
13+ InternalRpcTransaction ,
14+ InternalRpcTransactionWithoutTxHash ,
15+ RpcDeclareTransaction ,
16+ RpcTransaction ,
17+ } ;
18+ use starknet_api:: transaction:: { InvokeTransaction , TransactionHash , TransactionVersion } ;
1519use starknet_class_manager_types:: test_utils:: MemoryClassManagerClient ;
1620use starknet_class_manager_types:: transaction_converter:: TransactionConverter ;
1721use starknet_class_manager_types:: SharedClassManagerClient ;
@@ -61,12 +65,7 @@ fn mock_dependencies(
6165) -> MockDependencies {
6266 let mock_mempool_client = MockMempoolClient :: new ( ) ;
6367 let class_manager_client = Arc :: new ( MemoryClassManagerClient :: new ( ) ) ;
64- MockDependencies {
65- config,
66- state_reader_factory,
67- mock_mempool_client,
68- class_manager_client,
69- }
68+ MockDependencies { config, state_reader_factory, mock_mempool_client, class_manager_client }
7069}
7170
7271struct MockDependencies {
@@ -131,18 +130,28 @@ async fn test_add_tx(
131130 #[ case] expected_result : Result < ( ) , MempoolClientError > ,
132131 #[ case] expected_error : Option < GatewaySpecError > ,
133132) {
133+ use starknet_api:: transaction:: TransactionHasher ;
134+
134135 let ( rpc_tx, address) = create_tx ( ) ;
135136 let rpc_invoke_tx =
136137 assert_matches ! ( rpc_tx. clone( ) , RpcTransaction :: Invoke ( rpc_invoke_tx) => rpc_invoke_tx) ;
137- let executable_tx = AccountTransaction :: Invoke (
138- InvokeTransaction :: from_rpc_tx ( rpc_invoke_tx, & ChainId :: create_for_testing ( ) ) . unwrap ( ) ,
139- ) ;
140138
141- let tx_hash = executable_tx. tx_hash ( ) ;
139+ let InvokeTransaction :: V3 ( invoke_tx) : InvokeTransaction = rpc_invoke_tx. clone ( ) . into ( ) else {
140+ panic ! ( "Unexpected transaction version" )
141+ } ;
142+
143+ let tx_hash = invoke_tx
144+ . calculate_transaction_hash ( & ChainId :: create_for_testing ( ) , & TransactionVersion :: THREE )
145+ . unwrap ( ) ;
146+
147+ let internal_invoke_tx = InternalRpcTransaction {
148+ tx : InternalRpcTransactionWithoutTxHash :: Invoke ( rpc_invoke_tx. clone ( ) ) ,
149+ tx_hash,
150+ } ;
142151
143152 let p2p_message_metadata = Some ( BroadcastedMessageMetadata :: get_test_instance ( & mut get_rng ( ) ) ) ;
144153 let add_tx_args = AddTransactionArgs {
145- tx : executable_tx ,
154+ tx : internal_invoke_tx ,
146155 account_state : AccountState { address, nonce : * rpc_tx. nonce ( ) } ,
147156 } ;
148157 mock_dependencies. expect_add_tx (
0 commit comments