Module Mavryk_base.Operation

type shell_header = {
  1. branch : Mavryk_crypto.Hashed.Block_hash.t;
}
val equal_shell_header : shell_header -> shell_header -> bool
val shell_header_encoding : shell_header Data_encoding.t
type t = {
  1. shell : shell_header;
  2. proto : Stdlib.Bytes.t;
}
include S.HASHABLE with type t := t and type hash := Mavryk_crypto.Hashed.Operation_hash.t
include S.T with type t := t
include Mavryk_stdlib.Compare.S with type t := t
val (=) : t -> t -> bool

x = y iff compare x y = 0

val (<>) : t -> t -> bool

x <> y iff compare x y <> 0

val (<) : t -> t -> bool

x < y iff compare x y < 0

val (<=) : t -> t -> bool

x <= y iff compare x y <= 0

val (>=) : t -> t -> bool

x >= y iff compare x y >= 0

val (>) : t -> t -> bool

x > y iff compare x y > 0

val compare : t -> t -> int

compare an alias for the functor parameter's compare function

val equal : t -> t -> bool

equal x y iff compare x y = 0

val max : t -> t -> t

max x y is x if x >= y otherwise it is y

val min : t -> t -> t

min x y is x if x <= y otherwise it is y

val pp : Stdlib.Format.formatter -> t -> unit
val encoding : t Data_encoding.t
val to_bytes : t -> Stdlib.Bytes.t
val of_bytes : Stdlib.Bytes.t -> t option
val hash_raw : Stdlib.Bytes.t -> Mavryk_crypto.Hashed.Operation_hash.t
val of_bytes_exn : Stdlib.Bytes.t -> t
val bounded_encoding : ?max_size:int -> unit -> t Data_encoding.t
val bounded_list_encoding : ?max_length:int -> ?max_size:int -> ?max_operation_size:int -> ?max_pass:int -> unit -> (Mavryk_crypto.Hashed.Operation_list_list_hash.path * t list) Data_encoding.t
val bounded_hash_list_encoding : ?max_length:int -> ?max_pass:int -> unit -> (Mavryk_crypto.Hashed.Operation_list_list_hash.path * Mavryk_crypto.Hashed.Operation_hash.t list) Data_encoding.t