Mavryk_raw_protocol_001_PtAtLas.Script_interpreter_defs
module Interp_costs = Michelson_v1_gas.Cost_of.Interpreter
val cost_of_instr :
'a 's 'r 'f. ('a, 's, 'r, 'f) Script_typed_ir.kinstr ->
'a ->
's ->
Alpha_context.Gas.cost
val cost_of_control :
'a 's 'r 'f. ('a, 's, 'r, 'f) Script_typed_ir.continuation ->
Alpha_context.Gas.cost
val consume_instr :
Local_gas_counter.local_gas_counter ->
('a, 'b, 'c, 'd) Script_typed_ir.kinstr ->
'e ->
'f ->
Local_gas_counter.local_gas_counter option
val consume_control :
Local_gas_counter.local_gas_counter ->
('a, 'b, 'c, 'd) Script_typed_ir.continuation ->
Local_gas_counter.local_gas_counter option
val get_log :
Script_typed_ir.logger option ->
(Script_typed_ir.execution_trace option,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val kundip :
'a 's 'e 'z 'c 'u 'd 'w 'b 't. ('a, 's, 'e, 'z, 'c, 'u, 'd, 'w)
Script_typed_ir.stack_prefix_preservation_witness ->
'c ->
'u ->
('d, 'w, 'b, 't) Script_typed_ir.continuation ->
'a * 's * ('e, 'z, 'b, 't) Script_typed_ir.continuation
val apply :
Local_gas_counter.outdated_context ->
Local_gas_counter.local_gas_counter ->
('a, 'b) Script_typed_ir.ty ->
'c ->
(('d, 'e) Script_typed_ir.pair, 'f) Script_typed_ir.lambda ->
(('g, 'h) Script_typed_ir.lambda
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val make_transaction_to_sc_rollup :
Alpha_context.context ->
destination:Alpha_context.Sc_rollup.t ->
amount:Alpha_context.Tez.t ->
entrypoint:Alpha_context.Entrypoint.t ->
parameters_ty:('a, 'b) Script_typed_ir.ty ->
parameters:'c ->
(Alpha_context.Kind.transaction Script_typed_ir.internal_operation_contents
* Alpha_context.context,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val emit_event :
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
event_type:('t, 'tc) Script_typed_ir.ty ->
unparsed_ty:Alpha_context.Script.expr ->
tag:Alpha_context.Entrypoint.t ->
event_data:'t0 ->
(Script_typed_ir.operation
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
emit_event
generates an internal operation that will effect an event emission if the contract code returns this successfully.
val make_transaction_to_zk_rollup :
Alpha_context.context ->
destination:Alpha_context.Zk_rollup.t ->
amount:Alpha_context.Tez.t ->
parameters_ty:
(('t Script_typed_ir.ticket, bytes) Script_typed_ir.pair, 'a)
Script_typed_ir.ty ->
parameters:('t0 Script_typed_ir.ticket, bytes) Script_typed_ir.pair ->
(Alpha_context.Kind.transaction Script_typed_ir.internal_operation_contents
* Alpha_context.context,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val transfer :
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
Alpha_context.Tez.mav ->
Alpha_context.Script.location ->
't Script_typed_ir.typed_contract ->
't0 ->
(Script_typed_ir.operation
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val create_contract :
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('a, 'b) Script_typed_ir.ty ->
Alpha_context.Script.expr ->
Mavryk_protocol_environment_001_PtAtLas.Signature.Public_key_hash.t option ->
Alpha_context.Tez.mav ->
'c ->
(Script_typed_ir.operation
* Contract_hash.t
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
create_contract (ctxt, sc) gas storage_ty code delegate credit init
creates an origination operation for a contract represented by code
, some initial credit
(withdrawn from the contract being executed), and an initial storage init
of type storage_ty
.
val unpack :
Mavryk_raw_protocol_001_PtAtLas__Alpha_context.t ->
ty:('a, 'b) Script_typed_ir.ty ->
bytes:bytes ->
('c option * Mavryk_raw_protocol_001_PtAtLas__Alpha_context.t,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
val interp_stack_prefix_preserving_operation :
'a 's 'b 't 'c 'u 'd 'w 'result. ('a -> 's -> ('b * 't) * 'result) ->
('a, 's, 'b, 't, 'c, 'u, 'd, 'w)
Script_typed_ir.stack_prefix_preservation_witness ->
'c ->
'u ->
('d * 'w) * 'result
type ('a, 'b, 'c, 'd) cont_instrumentation =
('a, 'b, 'c, 'd) Script_typed_ir.continuation ->
('a, 'b, 'c, 'd) Script_typed_ir.continuation
type ('a, 'b, 'c, 'e, 'f, 'm, 'n, 'o) kmap_exit_type =
('a, 'b, 'e, 'f) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('m * 'n, 'a * 'b, 'o, 'a * 'b) Script_typed_ir.kinstr ->
('m * 'n) list ->
(('m, 'o) Script_typed_ir.map, 'c) Script_typed_ir.ty option ->
('m, 'o) Script_typed_ir.map ->
'm ->
(('m, 'o) Script_typed_ir.map, 'a * 'b, 'e, 'f) Script_typed_ir.continuation ->
'o ->
('a * 'b) ->
('e
* '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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'j, 'k) kmap_enter_type =
('a, 'b * 'c, 'd, 'e) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('j * 'k, 'b * 'c, 'a, 'b * 'c) Script_typed_ir.kinstr ->
('j * 'k) list ->
(('j, 'a) Script_typed_ir.map, 'f) Script_typed_ir.ty option ->
('j, 'a) Script_typed_ir.map ->
(('j, 'a) Script_typed_ir.map, 'b * 'c, 'd, 'e) Script_typed_ir.continuation ->
'b ->
'c ->
('d
* 'e
* 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.t
type ('a, 'b, 'c, 'd, 'e, 'i, 'j) klist_exit_type =
('a, 'b, 'c, 'd) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('i, 'a * 'b, 'j, 'a * 'b) Script_typed_ir.kinstr ->
'i list ->
'j Script_list.t ->
('j Script_list.t, 'e) Script_typed_ir.ty option ->
int ->
('j Script_list.t, 'a * 'b, 'c, 'd) Script_typed_ir.continuation ->
'j ->
('a * 'b) ->
('c
* 'd
* 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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'j) klist_enter_type =
('b, 'a * 'c, 'd, 'e) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('j, 'a * 'c, 'b, 'a * 'c) Script_typed_ir.kinstr ->
'j list ->
'b Script_list.t ->
('b Script_list.t, 'f) Script_typed_ir.ty option ->
int ->
('b Script_list.t, 'a * 'c, 'd, 'e) Script_typed_ir.continuation ->
'a ->
'c ->
('d
* 'e
* 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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'g) kloop_in_left_type =
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('c, 'd, 'e, 'f) Script_typed_ir.continuation ->
('a, 'g, 'c, 'd) Script_typed_ir.kinstr ->
('b, 'g, 'e, 'f) Script_typed_ir.continuation ->
('a, 'b) Script_typed_ir.or_ ->
'g ->
('e
* '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.t
type ('a, 'b, 'c, 'r, 'f, 's) kloop_in_type =
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('b, 'c, 'r, 'f) Script_typed_ir.continuation ->
('a, 's, 'b, 'c) Script_typed_ir.kinstr ->
('a, 's, 'r, 'f) Script_typed_ir.continuation ->
bool ->
('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.t
type ('a, 'b, 's, 'r, 'f, 'c) kiter_type =
('a, 's, 'r, 'f) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('b, 'a * 's, 'a, 's) Script_typed_ir.kinstr ->
('b, 'c) Script_typed_ir.ty option ->
'b list ->
('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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) ilist_map_type =
('a, 'b, 'c, 'd) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('e, 'a * 'b, 'f, 'a * 'b) Script_typed_ir.kinstr ->
('f Script_list.t, 'a * 'b, 'g, 'h) Script_typed_ir.kinstr ->
('g, 'h, 'c, 'd) Script_typed_ir.continuation ->
('f Script_list.t, 'i) Script_typed_ir.ty option ->
'e Script_list.t ->
('a * 'b) ->
('c
* 'd
* 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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'cmp) ilist_iter_type =
('a, 'b, 'c, 'd) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('e, 'a * 'b, 'a, 'b) Script_typed_ir.kinstr ->
('e, 'cmp) Script_typed_ir.ty option ->
('a, 'b, 'f, 'g) Script_typed_ir.kinstr ->
('f, 'g, 'c, 'd) Script_typed_ir.continuation ->
'e Script_list.t ->
('a * 'b) ->
('c
* 'd
* 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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iset_iter_type =
('a, 'b, 'c, 'd) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('e, 'a * 'b, 'a, 'b) Script_typed_ir.kinstr ->
'e Script_typed_ir.comparable_ty option ->
('a, 'b, 'f, 'g) Script_typed_ir.kinstr ->
('f, 'g, 'c, 'd) Script_typed_ir.continuation ->
'e Script_typed_ir.set ->
('a * 'b) ->
('c
* 'd
* 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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j) imap_map_type =
('a, 'b, 'c, 'd) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('e * 'f, 'a * 'b, 'g, 'a * 'b) Script_typed_ir.kinstr ->
(('e, 'g) Script_typed_ir.map, 'a * 'b, 'h, 'i) Script_typed_ir.kinstr ->
('h, 'i, 'c, 'd) Script_typed_ir.continuation ->
(('e, 'g) Script_typed_ir.map, 'j) Script_typed_ir.ty option ->
('e, 'f) Script_typed_ir.map ->
('a * 'b) ->
('c
* 'd
* 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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'cmp) imap_iter_type =
('a, 'b, 'c, 'd) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('e * 'f, 'a * 'b, 'a, 'b) Script_typed_ir.kinstr ->
('e * 'f, 'cmp) Script_typed_ir.ty option ->
('a, 'b, 'g, 'h) Script_typed_ir.kinstr ->
('g, 'h, 'c, 'd) Script_typed_ir.continuation ->
('e, 'f) Script_typed_ir.map ->
('a * 'b) ->
('c
* 'd
* 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.t
type ('a, 'b, 'c, 'd, 'e, 'f) imul_teznat_type =
Script_typed_ir.logger option ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
Alpha_context.Script.location ->
(Alpha_context.Tez.t, 'b, 'c, 'd) Script_typed_ir.kinstr ->
('c, 'd, 'e, 'f) Script_typed_ir.continuation ->
Alpha_context.Tez.t ->
(Script_int.n Script_int.num * 'b) ->
('e
* 'f
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
type ('a, 'b, 'c, 'd, 'e, 'f) imul_nattez_type =
Script_typed_ir.logger option ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
Alpha_context.Script.location ->
(Alpha_context.Tez.t, 'b, 'c, 'd) Script_typed_ir.kinstr ->
('c, 'd, 'e, 'f) Script_typed_ir.continuation ->
Script_int.n Script_int.num ->
(Alpha_context.Tez.t * 'b) ->
('e
* 'f
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
type ('a, 'b, 'c, 'd, 'e, 'f) ilsl_nat_type =
Script_typed_ir.logger option ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
Alpha_context.Script.location ->
(Script_int.n Script_int.num, 'b, 'c, 'd) Script_typed_ir.kinstr ->
('c, 'd, 'e, 'f) Script_typed_ir.continuation ->
Script_int.n Script_int.num ->
(Script_int.n Script_int.num * 'b) ->
('e
* 'f
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
type ('a, 'b, 'c, 'd, 'e, 'f) ilsr_nat_type =
Script_typed_ir.logger option ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
Alpha_context.Script.location ->
(Script_int.n Script_int.num, 'b, 'c, 'd) Script_typed_ir.kinstr ->
('c, 'd, 'e, 'f) Script_typed_ir.continuation ->
Script_int.n Script_int.num ->
(Script_int.n Script_int.num * 'b) ->
('e
* 'f
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
type ('a, 'b, 'c, 'd, 'e, 'f) ilsl_bytes_type =
Script_typed_ir.logger option ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
Alpha_context.Script.location ->
(bytes, 'b, 'c, 'd) Script_typed_ir.kinstr ->
('c, 'd, 'e, 'f) Script_typed_ir.continuation ->
bytes ->
(Script_int.n Script_int.num * 'b) ->
('e
* 'f
* Local_gas_counter.outdated_context
* Local_gas_counter.local_gas_counter,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t
type ifailwith_type = {
ifailwith : 'a 'ac 'b. Script_typed_ir.logger option ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
Alpha_context.Script.location ->
('a, 'ac) Script_typed_ir.ty ->
'a ->
('b,
Mavryk_protocol_environment_001_PtAtLas.Error_monad.error
Mavryk_protocol_environment_001_PtAtLas.Error_monad.trace)
Mavryk_protocol_environment_001_PtAtLas.Pervasives.result
Mavryk_protocol_environment_001_PtAtLas.Lwt.t;
}
type ('a, 'b, 'c, 'd, 'e, 'f, 'g) iexec_type =
('a, Script_typed_ir.end_of_stack, 'e, 'f) cont_instrumentation ->
Script_typed_ir.logger option ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('a, 'b) Script_typed_ir.stack_ty option ->
('a, 'b, 'c, 'd) Script_typed_ir.kinstr ->
('c, 'd, 'e, 'f) Script_typed_ir.continuation ->
'g ->
(('g, 'a) Script_typed_ir.lambda * 'b) ->
('e
* '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.t
type ('a, 'b, 'c, 'd, 'e, 'f, 'i, 'o) iview_type =
('o, Script_typed_ir.end_of_stack, 'e, 'f) cont_instrumentation ->
(Local_gas_counter.outdated_context * Script_typed_ir.step_constants) ->
Local_gas_counter.local_gas_counter ->
('i, 'o) Script_typed_ir.view_signature ->
('a, 'b) Script_typed_ir.stack_ty option ->
('o option, 'a * 'b, 'c, 'd) Script_typed_ir.kinstr ->
('c, 'd, 'e, 'f) Script_typed_ir.continuation ->
'i ->
(Script_typed_ir.address * ('a * 'b)) ->
('e
* '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.t