package tezos-protocol-005-PsBABY5H

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include Storage_sigs.Non_iterable_indexed_carbonated_data_storage with type key = Contract_repr.t and type value = Script_repr.lazy_expr and type t := Raw_context.t
type context = Raw_context.t
type key = Contract_repr.t

An abstract type for keys

The type of values

val mem : context -> key -> (Raw_context.t * bool, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result Lwt.t

Tells if a given key is already bound to a storage bucket. Consumes Gas_repr.read_bytes_cost Z.zero.

val get : context -> key -> (Raw_context.t * value, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.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. Consumes Gas_repr.read_bytes_cost <size of the value>.

val get_option : context -> key -> (Raw_context.t * value option, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.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. Consumes Gas_repr.read_bytes_cost <size of the value> if present or Gas_repr.read_bytes_cost Z.zero.

val set : context -> key -> value -> (Raw_context.t * int, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result Lwt.t

Updates the content of a bucket ; returns A Storage_Error Missing_key if the value does not exists. Consumes serialization cost. Consumes Gas_repr.write_bytes_cost <size of the new value>. Returns the difference from the old to the new size.

val init : context -> key -> value -> (Raw_context.t * int, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result Lwt.t

Allocates a storage bucket at the given key and initializes it ; returns a Storage_errorExisting_key if the bucket exists. Consumes serialization cost. Consumes Gas_repr.write_bytes_cost <size of the value>. Returns the size.

val init_set : context -> key -> value -> (Raw_context.t * int * bool, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result Lwt.t

Allocates a storage bucket at the given key and initializes it with a value ; just updates it if the bucket exists. Consumes serialization cost. Consumes Gas_repr.write_bytes_cost <size of the new value>. Returns the difference from the old (maybe 0) to the new size, and a boolean indicating if a value was already associated to this key.

val set_option : context -> key -> value option -> (Raw_context.t * int * bool, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result 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. Consumes serialization cost. Consumes the same gas cost as either remove or init_set. Returns the difference from the old (maybe 0) to the new size, and a boolean indicating if a value was already associated to this key.

val delete : context -> key -> (Raw_context.t * int, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result Lwt.t

Delete a storage bucket and its contents ; returns a Storage_errorMissing_key if the bucket does not exists. Consumes Gas_repr.write_bytes_cost Z.zero. Returns the freed size.

val remove : context -> key -> (Raw_context.t * int * bool, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result Lwt.t

Removes a storage bucket and its contents ; does nothing if the bucket does not exists. Consumes Gas_repr.write_bytes_cost Z.zero. Returns the freed size, and a boolean indicating if a value was already associated to this key.

val init_free : Raw_context.t -> Contract_repr.t -> Script_repr.lazy_expr -> (Raw_context.t * int, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result Lwt.t

Only used for 005 migration to avoid gas cost. Allocates a storage bucket at the given key and initializes it ; returns a Storage_errorExisting_key if the bucket exists.

val set_free : Raw_context.t -> Contract_repr.t -> Script_repr.lazy_expr -> (Raw_context.t * int, Tezos_protocol_environment_005_PsBABY5H__Environment.Error_monad.error list) Stdlib.result Lwt.t

Only used for 005 migration to avoid gas cost. Updates the content of a bucket ; returns A Storage_Error Missing_key if the value does not exists.

OCaml

Innovation. Community. Security.