Sapling.Ciphertexts
type context = Raw_context.t * id
The type of values
val mem :
context ->
key ->
(Raw_context.t * bool) Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.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)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.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 find :
context ->
key ->
(Raw_context.t * value option)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.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 update :
context ->
key ->
value ->
(Raw_context.t * int) Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
Updates the content of a bucket ; returns A Storage_Error
Missing_key
if the value does not exist. 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) Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.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 add :
context ->
key ->
value ->
(Raw_context.t * int * bool)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.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 add_or_remove :
context ->
key ->
value option ->
(Raw_context.t * int * bool)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.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 value is None
, deletes the storage bucket ; does nothing if the bucket does not exist 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 remove_existing :
context ->
key ->
(Raw_context.t * int) Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
Delete a storage bucket and its contents ; returns a Storage_errorMissing_key
if the bucket does not exist. Consumes Gas_repr.write_bytes_cost Z.zero
. Returns the freed size.
val remove :
context ->
key ->
(Raw_context.t * int * bool)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
Removes a storage bucket and its contents ; does nothing if the bucket does not exist. 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 keys_unaccounted :
context ->
key list Mavryk_protocol_environment_alpha.Lwt.t
Returns the list of all storage bucket keys. Not carbonated (i.e. gas is not consumed); use with care.