Module Mavryk_baking_alpha.Baking_actions

type action =
  1. | Do_nothing
  2. | Prepare_block of {
    1. block_to_bake : Baking_state.block_to_bake;
    }
  3. | Prepare_preattestations of {
    1. preattestations : Baking_state.unsigned_consensus_vote_batch;
    }
  4. | Prepare_attestations of {
    1. attestations : Baking_state.unsigned_consensus_vote_batch;
    }
  5. | Prepare_consensus_votes of {
    1. preattestations : Baking_state.unsigned_consensus_vote_batch;
    2. attestations : Baking_state.unsigned_consensus_vote_batch;
    }
  6. | Inject_block of {
    1. prepared_block : Baking_state.prepared_block;
    2. force_injection : bool;
    3. asynchronous : bool;
    }
  7. | Inject_preattestation of {
    1. signed_preattestation : Baking_state.signed_consensus_vote;
    }
  8. | Inject_attestations of {
    1. signed_attestations : Baking_state.signed_consensus_vote_batch;
    }
  9. | Update_to_level of level_update
  10. | Synchronize_round of round_update
  11. | Watch_prequorum
  12. | Watch_quorum
and level_update = {
  1. new_level_proposal : Baking_state.proposal;
  2. compute_new_state : current_round: Mavryk_protocol_alpha.Protocol.Alpha_context.Round.t -> delegate_slots:Baking_state.delegate_slots -> next_level_delegate_slots:Baking_state.delegate_slots -> (Baking_state.state * action) Lwt.t;
}
and round_update = {
  1. new_round_proposal : Baking_state.proposal;
  2. handle_proposal : Baking_state.state -> (Baking_state.state * action) Lwt.t;
}
type t = action
val pp_action : Stdlib.Format.formatter -> action -> unit
val inject_block : ?force_injection:bool -> ?asynchronous:bool -> Baking_state.state -> Baking_state.prepared_block -> Baking_state.state Mavryk_base.TzPervasives.tzresult Lwt.t
val prepare_waiting_for_quorum : Baking_state.state -> int * (slot:Mavryk_protocol_alpha.Protocol.Alpha_context.Slot.t -> int option) * Operation_worker.candidate
val start_waiting_for_preattestation_quorum : Baking_state.state -> unit Lwt.t
val start_waiting_for_attestation_quorum : Baking_state.state -> unit Lwt.t