Module Tezos_protocol_environment_alpha.Error_monad

type error_category = [
| `Branch
| `Outdated
| `Permanent
| `Temporary
]
type error = ..
val error_encoding : error Data_encoding.t
val pp : Format.formatter -> error -> unit
val register_error_kind : error_category -> id:string -> title:string -> description:string -> ?pp:( Format.formatter -> 'err -> unit ) -> 'err Data_encoding.t -> ( error -> 'err option ) -> ( 'err -> error ) -> unit
val json_of_error : error -> Data_encoding.json
val error_of_json : Data_encoding.json -> error
type error_info = {
category : error_category;
id : string;
title : string;
description : string;
schema : Data_encoding.json_schema;
}
val pp_info : Format.formatter -> error_info -> unit
val get_registered_errors : unit -> error_info list
type 'err trace
type !'a tzresult = ( 'a, error trace ) Pervasives.result
val make_trace_encoding : 'error Data_encoding.t -> 'error trace Data_encoding.t
val trace_encoding : error trace Data_encoding.t
val pp_trace : Format.formatter -> error trace -> unit
val result_encoding : 'a Data_encoding.t -> 'a tzresult Data_encoding.t
val ok : 'a -> ( 'a, 'trace ) Pervasives.result
val return : 'a -> ( 'a, 'trace ) Pervasives.result Lwt.t
val return_unit : ( unit, 'trace ) Pervasives.result Lwt.t
val return_none : ( 'a option, 'trace ) Pervasives.result Lwt.t
val return_some : 'a -> ( 'a option, 'trace ) Pervasives.result Lwt.t
val return_nil : ( 'a list, 'trace ) Pervasives.result Lwt.t
val return_true : ( bool, 'trace ) Pervasives.result Lwt.t
val return_false : ( bool, 'trace ) Pervasives.result Lwt.t
val error : 'err -> ( 'a, 'err trace ) Pervasives.result
val trace_of_error : 'err -> 'err trace
val tzfail : 'err -> ( 'a, 'err trace ) Pervasives.result Lwt.t
val (>>=) : 'a Lwt.t -> ( 'a -> 'b Lwt.t ) -> 'b Lwt.t
val (>|=) : 'a Lwt.t -> ( 'a -> 'b ) -> 'b Lwt.t
val (>>?) : ( 'a, 'trace ) Pervasives.result -> ( 'a -> ( 'b, 'trace ) Pervasives.result ) -> ( 'b, 'trace ) Pervasives.result
val (>|?) : ( 'a, 'trace ) Pervasives.result -> ( 'a -> 'b ) -> ( 'b, 'trace ) Pervasives.result
val (>>=?) : ( 'a, 'trace ) Pervasives.result Lwt.t -> ( 'a -> ( 'b, 'trace ) Pervasives.result Lwt.t ) -> ( 'b, 'trace ) Pervasives.result Lwt.t
val (>|=?) : ( 'a, 'trace ) Pervasives.result Lwt.t -> ( 'a -> 'b ) -> ( 'b, 'trace ) Pervasives.result Lwt.t
val (>>?=) : ( 'a, 'trace ) Pervasives.result -> ( 'a -> ( 'b, 'trace ) Pervasives.result Lwt.t ) -> ( 'b, 'trace ) Pervasives.result Lwt.t
val (>|?=) : ( 'a, 'trace ) Pervasives.result -> ( 'a -> 'b Lwt.t ) -> ( 'b, 'trace ) Pervasives.result Lwt.t
val record_trace : 'err -> ( 'a, 'err trace ) Pervasives.result -> ( 'a, 'err trace ) Pervasives.result
val trace : 'err -> ( 'b, 'err trace ) Pervasives.result Lwt.t -> ( 'b, 'err trace ) Pervasives.result Lwt.t
val record_trace_eval : ( unit -> 'err ) -> ( 'a, 'err trace ) Pervasives.result -> ( 'a, 'err trace ) Pervasives.result
val trace_eval : ( unit -> 'err ) -> ( 'b, 'err trace ) Pervasives.result Lwt.t -> ( 'b, 'err trace ) Pervasives.result Lwt.t
val error_unless : bool -> 'err -> ( unit, 'err trace ) Pervasives.result
val error_when : bool -> 'err -> ( unit, 'err trace ) Pervasives.result
val fail_unless : bool -> 'err -> ( unit, 'err trace ) Pervasives.result Lwt.t
val fail_when : bool -> 'err -> ( unit, 'err trace ) Pervasives.result Lwt.t
val unless : bool -> ( unit -> ( unit, 'trace ) Pervasives.result Lwt.t ) -> ( unit, 'trace ) Pervasives.result Lwt.t
val when_ : bool -> ( unit -> ( unit, 'trace ) Pervasives.result Lwt.t ) -> ( unit, 'trace ) Pervasives.result Lwt.t
val dont_wait : ( exn -> unit ) -> ( 'trace -> unit ) -> ( unit -> ( unit, 'trace ) Pervasives.result Lwt.t ) -> unit
val catch : ?catch_only:( exn -> bool ) -> ( unit -> 'a ) -> 'a tzresult
val catch_f : ?catch_only:( exn -> bool ) -> ( unit -> 'a ) -> ( exn -> error ) -> 'a tzresult
val catch_s : ?catch_only:( exn -> bool ) -> ( unit -> 'a Lwt.t ) -> 'a tzresult Lwt.t
val join_e : ( unit, 'err trace ) Pervasives.result list -> ( unit, 'err trace ) Pervasives.result
val all_e : ( 'a, 'err trace ) Pervasives.result list -> ( 'a list, 'err trace ) Pervasives.result
val both_e : ( 'a, 'err trace ) Pervasives.result -> ( 'b, 'err trace ) Pervasives.result -> ( 'a * 'b, 'err trace ) Pervasives.result
type !'a shell_tzresult = ( 'a, Tezos_base.TzPervasives.Error_monad.tztrace ) Stdlib.result
module Lwt_syntax : sig ... end
module Option_syntax : sig ... end
module Result_syntax : sig ... end
module Lwt_result_syntax : sig ... end
module Lwt_option_syntax : sig ... end