pub trait HintProcessorLogic {
// Required method
fn execute_hint(
&mut self,
vm: &mut VirtualMachine,
exec_scopes: &mut ExecutionScopes,
hint_data: &Box<dyn Any>,
constants: &HashMap<String, Felt252>,
) -> Result<(), HintError>;
// Provided method
fn compile_hint(
&self,
hint_code: &str,
ap_tracking_data: &ApTracking,
reference_ids: &HashMap<String, usize>,
references: &[HintReference],
) -> Result<Box<dyn Any>, VirtualMachineError> { ... }
}