Storage.Sc_rollup
module PVM_kind :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_repr.t
and type value = Sc_rollups.Kind.t
and type t := Raw_context.t
Smart contract rollup.
module Parameters_type :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_repr.t
and type value = Script_repr.lazy_expr
and type t := Raw_context.t
module Genesis_info :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_repr.t
and type value = Sc_rollup_commitment_repr.genesis_info
and type t := Raw_context.t
module Inbox :
Storage_sigs.Single_data_storage
with type value = Sc_rollup_inbox_repr.t
and type t := Raw_context.t
module Last_cemented_commitment :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_repr.t
and type value = Sc_rollup_commitment_repr.Hash.t
and type t := Raw_context.t
module Staker_index_counter :
Storage_sigs.Single_data_storage
with type value = Sc_rollup_staker_index_repr.t
and type t = Raw_context.t * Sc_rollup_repr.t
Contains the current latest attributed index for stakers.
module Staker_index :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key =
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t
and type value = Sc_rollup_staker_index_repr.t
and type t = Raw_context.t * Sc_rollup_repr.t
Contains the index of any staker that currently have stake.
module Stakers :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_staker_index_repr.t
and type value = Raw_level_repr.t
and type t = Raw_context.t * Sc_rollup_repr.t
Contains the most recent inbox level staked by an active staker.
module Commitments :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_commitment_repr.Hash.t
and type value = Sc_rollup_commitment_repr.t
and type t = Raw_context.t * Sc_rollup_repr.t
module Commitment_stakers :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_commitment_repr.Hash.t
and type value = Sc_rollup_staker_index_repr.t list
and type t = Raw_context.t * Sc_rollup_repr.t
Contains for all commitment not yet cemented the list of stakers that have staked on it.
module Commitment_first_publication_level :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Raw_level_repr.t
and type value = Raw_level_repr.t
and type t = Raw_context.t * Sc_rollup_repr.t
This storage contains for each rollup and inbox level not yet cemented the level of publication of the first commitment. This is used to compute the curfew for a given rollup and inbox level.
module Commitments_per_inbox_level :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Raw_level_repr.t
and type value = Sc_rollup_commitment_repr.Hash.t list
and type t = Raw_context.t * Sc_rollup_repr.t
Stores the commitments published for an inbox level.
module Commitment_added :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_commitment_repr.Hash.t
and type value = Raw_level_repr.t
and type t = Raw_context.t * Sc_rollup_repr.t
module Game_info :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_game_repr.Index.t
and type value = Sc_rollup_game_repr.t
and type t = Raw_context.t * Sc_rollup_repr.t
module Game :
Storage_sigs.Indexed_carbonated_data_storage
with type key =
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t
and type value = Sc_rollup_game_repr.Index.t
and type t =
(Raw_context.t * Sc_rollup_repr.t)
* Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t
Refutation games are indexed by the rollup, by one staker, and by its opponent staker. Hence, each game appears twice. This is convenient to quickly compute the opponents of a given staker.
module Game_timeout :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type key = Sc_rollup_game_repr.Index.t
and type value = Sc_rollup_game_repr.timeout
and type t = Raw_context.t * Sc_rollup_repr.t
Game_timeout
stores the block level at which the staker whose turn it is to move will (become vulnerable to) timeout. The staker pair should always be in lexical order to ensure that this value is not duplicated.
module Applied_outbox_messages :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type t = Raw_context.t * Sc_rollup_repr.t
and type key = int32
and type value = Raw_level_repr.t * Bitset.t
A carbonated storage for keeping track of applied outbox messages for a a SCORU.
module Whitelist :
Storage_sigs.Carbonated_data_set_storage
with type t := Raw_context.t * Sc_rollup_repr.t
and type elt =
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t
A carbonated storage for stakers (identified by their public key hashes) that are able to stake on commitments. If the storage is empty then the rollup is public (anyone can publish commitments for the rollup), otherwise it is private (only the members of the whitelist can publish commitments).
module Whitelist_paid_storage_space :
Storage_sigs.Indexed_data_storage
with type key = Sc_rollup_repr.t
and type value = Mavryk_protocol_environment_alpha.Z.t
and type t = Raw_context.t
Maximal space available for the whitelist without needing to burn new fees.
module Whitelist_used_storage_space :
Storage_sigs.Indexed_data_storage
with type t = Raw_context.t
and type key = Sc_rollup_repr.t
and type value = Mavryk_protocol_environment_alpha.Z.t
Current storage space in bytes used by the whitelist.
module Last_whitelist_update :
Storage_sigs.Non_iterable_indexed_carbonated_data_storage
with type t = Raw_context.t
and type key = Sc_rollup_repr.t
and type value = Sc_rollup_whitelist_repr.last_whitelist_update
Outbox level and message of the latest whitelist update of a given rollup.