Script_interpreter.InternalsInternally, the interpretation loop uses a local gas counter.
val next :
Script_typed_ir.logger option ->
(Local_gas_counter.outdated_context * step_constants) ->
Local_gas_counter.local_gas_counter ->
('a, 's) Script_typed_ir.stack_ty ->
('a, 's, 'r, 'f) Script_typed_ir.continuation ->
'a ->
's ->
('r
* 'f
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter)
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.tnext logger (ctxt, step_constants) local_gas_counter ks accu
stack is an internal function which interprets the continuation ks to execute the interpreter on the current A-stack.
val step :
(Local_gas_counter.outdated_context * step_constants) ->
Local_gas_counter.local_gas_counter ->
('a, 's, 'r, 'f) Script_typed_ir.kinstr ->
'a ->
's ->
('r
* 'f
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter)
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.tval step_descr :
Script_typed_ir.logger option ->
Alpha_context.context ->
Script_typed_ir.step_constants ->
('a, 's, 'r, 'f) Script_typed_ir.kdescr ->
'a ->
's ->
('r * 'f * Alpha_context.context)
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.tval kstep :
Script_typed_ir.logger option ->
Alpha_context.context ->
step_constants ->
('a, 's) Script_typed_ir.stack_ty ->
('a, 's, 'r, 'f) Script_typed_ir.kinstr ->
'a ->
's ->
('r * 'f * Alpha_context.context)
Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresult
Mavryk_protocol_environment_001_PtAtLas.Lwt.tkstep logger ctxt step_constants kinstr accu stack interprets the script represented by kinstr under the context ctxt. This will turn a stack whose topmost element is accu and remaining elements stack into a new accumulator and a new stack. This function also returns an updated context. If logger is given, kstep calls back its functions at specific points of the execution. The execution is parameterized by some step_constants.
module Raw : sig ... end