Mavkit_smart_rollup_node.Store_v0This version of the store is used for the rollup nodes for protocol Mumbai, i.e. = 16.
This interface is a copy of src/proto_016_PtMumbai/lib_sc_rollup_node/store.mli, which contains the layout for the Mumbai rollup node.
module Irmin_store : sig ... endmodule L2_blocks : 
  Mavryk_layer2_store.Indexed_store.INDEXED_FILE
    with type key := Mavryk_base.TzPervasives.Block_hash.t
     and type value := (unit, unit) Mavkit_smart_rollup.Sc_rollup_block.block
     and type header := Mavkit_smart_rollup.Sc_rollup_block.headermodule Messages : 
  Mavryk_layer2_store.Indexed_store.INDEXED_FILE
    with type key := Mavkit_smart_rollup.Merkelized_payload_hashes_hash.t
     and type value := string list
     and type header :=
           Mavryk_base.TzPervasives.Block_hash.t
           * Mavryk_base.Time.Protocol.t
           * intStorage for persisting messages downloaded from the L1 node.
module Inboxes : 
  Mavryk_layer2_store.Indexed_store.SIMPLE_INDEXED_FILE
    with type key := Mavkit_smart_rollup.Inbox.Hash.t
     and type value := Mavkit_smart_rollup.Inbox.V1.t
     and type header := unitAggregated collection of messages from the L1 inbox
module Commitments : 
  Mavryk_layer2_store.Indexed_store.INDEXABLE_STORE
    with type key := Mavkit_smart_rollup.Commitment.Hash.t
     and type value := Mavkit_smart_rollup.Commitment.tStorage containing commitments and corresponding commitment hashes that the rollup node has knowledge of.
module Commitments_published_at_level : sig ... endStorage mapping commitment hashes to the level when they were published by the rollup node. It only contains hashes of commitments published by this rollup node.
module L2_head : 
  Mavryk_layer2_store.Indexed_store.SINGLETON_STORE
    with type value := Mavkit_smart_rollup.Sc_rollup_block.tmodule Last_finalized_level : 
  Mavryk_layer2_store.Indexed_store.SINGLETON_STORE with type value := int32module Levels_to_hashes : 
  Mavryk_layer2_store.Indexed_store.INDEXABLE_STORE
    with type key := int32
     and type value := Mavryk_base.TzPervasives.Block_hash.tmodule Dal_slots_headers : 
  Mavryk_layer2_store.Store_sigs.Nested_map
    with type primary_key := Mavryk_base.TzPervasives.Block_hash.t
     and type secondary_key := Mavkit_smart_rollup.Dal.Slot_index.t
     and type value := Mavkit_smart_rollup.Dal.Slot_header.V1.t
     and type 'a store := 'a Irmin_store.tPublished slot headers per block hash, stored as a list of bindings from Dal_slot_index.t to Dal.Slot.t. The encoding function converts this list into a Dal.Slot_index.t-indexed map.
module Dal_processed_slots : 
  Mavryk_layer2_store.Store_sigs.Nested_map
    with type primary_key := Mavryk_base.TzPervasives.Block_hash.t
     and type secondary_key := Mavkit_smart_rollup.Dal.Slot_index.t
     and type value := [ `Confirmed | `Unconfirmed ]
     and type 'a store := 'a Irmin_store.tDal_processed_slots is a Store_utils.Nested_map used to store the processing status of dal slots content fetched by the rollup node. The values of this storage module have type ``Confirmed | `Unconfirmed`, depending on whether the content of the slot has been confirmed or not. If an entry is not present for a (block_hash, slot_index), this either means that it's not processed yet.
type +'a store = {l2_blocks : 'a L2_blocks.t;messages : 'a Messages.t;inboxes : 'a Inboxes.t;commitments : 'a Commitments.t;commitments_published_at_level : 'a Commitments_published_at_level.t;l2_head : 'a L2_head.t;last_finalized_level : 'a Last_finalized_level.t;levels_to_hashes : 'a Levels_to_hashes.t;irmin_store : 'a Irmin_store.t;}include Store_sig.S with type 'a store := 'a storetype 'a t = [< `Read | `Write Read ] as 'a storeType of store. The parameter indicates if the store can be written or only read.
type rw = Mavryk_layer2_store.Store_sigs.rw tRead/write store t.
type ro = Mavryk_layer2_store.Store_sigs.ro tRead only store t.
val version : Store_version.tVersion supported by this code.
val close : _ t -> unit Mavryk_base.TzPervasives.tzresult Lwt.tclose store closes the store.
val load : 
  'a Mavryk_layer2_store.Store_sigs.mode ->
  index_buffer_size:int ->
  l2_blocks_cache_size:int ->
  string ->
  'a store Mavryk_base.TzPervasives.tzresult Lwt.tload mode ~index_buffer_size ~l2_blocks_cache_size directory loads a store from the data persisted in directory. If mode is Store_sigs.Read_only, then the indexes and irmin store will be opened in readonly mode and only read operations will be permitted. This allows to open a store for read access that is already opened in Store_sigs.Read_write mode in another process. index_buffer_size is the maximum cache size in memory before it is flushed to disk. l2_blocks_cache_size is the number of L2 blocks the rollup node will keep in memory.
val iter_l2_blocks : 
  ?progress:string ->
  Metadata.t ->
  _ t ->
  (Mavkit_smart_rollup.Sc_rollup_block.t ->
    unit Mavryk_base.TzPervasives.tzresult Lwt.t) ->
  unit Mavryk_base.TzPervasives.tzresult Lwt.titer_l2_blocks ?progress metadata store f iterates f on all L2 blocks reachable from the head, from newest to oldest. If progress is provided, a progress bar is displayed with the progress messages during the iteration.
val gc : rw -> level:int32 -> unit Mavryk_base.TzPervasives.tzresult Lwt.tgc store ~level asynchronously garbage collects everything from the store that concerns blocks for levels below level.
val wait_gc_completion : 'a t -> unit Lwt.twait_gc_completion store returns a blocking thread if a GC run is currently ongoing.