type shell_header = {
  1. branch : Tezos_crypto.Block_hash.t;
}
val shell_header_encoding : shell_header Data_encoding.t
type t = {
  1. shell : shell_header;
  2. proto : Bytes.t;
}
include S.HASHABLE with type t := t and type hash := Tezos_crypto.Operation_hash.t
include S.T with type t := t
include Tezos_stdlib.Compare.S with type t := t
val (=) : t -> t -> bool
val (<>) : t -> t -> bool
val (<) : t -> t -> bool
val (<=) : t -> t -> bool
val (>=) : t -> t -> bool
val (>) : t -> t -> bool
val compare : t -> t -> int
val equal : t -> t -> bool
val max : t -> t -> t
val min : t -> t -> t
val pp : Format.formatter -> t -> unit
val encoding : t Data_encoding.t
val to_bytes : t -> Bytes.t
val of_bytes : Bytes.t -> t option
val of_bytes_exn : 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 -> (Tezos_crypto.Operation_list_list_hash.path * t list) Data_encoding.t
val bounded_hash_list_encoding : ?max_length:int -> ?max_pass:int -> unit -> (Tezos_crypto.Operation_list_list_hash.path * Tezos_crypto.Operation_hash.t list) Data_encoding.t