Module Tezos_base.Block_header

type shell_header = {
level : Stdlib.Int32.t;(*

Height of the block, from the genesis block.

*)
proto_level : int;(*

Number (uint8) of protocol changes since genesis modulo 256.

*)
predecessor : Tezos_crypto.Block_hash.t;(*

Hash of the preceding block.

*)
timestamp : Time.Protocol.t;(*

Timestamp at which the block is claimed to have been created.

*)
validation_passes : int;(*

Number (uint8) of validation passes (also number of lists of operations).

*)
operations_hash : Tezos_crypto.Operation_list_list_hash.t;(*

Hash of the list of lists (actually root hashes of merkle trees) of operations included in the block. There is one list of operations per validation pass.

*)
fitness : Fitness.t;(*

A sequence of sequences of unsigned bytes, ordered by length and then lexicographically. It represents the claimed fitness of the chain ending in this block.

*)
context : Tezos_crypto.Context_hash.t;(*

Hash of the state of the context after application of this block.

*)
}
val shell_header_encoding : shell_header Data_encoding.t
type t = {
shell : shell_header;
protocol_data : Stdlib.Bytes.t;
}
include S.HASHABLE with type t := t and type hash := Tezos_crypto.Block_hash.t
include S.T with type t := t
include Tezos_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 -> Tezos_crypto.Block_hash.t
val of_bytes_exn : Stdlib.Bytes.t -> t
val to_b58check : t -> string
val of_b58check : string -> t option
val bounded_encoding : ?max_size:int -> unit -> t Data_encoding.t
val get_forced_protocol_upgrade : user_activated_upgrades:User_activated.upgrades -> level:Stdlib.Int32.t -> Tezos_crypto.Protocol_hash.t option
val get_voted_protocol_overrides : user_activated_protocol_overrides:User_activated.protocol_overrides -> Tezos_crypto.Protocol_hash.t -> Tezos_crypto.Protocol_hash.t option