package tezos-protocol-012-Psithaca
Representation of block headers.
type contents = {
payload_hash : Block_payload_hash.t;
payload_round : Round_repr.t;
seed_nonce_hash : Nonce_hash.t option;
proof_of_work_nonce : bytes;
liquidity_baking_escape_vote : bool;
}
type protocol_data = {
contents : contents;
signature : Tezos_protocol_environment_012_Psithaca.Signature.t;
}
type t = {
shell : Tezos_protocol_environment_012_Psithaca.Block_header.shell_header;
protocol_data : protocol_data;
}
type block_header = t
type shell_header =
Tezos_protocol_environment_012_Psithaca.Block_header.shell_header
val raw : block_header -> raw
val raw_encoding : raw Tezos_protocol_environment_012_Psithaca.Data_encoding.t
val contents_encoding :
contents Tezos_protocol_environment_012_Psithaca.Data_encoding.t
val protocol_data_encoding :
protocol_data Tezos_protocol_environment_012_Psithaca.Data_encoding.encoding
val shell_header_encoding :
shell_header Tezos_protocol_environment_012_Psithaca.Data_encoding.encoding
val to_watermark :
block_watermark ->
Tezos_protocol_environment_012_Psithaca.Signature.watermark
val of_watermark :
Tezos_protocol_environment_012_Psithaca.Signature.watermark ->
block_watermark option
val hash_raw : raw -> Tezos_protocol_environment_012_Psithaca.Block_hash.t
type Tezos_protocol_environment_012_Psithaca.Error_monad.error +=
| Invalid_block_signature of Tezos_protocol_environment_012_Psithaca.Block_hash.t * Tezos_protocol_environment_012_Psithaca.Signature.Public_key_hash.t
| Invalid_stamp
| Invalid_payload_hash of {
expected : Block_payload_hash.t;
provided : Block_payload_hash.t;
}
| Locked_round_after_block_round of {
locked_round : Round_repr.t;
round : Round_repr.t;
}
| Invalid_payload_round of {
payload_round : Round_repr.t;
round : Round_repr.t;
}
| Insufficient_locked_round_evidence of {
}
| Invalid_commitment of {
}
module Proof_of_work : sig ... end
Checks if the header that would be built from the given components is valid for the given difficulty. The signature is not passed as it is does not impact the proof-of-work stamp. The stamp is checked on the hash of a block header whose signature has been zeroed-out.
val check_timestamp :
Round_repr.Durations.t ->
timestamp:Tezos_protocol_environment_012_Psithaca.Time.t ->
round:Round_repr.t ->
predecessor_timestamp:Tezos_protocol_environment_012_Psithaca.Time.t ->
predecessor_round:Round_repr.t ->
unit Tezos_protocol_environment_012_Psithaca.Error_monad.tzresult
check_timestamp ctxt timestamp round predecessor_timestamp
predecessor_round
verifies that the block's timestamp and round are coherent with the predecessor block's timestamp and round. Fails with an error if that is not the case.
val begin_validate_block_header :
block_header:t ->
chain_id:Tezos_protocol_environment_012_Psithaca.Chain_id.t ->
predecessor_timestamp:Tezos_protocol_environment_012_Psithaca.Time.t ->
predecessor_round:Round_repr.t ->
fitness:Fitness_repr.t ->
timestamp:Tezos_protocol_environment_012_Psithaca.Time.t ->
delegate_pk:Tezos_protocol_environment_012_Psithaca.Signature.public_key ->
round_durations:Round_repr.Durations.t ->
proof_of_work_threshold:int64 ->
expected_commitment:bool ->
unit Tezos_protocol_environment_012_Psithaca.Error_monad.tzresult
val finalize_validate_block_header :
block_header_contents:contents ->
round:Round_repr.t ->
fitness:Fitness_repr.t ->
checkable_payload_hash:checkable_payload_hash ->
locked_round_evidence:locked_round_evidence option ->
consensus_threshold:int ->
unit Tezos_protocol_environment_012_Psithaca.Error_monad.tzresult
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>