package tezos-protocol-010-PtGRANAD
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=43723d096307603703a1a89ed1b2eb202b365f5e7824b96b0cbf813b343a6cf7
sha512=b2a637f2e965000d3d49ad85277ca24d6cb07a1a7cf2bc69d296d8b03ad78c3eaa8e21e94b9162e62c2e11649cd03bc845b2a3dafe623b91065df69d47dc8e4f
doc/tezos-protocol-010-PtGRANAD.raw/Tezos_raw_protocol_010_PtGRANAD/Script_ir_translator/index.html
Module Tezos_raw_protocol_010_PtGRANAD.Script_ir_translatorSource
type ex_comparable_ty = | Ex_comparable_ty : 'a Script_typed_ir.comparable_ty -> ex_comparable_ty
type ('arg, 'storage) code = {code : (('arg, 'storage) Script_typed_ir.pair, (Script_typed_ir.operation Script_typed_ir.boxed_list, 'storage) Script_typed_ir.pair) Script_typed_ir.lambda;arg_type : 'arg Script_typed_ir.ty;storage_type : 'storage Script_typed_ir.ty;root_name : Script_typed_ir.field_annot option;
}type ('a, 's, 'b, 'u) cinstr = {apply : 'r 'f. ('a, 's) Script_typed_ir.kinfo -> ('b, 'u, 'r, 'f) Script_typed_ir.kinstr -> ('a, 's, 'r, 'f) Script_typed_ir.kinstr;
}type ('a, 's, 'b, 'u) descr = {loc : Alpha_context.Script.location;bef : ('a, 's) Script_typed_ir.stack_ty;aft : ('b, 'u) Script_typed_ir.stack_ty;instr : ('a, 's, 'b, 'u) cinstr;
}type tc_context = | Lambda : tc_context| Dip : ('a, 's) Script_typed_ir.stack_ty * tc_context -> tc_context| Toplevel : {storage_type : 'sto Script_typed_ir.ty;param_type : 'param Script_typed_ir.ty;root_name : Script_typed_ir.field_annot option;legacy_create_contract_literal : bool;
} -> tc_context
type type_logger =
int ->
(Alpha_context.Script.expr * Alpha_context.Script.annot) list ->
(Alpha_context.Script.expr * Alpha_context.Script.annot) list ->
unitval set_size :
'elt Script_typed_ir.set ->
Alpha_context.Script_int.n Alpha_context.Script_int.numval map_fold :
('key -> 'value -> 'acc -> 'acc) ->
('key, 'value) Script_typed_ir.map ->
'acc ->
'accval map_update :
'a ->
'b option ->
('a, 'b) Script_typed_ir.map ->
('a, 'b) Script_typed_ir.mapval map_size :
('a, 'b) Script_typed_ir.map ->
Alpha_context.Script_int.n Alpha_context.Script_int.numval empty_big_map :
'a Script_typed_ir.comparable_ty ->
'b Script_typed_ir.ty ->
('a, 'b) Script_typed_ir.big_mapval big_map_mem :
Alpha_context.context ->
'key ->
('key, 'value) Script_typed_ir.big_map ->
(bool * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval big_map_get :
Alpha_context.context ->
'key ->
('key, 'value) Script_typed_ir.big_map ->
('value option * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval big_map_update :
Alpha_context.context ->
'key ->
'value option ->
('key, 'value) Script_typed_ir.big_map ->
(('key, 'value) Script_typed_ir.big_map * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval big_map_get_and_update :
Alpha_context.context ->
'key ->
'value option ->
('key, 'value) Script_typed_ir.big_map ->
(('value option * ('key, 'value) Script_typed_ir.big_map)
* Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval ty_eq :
Alpha_context.context ->
Alpha_context.Script.location ->
'ta Script_typed_ir.ty ->
'tb Script_typed_ir.ty ->
(('ta Script_typed_ir.ty, 'tb Script_typed_ir.ty) eq * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval parse_comparable_data :
?type_logger:type_logger ->
Alpha_context.context ->
'a Script_typed_ir.comparable_ty ->
Alpha_context.Script.node ->
('a * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval parse_data :
?type_logger:type_logger ->
Alpha_context.context ->
legacy:bool ->
allow_forged:bool ->
'a Script_typed_ir.ty ->
Alpha_context.Script.node ->
('a * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval parse_instr :
?type_logger:type_logger ->
tc_context ->
Alpha_context.context ->
legacy:bool ->
Alpha_context.Script.node ->
('a, 's) Script_typed_ir.stack_ty ->
(('a, 's) judgement * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval parse_big_map_value_ty :
Alpha_context.context ->
legacy:bool ->
Alpha_context.Script.node ->
(ex_ty * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultparse_ty specialized for the right-hand side part of a big map type, i.e. the `value` in `big_map key value`.
val parse_packable_ty :
Alpha_context.context ->
legacy:bool ->
Alpha_context.Script.node ->
(ex_ty * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval parse_parameter_ty :
Alpha_context.context ->
legacy:bool ->
Alpha_context.Script.node ->
(ex_ty * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval parse_comparable_ty :
Alpha_context.context ->
Alpha_context.Script.node ->
(ex_comparable_ty * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval parse_any_ty :
Alpha_context.context ->
legacy:bool ->
Alpha_context.Script.node ->
(ex_ty * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultparse_ty allowing big_map values, operations, contract and tickets.
val parse_ty :
Alpha_context.context ->
legacy:bool ->
allow_lazy_storage:bool ->
allow_operation:bool ->
allow_contract:bool ->
allow_ticket:bool ->
Alpha_context.Script.node ->
(ex_ty * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultWe expose parse_ty for convenience to external tools. Please use specialized versions such as parse_packable_ty, parse_parameter_ty, parse_comparable_ty, or parse_big_map_value_ty if possible.
deduce_type_size ~remaining ty returns remaining minus the size of type ty or any negative value if that result would be negative. It is guaranteed to not grow the stack by more than remaining non-tail calls.
val check_comparable_type_size :
legacy:bool ->
Alpha_context.context ->
loc:Alpha_context.Script.location ->
't Script_typed_ir.comparable_ty ->
unit Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultcheck_comparable_type_size ~legacy ctxt ~loc ty checks that the size of type ty is not larger than the constant maximum_type_size from the context ctxt. If the check fails, an error Type_too_large is returned. If legacy is true, there is no check at all and ok_unit is returned directly.
It is guaranteed to not grow the stack by more than maximum_type_size non-tail calls.
val parse_toplevel :
legacy:bool ->
Alpha_context.Script.expr ->
(Alpha_context.Script.node
* Alpha_context.Script.node
* Alpha_context.Script.node
* Script_typed_ir.field_annot option)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval add_field_annot :
Script_typed_ir.field_annot option ->
Script_typed_ir.var_annot option ->
Alpha_context.Script.node ->
Alpha_context.Script.nodeval typecheck_code :
legacy:bool ->
Alpha_context.context ->
Alpha_context.Script.expr ->
(Script_tc_errors.type_map * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval serialize_ty_for_error :
Alpha_context.context ->
'a Script_typed_ir.ty ->
(Alpha_context.Script.expr * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval parse_code :
?type_logger:type_logger ->
Alpha_context.context ->
legacy:bool ->
code:Alpha_context.Script.lazy_expr ->
(ex_code * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval parse_storage :
?type_logger:type_logger ->
Alpha_context.context ->
legacy:bool ->
allow_forged:bool ->
'storage Script_typed_ir.ty ->
storage:Alpha_context.Script.lazy_expr ->
('storage * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval parse_script :
?type_logger:type_logger ->
Alpha_context.context ->
legacy:bool ->
allow_forged_in_storage:bool ->
Alpha_context.Script.t ->
(ex_script * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tCombines parse_code and parse_storage
val parse_contract :
legacy:bool ->
Alpha_context.context ->
Alpha_context.Script.location ->
'a Script_typed_ir.ty ->
Alpha_context.Contract.t ->
entrypoint:string ->
(Alpha_context.context * 'a Script_typed_ir.typed_contract)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval parse_contract_for_script :
Alpha_context.context ->
Alpha_context.Script.location ->
'a Script_typed_ir.ty ->
Alpha_context.Contract.t ->
entrypoint:string ->
(Alpha_context.context * 'a Script_typed_ir.typed_contract option)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval find_entrypoint :
't Script_typed_ir.ty ->
root_name:Script_typed_ir.field_annot option ->
string ->
((Alpha_context.Script.node -> Alpha_context.Script.node) * ex_ty)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval list_entrypoints :
't Script_typed_ir.ty ->
Alpha_context.context ->
root_name:Script_typed_ir.field_annot option ->
(Michelson_v1_primitives.prim list list
* (Michelson_v1_primitives.prim list * Alpha_context.Script.node)
Entrypoints_map.t)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval pack_data :
Alpha_context.context ->
'a Script_typed_ir.ty ->
'a ->
(bytes * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval hash_comparable_data :
Alpha_context.context ->
'a Script_typed_ir.comparable_ty ->
'a ->
(Script_expr_hash.t * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval collect_lazy_storage :
Alpha_context.context ->
'a Script_typed_ir.ty ->
'a ->
(lazy_storage_ids * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresultval extract_lazy_storage_diff :
Alpha_context.context ->
unparsing_mode ->
temporary:bool ->
to_duplicate:lazy_storage_ids ->
to_update:lazy_storage_ids ->
'a Script_typed_ir.ty ->
'a ->
('a * Alpha_context.Lazy_storage.diffs option * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult
Tezos_protocol_environment_010_PtGRANAD.Lwt.tval get_single_sapling_state :
Alpha_context.context ->
'a Script_typed_ir.ty ->
'a ->
(Alpha_context.Sapling.Id.t option * Alpha_context.context)
Tezos_protocol_environment_010_PtGRANAD.Error_monad.tzresult