Tezos_baking_alpha.Operation_selectiontype simulation_result = {validation_result : Tezos_protocol_environment.validation_result option;block_header_metadata : Tezos_protocol_alpha.Protocol.Apply_results.block_metadata
option;operations : Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation list
list;operations_hash : Tezos_base.TzPervasives.Operation_list_list_hash.t;manager_operations_infos : Baking_state.manager_operations_infos option;}val filter_operations_with_simulation :
Baking_simulator.incremental ->
Baking_configuration.fees_config ->
hard_gas_limit_per_block:
Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral ->
Operation_pool.Prioritized.t ->
simulation_result Tezos_base.TzPervasives.tzresult Lwt.tfilter_operations_with_simulation incremental fees_config ~hard_gas_limit_per_block ops tries to validate prioritized operations (and apply them if incremental has been initialised with an application_state) and filter them regarding the quota of each validation pass. Manager operations are prioritized based on a weight computed from their fees/gas/bytes. filter_operations_with_simulation function returns a simulation_result, containing the validated operation, their resulting operations_hash, optional validation_result and block_header_metadata if the operations were applied.
val filter_operations_without_simulation :
Baking_configuration.fees_config ->
hard_gas_limit_per_block:
Tezos_protocol_alpha.Protocol.Alpha_context.Gas.Arith.integral ->
Operation_pool.Prioritized.t ->
Tezos_protocol_alpha.Protocol.Alpha_context.packed_operation list listfilter_operations_without_simulation fees_config ~hard_gas_limit_per_block ops is similar to filter_operations_with_simulation but does not validate (and apply) operations from ops and returns only the operations instead of a simulation_result.
Hypothesis: operations from ops have previously been validated.
val filter_consensus_operations_only :
Baking_simulator.incremental ->
Operation_pool.ordered_pool ->
(Baking_simulator.incremental * Operation_pool.ordered_pool)
Tezos_base.TzPervasives.tzresult
Lwt.tfilter_consensus_operations_only incremental ops is similar to filter_operations_with_simulation but only filters consensus operations from ops.