package tezos-protocol-006-PsCARTHA

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

Errors

type Tezos_protocol_environment_006_PsCARTHA.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.

type previous_protocol =
  1. | Genesis of Parameters_repr.t
  2. | Babylon_005

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_006_PsCARTHA.Z.t
val init_storage_space_to_pay : t -> t
val update_storage_space_to_pay : t -> Tezos_protocol_environment_006_PsCARTHA.Z.t -> t
val update_allocated_contracts_count : t -> t
val clear_storage_space_to_pay : t -> t * Tezos_protocol_environment_006_PsCARTHA.Z.t * int
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_006_PsCARTHA.Lwt.t) -> 'a Tezos_protocol_environment_006_PsCARTHA.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.

val included_endorsements : context -> int

Keep track of the number of endorsements that are included in a block

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

Marks an endorsment in the map as used.

Provide a fresh identifier for a temporary big map (negative index).

val reset_temporary_big_map : context -> context

Reset the temporary big_map identifier generator to -1.

Iterate over all created temporary big maps since the last reset_temporary_big_map.

OCaml

Innovation. Community. Security.