Mavryk_baking_alpha.Block_forge
type unsigned_block = {
unsigned_block_header : Mavryk_protocol_alpha.Protocol.Alpha_context.Block_header.t;
operations : Mavryk_base.Operation.t list list;
}
type simulation_kind =
| Filter of Operation_pool.Prioritized.t
| Apply of {
ordered_pool : Operation_pool.ordered_pool;
payload_hash : Mavryk_protocol_alpha.Protocol.Block_payload_hash.t;
}
The simulation kind specifies whether the baker should first filter (and then apply) the provided operations, or just apply them. The former case is used for fresh proposals, while the latter for re-proposals (of an already proposed payload).
val forge :
Mavryk_client_alpha.Protocol_client_context.full ->
chain_id:Mavryk_base.TzPervasives.Chain_id.t ->
pred_info:Baking_state.block_info ->
pred_resulting_context_hash:Mavryk_base.TzPervasives.Context_hash.t ->
pred_live_blocks:Mavryk_base.TzPervasives.Block_hash.Set.t ->
timestamp:Mavryk_base.TzPervasives.Time.Protocol.t ->
round:Mavryk_protocol_alpha.Protocol.Alpha_context.Round.t ->
liquidity_baking_toggle_vote:
Mavryk_protocol_alpha.Protocol.Alpha_context.Per_block_votes.per_block_vote ->
adaptive_issuance_vote:
Mavryk_protocol_alpha.Protocol.Alpha_context.Per_block_votes.per_block_vote ->
user_activated_upgrades:Mavryk_base.TzPervasives.User_activated.upgrades ->
Baking_configuration.fees_config ->
force_apply:bool ->
seed_nonce_hash:Mavryk_protocol_alpha.Protocol.Nonce_hash.t option ->
payload_round:Mavryk_protocol_alpha.Protocol.Alpha_context.Round.t ->
Baking_state.validation_mode ->
simulation_kind ->
Mavryk_protocol_alpha.Protocol.Alpha_context.Constants.Parametric.t ->
unsigned_block Mavryk_base.TzPervasives.tzresult Lwt.t