Mavryk_raw_protocol_alpha.Sc_rollup_commitment_repr
module Hash : sig ... end
module V1 : sig ... end
A commitment represents a claim about the state of the Inbox and PVM at some Inbox level.
Versioning, see Sc_rollup_data_version_sig.S
for more information.
include Sc_rollup_data_version_sig.S with type t = V1.t
val versioned_encoding :
versioned Mavryk_protocol_environment_alpha.Data_encoding.t
include module type of V1 with type t = V1.t
A commitment represents a claim about the state of the Inbox and PVM at some Inbox level.
More formally, a commitment is a claim that:
predecessor
inbox_level
from the inbox ;compressed_state
over number_of_ticks
ticks.Commitments are disjoint. The next correct commitment is a function of the previous machine state and Inbox.
compressed_state
and number_of_ticks
can be proven/disproven by PVM execution, or equivalently, by an interactive proof game between conflicting parties, such that a correct executor always wins the game.
type t = V1.t = {
compressed_state : Sc_rollup_repr.State_hash.t;
inbox_level : Raw_level_repr.t;
predecessor : Hash.t;
number_of_ticks : Sc_rollup_repr.Number_of_ticks.t;
}
val pp : Mavryk_protocol_environment_alpha.Format.formatter -> t -> unit
val encoding : t Mavryk_protocol_environment_alpha.Data_encoding.t
val genesis_commitment :
origination_level:Raw_level_repr.t ->
genesis_state_hash:Sc_rollup_repr.State_hash.t ->
t
genesis_commitment ~origination_level ~genesis_state_hash
is the commitment that the protocol "publish" and "cement" when originating a new rollup. Each rollup have a different genesis_commitment
because the compressed_state
is computed after the boot sector is set. It has the following values:
compressed_state
= genesis_state_hash
inbox_level
= origination_level
predecessor
= Hash.zero
number_of_ticks
= Sc_rollup_repr.Number_of_ticks.min_value
where Sc_rollup_repr
.Number_of_messages.min_value and Sc_rollup_repr.Number_of_ticks.min_value
are equal to zero
.
See Sc_rollup_storage.originate
for the usage.
The genesis of a rollup is characterized by the Tezos level of the rollup origination, and the hash of the commitment computed by the protocol to specialize the PVM initial state with the provided boot sector.
val genesis_info_encoding :
genesis_info Mavryk_protocol_environment_alpha.Data_encoding.t