@@ -7,6 +7,7 @@ use blockifier::test_utils::ALIAS_CONTRACT_ADDRESS;
77use cairo_vm:: hint_processor:: builtin_hint_processor:: dict_hint_utils:: DICT_ACCESS_SIZE ;
88use cairo_vm:: hint_processor:: hint_processor_utils:: felt_to_usize;
99use cairo_vm:: types:: builtin_name:: BuiltinName ;
10+ use cairo_vm:: types:: relocatable:: MaybeRelocatable ;
1011use rstest:: rstest;
1112use starknet_api:: core:: L2_ADDRESS_UPPER_BOUND ;
1213use starknet_api:: state:: StorageKey ;
@@ -258,14 +259,19 @@ fn allocate_aliases_for_keys_and_replace(
258259 let expected_explicit_return_values = vec ! [
259260 EndpointArg :: Value ( ValueArg :: Single ( Felt :: ZERO ) ) , // Aliases.len
260261 EndpointArg :: Pointer ( PointerArg :: Array ( vec![ // Aliases.ptr
261- Felt :: ZERO ;
262+ MaybeRelocatable :: Int ( Felt :: ZERO ) ;
262263 ( unique_keys. len( ) ) * DICT_ACCESS_SIZE
263264 ] ) ) ,
264265 // Aliases per-key ptr.
265- EndpointArg :: Pointer ( PointerArg :: Array ( vec![ Felt :: ZERO ; keys. len( ) ] ) ) ,
266+ EndpointArg :: Pointer ( PointerArg :: Array ( vec![
267+ MaybeRelocatable :: Int ( Felt :: ZERO ) ;
268+ keys. len( )
269+ ] ) ) ,
266270 ] ;
267271 let n_keys_arg = EndpointArg :: Value ( ValueArg :: Single ( keys. len ( ) . into ( ) ) ) ;
268- let keys_arg = EndpointArg :: Pointer ( PointerArg :: Array ( keys) ) ;
272+ let keys_arg = EndpointArg :: Pointer ( PointerArg :: Array (
273+ keys. iter ( ) . cloned ( ) . map ( MaybeRelocatable :: from) . collect ( ) ,
274+ ) ) ;
269275 let explicit_args = vec ! [ n_keys_arg, keys_arg] ;
270276 let storage_view = initial_storage
271277 . into_iter ( )
@@ -292,8 +298,11 @@ fn allocate_aliases_for_keys_and_replace(
292298 {
293299 let n_aliases = felt_to_usize ( n_aliases) . unwrap ( ) ;
294300 assert_eq ! ( n_aliases, aliases_storage_updates. len( ) / DICT_ACCESS_SIZE ) ;
295- let actual_alias_storage = parse_squashed_cairo_dict ( aliases_storage_updates) ;
296- ( actual_alias_storage, alias_per_key. clone ( ) . to_vec ( ) )
301+ let aliases_storage_updates_as_felts: Vec < Felt > =
302+ aliases_storage_updates. iter ( ) . map ( |f| f. get_int ( ) . unwrap ( ) ) . collect ( ) ;
303+ let actual_alias_storage = parse_squashed_cairo_dict ( & aliases_storage_updates_as_felts) ;
304+ let alias_per_key: Vec < Felt > = alias_per_key. iter ( ) . map ( |f| f. get_int ( ) . unwrap ( ) ) . collect ( ) ;
305+ ( actual_alias_storage, alias_per_key)
297306 } else {
298307 panic ! (
299308 "The return value doesn't match the given format.\n Got: {explicit_return_values:?}"
0 commit comments