package tezos-protocol-014-PtKathma
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=43723d096307603703a1a89ed1b2eb202b365f5e7824b96b0cbf813b343a6cf7
sha512=b2a637f2e965000d3d49ad85277ca24d6cb07a1a7cf2bc69d296d8b03ad78c3eaa8e21e94b9162e62c2e11649cd03bc845b2a3dafe623b91065df69d47dc8e4f
doc/tezos-protocol-014-PtKathma.raw/Tezos_raw_protocol_014_PtKathma/Local_gas_counter/index.html
Module Tezos_raw_protocol_014_PtKathma.Local_gas_counter
Source
This 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 local_gas_counter
is a wrapped int
.
A type for describing a context that is not up to date with respect to gas consumption.
val local_gas_counter_and_outdated_context :
Alpha_context.context ->
local_gas_counter * outdated_context
local_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)
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t) ->
('a * outdated_context * local_gas_counter)
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
Tezos_protocol_environment_014_PtKathma.Lwt.t
use_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.
consume_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
Tezos_protocol_environment_014_PtKathma.Error_monad.tzresult
consume 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.