package tezos-protocol-019-PtParisB
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 Tezos_protocol_environment_019_PtParisB.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:
- assuming the PVM and Inbox are in a state implied by
predecessor
- the PVM consumes all the messages until (and including)
inbox_level
from the inbox ; - the PVM advances to the state
compressed_state
overnumber_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 : Tezos_protocol_environment_019_PtParisB.Format.formatter -> t -> unit
val encoding : t Tezos_protocol_environment_019_PtParisB.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 Tezos_protocol_environment_019_PtParisB.Data_encoding.t