package tezos-protocol-alpha

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Alpha_context : sig ... end

An Alpha_context.t is an immutable snapshot of the ledger state at some block height, preserving type-safety and invariants of the ledger state.

module Alpha_services : sig ... end

This declares Protocol RPC services.

module Amendment : sig ... end

Only delegates with at least one roll take part in the amendment procedure. It works as follows:

module Apply : sig ... end

This module supports advancing the ledger state by applying operations.

module Apply_results : sig ... end

Types representing results of applying an operation.

module Baking : sig ... end
module Blinded_public_key_hash : sig ... end

This module handles hashes of implicit contract addresses used for commitments in the origin block.

module Block_header_repr : sig ... end

Representation of block headers.

module Block_payload_hash : sig ... end

A specialized Blake2B implementation for hashing block's payloads.

module Block_payload_repr : sig ... end

Value on which validators try to reach a consensus.

module Bootstrap_storage : sig ... end
module Cache_memory_helpers : sig ... end
module Cache_repr : sig ... end

Frequently used data should be kept in memory and persisted along a chain of blocks. The caching mechanism allows the economic protocol to declare such data and to rely on a Least Recently Used strategy to keep the cache size under a fixed limit.

module Carbonated_map : sig ... end
module Carbonated_map_costs : sig ... end

The Carbonated_map_costs module contains gas cost functions for Carbonated_map.

module Commitment_repr : sig ... end
module Commitment_storage : sig ... end
module Constants_repr : sig ... end
module Constants_services : sig ... end
module Constants_storage : sig ... end
module Contract_delegate_storage : sig ... end
module Contract_hash : sig ... end

A specialized Blake2B implementation for hashing contract identifiers.

module Contract_manager_storage : sig ... end
module Contract_repr : sig ... end

This module defines identifiers for two basic types of contracts. It also specifies how to compute originated contract's hash from origination nonce.

module Contract_services : sig ... end
module Contract_storage : sig ... end
module Cycle_repr : sig ... end
module Delegate_activation_storage : sig ... end
module Delegate_services : sig ... end
module Delegate_storage : sig ... end
module Fees_storage : sig ... end
module Fitness_repr : sig ... end
module Fixed_point_repr : sig ... end

This module defines a standard signature for modules providing fixed-point arithmetic.

module Frozen_deposits_storage : sig ... end
module Gas_limit_repr : sig ... end

Internal representation of the gas limit available to the node baking a new block. It should be proportional to the time and energy required to perform a computation.

module Gas_monad : sig ... end
module Global_constants_costs : sig ... end

Costs function for the global table of constants.

module Global_constants_storage : sig ... end

This module represents access to a global table of constant Micheline values. Users may register a Micheline value in the table, paying the cost of storage. Once stored, contracts source code may reference this value by its hash.

module Init_storage : sig ... end

Functions to setup storage. Used by Alpha_context.prepare.

module Lazy_storage_diff : sig ... end

See Lazy_storage_kind for an introduction on lazy storage.

module Lazy_storage_kind : sig ... end

Lazy_storage offers a unified interface for specific Michelson datatype that behave somewhat lazily, because they are intended to be quite big. Instead of serializing/deserializing the whole value to/from the storage, only an identifier is used. The identifier acts like a pointer. When using the value in a Michelson script, some part of it may be read from the storage, and a lightweight diff is computed. The diff is effectively applied to the storage at the end of the execution.

module Level_repr : sig ... end

This module defines the protocol representation of a level. Besides the "raw level", which is the shell's notion of the level, this representation also contains additional information, like the cycle the level belongs to.

module Level_storage : sig ... end
module Liquidity_baking_cpmm : sig ... end
module Liquidity_baking_lqt : sig ... end
module Liquidity_baking_migration : sig ... end
module Liquidity_baking_repr : sig ... end
module Local_gas_counter : sig ... end
module Main : sig ... end

Tezos Protocol Implementation - Protocol Signature Instance

module Manager_repr : sig ... end
module Michelson_v1_gas : sig ... end
module Michelson_v1_primitives : sig ... end
module Migration_repr : sig ... end
module Misc : sig ... end
module Non_empty_string : sig ... end
module Nonce_hash : sig ... end

A specialized Blake2B implementation for hashing nonces.

module Nonce_storage : sig ... end
module Operation_repr : sig ... end

Tezos Protocol Implementation - Low level Repr. of Operations

module Origination_nonce : sig ... end
module Parameters_repr : sig ... end

This module defines protocol parameters, i.e. constants regulating the behaviour of the blockchain under the protocol.

module Path_encoding : sig ... end
module Period_repr : sig ... end
module Raw_context : sig ... end
module Raw_context_intf : 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.

module Raw_level_repr : sig ... end
module Receipt_repr : sig ... end
module Roll_repr_legacy : sig ... end
module Roll_storage_legacy : sig ... end

Basic roll manipulation.

module Round_repr : sig ... end

A round represents an iteration of the single-shot consensus algorithm.

module Sampler : sig ... end

Efficient sampling from given finitely supported (nonzero, positive) measures using the alias method. Measures need not be normalized on input, but sampling proceeds from the normalized probability measure associated to the given measure.

module Sapling_repr : sig ... end
module Sapling_services : sig ... end
module Sapling_storage : sig ... end
module Sapling_validator : sig ... end
module Saturation_repr : sig ... end

This module provides saturated arithmetic between 0 and 2^62 - 1.

module Script_cache : sig ... end

This module manages the cache for smart contracts.

module Script_comparable : sig ... end
module Script_expr_hash : sig ... end

A specialized Blake2B implementation for hashing Michelson expressions.

module Script_int_repr : sig ... end
module Script_interpreter : sig ... end

This is the Michelson interpreter.

module Script_interpreter_defs : sig ... end
module Script_ir_annot : sig ... end
module Script_ir_translator : sig ... end
module Script_list : sig ... end
module Script_map : sig ... end
module Script_repr : sig ... end

Defines a Michelson expression representation as a Micheline node with canonical (int) location and Michelson_v1_primitives.prim as content.

module Script_set : sig ... end
module Script_string_repr : sig ... end

Strings of printable characters

module Script_tc_context : sig ... end

This module defines the typechecking context used during the translation from Michelson untyped nodes to typed nodes (Script_ir_translator). The context keeps track of the origin of the code (top-level from a contract, in a view, etc.), plus some information to allow or forbid instructions given the context (no `SELF` in a lambda for example).

module Script_tc_errors : sig ... end
module Script_tc_errors_registration : sig ... end
module Script_timestamp_repr : sig ... end

Defines the internal Michelson representation for timestamps and basic operations that can be performed on it.

module Script_typed_ir : sig ... end
module Script_typed_ir_size : sig ... end

This module provides overapproximation of memory footprint for Michelson-related values.

module Script_typed_ir_size_costs : sig ... end
module Seed_repr : sig ... end

Tezos Protocol Implementation - Random number generation

module Seed_storage : sig ... end
module Services_registration : sig ... end

Functions for RPC service registration, using Updater.rpc_context and RPC_service.t from the Protocol Environment.

module Slot_repr : sig ... end
module Stake_storage : sig ... end
module State_hash : sig ... end

A specialized Blake2B implementation for hashing internal states of random number generators.

module Storage : sig ... end

Tezos Protocol Implementation - Typed storage

module Storage_costs : sig ... end
module Storage_description : sig ... end

This module is responsible for building the description of the current state of the storage, which is then used to build specification of the RPC endpoints for accessing the storage. It produces resto RPC_directory.t values, which can be used directly to construct the RPC endpoint tree.

module Storage_functors : sig ... end

Tezos Protocol Implementation - Typed storage builders.

module Storage_sigs : sig ... end
module Tez_repr : sig ... end
module Ticket_balance_key : sig ... end

This module exposes a function for generating a ticket-balance key-hash and an amount, given an owner and a ticket. The key-hash and the amount is used for populating the global ticket-balance table that tracks ownership of different types of tickets.

module Ticket_costs : sig ... end

This module contains constants and utility functions for gas metering functions used for extracting and handling tickets for the global ticket balance table.

module Ticket_scanner : sig ... end

This module provides an API for extracting tickets of arbitrary types from an OCaml values, given a type-witness.

module Ticket_storage : sig ... end
module Time_repr : sig ... end
module Token : sig ... end

The aim of this module is to manage operations involving tokens such as minting, transferring, and burning. Every constructor of the types source, container, or sink represents a kind of account that holds a given (or possibly infinite) amount of tokens.

module Tx_rollup_repr : sig ... end

This module defines identifiers for transaction only rollup (or tx rollup). It also specifies how to compute originated tx rollup's hash from origination nonce.

module Tx_rollup_services : sig ... end
module Tx_rollup_storage : sig ... end
module Vote_repr : sig ... end
module Vote_storage : sig ... end

Manages all the voting related storage in Storage.Vote.

module Voting_period_repr : sig ... end
module Voting_period_storage : sig ... end
module Voting_services : sig ... end