Module Mavkit_smart_rollup.Commitment

module V1 : sig ... end
include Versioned_data.S with type t = V1.t
type versioned

The type of versioned values, including the one that is currently used and the previous ones.

val versioned_encoding : versioned Mavryk_base.TzPervasives.Data_encoding.t

Encoding for versioned values, corresponds to the one defined by the protocol.

val of_versioned : versioned -> V1.t

Conversion to the currently used representation. In practice this function must provide ways to translate values of older versions to the latest one.

val to_versioned : V1.t -> versioned

Wrapping a current value as a versioned one.

include module type of V1 with type t = V1.t
type t = V1.t = {
  1. compressed_state : State_hash.t;
  2. inbox_level : int32;
  3. predecessor : Hash.t;
  4. number_of_ticks : int64;
}

Type of smart rollup commitments. See Protocol.Sc_rollup_commitment_repr.t.

val pp : Stdlib.Format.formatter -> t -> unit

Pretty printing protocol agnostic commitments.

val encoding : t Mavryk_base.TzPervasives.Data_encoding.t

Encoding for commitments.

val hash : t -> Hash.t

Hashing a commitment.

val genesis_commitment : origination_level:int32 -> genesis_state_hash:State_hash.t -> t

genesis_commitment ~origination_level ~genesis_state_hash is the commitment that is published when originating a new rollup. See Protocol.Sc_rollup_commitment_repr.genesis_commitment.