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

This module re-exports definitions from Staking_pseudotoken_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 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 and Staker_repr.

module Consensus_key : sig ... end

This module re-exports definitions from Delegate_consensus_key.

module Misbehaviour : sig ... end

This module re-exports definitions from Misbehaviour_repr.

module Staking : sig ... end
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 Operation_repr.Kind.

All the definitions below are re-exported from Operation_repr.

type 'a consensus_operation_type =
  1. | Attestation : Kind.attestation consensus_operation_type
  2. | Preattestation : Kind.preattestation 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 dal_content = {
  1. attestation : Dal.Attestation.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. | Preattestation : consensus_content -> Kind.preattestation contents
  2. | Attestation : {
    1. consensus_content : consensus_content;
    2. dal_content : dal_content option;
    } -> Kind.attestation contents
  3. | Seed_nonce_revelation : {
    1. level : Raw_level.t;
    2. nonce : Nonce.t;
    } -> Kind.seed_nonce_revelation contents
  4. | Vdf_revelation : {
    1. solution : Seed.vdf_solution;
    } -> Kind.vdf_revelation contents
  5. | Double_preattestation_evidence : {
    1. op1 : Kind.preattestation operation;
    2. op2 : Kind.preattestation operation;
    } -> Kind.double_preattestation_evidence contents
  6. | Double_attestation_evidence : {
    1. op1 : Kind.attestation operation;
    2. op2 : Kind.attestation operation;
    } -> Kind.double_attestation_evidence contents
  7. | Double_baking_evidence : {
    1. bh1 : Block_header.t;
    2. bh2 : Block_header.t;
    } -> Kind.double_baking_evidence contents
  8. | 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
  9. | Proposals : {
    1. source : public_key_hash;
    2. period : int32;
    3. proposals : Tezos_protocol_environment_alpha.Protocol_hash.t list;
    } -> Kind.proposals contents
  10. | 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
  11. | 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
  12. | Failing_noop : string -> Kind.failing_noop contents
  13. | Manager_operation : {
    1. source : public_key_hash;
    2. fee : Tez.t;
    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.t;
    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.t;
    } -> 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. | 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
  10. | Dal_publish_commitment : Dal.Operations.Publish_commitment.t -> Kind.dal_publish_commitment manager_operation
  11. | Sc_rollup_originate : {
    1. kind : Sc_rollup.Kind.t;
    2. boot_sector : string;
    3. parameters_ty : Script.lazy_expr;
    4. whitelist : Sc_rollup.Whitelist.t option;
    } -> Kind.sc_rollup_originate manager_operation
  12. | Sc_rollup_add_messages : {
    1. messages : string list;
    } -> Kind.sc_rollup_add_messages manager_operation
  13. | Sc_rollup_cement : {
    1. rollup : Sc_rollup.t;
    } -> Kind.sc_rollup_cement manager_operation
  14. | Sc_rollup_publish : {
    1. rollup : Sc_rollup.t;
    2. commitment : Sc_rollup.Commitment.t;
    } -> Kind.sc_rollup_publish manager_operation
  15. | 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
  16. | Sc_rollup_timeout : {
    1. rollup : Sc_rollup.t;
    2. stakers : Sc_rollup.Game.Index.t;
    } -> Kind.sc_rollup_timeout manager_operation
  17. | 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
  18. | 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
  19. | 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
  20. | 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
  21. | 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 Votes_EMA : sig ... end

This module re-exports definitions from Votes_EMA_repr

module Per_block_votes : sig ... end

This module re-exports definitions from Per_block_votes_repr.

module Liquidity_baking : sig ... end

This module re-exports definitions from Liquidity_baking_storage.

module Adaptive_issuance : sig ... end

This module re-exports definitions from Adaptive_issuance_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 Unstake_requests : sig ... end

This module re-exports definitions from Unstake_requests_storage.

module Unstaked_frozen_deposits : sig ... end
module Staking_pseudotokens : sig ... end

This module re-exports definitions from Staking_pseudotokens_storage.

module Fees : sig ... end

This module re-exports definitions from Fees_storage.

OCaml

Innovation. Community. Security.