code: def verify_result(
      func: Callable,
      private_inputs: Union[ActionObject, List[ActionObject]],
      private_outputs: Union[ActionObject, List[ActionObject]],
  ) -> SyftResponseMessage:
      """Verify a single result of Code Verification"""
      trace_assets = []
      if not isinstance(private_inputs, List):
          private_inputs = [private_inputs]
  
      for asset in private_inputs:
          if not isinstance(asset, ActionObject):
              raise Exception(
                  f"ActionObject expected, instead received: {type(asset)}"
              )
          # Manual type casting for now, to automate later
          if isinstance(asset.syft_action_data, np.ndarray):
              trace_assets.append(
                  ActionObject(
                      id=asset.id, syft_result_obj=np.ndarray([])
                  )
              )
          elif isinstance(asset.syft_action_data, pd.DataFrame):
              trace_assets.append(
                  ActionObject(
                      id=asset.id, syft_result_obj=pd.DataFrame()
                  )
              )
          else:
              raise NotImplementedError(
                  f"Trace mode not yet automated for type: {type(asset.syft_action_data)}"
              )
  
      print("Code Verification in progress.")
      traced_results = func(*trace_assets)
  
      if isinstance(private_outputs, List):
          target_hashes_list = [
              output.syft_history_hash for output in private_outputs
          ]
          traced_hashes_list = [
              result.syft_history_hash for result in traced_results
          ]
          return compare_hashes(
              target_hashes_list, traced_hashes_list, traced_results
          )
      else:
          target_hashes = private_outputs.syft_history_hash
          traced_hashes = traced_results.syft_history_hash
          return compare_hashes(
              target_hashes, traced_hashes, traced_results
          )
  
file_path: PySyft/packages/syft/src/syft/service/action/verification.py
imports: from typing import Any
  from typing import Callable
  from typing import List
  from typing import Union
  import numpy
  import pandas
  from ..response import SyftError
  from ..response import SyftResponseMessage
  from ..response import SyftSuccess
  from .action_object import ActionObject
label_desc: Use image node_id 1 for calling a global function with example usage: verify_result(func, private_inputs, private_outputs) and returns: compare_hashes, compare_hashes