Module Tezos_validation.External_validation

type parameters = {
  1. protocol_root : string;
  2. genesis : Tezos_base.TzPervasives.Genesis.t;
  3. readonly : bool;
  4. data_dir : string;
  5. sandbox_parameters : Tezos_base.TzPervasives.Data_encoding.json option;
  6. user_activated_upgrades : Tezos_base.TzPervasives.User_activated.upgrades;
  7. user_activated_protocol_overrides : Tezos_base.TzPervasives.User_activated.protocol_overrides;
  8. operation_metadata_size_limit : Tezos_shell_services.Shell_limits.operation_metadata_size_limit;
  9. internal_events : Tezos_base.Internal_event_config.t;
}
type _ request =
  1. | Apply : {
    1. chain_id : Tezos_base.TzPervasives.Chain_id.t;
    2. block_header : Tezos_base.TzPervasives.Block_header.t;
    3. predecessor_block_header : Tezos_base.TzPervasives.Block_header.t;
    4. predecessor_block_metadata_hash : Tezos_base.TzPervasives.Block_metadata_hash.t option;
    5. predecessor_ops_metadata_hash : Tezos_base.TzPervasives.Operation_metadata_list_list_hash.t option;
    6. predecessor_resulting_context_hash : Tezos_base.TzPervasives.Context_hash.t;
    7. operations : Block_validation.operation list list;
    8. max_operations_ttl : int;
    9. should_validate : bool;
    10. simulate : bool;
    } -> Block_validation.result request
  2. | Preapply : {
    1. chain_id : Tezos_base.TzPervasives.Chain_id.t;
    2. timestamp : Tezos_base.TzPervasives.Time.Protocol.t;
    3. protocol_data : bytes;
    4. live_blocks : Tezos_base.TzPervasives.Block_hash.Set.t;
    5. live_operations : Tezos_base.TzPervasives.Operation_hash.Set.t;
    6. predecessor_shell_header : Tezos_base.TzPervasives.Block_header.shell_header;
    7. predecessor_hash : Tezos_base.TzPervasives.Block_hash.t;
    8. predecessor_max_operations_ttl : int;
    9. predecessor_block_metadata_hash : Tezos_base.TzPervasives.Block_metadata_hash.t option;
    10. predecessor_ops_metadata_hash : Tezos_base.TzPervasives.Operation_metadata_list_list_hash.t option;
    11. predecessor_resulting_context_hash : Tezos_base.TzPervasives.Context_hash.t;
    12. operations : Block_validation.operation list list;
    } -> (Tezos_base.TzPervasives.Block_header.shell_header * Tezos_base.TzPervasives.error Tezos_shell_services.Preapply_result.t list) request
  3. | Validate : {
    1. chain_id : Tezos_base.TzPervasives.Chain_id.t;
    2. predecessor_block_header : Tezos_base.TzPervasives.Block_header.t;
    3. predecessor_block_hash : Tezos_base.TzPervasives.Block_hash.t;
    4. predecessor_resulting_context_hash : Tezos_base.TzPervasives.Context_hash.t;
    5. header : Tezos_base.TzPervasives.Block_header.t;
    6. operations : Block_validation.operation list list;
    7. hash : Tezos_base.TzPervasives.Block_hash.t;
    } -> unit request
  4. | Commit_genesis : {
    1. chain_id : Tezos_base.TzPervasives.Chain_id.t;
    } -> Tezos_base.TzPervasives.Context_hash.t request
  5. | Fork_test_chain : {
    1. chain_id : Tezos_base.TzPervasives.Chain_id.t;
    2. context_hash : Tezos_base.TzPervasives.Context_hash.t;
    3. forked_header : Tezos_base.TzPervasives.Block_header.t;
    } -> Tezos_base.TzPervasives.Block_header.t request
  6. | Context_garbage_collection : {
    1. context_hash : Tezos_base.TzPervasives.Context_hash.t;
    2. gc_lockfile_path : string;
    } -> unit request
  7. | Context_split : unit request
  8. | Terminate : unit request
  9. | Reconfigure_event_logging : Tezos_base_unix.Internal_event_unix.Configuration.t -> unit request
val name : string
val request_pp : Stdlib.Format.formatter -> 'a request -> unit
type packed_request =
  1. | Erequest : _ request -> packed_request
val result_encoding : 'a request -> 'a Tezos_base.TzPervasives.Data_encoding.t
val reconfigure_event_logging_request : Tezos_base.Internal_event_config.t -> unit request
val terminate_request : packed_request
val socket_path_prefix : string

The prefix for the validation socket filename.

Do not use it directly except for documentation purposes; use socket_path instead.

val socket_path : socket_dir:string -> pid:int -> string

Get the validation socket path.

socket_dir is the directory where the file should be put. pid is the process ID of the validator process.

val command_line_args : socket_dir:string -> string * string list
val hypervisor_name : string
val share_sink : bool