package tezos-protocol-alpha

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

Module Tezos_raw_protocol_alphaSource

Sourcemodule Adaptive_issuance_costs : sig ... end

This module defines costs for the adaptive issuance operations.

Sourcemodule Adaptive_issuance_storage : sig ... end
Sourcemodule 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.

Sourcemodule Alpha_services : sig ... end

This declares Protocol RPC services.

Sourcemodule Already_denounced_storage : sig ... end

This module is responsible for ensuring that a delegate doesn't get slashed twice for the same offense. To do so, it maintains the Storage.Already_denounced table, which tracks which denunciations have already been seen in blocks.

Sourcemodule Amendment : sig ... end

Amendments and proposals.

Sourcemodule Apply : sig ... end

This module supports advancing the ledger state by applying operations.

Sourcemodule Apply_internal_results : sig ... end

Types representing results of applying an internal operation.

Sourcemodule Apply_operation_result : sig ... end
Sourcemodule Apply_results : sig ... end

Types representing results of applying an operation.

Sourcemodule Baking : sig ... end
Sourcemodule Bitset : sig ... end
Sourcemodule Blinded_public_key_hash : sig ... end

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

Sourcemodule Block_header_repr : sig ... end

Representation of block headers.

Sourcemodule Block_payload_hash : sig ... end

A specialized Blake2B implementation for hashing block's payloads.

Sourcemodule Block_payload_repr : sig ... end

Value on which validators try to reach a consensus.

Sourcemodule Bond_id_repr : sig ... end

This module defines identifiers for frozen bonds.

Sourcemodule Bootstrap_storage : sig ... end

This module provides functions that can be used in a private network to delay initial rewarding, typically when waiting for more bakers to join the network.

Sourcemodule Bounded_history_repr : sig ... end

A bounded cache associating values to keys.

Sourcemodule Cache_memory_helpers : sig ... end
Sourcemodule 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.

Sourcemodule Cache_repr_costs : sig ... end
Sourcemodule Carbonated_map : sig ... end

An in-memory data-structure for a key-value map where all operations account for gas costs.

Sourcemodule Carbonated_map_costs : sig ... end
Sourcemodule Commitment_repr : sig ... end
Sourcemodule Commitment_storage : sig ... end
Sourcemodule Constants_parametric_repr : sig ... end
Sourcemodule Constants_repr : sig ... end
Sourcemodule Constants_services : sig ... end
Sourcemodule Constants_storage : sig ... end

This module provides functions to extract the value of protocol parameters from the context. See Constant_repr.parametric for more details about these values.

Sourcemodule Context_binary_proof : sig ... end
Sourcemodule Contract_delegate_storage : sig ... end

This module deals with the delegates of a contract. It is responsible for maintaining the tables Storage.Contract.Delegate and Storage.Contract.Delegated.

Sourcemodule Contract_hash : sig ... end

A specialized Blake2B implementation for hashing contract identifiers.

Sourcemodule Contract_manager_storage : sig ... end
Sourcemodule 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.

Sourcemodule Contract_services : sig ... end

This module defines RPC services to access the information associated to contracts (balance, delegate, script, etc.).

Sourcemodule Contract_storage : sig ... end

Low-level handlers of raw contexts for base operations on contracts.

Sourcemodule Cycle_repr : sig ... end

This module provides a type and functions to manipulate cycle numbers.

Sourcemodule Dal_apply : sig ... end

This modules handles all the validation/application/finalisation of any operation related to the DAL.

Sourcemodule Dal_attestation_repr : sig ... end

Slot attestation representation for the data-availability layer.

Sourcemodule Dal_costs : sig ... end
Sourcemodule Dal_costs_generated : sig ... end
Sourcemodule Dal_errors_repr : sig ... end
Sourcemodule Dal_operations_repr : sig ... end
Sourcemodule Dal_services : sig ... end
Sourcemodule Dal_slot_index_repr : sig ... end
Sourcemodule Dal_slot_repr : sig ... end
Sourcemodule Dal_slot_storage : sig ... end

Storage management of slots for the data-availability layer.

This module deals with delegates' activity. Typically, the provided functions can be used to deactivate a delegate that has not shown activity for a certain number of cycles, and to reactivate it when appropriate.

Sourcemodule Delegate_consensus_key : sig ... end

Management of a delegate's consensus key, the one used to sign blocks and consensus operations. It is responsible for maintaining the tables Storage.Consensus_keys, Storage.Contract.Consensus_key, and Storage.Contract.Pending_consensus_keys.

Sourcemodule Delegate_cycles : sig ... end

Per-cycle management of delegates.

This modules deals with delegates' participation in consensus.

Sourcemodule Delegate_rewards : sig ... end
Sourcemodule Delegate_sampler : sig ... end

This module draws random values for a cycle based on the Seed_repr.seed associated that cycle. These random values are only delegates associated with slots. The selection of delegates is done by sampling from a particular distribution of the stake among the active delegates.

Sourcemodule Delegate_services : sig ... end

This module defines RPC services to access the information associated to delegates (who they are, their delegators, their different kinds of balances, their activity, etc.).

This module handles the slashing of delegates for double signing.

Sourcemodule Delegate_storage : sig ... end

This module groups everything related to delegate registration. For the invariants maintained, see the submodule Contract.

Sourcemodule Denunciations_repr : sig ... end
Sourcemodule Dependent_bool : sig ... end

Dependent booleans

Sourcemodule Deposits_repr : sig ... end
Sourcemodule Destination_repr : sig ... end

The type of the destination argument of the Operation_repr.manager_operation.Transaction manager operation.

Sourcemodule Destination_storage : sig ... end
Sourcemodule Entrypoint_repr : sig ... end
Sourcemodule Fees_storage : sig ... end
Sourcemodule Fitness_repr : sig ... end
Sourcemodule Fixed_point_repr : sig ... end

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

This module maintains the storage related to forbidden delegates. It is responsible for maintaining the Storage.Tenderbake.Forbidden_delegates table.

Sourcemodule Frozen_staker_repr : sig ... end
Sourcemodule Full_staking_balance_repr : sig ... end
Sourcemodule Gas_comparable_input_size : sig ... end

Gas_input_size includes the definitions for the different sizes used in the gas models of the protocol. They do not always represent memory sizes, but rather they can be seen as an information size. They are tailored to the models that use them, and should not be used for anything other than gas computation.

Sourcemodule Gas_input_size : sig ... end

Gas_input_size includes the definitions for the different sizes used in the gas models of the protocol. They do not always represent memory sizes, but rather they can be seen as an information size. They are tailored to the models that use them, and should not be used for anything other than gas computation.

Sourcemodule 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.

Sourcemodule Gas_monad : sig ... end
Sourcemodule Global_constants_costs : sig ... end

Costs function for the global table of constants.

Sourcemodule 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, scripts may reference this value by its hash.

Sourcemodule Indexable : sig ... end

In transaction rollups, some values can be replaced by indexes in the messages sent from the layer-1 to the layer-2.

Sourcemodule Init_storage : sig ... end

Functions to setup storage. Used by Alpha_context.prepare.

Sourcemodule Issuance_bonus_repr : sig ... end

Issuance bonus.

Sourcemodule Lazy_storage_diff : sig ... end

See Lazy_storage_kind for an introduction on lazy storage.

Sourcemodule 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.

Sourcemodule Legacy_script_patches : sig ... end
Sourcemodule 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.

Sourcemodule Level_storage : sig ... end
Sourcemodule Liquidity_baking_cpmm : sig ... end
Sourcemodule Liquidity_baking_lqt : sig ... end
Sourcemodule Liquidity_baking_storage : sig ... end
Sourcemodule Local_gas_counter : sig ... end

This module exposes an API for local gas counting. It provides a set of functions for updating a gas counter without applying it on an an Alpha_context.context.

Sourcemodule Main : sig ... end

Tezos Protocol Implementation - Protocol Signature Instance

Sourcemodule Manager_counter_repr : sig ... end

Counters are used as anti-replay protection mechanism in manager operations: each manager account stores a counter and each manager operation declares a value for the counter. When a manager operation is applied, the value of the counter of its manager is checked and incremented.

Sourcemodule Manager_repr : sig ... end
Sourcemodule Mempool_validation : sig ... end

This module implements a mempool structure meant to be used by a shell and bakers in order to incrementally accumulate commutative operations which could then be safely used to bake a new block. These mempool components guarantee a set of properties useful for these purposes:

Sourcemodule Merkle_list : sig ... end
Sourcemodule Michelson_v1_gas : sig ... end

This module provides the gas costs for typechecking Michelson scripts, parsing and unparsing Michelson values, and interpreting Michelson instructions.

Sourcemodule Michelson_v1_gas_costs : sig ... end
Sourcemodule Michelson_v1_primitives : sig ... end
Sourcemodule Migration_repr : sig ... end
Sourcemodule Misbehaviour_repr : sig ... end
Sourcemodule Misc : sig ... end
Sourcemodule Non_empty_string : sig ... end
Sourcemodule Nonce_hash : sig ... end

A specialized Blake2B implementation for hashing nonces.

Sourcemodule Nonce_storage : sig ... end

This module provides types and functions to manipulate nonces.

Sourcemodule Operation_costs : sig ... end
Sourcemodule Operation_repr : sig ... end

Tezos Protocol Implementation - Low level Repr. of Operations

Sourcemodule Origination_nonce : sig ... end
Sourcemodule Parameters_repr : sig ... end

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

Sourcemodule Path_encoding : sig ... end

This module deals with pending denunciations before they are used to slash delegates.

Sourcemodule Per_block_votes_repr : sig ... end

Options available for per-block votes

Sourcemodule Percentage : sig ... end
Sourcemodule Period_repr : sig ... end
Sourcemodule Ratio_repr : sig ... end
Sourcemodule Raw_context : sig ... end

State of the validation.

Sourcemodule 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.

Sourcemodule Raw_level_repr : sig ... end
Sourcemodule Receipt_repr : sig ... end
Sourcemodule Round_repr : sig ... end

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

Sourcemodule 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.

Sourcemodule Sapling_repr : sig ... end
Sourcemodule Sapling_services : sig ... end
Sourcemodule Sapling_storage : sig ... end
Sourcemodule Sapling_storage_costs : sig ... end
Sourcemodule Sapling_validator : sig ... end
Sourcemodule Saturation_repr : sig ... end

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

Sourcemodule Sc_rollup_PVM_sig : sig ... end

This module introduces the semantics of Proof-generating Virtual Machines.

Sourcemodule Sc_rollup_arith : sig ... end

This module provides a temporary toy rollup to be used as a demo.

Sourcemodule Sc_rollup_commitment_repr : sig ... end

Defines storage for Smart Contract Optimistic Rollups.

Sourcemodule Sc_rollup_costs : sig ... end

This module contains constants and utility functions for gas metering functions used when handling SC rollups operations in context.

Sourcemodule Sc_rollup_costs_generated : sig ... end

DAL related parameters for the PVMs.

The values are versioned, to let the possibility to modify the values in future iterations of the protocol.

Sourcemodule Sc_rollup_errors : sig ... end
Sourcemodule Sc_rollup_game_repr : sig ... end

The smart contract rollup refutation game types are defined here, as well as the basic pure logic for:

This module exposes a type t that represents inbox messages. Inbox messages are produced by the Layer 1 protocol and are encoded using the serialize function, before being added to a smart-contract rollup's inbox.

Sourcemodule Sc_rollup_inbox_repr : sig ... end
Sourcemodule Sc_rollup_inbox_storage : sig ... end

This module provides instantiation of both the WASM and Arith PVM which can be used to perform rollup computations, but cannot be used to compute proofs.

This module provides a typed API for the Rollup Management Protocol that defines the communication protocol for exchanging messages between Layer 1 and Layer 2 for smart-contract rollups.

Sourcemodule Sc_rollup_metadata_repr : sig ... end

Static rollup-related metadata for the PVMs.

Sourcemodule Sc_rollup_operations : sig ... end

This module defines a data type t that represents messages from Layer 2 to Layer 1.

Sourcemodule Sc_rollup_outbox_storage : sig ... end

A module for managing state concerning a rollup's outbox.

Sourcemodule Sc_rollup_proof_repr : sig ... end

A refutation game proof is required as part of the final move in a game.

Sourcemodule Sc_rollup_repr : sig ... end

The basic components of an optimistic rollup for smart-contracts.

Sourcemodule Sc_rollup_reveal_hash : sig ... end
Sourcemodule Sc_rollup_riscv : sig ... end
Sourcemodule Sc_rollup_stake_storage : sig ... end
Sourcemodule Sc_rollup_storage : sig ... end
Sourcemodule Sc_rollup_tick_repr : sig ... end

This module defines Tick.t, an execution step counter for smart-contract rollups.

Sourcemodule Sc_rollup_wasm : sig ... end
Sourcemodule Sc_rollup_whitelist_repr : sig ... end
Sourcemodule Sc_rollups : sig ... end

Here is the list of PVMs available in this protocol.

Sourcemodule Script_big_map : sig ... end
Sourcemodule Script_bytes : sig ... end

Semantics of logical and bit-shift operators for bytes

Sourcemodule Script_cache : sig ... end

This module manages the cache for smart contracts.

Sourcemodule Script_comparable : sig ... end
Sourcemodule Script_expr_hash : sig ... end

A specialized Blake2B implementation for hashing Michelson expressions.

Sourcemodule Script_int : sig ... end
Sourcemodule Script_interpreter : sig ... end

This is the Michelson interpreter.

Sourcemodule Script_interpreter_defs : sig ... end
Sourcemodule Script_ir_annot : sig ... end
Sourcemodule Script_ir_translator : sig ... end
Sourcemodule Script_ir_unparser : sig ... end
Sourcemodule Script_list : sig ... end
Sourcemodule Script_map : sig ... end

Functions to ease the manipulation of Michelson maps.

Sourcemodule Script_repr : sig ... end

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

Sourcemodule Script_repr_costs : sig ... end
Sourcemodule Script_set : sig ... end

Functions to ease the manipulation of sets of values in Michelson.

Sourcemodule Script_string : sig ... end

Strings of printable characters

Sourcemodule 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).

Sourcemodule Script_tc_errors : sig ... end

This module registers all the errors from Script_tc_errors as a top-level effect.

Sourcemodule Script_timestamp : sig ... end

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

Sourcemodule Script_typed_ir : sig ... end
Sourcemodule Script_typed_ir_size : sig ... end

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

Sourcemodule Seed_repr : sig ... end

Tezos Protocol Implementation - Random number generation

Sourcemodule Seed_storage : sig ... end

This modules handles the storage of random nonce seeds.

Sourcemodule Services_registration : sig ... end

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

Sourcemodule Shared_stake : sig ... end
Sourcemodule Skip_list_costs : sig ... end
Sourcemodule Skip_list_costs_generated : sig ... end
Sourcemodule Slash_percentage : sig ... end
Sourcemodule Slot_repr : sig ... end

Slot index representation

Sourcemodule Stake_context : sig ... end

Functions on stake and depending on the context.

Sourcemodule Stake_repr : sig ... end
Sourcemodule Stake_storage : sig ... end

This module provides basic operations (accessors and setters) on staking tokens.

Sourcemodule Staking : sig ... end
Sourcemodule Staking_parameters_repr : sig ... end
Sourcemodule Staking_pseudotoken_repr : sig ... end

This module is responsible for maintaining the Storage.Contract.Frozen_deposits_pseudotokens and Storage.Contract.Staking_pseudotokens tables.

Sourcemodule State_hash : sig ... end

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

Sourcemodule Storage : sig ... end

Tezos Protocol Implementation - Typed storage

Sourcemodule Storage_costs : sig ... end
Sourcemodule Storage_costs_generated : sig ... end
Sourcemodule 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.

Sourcemodule Storage_functors : sig ... end

Tezos Protocol Implementation - Typed storage builders.

Sourcemodule Storage_sigs : sig ... end
Sourcemodule Tez_repr : sig ... end
Sourcemodule Ticket_accounting : sig ... end
Sourcemodule Ticket_amount : sig ... end
Sourcemodule Ticket_balance_key : sig ... end

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

Sourcemodule 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.

Sourcemodule Ticket_costs_generated : sig ... end
Sourcemodule Ticket_hash_builder : sig ... end
Sourcemodule Ticket_hash_repr : sig ... end

Ticket hashes are used to uniquely identify pairs made of Michelson ticktes and their owner.

Sourcemodule Ticket_lazy_storage_diff : sig ... end
Sourcemodule Ticket_operations_diff : sig ... end

A module that provides functionality for extracting ticket-token differences from a list of operations.

Sourcemodule Ticket_receipt : sig ... end

A module for representing the increase/decrease of tickets in the storage. It will be used to display ticket update information in the operation receipt.

Sourcemodule Ticket_scanner : sig ... end

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

Sourcemodule Ticket_storage : sig ... end
Sourcemodule Ticket_token : sig ... end

A module for handling ticket-tokens. A ticket-token represents the combination of a ticketer (creator of a ticket) and the content. That is, a ticket comprises a ticket-token and an amount.

Sourcemodule Ticket_token_map : sig ... end

A module exposing a carbonated map where keys are Ticket_token.ex_token values.

Sourcemodule Ticket_token_unparser : sig ... end
Sourcemodule Ticket_transfer : sig ... end
Sourcemodule Time_repr : sig ... end
Sourcemodule 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 giver, container, or receiver represents a kind of account that holds a given (or possibly infinite) amount of tokens.

Sourcemodule Tx_rollup_l2_address : sig ... end

This module introduces the types used to identify ticket holders within a transaction rollup.

Sourcemodule Unstake_requests_storage : sig ... end

Simple abstraction from low-level storage to handle unstake requests.

Datatype for a map from cycle to deposits, where all unslashable cycles are squashed.

Simple abstraction from low-level storage to handle unstaked frozen deposits.

Sourcemodule Validate : sig ... end

This module provides functions pertaining to the validation of blocks and operations. Most elements in this module are either used or wrapped in the Main module (though some of them are also directly used by the plugin).

Sourcemodule Validate_errors : sig ... end
Sourcemodule Vote_repr : sig ... end
Sourcemodule Vote_storage : sig ... end

Manages all the voting related storage in Storage.Vote.

Sourcemodule Votes_EMA_repr : sig ... end
Sourcemodule Voting_period_repr : sig ... end
Sourcemodule Voting_period_storage : sig ... end
Sourcemodule Voting_services : sig ... end

This module provides RPC services that return voting-related information.

Sourcemodule Zk_rollup_account_repr : sig ... end
Sourcemodule Zk_rollup_apply : sig ... end

This module handles all the validation/application of any operation related to the ZK Rollup. All of the functions defined in this module require that the ZKRU feature flag is enabled.

Abstraction layer for the public inputs to the ZKRU aPlonk circuits.

Sourcemodule Zk_rollup_errors : sig ... end
Sourcemodule Zk_rollup_operation_repr : sig ... end
Sourcemodule Zk_rollup_parameters : sig ... end

A module for representing and extracting typed ZK rollup parameters.

Sourcemodule Zk_rollup_repr : sig ... end
Sourcemodule Zk_rollup_scalar : sig ... end

Representation of scalars used by the ZK Rollup alongside manipulation functions

Sourcemodule Zk_rollup_state_repr : sig ... end
Sourcemodule Zk_rollup_storage : sig ... end
Sourcemodule Zk_rollup_ticket_repr : sig ... end
Sourcemodule Zk_rollup_update_repr : sig ... end

Payload of a ZK Rollup update operation. The operator only needs to send a subset of the public inputs defined in Zk_rollup_circuit_public_inputs_repr, the rest is provided by the protocol.

OCaml

Innovation. Community. Security.