Mavryk_raw_protocol_alpha.Local_gas_counterThis module exposes an API for local gas counting. It provides a set of functions for updating a gas counter without applying it on an an Alpha_context.context.
A type for describing a context that is not up to date with respect to gas consumption.
val update_context :
local_gas_counter ->
outdated_context ->
Alpha_context.contextval local_gas_counter_and_outdated_context :
Alpha_context.context ->
local_gas_counter * outdated_contextlocal_gas_counter_and_outdated_context ctxt returns the gas counter value corresponding to the remaining gas in the given context ctxt along with an outdated_context value.
val use_gas_counter_in_context :
outdated_context ->
local_gas_counter ->
(Alpha_context.context ->
('a * Alpha_context.context)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.t) ->
('a * outdated_context * local_gas_counter)
Mavryk_protocol_environment_alpha.Error_monad.tzresult
Mavryk_protocol_environment_alpha.Lwt.tuse_gas_counter_in_context outdated_ctxt gas_counter f first applies the gas_counter on the outdated context outdated_ctxt, then invokes f on the resulting context, and returns a new outdated_context and a local_gas_counter value.
val consume_opt :
local_gas_counter ->
Alpha_context.Gas.cost ->
local_gas_counter optionconsume_opt amt cost attempts to consume an amt of gas and returns the new remaining value wrapped in Some. If the resulting gas is negative None is returned.
val consume :
local_gas_counter ->
Alpha_context.Gas.cost ->
local_gas_counter Mavryk_protocol_environment_alpha.Error_monad.tzresultconsume amt cost attempts to consume an amt of gas and returns the new remaining value as a result. If the resulting gas is negative, an error Gas.Operation_quota_exceeded is instead returned.