package tezos-protocol-001-PtCJ7pwo

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

Errors

***************************************************************

type Tezos_protocol_environment_001_PtCJ7pwo.Error_monad.error +=
  1. | Too_many_internal_operations
type storage_error =
  1. | Incompatible_protocol_version of string
  2. | Missing_key of string list * [ `Get | `Set | `Del | `Copy ]
  3. | Existing_key of string list
  4. | Corrupted_data of string list

An internal storage error that should not happen

Abstract Context

*************************************************

type t

Abstract view of the context. Includes a handle to the functional key-value database (Context.t) along with some in-memory values (gas, etc.).

type context = t
type root_context = t

Retrieves the state of the database and gives its abstract view. It also returns wether this is the first block validated with this version of the protocol.

Returns the state of the database resulting of operations on its abstract view

val current_level : context -> Level_repr.t
val first_level : context -> Raw_level_repr.t

Increment the current block fee stash that will be credited to baker's frozen_fees account at finalize_application

Increment the current block reward stash that will be credited to baker's frozen_fees account at finalize_application

Increment the current block deposit stash for a specific delegate. All the delegates' frozen_deposit accounts are credited at finalize_application

val get_fees : context -> Tez_repr.t
val get_rewards : context -> Tez_repr.t
val set_gas_unlimited : t -> t
val gas_level : t -> Gas_limit_repr.t
val gas_consumed : since:t -> until:t -> Tezos_protocol_environment_001_PtCJ7pwo.Z.t
val init_storage_space_to_pay : t -> t
val update_storage_space_to_pay : t -> Tezos_protocol_environment_001_PtCJ7pwo.Z.t -> t
val clear_storage_space_to_pay : t -> t * Tezos_protocol_environment_001_PtCJ7pwo.Z.t
val unset_origination_nonce : t -> t

Generic accessors

************************************************

type key = string list
module type T = sig ... end

All context manipulation functions. This signature is included as-is for direct context accesses, and used in Storage_functors to provide restricted views to the context.

include T with type t := t and type context := context

Tells if the key is already defined as a value.

Tells if the key is already defined as a directory.

Retrieve the value from the storage bucket ; returns a Storage_errorMissing_key if the key is not set.

Retrieves the value from the storage bucket ; returns None if the data is not initialized.

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

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

Allocates the data and initializes it with a value ; just updates it if the bucket exists.

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.

Delete the storage bucket ; returns a Storage_error Missing_key if the bucket does not exists.

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

Recursively removes all the storage buckets and contents ; does nothing if no bucket exists.

val fold : context -> key -> init:'a -> f: ([ `Key of key | `Dir of key ] -> 'a -> 'a Tezos_protocol_environment_001_PtCJ7pwo.Lwt.t) -> 'a Tezos_protocol_environment_001_PtCJ7pwo.Lwt.t

Iterator on all the items of a given directory.

Recursively list all subkeys of a given key.

Recursive iterator on all the subkeys of a given key.

val project : context -> root_context

Internally used in Storage_functors to escape from a view.

val absolute_key : context -> key -> key

Internally used in Storage_functors to retrieve a full key from partial key relative a view.

Internally used in Storage_functors to consume gas from within a view.

Check if consume_gas will fail

val description : context Storage_description.t
val reset_internal_nonce : context -> context

Initialize the local nonce used for preventing a script to duplicate an internal operation to replay it.

Increments the internal operation nonce.

val record_internal_nonce : context -> int -> context

Mark an internal operation nonce as taken.

val internal_nonce_already_recorded : context -> int -> bool

Check is the internal operation nonce has been taken.

Returns a map where to each endorser's pkh is associated the list of its endorsing slots (in decreasing order) for a given level.

Initializes the map of allowed endorsements, this function must only be called once.

Marks an endorsment in the map as used.

OCaml

Innovation. Community. Security.