Tezos_raw_protocol_alpha.MainSourceTezos 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 = Alpha_context.packed_operation = {shell : Tezos_protocol_environment_alpha.Operation.shell_header;protocol_data : operation_data;}include Tezos_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_stateval block_header_data_encoding :
block_header_data Tezos_protocol_environment_alpha.Data_encoding.ttype block_header = Alpha_context.Block_header.t = {shell : Tezos_protocol_environment_alpha.Block_header.shell_header;protocol_data : block_header_data;}val block_header_metadata_encoding :
block_header_metadata Tezos_protocol_environment_alpha.Data_encoding.tval operation_receipt_encoding :
operation_receipt Tezos_protocol_environment_alpha.Data_encoding.tval operation_data_and_receipt_encoding :
(operation_data * operation_receipt)
Tezos_protocol_environment_alpha.Data_encoding.tval compare_operations :
(Tezos_protocol_environment_alpha.Operation_hash.t * operation) ->
(Tezos_protocol_environment_alpha.Operation_hash.t * operation) ->
inttype mode = | Application of block_header| Partial_validation of block_header| Construction of {predecessor_hash : Tezos_protocol_environment_alpha.Block_hash.t;timestamp : Tezos_protocol_environment_alpha.Time.t;block_header_data : block_header_data;}| Partial_construction of {predecessor_hash : Tezos_protocol_environment_alpha.Block_hash.t;timestamp : Tezos_protocol_environment_alpha.Time.t;}val begin_validation :
Tezos_protocol_environment_alpha.Context.t ->
Tezos_protocol_environment_alpha.Chain_id.t ->
mode ->
predecessor:Tezos_protocol_environment_alpha.Block_header.shell_header ->
validation_state Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.tval validate_operation :
?check_signature:bool ->
validation_state ->
Tezos_protocol_environment_alpha.Operation_hash.t ->
operation ->
validation_state Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.tval finalize_validation :
validation_state ->
unit Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.tval begin_application :
Tezos_protocol_environment_alpha.Context.t ->
Tezos_protocol_environment_alpha.Chain_id.t ->
mode ->
predecessor:Tezos_protocol_environment_alpha.Block_header.shell_header ->
application_state Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.tval finalize_application :
application_state ->
Tezos_protocol_environment_alpha.Block_header.shell_header option ->
(Tezos_protocol_environment_alpha.Updater.validation_result
* block_header_metadata)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.tval init :
Tezos_protocol_environment_alpha.Chain_id.t ->
Tezos_protocol_environment_alpha.Context.t ->
Tezos_protocol_environment_alpha.Block_header.shell_header ->
Tezos_protocol_environment_alpha.Updater.validation_result
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.tval value_of_key :
chain_id:Tezos_protocol_environment_alpha.Chain_id.t ->
predecessor_context:Tezos_protocol_environment_alpha.Context.t ->
predecessor_timestamp:Tezos_protocol_environment_alpha.Time.t ->
predecessor_level:Tezos_protocol_environment_alpha.Int32.t ->
predecessor_fitness:Tezos_protocol_environment_alpha.Fitness.t ->
predecessor:Tezos_protocol_environment_alpha.Block_hash.t ->
timestamp:Tezos_protocol_environment_alpha.Time.t ->
(Tezos_protocol_environment_alpha.Context.Cache.key ->
Tezos_protocol_environment_alpha.Context.Cache.value
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t