package tezos-protocol-alpha

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

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.

Implementation

Alpha_context.t is a wrapper over Raw_context.t, which in turn is a wrapper around Context.t from the Protocol Environment.

Lifetime of an Alpha_context

  • Creation, using prepare or prepare_first_block
  • Modification, using the operations defined in this signature
  • Finalization, using finalize
module type BASIC_DATA = sig ... end
type t
type context = t
module Slot : sig ... end

This module re-exports definitions from Slot_repr.

module Tez : sig ... end

This module re-exports definitions from Tez_repr.

module Period : sig ... end

This module re-exports definitions from Period_repr.

module Timestamp : sig ... end

This module re-exports definitions from Time_repr.

module Ratio : sig ... end

This module re-exports definitions from Ratio_repr.

module Raw_level : sig ... end

This module re-exports definitions from Raw_level_repr.

module Cycle : sig ... end

This module re-exports definitions from Cycle_repr.

module Round : sig ... end

This module re-exports definitions from Round_repr.

module Gas : sig ... end

This module implements the gas subsystem of the context.

module Entrypoint : module type of Entrypoint_repr
module Script : sig ... end

This module re-exports definitions from Script_repr and Michelson_v1_primitives.

module Constants : sig ... end

This module re-exports definitions from Constants_repr and Constants_storage.

module Global_constants_storage : sig ... end

See the definitions inside the module.

module Internal_for_tests : sig ... end

This module discloses definitions that are only useful for tests and must not be used otherwise.

module Level : sig ... end

This module re-exports definitions from Level_repr and Level_storage.

module Fitness : sig ... end

This module re-exports definitions from Fitness_repr.

module Nonce : sig ... end

This module re-exports definitions from Nonce_storage.

module Seed : sig ... end

This module re-exports definitions from Seed_repr and Seed_storage.

module Big_map : sig ... end

Big maps are a data structure storing key-value associations, just like regular maps, but here the whole content of the structure is not loaded in memory when interacting with it. They are thus suitable for a Michelson contract, for instance, when there are a lot of bindings, but only a few items are accessed at each contract call.

module Sapling : sig ... end

This module re-exports definitions from Sapling_repr, Sapling_storage and Sapling_validator.

module Lazy_storage : sig ... end

This module re-exports definitions from Lazy_storage_diff.

module Origination_nonce : sig ... end

See the definitions inside the module.

module Ticket_hash : sig ... end

This module re-exports definitions from Ticket_hash_repr.

module Manager_counter : sig ... end

This module re-exports definitions from Manager_counter_repr.

module Contract : sig ... end

This module re-exports definitions from Contract_repr and Contract_storage.

module Tx_rollup_level : sig ... end

This module re-exports definitions from Tx_rollup_level_repr.

module Tx_rollup : sig ... end

This module re-exports definitions from Tx_rollup_repr and Tx_rollup_storage.

module Tx_rollup_withdraw : sig ... end

This module re-exports definitions from Tx_rollup_withdraw_repr.

module Tx_rollup_withdraw_list_hash : sig ... end

This module re-exports definitions from Tx_rollup_withdraw_list_hash_repr.

module Tx_rollup_message_result : sig ... end

This module re-exports definitions from Tx_rollup_message_result_repr.

module Tx_rollup_message_result_hash : sig ... end

This module re-exports definitions from Tx_rollup_message_result_hash_repr.

module Tx_rollup_commitment_hash : sig ... end

This module re-exports definitions from Tx_rollup_commitment_repr.Hash.

module Tx_rollup_state : sig ... end

This module re-exports definitions from Tx_rollup_state_repr and Tx_rollup_state_storage.

module Tx_rollup_reveal : sig ... end

This module re-exports definitions from Tx_rollup_reveal_repr and Tx_rollup_reveal_storage.

module Tx_rollup_message : sig ... end

This module re-exports definitions from Tx_rollup_message_repr.

module Tx_rollup_message_hash : sig ... end

This module re-exports definitions from Tx_rollup_message_hash_repr.

module Tx_rollup_inbox : sig ... end

This module re-exports definitions from Tx_rollup_inbox_repr and Tx_rollup_inbox_storage.

module Tx_rollup_commitment : sig ... end

This module re-exports definitions from Tx_rollup_commitment_repr.

module Tx_rollup_hash : sig ... end

This module re-exports definitions from Tx_rollup_hash_builder.

module Tx_rollup_errors : sig ... end

This module re-exports definitions from Tx_rollup_errors_repr.

module Sc_rollup_repr : sig ... end

This is a forward declaration to avoid circular dependencies. Use module Sc_rollup instead whenever possible. TODO : find a better way to resolve the circular dependency https://gitlab.com/tezos/tezos/-/issues/3147

module Bond_id : sig ... end

This module re-exports definitions from Bond_id_repr.

module Zk_rollup : sig ... end

This module re-exports definitions from Zk_rollup_repr and Zk_rollup_storage.

module Receipt : sig ... end

This module re-exports definitions from Receipt_repr.

module Consensus_key : sig ... end

This module re-exports definitions from Delegate_consensus_key.

module Voting_period : sig ... end

This module re-exports definitions from Voting_period_repr and Voting_period_storage.

module Vote : sig ... end

This module re-exports definitions from Vote_repr and Vote_storage.

module Dal : sig ... end

This module exposes definitions for the data-availability layer.

module Dal_errors : sig ... end

This module re-exports definitions from Dal_errors_repr.

module Sc_rollup : sig ... end

This module re-exports definitions from Sc_rollup_storage and Sc_rollup_repr.

module Destination : sig ... end

This module re-exports definitions from Destination_repr.

module Block_payload : sig ... end
module Block_header : sig ... end

This module re-exports definitions from Block_header_repr.

module Cache : sig ... end

This module re-exports definitions from Cache_repr.

module Kind : sig ... end

This module re-exports definitions from Lazy_storage_kind.

All the definitions below are re-exported from Operation_repr.

type 'a consensus_operation_type =
  1. | Endorsement : Kind.endorsement consensus_operation_type
  2. | Preendorsement : Kind.preendorsement consensus_operation_type
type consensus_content = {
  1. slot : Slot.t;
  2. level : Raw_level.t;
  3. round : Round.t;
  4. block_payload_hash : Block_payload_hash.t;
}
type 'kind operation = {
  1. shell : Tezos_protocol_environment_alpha.Operation.shell_header;
  2. protocol_data : 'kind protocol_data;
}
and 'kind protocol_data = {
  1. contents : 'kind contents_list;
  2. signature : signature option;
}
and _ contents_list =
  1. | Single : 'kind contents -> 'kind contents_list
  2. | Cons : 'kind Kind.manager contents * 'rest Kind.manager contents_list -> ('kind * 'rest) Kind.manager contents_list
and _ contents =
  1. | Preendorsement : consensus_content -> Kind.preendorsement contents
  2. | Endorsement : consensus_content -> Kind.endorsement contents
  3. | Dal_attestation : Dal.Attestation.operation -> Kind.dal_attestation contents
  4. | Seed_nonce_revelation : {
    1. level : Raw_level.t;
    2. nonce : Nonce.t;
    } -> Kind.seed_nonce_revelation contents
  5. | Vdf_revelation : {
    1. solution : Seed.vdf_solution;
    } -> Kind.vdf_revelation contents
  6. | Double_preendorsement_evidence : {
    1. op1 : Kind.preendorsement operation;
    2. op2 : Kind.preendorsement operation;
    } -> Kind.double_preendorsement_evidence contents
  7. | Double_endorsement_evidence : {
    1. op1 : Kind.endorsement operation;
    2. op2 : Kind.endorsement operation;
    } -> Kind.double_endorsement_evidence contents
  8. | Double_baking_evidence : {
    1. bh1 : Block_header.t;
    2. bh2 : Block_header.t;
    } -> Kind.double_baking_evidence contents
  9. | Activate_account : {
    1. id : Tezos_protocol_environment_alpha.Ed25519.Public_key_hash.t;
    2. activation_code : Blinded_public_key_hash.activation_code;
    } -> Kind.activate_account contents
  10. | Proposals : {
    1. source : public_key_hash;
    2. period : int32;
    3. proposals : Tezos_protocol_environment_alpha.Protocol_hash.t list;
    } -> Kind.proposals contents
  11. | Ballot : {
    1. source : public_key_hash;
    2. period : int32;
    3. proposal : Tezos_protocol_environment_alpha.Protocol_hash.t;
    4. ballot : Vote.ballot;
    } -> Kind.ballot contents
  12. | Drain_delegate : {
    1. consensus_key : Tezos_protocol_environment_alpha.Signature.Public_key_hash.t;
    2. delegate : Tezos_protocol_environment_alpha.Signature.Public_key_hash.t;
    3. destination : Tezos_protocol_environment_alpha.Signature.Public_key_hash.t;
    } -> Kind.drain_delegate contents
  13. | Failing_noop : string -> Kind.failing_noop contents
  14. | Manager_operation : {
    1. source : public_key_hash;
    2. fee : Tez.tez;
    3. counter : Manager_counter.t;
    4. operation : 'kind manager_operation;
    5. gas_limit : Gas.Arith.integral;
    6. storage_limit : Tezos_protocol_environment_alpha.Z.t;
    } -> 'kind Kind.manager contents
and _ manager_operation =
  1. | Reveal : public_key -> Kind.reveal manager_operation
  2. | Transaction : {
    1. amount : Tez.tez;
    2. parameters : Script.lazy_expr;
    3. entrypoint : Entrypoint.t;
    4. destination : Contract.t;
    } -> Kind.transaction manager_operation
  3. | Origination : {
    1. delegate : public_key_hash option;
    2. script : Script.t;
    3. credit : Tez.tez;
    } -> Kind.origination manager_operation
  4. | Delegation : public_key_hash option -> Kind.delegation manager_operation
  5. | Register_global_constant : {
    1. value : Script.lazy_expr;
    } -> Kind.register_global_constant manager_operation
  6. | Set_deposits_limit : Tez.t option -> Kind.set_deposits_limit manager_operation
  7. | Increase_paid_storage : {
    1. amount_in_bytes : Tezos_protocol_environment_alpha.Z.t;
    2. destination : Contract_hash.t;
    } -> Kind.increase_paid_storage manager_operation
  8. | Update_consensus_key : Tezos_protocol_environment_alpha.Signature.Public_key.t -> Kind.update_consensus_key manager_operation
  9. | Tx_rollup_origination : Kind.tx_rollup_origination manager_operation
  10. | Tx_rollup_submit_batch : {
    1. tx_rollup : Tx_rollup.t;
    2. content : string;
    3. burn_limit : Tez.tez option;
    } -> Kind.tx_rollup_submit_batch manager_operation
  11. | Tx_rollup_commit : {
    1. tx_rollup : Tx_rollup.t;
    2. commitment : Tx_rollup_commitment.Full.t;
    } -> Kind.tx_rollup_commit manager_operation
  12. | Tx_rollup_return_bond : {
    1. tx_rollup : Tx_rollup.t;
    } -> Kind.tx_rollup_return_bond manager_operation
  13. | Tx_rollup_finalize_commitment : {
    1. tx_rollup : Tx_rollup.t;
    } -> Kind.tx_rollup_finalize_commitment manager_operation
  14. | Tx_rollup_remove_commitment : {
    1. tx_rollup : Tx_rollup.t;
    } -> Kind.tx_rollup_remove_commitment manager_operation
  15. | Tx_rollup_rejection : {
    1. tx_rollup : Tx_rollup.t;
    2. level : Tx_rollup_level.t;
    3. message : Tx_rollup_message.t;
    4. message_position : int;
    5. message_path : Tx_rollup_inbox.Merkle.path;
    6. message_result_hash : Tx_rollup_message_result_hash.t;
    7. message_result_path : Tx_rollup_commitment.Merkle.path;
    8. previous_message_result : Tx_rollup_message_result.t;
    9. previous_message_result_path : Tx_rollup_commitment.Merkle.path;
    10. proof : Tx_rollup_l2_proof.serialized;
    } -> Kind.tx_rollup_rejection manager_operation
  16. | Tx_rollup_dispatch_tickets : {
    1. tx_rollup : Tx_rollup.t;
    2. level : Tx_rollup_level.t;
    3. context_hash : Tezos_protocol_environment_alpha.Context_hash.t;
    4. message_index : int;
    5. message_result_path : Tx_rollup_commitment.Merkle.path;
    6. tickets_info : Tx_rollup_reveal.t list;
    } -> Kind.tx_rollup_dispatch_tickets manager_operation
  17. | Transfer_ticket : {
    1. contents : Script.lazy_expr;
    2. ty : Script.lazy_expr;
    3. ticketer : Contract.t;
    4. amount : Ticket_amount.t;
    5. destination : Contract.t;
    6. entrypoint : Entrypoint.t;
    } -> Kind.transfer_ticket manager_operation
  18. | Dal_publish_slot_header : Dal.Operations.Publish_slot_header.t -> Kind.dal_publish_slot_header manager_operation
  19. | Sc_rollup_originate : {
    1. kind : Sc_rollup.Kind.t;
    2. boot_sector : string;
    3. origination_proof : Sc_rollup.Proof.serialized;
    4. parameters_ty : Script.lazy_expr;
    } -> Kind.sc_rollup_originate manager_operation
  20. | Sc_rollup_add_messages : {
    1. messages : string list;
    } -> Kind.sc_rollup_add_messages manager_operation
  21. | Sc_rollup_cement : {
    1. rollup : Sc_rollup.t;
    2. commitment : Sc_rollup.Commitment.Hash.t;
    } -> Kind.sc_rollup_cement manager_operation
  22. | Sc_rollup_publish : {
    1. rollup : Sc_rollup.t;
    2. commitment : Sc_rollup.Commitment.t;
    } -> Kind.sc_rollup_publish manager_operation
  23. | Sc_rollup_refute : {
    1. rollup : Sc_rollup.t;
    2. opponent : Sc_rollup.Staker.t;
    3. refutation : Sc_rollup.Game.refutation;
    } -> Kind.sc_rollup_refute manager_operation
  24. | Sc_rollup_timeout : {
    1. rollup : Sc_rollup.t;
    2. stakers : Sc_rollup.Game.Index.t;
    } -> Kind.sc_rollup_timeout manager_operation
  25. | Sc_rollup_execute_outbox_message : {
    1. rollup : Sc_rollup.t;
    2. cemented_commitment : Sc_rollup.Commitment.Hash.t;
    3. output_proof : string;
    } -> Kind.sc_rollup_execute_outbox_message manager_operation
  26. | Sc_rollup_recover_bond : {
    1. sc_rollup : Sc_rollup.t;
    2. staker : Tezos_protocol_environment_alpha.Signature.Public_key_hash.t;
    } -> Kind.sc_rollup_recover_bond manager_operation
  27. | Zk_rollup_origination : {
    1. public_parameters : Tezos_protocol_environment_alpha.Plonk.public_parameters;
    2. circuits_info : [ `Public | `Private | `Fee ] Zk_rollup.Account.SMap.t;
    3. init_state : Zk_rollup.State.t;
    4. nb_ops : int;
    } -> Kind.zk_rollup_origination manager_operation
  28. | Zk_rollup_publish : {
    1. zk_rollup : Zk_rollup.t;
    2. ops : (Zk_rollup.Operation.t * Zk_rollup.Ticket.t option) list;
    } -> Kind.zk_rollup_publish manager_operation
  29. | Zk_rollup_update : {
    1. zk_rollup : Zk_rollup.t;
    2. update : Zk_rollup.Update.t;
    } -> Kind.zk_rollup_update manager_operation
type packed_manager_operation =
  1. | Manager : 'kind manager_operation -> packed_manager_operation
type packed_contents =
  1. | Contents : 'kind contents -> packed_contents
type packed_contents_list =
  1. | Contents_list : 'kind contents_list -> packed_contents_list
type packed_protocol_data =
  1. | Operation_data : 'kind protocol_data -> packed_protocol_data
type packed_operation = {
  1. shell : Tezos_protocol_environment_alpha.Operation.shell_header;
  2. protocol_data : packed_protocol_data;
}
val manager_kind : 'kind manager_operation -> 'kind Kind.manager
module Operation : sig ... end

This module re-exports definitions from Operation_repr.

module Stake_distribution : sig ... end

This module re-exports definitions from Stake_storage, Delegate_storage and Delegate.

module Commitment : sig ... end

This module re-exports definitions from Commitment_repr and, Commitment_storage.

module Bootstrap : sig ... end

This module re-exports definitions from Bootstrap_storage.

module Migration : sig ... end

This module re-exports definitions from Migration_repr.

All the definitions below are re-exported from Raw_context.

val reset_internal_nonce : context -> context
val record_internal_nonce : context -> int -> context
val internal_nonce_already_recorded : context -> int -> bool
val description : context Storage_description.t
val record_non_consensus_operation_hash : context -> Tezos_protocol_environment_alpha.Operation_hash.t -> context
val non_consensus_operations : context -> Tezos_protocol_environment_alpha.Operation_hash.t list
val record_dictator_proposal_seen : t -> t
val dictator_proposal_seen : t -> bool

Finalize an Alpha_context.t, producing a validation_result.

Should only be used by Main.current_context to return a context usable for RPCs

module Parameters : sig ... end

This module re-exports definitions from Parameters_repr.

module Liquidity_baking : sig ... end

This module re-exports definitions from Liquidity_baking_repr and Liquidity_baking_storage.

module Ticket_balance : sig ... end

This module re-exports definitions from Ticket_storage.

module First_level_of_protocol : sig ... end
module Consensus : sig ... end

This module re-exports definitions from Raw_context.Consensus.

module Token : sig ... end

This module re-exports definitions from Token.

module Fees : sig ... end

This module re-exports definitions from Fees_storage.

OCaml

Innovation. Community. Security.