Tezos_baking_017_PtNairob.State_transitionsSourceThis module, and in particular the step function, modifies the automaton state, while Baking_actions performs potentially failing side-effects.
val is_acceptable_proposal_for_current_level :
Baking_state.state ->
Baking_state.proposal ->
proposal_acceptance Lwt.tval make_consensus_list :
Baking_state.state ->
Baking_state.proposal ->
(Baking_state.consensus_key_and_delegate
* Tezos_protocol_017_PtNairob.Protocol.Alpha_context.consensus_content)
listval may_update_proposal :
is_proposal_applied:bool ->
Baking_state.state ->
Baking_state.proposal ->
Baking_state.state Lwt.tval preendorse :
Baking_state.state ->
Baking_state.proposal ->
(Baking_state.state * Baking_actions.action) Lwt.tval extract_pqc :
Baking_state.state ->
Baking_state.proposal ->
(Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Kind.preendorsement
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.operation
list
* Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t)
optionval handle_proposal :
is_proposal_applied:bool ->
Baking_state.state ->
Baking_state.proposal ->
(Baking_state.state * Baking_actions.action) Lwt.tval round_proposer :
Baking_state.state ->
(Baking_state.consensus_key_and_delegate * Baking_state.endorsing_slot)
Tezos_baking_017_PtNairob.Baking_state.SlotMap.t ->
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t ->
(Baking_state.consensus_key_and_delegate * Baking_state.endorsing_slot)
optionval propose_fresh_block_action :
endorsements:
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Kind.endorsement
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Operation.t
list ->
dal_attestations:
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Kind.dal_attestation
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Operation.t
list ->
?last_proposal:Baking_state.block_info ->
predecessor:Baking_state.block_info ->
Baking_state.state ->
Baking_state.consensus_key_and_delegate ->
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t ->
Baking_actions.action Lwt.tval propose_block_action :
Baking_state.state ->
Baking_state.consensus_key_and_delegate ->
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t ->
Baking_state.proposal ->
Baking_actions.action Lwt.tval end_of_round :
Baking_state.state ->
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t ->
(Baking_state.state * Baking_actions.action) Lwt.tIncrease the current round and propose at the new round (same level), if the baker has a proposer slot.
val time_to_bake_at_next_level :
Baking_state.state ->
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t ->
(Baking_state.state * Baking_actions.action) Lwt.tPropose (if possible) for the first time at a new level.
val update_locked_round :
Baking_state.state ->
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Round.t ->
Tezos_protocol_017_PtNairob.Protocol.Block_payload_hash.t ->
Baking_state.stateval make_endorse_action :
Baking_state.state ->
Baking_state.proposal ->
Baking_actions.actionval prequorum_reached_when_awaiting_preendorsements :
Baking_state.state ->
Operation_worker.candidate ->
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Kind.preendorsement
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.operation
list ->
(Baking_state.state * Baking_actions.action) Lwt.tval quorum_reached_when_waiting_endorsements :
Baking_state.state ->
Operation_worker.candidate ->
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.Kind.endorsement
Tezos_protocol_017_PtNairob.Protocol.Alpha_context.operation
list ->
(Baking_state.state * Baking_actions.action) Lwt.tval step :
Baking_state.state ->
Baking_state.event ->
(Baking_state.state * Baking_actions.action) Lwt.t