@@ -197,27 +197,27 @@ impl HintProcessorLogic for BuiltinHintProcessor {
197197 . downcast_ref :: < HintProcessorData > ( )
198198 . ok_or ( HintError :: WrongHintData ) ?;
199199
200- let identifiers = hint_data. identifiers . as_ref ( ) ;
201- let owned_constants = identifiers
202- . clone ( )
203- . into_iter ( )
204- . filter_map ( |( key, identifier) | {
205- if identifier. type_ ? == "const" {
206- Some ( ( key, identifier. value ?) )
207- } else {
208- None
209- }
210- } )
211- . collect ( ) ;
212- let constants = & owned_constants;
213-
214200 if let Some ( hint_func) = self . extra_hints . get ( & hint_data. code ) {
201+ let constants = hint_data
202+ . identifiers
203+ . as_ref ( )
204+ . clone ( )
205+ . into_iter ( )
206+ . filter_map ( |( key, identifier) | {
207+ if identifier. type_ ? == "const" {
208+ Some ( ( key, identifier. value ?) )
209+ } else {
210+ None
211+ }
212+ } )
213+ . collect ( ) ;
214+
215215 return hint_func. 0 (
216216 vm,
217217 exec_scopes,
218218 & hint_data. ids_data ,
219219 & hint_data. ap_tracking ,
220- constants,
220+ & constants,
221221 ) ;
222222 }
223223 match & * hint_data. code {
@@ -246,9 +246,13 @@ impl HintProcessorLogic for BuiltinHintProcessor {
246246 & hint_data. accessible_scopes ,
247247 ) ,
248248 hint_code:: IS_250_BITS => is_250_bits ( vm, & hint_data. ids_data , & hint_data. ap_tracking ) ,
249- hint_code:: IS_ADDR_BOUNDED => {
250- is_addr_bounded ( vm, & hint_data. ids_data , & hint_data. ap_tracking , constants)
251- }
249+ hint_code:: IS_ADDR_BOUNDED => is_addr_bounded (
250+ vm,
251+ & hint_data. ids_data ,
252+ & hint_data. ap_tracking ,
253+ & hint_data. identifiers ,
254+ & hint_data. accessible_scopes ,
255+ ) ,
252256 hint_code:: IS_POSITIVE => is_positive ( vm, & hint_data. ids_data , & hint_data. ap_tracking ) ,
253257 hint_code:: SPLIT_INT_ASSERT_RANGE => {
254258 split_int_assert_range ( vm, & hint_data. ids_data , & hint_data. ap_tracking )
@@ -468,9 +472,13 @@ impl HintProcessorLogic for BuiltinHintProcessor {
468472 hint_code:: UINT256_EXPANDED_UNSIGNED_DIV_REM => {
469473 uint256_expanded_unsigned_div_rem ( vm, & hint_data. ids_data , & hint_data. ap_tracking )
470474 }
471- hint_code:: BIGINT_TO_UINT256 => {
472- bigint_to_uint256 ( vm, & hint_data. ids_data , & hint_data. ap_tracking , constants)
473- }
475+ hint_code:: BIGINT_TO_UINT256 => bigint_to_uint256 (
476+ vm,
477+ & hint_data. ids_data ,
478+ & hint_data. ap_tracking ,
479+ & hint_data. identifiers ,
480+ & hint_data. accessible_scopes ,
481+ ) ,
474482 hint_code:: IS_ZERO_PACK_V1 | hint_code:: IS_ZERO_PACK_V2 => {
475483 is_zero_pack ( vm, exec_scopes, & hint_data. ids_data , & hint_data. ap_tracking )
476484 }
@@ -524,7 +532,8 @@ impl HintProcessorLogic for BuiltinHintProcessor {
524532 exec_scopes,
525533 & hint_data. ids_data ,
526534 & hint_data. ap_tracking ,
527- constants,
535+ & hint_data. identifiers ,
536+ & hint_data. accessible_scopes ,
528537 ) ,
529538 hint_code:: EC_NEGATE => ec_negate_import_secp_p (
530539 vm,
@@ -682,20 +691,21 @@ impl HintProcessorLogic for BuiltinHintProcessor {
682691 vm,
683692 & hint_data. ids_data ,
684693 & hint_data. ap_tracking ,
685- constants,
694+ & hint_data. identifiers ,
695+ & hint_data. accessible_scopes ,
686696 ) ,
687697 hint_code:: SHA256_MAIN_CONSTANT_INPUT_LENGTH => sha256_main_constant_input_length (
688698 vm,
689699 & hint_data. ids_data ,
690700 & hint_data. ap_tracking ,
691- identifiers,
701+ & hint_data . identifiers ,
692702 & hint_data. accessible_scopes ,
693703 ) ,
694704 hint_code:: SHA256_MAIN_ARBITRARY_INPUT_LENGTH => sha256_main_arbitrary_input_length (
695705 vm,
696706 & hint_data. ids_data ,
697707 & hint_data. ap_tracking ,
698- identifiers,
708+ & hint_data . identifiers ,
699709 & hint_data. accessible_scopes ,
700710 ) ,
701711 hint_code:: SHA256_INPUT => {
@@ -712,21 +722,40 @@ impl HintProcessorLogic for BuiltinHintProcessor {
712722 vm,
713723 & hint_data. ids_data ,
714724 & hint_data. ap_tracking ,
715- constants,
725+ & hint_data. identifiers ,
726+ & hint_data. accessible_scopes ,
716727 )
717728 }
718729 hint_code:: BLOCK_PERMUTATION | hint_code:: BLOCK_PERMUTATION_WHITELIST_V1 => {
719- block_permutation_v1 ( vm, & hint_data. ids_data , & hint_data. ap_tracking , constants)
720- }
721- hint_code:: BLOCK_PERMUTATION_WHITELIST_V2 => {
722- block_permutation_v2 ( vm, & hint_data. ids_data , & hint_data. ap_tracking , constants)
723- }
724- hint_code:: CAIRO_KECCAK_FINALIZE_V1 => {
725- cairo_keccak_finalize_v1 ( vm, & hint_data. ids_data , & hint_data. ap_tracking , constants)
726- }
727- hint_code:: CAIRO_KECCAK_FINALIZE_V2 => {
728- cairo_keccak_finalize_v2 ( vm, & hint_data. ids_data , & hint_data. ap_tracking , constants)
730+ block_permutation_v1 (
731+ vm,
732+ & hint_data. ids_data ,
733+ & hint_data. ap_tracking ,
734+ & hint_data. identifiers ,
735+ & hint_data. accessible_scopes ,
736+ )
729737 }
738+ hint_code:: BLOCK_PERMUTATION_WHITELIST_V2 => block_permutation_v2 (
739+ vm,
740+ & hint_data. ids_data ,
741+ & hint_data. ap_tracking ,
742+ & hint_data. identifiers ,
743+ & hint_data. accessible_scopes ,
744+ ) ,
745+ hint_code:: CAIRO_KECCAK_FINALIZE_V1 => cairo_keccak_finalize_v1 (
746+ vm,
747+ & hint_data. ids_data ,
748+ & hint_data. ap_tracking ,
749+ & hint_data. identifiers ,
750+ & hint_data. accessible_scopes ,
751+ ) ,
752+ hint_code:: CAIRO_KECCAK_FINALIZE_V2 => cairo_keccak_finalize_v2 (
753+ vm,
754+ & hint_data. ids_data ,
755+ & hint_data. ap_tracking ,
756+ & hint_data. identifiers ,
757+ & hint_data. accessible_scopes ,
758+ ) ,
730759 hint_code:: FAST_EC_ADD_ASSIGN_NEW_X => fast_ec_add_assign_new_x (
731760 vm,
732761 exec_scopes,
@@ -788,9 +817,13 @@ impl HintProcessorLogic for BuiltinHintProcessor {
788817 hint_code:: SPLIT_INPUT_15 => {
789818 split_input ( vm, & hint_data. ids_data , & hint_data. ap_tracking , 15 , 5 )
790819 }
791- hint_code:: SPLIT_N_BYTES => {
792- split_n_bytes ( vm, & hint_data. ids_data , & hint_data. ap_tracking , constants)
793- }
820+ hint_code:: SPLIT_N_BYTES => split_n_bytes (
821+ vm,
822+ & hint_data. ids_data ,
823+ & hint_data. ap_tracking ,
824+ & hint_data. identifiers ,
825+ & hint_data. accessible_scopes ,
826+ ) ,
794827 hint_code:: SPLIT_OUTPUT_MID_LOW_HIGH => {
795828 split_output_mid_low_high ( vm, & hint_data. ids_data , & hint_data. ap_tracking )
796829 }
@@ -903,7 +936,8 @@ impl HintProcessorLogic for BuiltinHintProcessor {
903936 vm,
904937 & hint_data. ids_data ,
905938 & hint_data. ap_tracking ,
906- constants,
939+ & hint_data. identifiers ,
940+ & hint_data. accessible_scopes ,
907941 )
908942 }
909943 #[ cfg( feature = "test_utils" ) ]
@@ -920,7 +954,7 @@ impl HintProcessorLogic for BuiltinHintProcessor {
920954 vm,
921955 & hint_data. ids_data ,
922956 & hint_data. ap_tracking ,
923- identifiers,
957+ & hint_data . identifiers ,
924958 & hint_data. accessible_scopes ,
925959 exec_scopes,
926960 ) ,
@@ -930,15 +964,16 @@ impl HintProcessorLogic for BuiltinHintProcessor {
930964 exec_scopes,
931965 & hint_data. ids_data ,
932966 & hint_data. ap_tracking ,
933- constants,
967+ & hint_data. identifiers ,
968+ & hint_data. accessible_scopes ,
934969 ) ,
935970 #[ cfg( feature = "cairo-0-secp-hints" ) ]
936971 cairo0_hints:: COMPUTE_IDS_HIGH_LOW => cairo0_hints:: compute_ids_high_low (
937972 vm,
938973 exec_scopes,
939974 & hint_data. ids_data ,
940975 & hint_data. ap_tracking ,
941- identifiers,
976+ & hint_data . identifiers ,
942977 & hint_data. accessible_scopes ,
943978 ) ,
944979 #[ cfg( feature = "cairo-0-secp-hints" ) ]
@@ -947,7 +982,8 @@ impl HintProcessorLogic for BuiltinHintProcessor {
947982 exec_scopes,
948983 & hint_data. ids_data ,
949984 & hint_data. ap_tracking ,
950- constants,
985+ & hint_data. identifiers ,
986+ & hint_data. accessible_scopes ,
951987 SECP256R1_P . magnitude ( ) ,
952988 ) ,
953989 #[ cfg( feature = "cairo-0-secp-hints" ) ]
@@ -956,7 +992,8 @@ impl HintProcessorLogic for BuiltinHintProcessor {
956992 exec_scopes,
957993 & hint_data. ids_data ,
958994 & hint_data. ap_tracking ,
959- constants,
995+ & hint_data. identifiers ,
996+ & hint_data. accessible_scopes ,
960997 & CAIRO_PRIME ,
961998 ) ,
962999 #[ cfg( feature = "cairo-0-secp-hints" ) ]
@@ -965,23 +1002,26 @@ impl HintProcessorLogic for BuiltinHintProcessor {
9651002 exec_scopes,
9661003 & hint_data. ids_data ,
9671004 & hint_data. ap_tracking ,
968- constants,
1005+ & hint_data. identifiers ,
1006+ & hint_data. accessible_scopes ,
9691007 ) ,
9701008 #[ cfg( feature = "cairo-0-secp-hints" ) ]
9711009 cairo0_hints:: COMPUTE_VALUE_DIV_MOD => cairo0_hints:: compute_value_div_mod (
9721010 vm,
9731011 exec_scopes,
9741012 & hint_data. ids_data ,
9751013 & hint_data. ap_tracking ,
976- constants,
1014+ & hint_data. identifiers ,
1015+ & hint_data. accessible_scopes ,
9771016 ) ,
9781017 #[ cfg( feature = "cairo-0-secp-hints" ) ]
9791018 cairo0_hints:: GENERATE_NIBBLES => cairo0_hints:: generate_nibbles (
9801019 vm,
9811020 exec_scopes,
9821021 & hint_data. ids_data ,
9831022 & hint_data. ap_tracking ,
984- constants,
1023+ & hint_data. identifiers ,
1024+ & hint_data. accessible_scopes ,
9851025 ) ,
9861026
9871027 #[ cfg( feature = "cairo-0-secp-hints" ) ]
@@ -990,23 +1030,26 @@ impl HintProcessorLogic for BuiltinHintProcessor {
9901030 exec_scopes,
9911031 & hint_data. ids_data ,
9921032 & hint_data. ap_tracking ,
993- constants,
1033+ & hint_data. identifiers ,
1034+ & hint_data. accessible_scopes ,
9941035 ) ,
9951036 #[ cfg( feature = "cairo-0-secp-hints" ) ]
9961037 cairo0_hints:: IS_ON_CURVE_2 => cairo0_hints:: is_on_curve_2 (
9971038 vm,
9981039 exec_scopes,
9991040 & hint_data. ids_data ,
10001041 & hint_data. ap_tracking ,
1001- constants,
1042+ & hint_data. identifiers ,
1043+ & hint_data. accessible_scopes ,
10021044 ) ,
10031045 #[ cfg( feature = "cairo-0-secp-hints" ) ]
10041046 cairo0_hints:: SECP_R1_GET_POINT_FROM_X => cairo0_hints:: r1_get_point_from_x (
10051047 vm,
10061048 exec_scopes,
10071049 & hint_data. ids_data ,
10081050 & hint_data. ap_tracking ,
1009- constants,
1051+ & hint_data. identifiers ,
1052+ & hint_data. accessible_scopes ,
10101053 SECP256R1_P . magnitude ( ) ,
10111054 ) ,
10121055
@@ -1016,7 +1059,8 @@ impl HintProcessorLogic for BuiltinHintProcessor {
10161059 exec_scopes,
10171060 & hint_data. ids_data ,
10181061 & hint_data. ap_tracking ,
1019- constants,
1062+ & hint_data. identifiers ,
1063+ & hint_data. accessible_scopes ,
10201064 & CAIRO_PRIME ,
10211065 ) ,
10221066
@@ -1026,23 +1070,26 @@ impl HintProcessorLogic for BuiltinHintProcessor {
10261070 exec_scopes,
10271071 & hint_data. ids_data ,
10281072 & hint_data. ap_tracking ,
1029- constants,
1073+ & hint_data. identifiers ,
1074+ & hint_data. accessible_scopes ,
10301075 ) ,
10311076 #[ cfg( feature = "cairo-0-secp-hints" ) ]
10321077 cairo0_hints:: SECP_REDUCE_X => cairo0_hints:: reduce_x (
10331078 vm,
10341079 exec_scopes,
10351080 & hint_data. ids_data ,
10361081 & hint_data. ap_tracking ,
1037- constants,
1082+ & hint_data. identifiers ,
1083+ & hint_data. accessible_scopes ,
10381084 ) ,
10391085 #[ cfg( feature = "cairo-0-data-availability-hints" ) ]
10401086 super :: kzg_da:: WRITE_DIVMOD_SEGMENT => super :: kzg_da:: write_div_mod_segment (
10411087 vm,
10421088 exec_scopes,
10431089 & hint_data. ids_data ,
10441090 & hint_data. ap_tracking ,
1045- constants,
1091+ & hint_data. identifiers ,
1092+ & hint_data. accessible_scopes ,
10461093 ) ,
10471094
10481095 code => Err ( HintError :: UnknownHint ( code. to_string ( ) . into_boxed_str ( ) ) ) ,
0 commit comments