Mavryk_raw_protocol_alphamodule Adaptive_issuance_costs : sig ... endThis module defines costs for the adaptive issuance operations.
module Adaptive_issuance_services : sig ... endmodule Adaptive_issuance_storage : sig ... endmodule Alpha_context : sig ... endAn 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 ... endThis declares Protocol RPC services.
module Already_denounced_storage : sig ... endThis 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.
module Amendment : sig ... endAmendments and proposals.
module Apply : sig ... endThis module supports advancing the ledger state by applying operations.
module Apply_internal_results : sig ... endTypes representing results of applying an internal operation.
module Apply_operation_result : sig ... endmodule Apply_results : sig ... endTypes representing results of applying an operation.
module Baking : sig ... endmodule Bitset : sig ... endmodule Blinded_public_key_hash : sig ... endThis module handles hashes of implicit contract addresses used for commitments in the origin block.
module Block_header_repr : sig ... endRepresentation of block headers.
module Block_payload_hash : sig ... endA specialized Blake2B implementation for hashing block's payloads.
module Block_payload_repr : sig ... endValue on which validators try to reach a consensus.
module Bond_id_repr : sig ... endThis module defines identifiers for frozen bonds.
module Bootstrap_storage : sig ... endThis 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.
module Bounded_history_repr : sig ... endA bounded cache associating values to keys.
module Cache_memory_helpers : sig ... endmodule Cache_repr : sig ... endFrequently 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 Cache_repr_costs : sig ... endmodule Cache_repr_costs_generated : sig ... endmodule Carbonated_map : sig ... endAn in-memory data-structure for a key-value map where all operations account for gas costs.
module Carbonated_map_costs : sig ... endmodule Carbonated_map_costs_generated : sig ... endmodule Commitment_repr : sig ... endmodule Commitment_storage : sig ... endmodule Constants_parametric_previous_repr : sig ... endmodule Constants_parametric_repr : sig ... endmodule Constants_repr : sig ... endmodule Constants_services : sig ... endmodule Constants_storage : sig ... endThis module provides functions to extract the value of protocol parameters from the context. See Constant_repr.parametric for more details about these values.
module Context_binary_proof : sig ... endmodule Contract_delegate_storage : sig ... endThis module deals with the delegates of a contract. It is responsible for maintaining the tables Storage.Contract.Delegate and Storage.Contract.Delegated.
module Contract_hash : sig ... endA specialized Blake2B implementation for hashing contract identifiers.
module Contract_manager_storage : sig ... endmodule Contract_repr : sig ... endThis 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 ... endThis module defines RPC services to access the information associated to contracts (balance, delegate, script, etc.).
module Contract_storage : sig ... endLow-level handlers of raw contexts for base operations on contracts.
module Cycle_repr : sig ... endThis module provides a type and functions to manipulate cycle numbers.
module Dal_apply : sig ... endThis modules handles all the validation/application/finalisation of any operation related to the DAL.
module Dal_attestation_repr : sig ... endSlot attestation representation for the data-availability layer.
module Dal_costs : sig ... endmodule Dal_costs_generated : sig ... endmodule Dal_errors_repr : sig ... endmodule Dal_operations_repr : sig ... endmodule Dal_services : sig ... endmodule Dal_slot_index_repr : sig ... endmodule Dal_slot_repr : sig ... endmodule Dal_slot_storage : sig ... endStorage management of slots for the data-availability layer.
module Delegate_activation_storage : sig ... endThis 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.
module Delegate_consensus_key : sig ... endManagement 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.
module Delegate_cycles : sig ... endPer-cycle management of delegates.
module Delegate_missed_attestations_storage : sig ... endThis modules deals with delegates' participation in consensus.
module Delegate_rewards : sig ... endmodule Delegate_sampler : sig ... endThis 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.
module Delegate_services : sig ... endThis module defines RPC services to access the information associated to delegates (who they are, their delegators, their different kinds of balances, their activity, etc.).
module Delegate_slashed_deposits_storage : sig ... endThis module handles the slashing of delegates for double signing.
module Delegate_staking_parameters : sig ... endmodule Delegate_storage : sig ... endThis module groups everything related to delegate registration. For the invariants maintained, see the submodule Contract.
module Denunciations_repr : sig ... endmodule Dependent_bool : sig ... endDependent booleans
module Deposits_repr : sig ... endmodule Destination_repr : sig ... endThe type of the destination argument of the Operation_repr.manager_operation.Transaction manager operation.
module Destination_storage : sig ... endmodule Entrypoint_repr : sig ... endmodule Fees_storage : sig ... endmodule Fitness_repr : sig ... endmodule Fixed_point_repr : sig ... endThis module defines a standard signature for modules providing fixed-point arithmetic.
module Forbidden_delegates_storage : sig ... endThis module maintains the storage related to forbidden delegates. It is responsible for maintaining the Storage.Tenderbake.Forbidden_delegates table.
module Frozen_staker_repr : sig ... endmodule Full_staking_balance_repr : sig ... endmodule Gas_comparable_input_size : sig ... endGas_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.
module Gas_input_size : sig ... endGas_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.
module Gas_limit_repr : sig ... endInternal 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 ... endmodule Global_constants_costs : sig ... endCosts function for the global table of constants.
module Global_constants_costs_generated : sig ... endmodule Global_constants_storage : sig ... endThis 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.
module Indexable : sig ... endIn transaction rollups, some values can be replaced by indexes in the messages sent from the layer-1 to the layer-2.
module Init_storage : sig ... endFunctions to setup storage. Used by Alpha_context.prepare.
module Issuance_bonus_repr : sig ... endIssuance bonus.
module Lazy_storage_diff : sig ... endSee Lazy_storage_kind for an introduction on lazy storage.
module Lazy_storage_kind : sig ... endLazy_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 Legacy_script_patches : sig ... endmodule Level_repr : sig ... endThis 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 ... endmodule Liquidity_baking_cpmm : sig ... endmodule Liquidity_baking_lqt : sig ... endmodule Liquidity_baking_migration : sig ... endmodule Liquidity_baking_storage : sig ... endmodule Local_gas_counter : sig ... endThis 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.
module Main : sig ... endTezos Protocol Implementation - Protocol Signature Instance
module Manager_counter_repr : sig ... endCounters 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.
module Manager_repr : sig ... endmodule Mempool_validation : sig ... endThis 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:
module Merkle_list : sig ... endmodule Michelson_v1_gas : sig ... endThis module provides the gas costs for typechecking Michelson scripts, parsing and unparsing Michelson values, and interpreting Michelson instructions.
module Michelson_v1_gas_costs : sig ... endmodule Michelson_v1_gas_costs_generated : sig ... endmodule Michelson_v1_primitives : sig ... endmodule Migration_repr : sig ... endmodule Misbehaviour_repr : sig ... endmodule Misc : sig ... endmodule Non_empty_string : sig ... endmodule Nonce_hash : sig ... endA specialized Blake2B implementation for hashing nonces.
module Nonce_storage : sig ... endThis module provides types and functions to manipulate nonces.
module Operation_costs : sig ... endmodule Operation_repr : sig ... endTezos Protocol Implementation - Low level Repr. of Operations
module Origination_nonce : sig ... endmodule Parameters_repr : sig ... endThis module defines protocol parameters, i.e. constants regulating the behaviour of the blockchain under the protocol.
module Path_encoding : sig ... endmodule Pending_denunciations_storage : sig ... endThis module deals with pending denunciations before they are used to slash delegates.
module Per_block_votes_repr : sig ... endOptions available for per-block votes
module Percentage : sig ... endmodule Period_repr : sig ... endmodule Protocol_treasury_buffer : sig ... endmodule Protocol_treasury_migration : sig ... endmodule Protocol_treasury_storage : sig ... endmodule Ratio_repr : sig ... endmodule Raw_context : sig ... endState of the validation.
module Raw_context_intf : sig ... endAll 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 ... endmodule Receipt_repr : sig ... endmodule Round_repr : sig ... endA round represents an iteration of the single-shot consensus algorithm.
module Sampler : sig ... endEfficient 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 ... endmodule Sapling_services : sig ... endmodule Sapling_storage : sig ... endmodule Sapling_storage_costs : sig ... endmodule Sapling_storage_costs_generated : sig ... endmodule Sapling_validator : sig ... endmodule Saturation_repr : sig ... endThis module provides saturated arithmetic between 0 and 2^62 - 1.
module Sc_rollup_PVM_sig : sig ... endThis module introduces the semantics of Proof-generating Virtual Machines.
module Sc_rollup_arith : sig ... endThis module provides a temporary toy rollup to be used as a demo.
module Sc_rollup_commitment_repr : sig ... endmodule Sc_rollup_commitment_storage : sig ... endDefines storage for Smart Contract Optimistic Rollups.
module Sc_rollup_costs : sig ... endThis module contains constants and utility functions for gas metering functions used when handling SC rollups operations in context.
module Sc_rollup_costs_generated : sig ... endmodule Sc_rollup_dal_parameters_repr : sig ... endDAL related parameters for the PVMs.
module Sc_rollup_data_version_sig : sig ... endThe values are versioned, to let the possibility to modify the values in future iterations of the protocol.
module Sc_rollup_dissection_chunk_repr : sig ... endmodule Sc_rollup_errors : sig ... endmodule Sc_rollup_game_repr : sig ... endThe smart contract rollup refutation game types are defined here, as well as the basic pure logic for:
module Sc_rollup_inbox_merkelized_payload_hashes_repr : sig ... endmodule Sc_rollup_inbox_message_repr : sig ... endmodule Sc_rollup_inbox_repr : sig ... endmodule Sc_rollup_inbox_storage : sig ... endmodule Sc_rollup_machine_no_proofs : sig ... endThis 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.
module Sc_rollup_management_protocol : sig ... endThis 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.
module Sc_rollup_metadata_repr : sig ... endStatic rollup-related metadata for the PVMs.
module Sc_rollup_operations : sig ... endmodule Sc_rollup_outbox_message_repr : sig ... endThis module defines a data type t that represents messages from Layer 2 to Layer 1.
module Sc_rollup_outbox_storage : sig ... endA module for managing state concerning a rollup's outbox.
module Sc_rollup_proof_repr : sig ... endA refutation game proof is required as part of the final move in a game.
module Sc_rollup_refutation_storage : sig ... endmodule Sc_rollup_repr : sig ... endThe basic components of an optimistic rollup for smart-contracts.
module Sc_rollup_reveal_hash : sig ... endmodule Sc_rollup_riscv : sig ... endmodule Sc_rollup_stake_storage : sig ... endmodule Sc_rollup_staker_index_repr : sig ... endmodule Sc_rollup_staker_index_storage : sig ... endmodule Sc_rollup_storage : sig ... endmodule Sc_rollup_tick_repr : sig ... endThis module defines Tick.t, an execution step counter for smart-contract rollups.
module Sc_rollup_wasm : sig ... endmodule Sc_rollup_whitelist_repr : sig ... endmodule Sc_rollup_whitelist_storage : sig ... endmodule Sc_rollups : sig ... endHere is the list of PVMs available in this protocol.
module Script_big_map : sig ... endmodule Script_bytes : sig ... endSemantics of logical and bit-shift operators for bytes
module Script_cache : sig ... endThis module manages the cache for smart contracts.
module Script_comparable : sig ... endmodule Script_expr_hash : sig ... endA specialized Blake2B implementation for hashing Michelson expressions.
module Script_int : sig ... endmodule Script_interpreter : sig ... endThis is the Michelson interpreter.
module Script_interpreter_defs : sig ... endmodule Script_ir_annot : sig ... endmodule Script_ir_translator : sig ... endmodule Script_ir_translator_config : sig ... endmodule Script_ir_unparser : sig ... endmodule Script_list : sig ... endmodule Script_map : sig ... endFunctions to ease the manipulation of Michelson maps.
module Script_repr : sig ... endDefines a Michelson expression representation as a Micheline node with canonical (int) location and Michelson_v1_primitives.prim as content.
module Script_repr_costs : sig ... endmodule Script_repr_costs_generated : sig ... endmodule Script_set : sig ... endFunctions to ease the manipulation of sets of values in Michelson.
module Script_string : sig ... endStrings of printable characters
module Script_tc_context : sig ... endThis 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 ... endmodule Script_tc_errors_registration : sig ... endThis module registers all the errors from Script_tc_errors as a top-level effect.
module Script_timestamp : sig ... endDefines the internal Michelson representation for timestamps and basic operations that can be performed on it.
module Script_typed_ir : sig ... endmodule Script_typed_ir_size : sig ... endThis module provides overapproximation of memory footprint for Michelson-related values.
module Script_typed_ir_size_costs : sig ... endmodule Script_typed_ir_size_costs_generated : sig ... endmodule Seed_repr : sig ... endTezos Protocol Implementation - Random number generation
module Seed_storage : sig ... endThis modules handles the storage of random nonce seeds.
module Services_registration : sig ... endFunctions for RPC service registration, using Updater.rpc_context and RPC_service.t from the Protocol Environment.
module Skip_list_costs : sig ... endmodule Skip_list_costs_generated : sig ... endmodule Slash_percentage : sig ... endmodule Slot_repr : sig ... endSlot index representation
module Stake_context : sig ... endFunctions on stake and depending on the context.
module Stake_repr : sig ... endmodule Stake_storage : sig ... endThis module provides basic operations (accessors and setters) on staking tokens.
module Staking : sig ... endmodule Staking_parameters_repr : sig ... endmodule Staking_pseudotoken_repr : sig ... endmodule Staking_pseudotokens_storage : sig ... endThis module is responsible for maintaining the Storage.Contract.Frozen_deposits_pseudotokens and Storage.Contract.Staking_pseudotokens tables.
module State_hash : sig ... endA specialized Blake2B implementation for hashing internal states of random number generators.
module Storage : sig ... endTezos Protocol Implementation - Typed storage
module Storage_costs : sig ... endmodule Storage_costs_generated : sig ... endmodule Storage_description : sig ... endThis 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 ... endTezos Protocol Implementation - Typed storage builders.
module Storage_sigs : sig ... endmodule Tez_repr : sig ... endmodule Ticket_accounting : sig ... endmodule Ticket_amount : sig ... endmodule Ticket_balance_key : sig ... endThis 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.
module Ticket_costs : sig ... endThis module contains constants and utility functions for gas metering functions used for extracting and handling tickets for the global ticket balance table.
module Ticket_costs_generated : sig ... endmodule Ticket_hash_builder : sig ... endmodule Ticket_hash_repr : sig ... endTicket hashes are used to uniquely identify pairs made of Michelson ticktes and their owner.
module Ticket_lazy_storage_diff : sig ... endmodule Ticket_operations_diff : sig ... endA module that provides functionality for extracting ticket-token differences from a list of operations.
module Ticket_receipt : sig ... endA module for representing the increase/decrease of tickets in the storage. It will be used to display ticket update information in the operation receipt.
module Ticket_scanner : sig ... endThis module provides an API for extracting tickets of arbitrary types from an OCaml values, given a type-witness.
module Ticket_storage : sig ... endmodule Ticket_token : sig ... endA 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.
module Ticket_token_map : sig ... endA module exposing a carbonated map where keys are Ticket_token.ex_token values.
module Ticket_token_unparser : sig ... endmodule Ticket_transfer : sig ... endmodule Time_repr : sig ... endmodule Token : sig ... endThe 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.
module Tx_rollup_l2_address : sig ... endThis module introduces the types used to identify ticket holders within a transaction rollup.
module Unstake_requests_storage : sig ... endSimple abstraction from low-level storage to handle unstake requests.
module Unstaked_frozen_deposits_repr : sig ... endDatatype for a map from cycle to deposits, where all unslashable cycles are squashed.
module Unstaked_frozen_deposits_storage : sig ... endSimple abstraction from low-level storage to handle unstaked frozen deposits.
module Unstaked_frozen_staker_repr : sig ... endmodule Validate : sig ... endThis 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).
module Validate_errors : sig ... endmodule Vote_repr : sig ... endmodule Vote_storage : sig ... endManages all the voting related storage in Storage.Vote.
module Votes_EMA_repr : sig ... endmodule Voting_period_repr : sig ... endmodule Voting_period_storage : sig ... endmodule Voting_services : sig ... endThis module provides RPC services that return voting-related information.
module Zk_rollup_account_repr : sig ... endmodule Zk_rollup_apply : sig ... endThis 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.
module Zk_rollup_circuit_public_inputs_repr : sig ... endAbstraction layer for the public inputs to the ZKRU aPlonk circuits.
module Zk_rollup_errors : sig ... endmodule Zk_rollup_operation_repr : sig ... endmodule Zk_rollup_parameters : sig ... endA module for representing and extracting typed ZK rollup parameters.
module Zk_rollup_repr : sig ... endmodule Zk_rollup_scalar : sig ... endRepresentation of scalars used by the ZK Rollup alongside manipulation functions
module Zk_rollup_state_repr : sig ... endmodule Zk_rollup_storage : sig ... endmodule Zk_rollup_ticket_repr : sig ... endmodule Zk_rollup_update_repr : sig ... endPayload 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.