Mavryk_raw_protocol_alpha.Main
Tezos Protocol Implementation - Protocol Signature Instance
This module is the entrypoint to the protocol for shells and other embedders. This signature is an instance of the Updater.PROTOCOL
signature from the Protocol Environment.
Each Protocol depends on a version of the Protocol Environment. For the currently developed protocol, this is normally the latest version. You can see the full list of versions here.
For details on how Protocol and Environment interact, see this overview.
type operation_data = Alpha_context.packed_protocol_data
type operation = Alpha_context.packed_operation = {
shell : Mavryk_protocol_environment_alpha.Operation.shell_header;
protocol_data : operation_data;
}
include Mavryk_protocol_environment_alpha.Updater.PROTOCOL
with type block_header_data = Alpha_context.Block_header.protocol_data
and type block_header_metadata = Apply_results.block_metadata
and type block_header = Alpha_context.Block_header.t
and type operation_data := operation_data
and type operation_receipt = Apply_results.packed_operation_metadata
and type operation := operation
and type validation_state = Validate.validation_state
and type application_state = Apply.application_state
val validation_passes : Mavryk_protocol_environment_alpha.Updater.quota list
type block_header_data = Alpha_context.Block_header.protocol_data
val block_header_data_encoding :
block_header_data Mavryk_protocol_environment_alpha.Data_encoding.t
type block_header = Alpha_context.Block_header.t = {
shell : Mavryk_protocol_environment_alpha.Block_header.shell_header;
protocol_data : block_header_data;
}
type block_header_metadata = Apply_results.block_metadata
val block_header_metadata_encoding_with_legacy_attestation_name :
block_header_metadata Mavryk_protocol_environment_alpha.Data_encoding.t
val block_header_metadata_encoding :
block_header_metadata Mavryk_protocol_environment_alpha.Data_encoding.t
type operation_receipt = Apply_results.packed_operation_metadata
val operation_data_encoding :
operation_data Mavryk_protocol_environment_alpha.Data_encoding.t
val operation_data_encoding_with_legacy_attestation_name :
operation_data Mavryk_protocol_environment_alpha.Data_encoding.t
val operation_receipt_encoding :
operation_receipt Mavryk_protocol_environment_alpha.Data_encoding.t
val operation_receipt_encoding_with_legacy_attestation_name :
operation_receipt Mavryk_protocol_environment_alpha.Data_encoding.t
val operation_data_and_receipt_encoding :
(operation_data * operation_receipt)
Mavryk_protocol_environment_alpha.Data_encoding.t
val operation_data_and_receipt_encoding_with_legacy_attestation_name :
(operation_data * operation_receipt)
Mavryk_protocol_environment_alpha.Data_encoding.t
val acceptable_pass : operation -> int option
val compare_operations :
(Mavryk_protocol_environment_alpha.Operation_hash.t * operation) ->
(Mavryk_protocol_environment_alpha.Operation_hash.t * operation) ->
int
type mode =
| Application of block_header
| Partial_validation of block_header
| Construction of {
predecessor_hash : Mavryk_protocol_environment_alpha.Block_hash.t;
timestamp : Mavryk_protocol_environment_alpha.Time.t;
block_header_data : block_header_data;
}
| Partial_construction of {
predecessor_hash : Mavryk_protocol_environment_alpha.Block_hash.t;
timestamp : Mavryk_protocol_environment_alpha.Time.t;
}
type validation_state = Validate.validation_state
type application_state = Apply.application_state
val begin_validation :
Mavryk_protocol_environment_alpha.Context.t ->
Mavryk_protocol_environment_alpha.Chain_id.t ->
mode ->
predecessor:Mavryk_protocol_environment_alpha.Block_header.shell_header ->
validation_state Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
val validate_operation :
?check_signature:bool ->
validation_state ->
Mavryk_protocol_environment_alpha.Operation_hash.t ->
operation ->
validation_state Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
val finalize_validation :
validation_state ->
unit Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
val begin_application :
Mavryk_protocol_environment_alpha.Context.t ->
Mavryk_protocol_environment_alpha.Chain_id.t ->
mode ->
predecessor:Mavryk_protocol_environment_alpha.Block_header.shell_header ->
application_state Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
val init :
Mavryk_protocol_environment_alpha.Chain_id.t ->
Mavryk_protocol_environment_alpha.Context.t ->
Mavryk_protocol_environment_alpha.Block_header.shell_header ->
Mavryk_protocol_environment_alpha.Updater.validation_result
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
val value_of_key :
chain_id:Mavryk_protocol_environment_alpha.Chain_id.t ->
predecessor_context:Mavryk_protocol_environment_alpha.Context.t ->
predecessor_timestamp:Mavryk_protocol_environment_alpha.Time.t ->
predecessor_level:Mavryk_protocol_environment_alpha.Int32.t ->
predecessor_fitness:Mavryk_protocol_environment_alpha.Fitness.t ->
predecessor:Mavryk_protocol_environment_alpha.Block_hash.t ->
timestamp:Mavryk_protocol_environment_alpha.Time.t ->
(Mavryk_protocol_environment_alpha.Context.Cache.key ->
Mavryk_protocol_environment_alpha.Context.Cache.value
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t
module Mempool : sig ... end