package tezos-protocol-006-PsCARTHA

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

The generic signature of indexed data accessors (a set of values of the same type indexed by keys of the same form in the hierarchical (key x value) database).

include Non_iterable_indexed_data_storage
type t
type context = t
type key

An abstract type for keys

type value

The type of values

val mem : context -> key -> bool Lwt.t

Tells if a given key is already bound to a storage bucket

val get : context -> key -> (value, Tezos_protocol_environment_006_PsCARTHA__Environment.Error_monad.error list) result Lwt.t

Retrieve a value from the storage bucket at a given key ; returns Storage_errorMissing_key if the key is not set ; returns Storage_errorCorrupted_data if the deserialisation fails.

val get_option : context -> key -> (value option, Tezos_protocol_environment_006_PsCARTHA__Environment.Error_monad.error list) result Lwt.t

Retrieve a value from the storage bucket at a given key ; returns None if the value is not set ; returns Storage_error Corrupted_data if the deserialisation fails.

val set : context -> key -> value -> (Raw_context.t, Tezos_protocol_environment_006_PsCARTHA__Environment.Error_monad.error list) result Lwt.t

Updates the content of a bucket ; returns A Storage_Error Missing_key if the value does not exists.

val init : context -> key -> value -> (Raw_context.t, Tezos_protocol_environment_006_PsCARTHA__Environment.Error_monad.error list) result Lwt.t

Allocates a storage bucket at the given key and initializes it ; returns a Storage_errorExisting_key if the bucket exists.

val init_set : context -> key -> value -> Raw_context.t Lwt.t

Allocates a storage bucket at the given key and initializes it with a value ; just updates it if the bucket exists.

val set_option : context -> key -> value option -> Raw_context.t Lwt.t

When the value is Some v, allocates the data and initializes it with v ; just updates it if the bucket exists. When the valus is None, delete the storage bucket when the value ; does nothing if the bucket does not exists.

val delete : context -> key -> (Raw_context.t, Tezos_protocol_environment_006_PsCARTHA__Environment.Error_monad.error list) result Lwt.t

Delete a storage bucket and its contents ; returns a Storage_errorMissing_key if the bucket does not exists.

val remove : context -> key -> Raw_context.t Lwt.t

Removes a storage bucket and its contents ; does nothing if the bucket does not exists.

val clear : context -> Raw_context.t Lwt.t

Empties all the keys and associated data.

val keys : context -> key list Lwt.t

Lists all the keys.

val bindings : context -> (key * value) list Lwt.t

Lists all the keys and associated data.

val fold : context -> init:'a -> f:(key -> value -> 'a -> 'a Lwt.t) -> 'a Lwt.t

Iterates over all the keys and associated data.

val fold_keys : context -> init:'a -> f:(key -> 'a -> 'a Lwt.t) -> 'a Lwt.t

Iterate over all the keys.