package tezos-protocol-011-PtHangz2

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

This module supports advancing the ledger state by applying operations.

Each operation application takes and returns an Alpha_context.t, representing the old and new state, respectively.

The Main module provides wrappers for the functionality in this module, satisfying the Protocol signature.

type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Wrong_endorsement_predecessor of Tezos_crypto.Block_hash.t * Tezos_crypto.Block_hash.t
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Duplicate_endorsement of Tezos_crypto.Signature.public_key_hash
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Invalid_endorsement_level
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Unwrapped_endorsement
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Invalid_commitment of {
    1. expected : bool;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Internal_operation_replay of Alpha_context.packed_internal_operation
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Invalid_double_endorsement_evidence
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Inconsistent_double_endorsement_evidence of {
    1. delegate1 : Tezos_crypto.Signature.public_key_hash;
    2. delegate2 : Tezos_crypto.Signature.public_key_hash;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Too_early_double_endorsement_evidence of {
    1. level : Alpha_context.Raw_level.t;
    2. current : Alpha_context.Raw_level.t;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Outdated_double_endorsement_evidence of {
    1. level : Alpha_context.Raw_level.t;
    2. last : Alpha_context.Raw_level.t;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Invalid_double_baking_evidence of {
    1. hash1 : Tezos_crypto.Block_hash.t;
    2. level1 : int32;
    3. hash2 : Tezos_crypto.Block_hash.t;
    4. level2 : int32;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Inconsistent_double_baking_evidence of {
    1. delegate1 : Tezos_crypto.Signature.public_key_hash;
    2. delegate2 : Tezos_crypto.Signature.public_key_hash;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Too_early_double_baking_evidence of {
    1. level : Alpha_context.Raw_level.t;
    2. current : Alpha_context.Raw_level.t;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Outdated_double_baking_evidence of {
    1. level : Alpha_context.Raw_level.t;
    2. last : Alpha_context.Raw_level.t;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Invalid_activation of {
    1. pkh : Tezos_crypto.Ed25519.Public_key_hash.t;
    }
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Gas_quota_exceeded_init_deserialize
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Inconsistent_sources
type Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error +=
  1. | Failing_noop_error
val begin_partial_construction : Alpha_context.t -> escape_vote:bool -> (Alpha_context.t * Apply_results.packed_successful_manager_operation_result list * Alpha_context.Liquidity_baking.escape_ema, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val begin_full_construction : Alpha_context.t -> Tezos_base.Time.Protocol.t -> Alpha_context.Block_header.contents -> (Alpha_context.t * Alpha_context.Block_header.contents * Alpha_context.public_key * Apply_results.packed_successful_manager_operation_result list * Alpha_context.Liquidity_baking.escape_ema, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val begin_application : Alpha_context.t -> Tezos_crypto.Chain_id.t -> Alpha_context.Block_header.t -> Tezos_base.Time.Protocol.t -> (Alpha_context.t * Alpha_context.public_key * Apply_results.packed_successful_manager_operation_result list * Alpha_context.Liquidity_baking.escape_ema, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val apply_operation : Alpha_context.t -> Tezos_crypto.Chain_id.t -> Script_ir_translator.unparsing_mode -> Tezos_crypto.Block_hash.t -> Alpha_context.public_key_hash -> Tezos_crypto.Operation_hash.t -> 'a Alpha_context.operation -> (Alpha_context.t * 'a Apply_results.operation_metadata, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val finalize_application : Alpha_context.t -> Alpha_context.Block_header.contents -> Alpha_context.public_key_hash -> Alpha_context.Receipt.balance_updates -> Alpha_context.Liquidity_baking.escape_ema -> Apply_results.packed_successful_manager_operation_result list -> (Alpha_context.t * Apply_results.block_metadata, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val apply_contents_list : Alpha_context.t -> Tezos_crypto.Chain_id.t -> Script_ir_translator.unparsing_mode -> Tezos_crypto.Block_hash.t -> Alpha_context.public_key_hash -> 'kind Alpha_context.operation -> 'kind Alpha_context.contents_list -> (Alpha_context.t * 'kind Apply_results.contents_result_list, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t
val check_minimal_valid_time : Alpha_context.t -> priority:int -> endorsing_power:int -> (unit, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result
val value_of_key : Alpha_context.t -> Environment_context.Context.cache_key -> (Environment_context.Context.cache_value, Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.error Tezos_protocol_environment_011_PtHangz2__Environment.Error_monad.trace) result Lwt.t

value_of_key ctxt k builds a value identified by key k so that it can be put into the cache.

val cache_layout : int list

cache_layout describes how the caches needed by the protocol. The length of the list defines the number of caches while each element of this list corresponds to the size limit of each cache.

OCaml

Innovation. Community. Security.