package tezos-protocol-004-Pt24m4xi
Errors
***************************************************************
type Tezos_protocol_environment_004_Pt24m4xi.Error_monad.error +=
| Failed_to_parse_parameter of Tezos_protocol_environment_004_Pt24m4xi.MBytes.t
type Tezos_protocol_environment_004_Pt24m4xi.Error_monad.error +=
| Failed_to_decode_parameter of Tezos_protocol_environment_004_Pt24m4xi.Data_encoding.json * string
Abstract Context
*************************************************
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
val prepare :
level:Tezos_protocol_environment_004_Pt24m4xi.Int32.t ->
timestamp:Tezos_protocol_environment_004_Pt24m4xi.Time.t ->
fitness:Tezos_protocol_environment_004_Pt24m4xi.Fitness.t ->
Tezos_protocol_environment_004_Pt24m4xi.Context.t ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.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.
val prepare_first_block :
level:int32 ->
timestamp:Tezos_protocol_environment_004_Pt24m4xi.Time.t ->
fitness:Tezos_protocol_environment_004_Pt24m4xi.Fitness.t ->
Tezos_protocol_environment_004_Pt24m4xi.Context.t ->
(previous_protocol * context)
Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
val register_resolvers :
'a Tezos_protocol_environment_004_Pt24m4xi.Base58.encoding ->
(context -> string -> 'a list Tezos_protocol_environment_004_Pt24m4xi.Lwt.t) ->
unit
val recover : context -> Tezos_protocol_environment_004_Pt24m4xi.Context.t
Returns the state of the database resulting of operations on its abstract view
val current_level : context -> Level_repr.t
val current_timestamp :
context ->
Tezos_protocol_environment_004_Pt24m4xi.Time.t
val current_fitness :
context ->
Tezos_protocol_environment_004_Pt24m4xi.Int64.t
val set_current_fitness :
context ->
Tezos_protocol_environment_004_Pt24m4xi.Int64.t ->
t
val constants : context -> Constants_repr.parametric
val patch_constants :
context ->
(Constants_repr.parametric -> Constants_repr.parametric) ->
context Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
val first_level : context -> Raw_level_repr.t
val add_fees :
context ->
Tez_repr.t ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Increment the current block fee stash that will be credited to baker's frozen_fees account at finalize_application
val add_rewards :
context ->
Tez_repr.t ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Increment the current block reward stash that will be credited to baker's frozen_fees account at finalize_application
val add_deposit :
context ->
Tezos_protocol_environment_004_Pt24m4xi.Signature.Public_key_hash.t ->
Tez_repr.t ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
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 get_deposits :
context ->
Tez_repr.t
Tezos_protocol_environment_004_Pt24m4xi.Signature.Public_key_hash.Map.t
val check_gas_limit :
t ->
Tezos_protocol_environment_004_Pt24m4xi.Z.t ->
unit Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
val set_gas_limit : t -> Tezos_protocol_environment_004_Pt24m4xi.Z.t -> t
val gas_level : t -> Gas_limit_repr.t
val gas_consumed :
since:t ->
until:t ->
Tezos_protocol_environment_004_Pt24m4xi.Z.t
val block_gas_level : t -> Tezos_protocol_environment_004_Pt24m4xi.Z.t
val update_storage_space_to_pay :
t ->
Tezos_protocol_environment_004_Pt24m4xi.Z.t ->
t
val clear_storage_space_to_pay :
t ->
t * Tezos_protocol_environment_004_Pt24m4xi.Z.t * int
val init_origination_nonce :
t ->
Tezos_protocol_environment_004_Pt24m4xi.Operation_hash.t ->
t
val origination_nonce :
t ->
Contract_repr.origination_nonce
Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
val increment_origination_nonce :
t ->
(t * Contract_repr.origination_nonce)
Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Generic accessors
************************************************
type value = Tezos_protocol_environment_004_Pt24m4xi.MBytes.t
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
val mem : context -> key -> bool Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Tells if the key is already defined as a value.
val dir_mem :
context ->
key ->
bool Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Tells if the key is already defined as a directory.
val get :
context ->
key ->
value Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Retrieve the value from the storage bucket ; returns a Storage_errorMissing_key
if the key is not set.
val get_option :
context ->
key ->
value option Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Retrieves the value from the storage bucket ; returns None
if the data is not initialized.
val init :
context ->
key ->
value ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Allocates the storage bucket and initializes it ; returns a Storage_errorExisting_key
if the bucket exists.
val set :
context ->
key ->
value ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Updates the content of the bucket ; returns a Storage_error
Missing_key
if the value does not exists.
val init_set :
context ->
key ->
value ->
context Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Allocates the data and initializes it with a value ; just updates it if the bucket exists.
val set_option :
context ->
key ->
value option ->
context Tezos_protocol_environment_004_Pt24m4xi.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 ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Delete the storage bucket ; returns a Storage_error
Missing_key
if the bucket does not exists.
val remove :
context ->
key ->
context Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Removes the storage bucket and its contents ; does nothing if the bucket does not exists.
val remove_rec :
context ->
key ->
context Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Recursively removes all the storage buckets and contents ; does nothing if no bucket exists.
val copy :
context ->
from:key ->
to_:key ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
val fold :
context ->
key ->
init:'a ->
f:
([ `Key of key | `Dir of key ] ->
'a ->
'a Tezos_protocol_environment_004_Pt24m4xi.Lwt.t) ->
'a Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Iterator on all the items of a given directory.
val keys :
context ->
key ->
key list Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
Recursively list all subkeys of a given key.
val fold_keys :
context ->
key ->
init:'a ->
f:(key -> 'a -> 'a Tezos_protocol_environment_004_Pt24m4xi.Lwt.t) ->
'a Tezos_protocol_environment_004_Pt24m4xi.Lwt.t
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.
Internally used in Storage_functors
to retrieve a full key from partial key relative a view.
val consume_gas :
context ->
Gas_limit_repr.cost ->
context Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Internally used in Storage_functors
to consume gas from within a view.
val check_enough_gas :
context ->
Gas_limit_repr.cost ->
unit Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Check if consume_gas will fail
val description : context Storage_description.t
Initialize the local nonce used for preventing a script to duplicate an internal operation to replay it.
val fresh_internal_nonce :
context ->
(context * int) Tezos_protocol_environment_004_Pt24m4xi.Error_monad.tzresult
Increments the internal operation nonce.
val internal_nonce_already_recorded : context -> int -> bool
Check is the internal operation nonce has been taken.
val allowed_endorsements :
context ->
(Tezos_protocol_environment_004_Pt24m4xi.Signature.Public_key.t
* int list
* bool)
Tezos_protocol_environment_004_Pt24m4xi.Signature.Public_key_hash.Map.t
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 init_endorsements :
context ->
(Tezos_protocol_environment_004_Pt24m4xi.Signature.Public_key.t
* int list
* bool)
Tezos_protocol_environment_004_Pt24m4xi.Signature.Public_key_hash.Map.t ->
context
Initializes the map of allowed endorsements, this function must only be called once.
val record_endorsement :
context ->
Tezos_protocol_environment_004_Pt24m4xi.Signature.Public_key_hash.t ->
context
Marks an endorsment in the map as used.