Mavryk_raw_protocol_alpha.Alpha_context
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.
Alpha_context.t
is a wrapper over Raw_context.t
, which in turn is a wrapper around Context.t
from the Protocol Environment.
prepare
or prepare_first_block
finalize
module type BASIC_DATA = sig ... end
type context = t
type public_key = Mavryk_protocol_environment_alpha.Signature.Public_key.t
type public_key_hash =
Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t
type signature = Mavryk_protocol_environment_alpha.Signature.t
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 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 Delegate : sig ... end
This module re-exports definitions from Delegate_storage
, Delegate_consensus_key
, Delegate_missed_attestations_storage
, Delegate_slashed_deposits_storage
, Delegate_cycles
, Delegate_rewards
, and Forbidden_delegates_storage
.
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
See Block_payload_repr
.
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 =
| Attestation : Kind.attestation consensus_operation_type
| Preattestation : Kind.preattestation consensus_operation_type
type consensus_content = {
slot : Slot.t;
level : Raw_level.t;
round : Round.t;
block_payload_hash : Block_payload_hash.t;
}
val consensus_content_encoding :
consensus_content Mavryk_protocol_environment_alpha.Data_encoding.t
val pp_consensus_content :
Mavryk_protocol_environment_alpha.Format.formatter ->
consensus_content ->
unit
type 'kind operation = {
shell : Mavryk_protocol_environment_alpha.Operation.shell_header;
protocol_data : 'kind protocol_data;
}
and _ contents_list =
| Single : 'kind contents -> 'kind contents_list
| Cons : 'kind Kind.manager contents
* 'rest Kind.manager contents_list -> ('kind * 'rest) Kind.manager
contents_list
and _ contents =
| Preattestation : consensus_content -> Kind.preattestation contents
| Attestation : {
consensus_content : consensus_content;
dal_content : dal_content option;
} -> Kind.attestation contents
| Seed_nonce_revelation : {
level : Raw_level.t;
nonce : Nonce.t;
} -> Kind.seed_nonce_revelation contents
| Vdf_revelation : {
solution : Seed.vdf_solution;
} -> Kind.vdf_revelation contents
| Double_preattestation_evidence : {
op1 : Kind.preattestation operation;
op2 : Kind.preattestation operation;
} -> Kind.double_preattestation_evidence contents
| Double_attestation_evidence : {
op1 : Kind.attestation operation;
op2 : Kind.attestation operation;
} -> Kind.double_attestation_evidence contents
| Double_baking_evidence : {
bh1 : Block_header.t;
bh2 : Block_header.t;
} -> Kind.double_baking_evidence contents
| Activate_account : {
id : Mavryk_protocol_environment_alpha.Ed25519.Public_key_hash.t;
activation_code : Blinded_public_key_hash.activation_code;
} -> Kind.activate_account contents
| Proposals : {
source : public_key_hash;
period : int32;
proposals : Mavryk_protocol_environment_alpha.Protocol_hash.t list;
} -> Kind.proposals contents
| Ballot : {
source : public_key_hash;
period : int32;
proposal : Mavryk_protocol_environment_alpha.Protocol_hash.t;
ballot : Vote.ballot;
} -> Kind.ballot contents
| Drain_delegate : {
consensus_key : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;
delegate : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;
destination : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;
} -> Kind.drain_delegate contents
| Failing_noop : string -> Kind.failing_noop contents
| Manager_operation : {
source : public_key_hash;
fee : Tez.t;
counter : Manager_counter.t;
operation : 'kind manager_operation;
gas_limit : Gas.Arith.integral;
storage_limit : Mavryk_protocol_environment_alpha.Z.t;
} -> 'kind Kind.manager contents
and _ manager_operation =
| Reveal : public_key -> Kind.reveal manager_operation
| Transaction : {
amount : Tez.t;
parameters : Script.lazy_expr;
entrypoint : Entrypoint.t;
destination : Contract.t;
} -> Kind.transaction manager_operation
| Origination : {
delegate : public_key_hash option;
script : Script.t;
credit : Tez.t;
} -> Kind.origination manager_operation
| Delegation : public_key_hash option -> Kind.delegation manager_operation
| Register_global_constant : {
value : Script.lazy_expr;
} -> Kind.register_global_constant manager_operation
| Set_deposits_limit : Tez.t option -> Kind.set_deposits_limit manager_operation
| Increase_paid_storage : {
amount_in_bytes : Mavryk_protocol_environment_alpha.Z.t;
destination : Contract_hash.t;
} -> Kind.increase_paid_storage manager_operation
| Update_consensus_key : Mavryk_protocol_environment_alpha.Signature.Public_key.t ->
Kind.update_consensus_key
manager_operation
| Transfer_ticket : {
contents : Script.lazy_expr;
ty : Script.lazy_expr;
ticketer : Contract.t;
amount : Ticket_amount.t;
destination : Contract.t;
entrypoint : Entrypoint.t;
} -> Kind.transfer_ticket manager_operation
| Dal_publish_commitment : Dal.Operations.Publish_commitment.t -> Kind.dal_publish_commitment
manager_operation
| Sc_rollup_originate : {
kind : Sc_rollup.Kind.t;
boot_sector : string;
parameters_ty : Script.lazy_expr;
whitelist : Sc_rollup.Whitelist.t option;
} -> Kind.sc_rollup_originate manager_operation
| Sc_rollup_add_messages : {
} -> Kind.sc_rollup_add_messages manager_operation
| Sc_rollup_cement : {
rollup : Sc_rollup.t;
} -> Kind.sc_rollup_cement manager_operation
| Sc_rollup_publish : {
rollup : Sc_rollup.t;
commitment : Sc_rollup.Commitment.t;
} -> Kind.sc_rollup_publish manager_operation
| Sc_rollup_refute : {
rollup : Sc_rollup.t;
opponent : Sc_rollup.Staker.t;
refutation : Sc_rollup.Game.refutation;
} -> Kind.sc_rollup_refute manager_operation
| Sc_rollup_timeout : {
rollup : Sc_rollup.t;
stakers : Sc_rollup.Game.Index.t;
} -> Kind.sc_rollup_timeout manager_operation
| Sc_rollup_execute_outbox_message : {
rollup : Sc_rollup.t;
cemented_commitment : Sc_rollup.Commitment.Hash.t;
output_proof : string;
} -> Kind.sc_rollup_execute_outbox_message manager_operation
| Sc_rollup_recover_bond : {
sc_rollup : Sc_rollup.t;
staker : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;
} -> Kind.sc_rollup_recover_bond manager_operation
| Zk_rollup_origination : {
public_parameters : Mavryk_protocol_environment_alpha.Plonk.public_parameters;
circuits_info : [ `Public | `Private | `Fee ] Zk_rollup.Account.SMap.t;
init_state : Zk_rollup.State.t;
nb_ops : int;
} -> Kind.zk_rollup_origination manager_operation
| Zk_rollup_publish : {
zk_rollup : Zk_rollup.t;
ops : (Zk_rollup.Operation.t * Zk_rollup.Ticket.t option) list;
} -> Kind.zk_rollup_publish manager_operation
| Zk_rollup_update : {
zk_rollup : Zk_rollup.t;
update : Zk_rollup.Update.t;
} -> Kind.zk_rollup_update manager_operation
type packed_operation = {
shell : Mavryk_protocol_environment_alpha.Operation.shell_header;
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
.
val prepare_first_block :
Mavryk_protocol_environment_alpha.Chain_id.t ->
Mavryk_protocol_environment_alpha.Context.t ->
typecheck_smart_contract:
(context ->
Script.t ->
((Script.t * Lazy_storage.diffs option) * context)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t) ->
typecheck_smart_rollup:
(context ->
Script.expr ->
context Mavryk_protocol_environment_alpha.Error_monad.tzresult) ->
level:Mavryk_protocol_environment_alpha.Int32.t ->
timestamp:Mavryk_protocol_environment_alpha.Time.t ->
predecessor:Mavryk_protocol_environment_alpha.Block_hash.t ->
context Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
Create an Alpha_context.t
from an untyped context (first block in the chain only).
val prepare :
Mavryk_protocol_environment_alpha.Context.t ->
level:Mavryk_protocol_environment_alpha.Int32.t ->
predecessor_timestamp:Mavryk_protocol_environment_alpha.Time.t ->
timestamp:Mavryk_protocol_environment_alpha.Time.t ->
(context * Receipt.balance_updates * Migration.origination_result list)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
Create an Alpha_context.t
from an untyped context.
All the definitions below are re-exported from Raw_context
.
val fresh_internal_nonce :
context ->
(context * int) Mavryk_protocol_environment_alpha.Error_monad.tzresult
val internal_nonce_already_recorded : context -> int -> bool
val description : context Storage_description.t
val record_non_consensus_operation_hash :
context ->
Mavryk_protocol_environment_alpha.Operation_hash.t ->
context
val non_consensus_operations :
context ->
Mavryk_protocol_environment_alpha.Operation_hash.t list
val dictator_proposal_seen : t -> bool
val finalize :
?commit_message:string ->
context ->
Fitness.raw ->
Mavryk_protocol_environment_alpha.Updater.validation_result
Finalize an Alpha_context.t
, producing a validation_result
.
val current_context : context -> Mavryk_protocol_environment_alpha.Context.t
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 Protocol_treasury : sig ... end
This module re-exports definitions from Protocol_treasury_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 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
.