package tezos-protocol-alpha

  1. Overview
  2. Docs
type ('ta, 'tb) eq =
  1. | Eq : ('same, 'same) eq
type ex_comparable_ty =
  1. | Ex_comparable_ty : 'a Script_typed_ir.comparable_ty -> ex_comparable_ty
type ex_ty =
  1. | Ex_ty : 'a Script_typed_ir.ty -> ex_ty
type ex_stack_ty =
  1. | Ex_stack_ty : 'a Script_typed_ir.stack_ty -> ex_stack_ty
type ex_script =
  1. | Ex_script : ('a, 'b) Script_typed_ir.script -> ex_script
type ('arg, 'storage) code = {
  1. 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;
  2. arg_type : 'arg Script_typed_ir.ty;
  3. storage_type : 'storage Script_typed_ir.ty;
  4. root_name : Script_typed_ir.field_annot option;
}
type ex_code =
  1. | Ex_code : ('a, 'c) code -> ex_code
type tc_context =
  1. | Lambda : tc_context
  2. | Dip : 'a Script_typed_ir.stack_ty * tc_context -> tc_context
  3. | Toplevel : {
    1. storage_type : 'sto Script_typed_ir.ty;
    2. param_type : 'param Script_typed_ir.ty;
    3. root_name : Script_typed_ir.field_annot option;
    4. legacy_create_contract_literal : bool;
    } -> tc_context
type 'bef judgement =
  1. | Typed : ('bef, 'aft) Script_typed_ir.descr -> 'bef judgement
  2. | Failed : {
    1. descr : 'aft. 'aft Script_typed_ir.stack_ty -> ('bef, 'aft) Script_typed_ir.descr;
    } -> 'bef judgement
type unparsing_mode =
  1. | Optimized
  2. | Readable
  3. | Optimized_legacy
val list_empty : 'a Script_typed_ir.boxed_list
val set_fold : ('elt -> 'acc -> 'acc) -> 'elt Script_typed_ir.set -> 'acc -> 'acc
val set_update : 'a -> bool -> 'a Script_typed_ir.set -> 'a Script_typed_ir.set
val set_mem : 'elt -> 'elt Script_typed_ir.set -> bool
val empty_map : 'a Script_typed_ir.comparable_ty -> ('a, 'b) Script_typed_ir.map
val map_fold : ('key -> 'value -> 'acc -> 'acc) -> ('key, 'value) Script_typed_ir.map -> 'acc -> 'acc
val map_update : 'a -> 'b option -> ('a, 'b) Script_typed_ir.map -> ('a, 'b) Script_typed_ir.map
val map_mem : 'key -> ('key, 'value) Script_typed_ir.map -> bool
val map_get : 'key -> ('key, 'value) Script_typed_ir.map -> 'value option
val map_key_ty : ('a, 'b) Script_typed_ir.map -> 'a Script_typed_ir.comparable_ty
val big_map_mem : Alpha_context.context -> 'key -> ('key, 'value) Script_typed_ir.big_map -> (bool * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val big_map_get : Alpha_context.context -> 'key -> ('key, 'value) Script_typed_ir.big_map -> ('value option * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val compare_address : Script_typed_ir.address -> Script_typed_ir.address -> int
val compare_comparable : 'a Script_typed_ir.comparable_ty -> 'a -> 'a -> int
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val unparse_data : Alpha_context.context -> unparsing_mode -> 'a Script_typed_ir.ty -> 'a -> (Alpha_context.Script.node * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val unparse_code : Alpha_context.context -> unparsing_mode -> Alpha_context.Script.node -> (Alpha_context.Script.node * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val parse_instr : ?type_logger:type_logger -> tc_context -> Alpha_context.context -> legacy:bool -> Alpha_context.Script.node -> 'bef Script_typed_ir.stack_ty -> ('bef judgement * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val parse_big_map_value_ty : Alpha_context.context -> legacy:bool -> Alpha_context.Script.node -> (ex_ty * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result

parse_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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val parse_parameter_ty : Alpha_context.context -> legacy:bool -> Alpha_context.Script.node -> (ex_ty * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val parse_comparable_ty : Alpha_context.context -> Alpha_context.Script.node -> (ex_comparable_ty * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val parse_any_ty : Alpha_context.context -> legacy:bool -> Alpha_context.Script.node -> (ex_ty * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result

parse_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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result

We 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.

val unparse_ty : Alpha_context.context -> 'a Script_typed_ir.ty -> (Alpha_context.Script.node * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val typecheck_code : legacy:bool -> Alpha_context.context -> Alpha_context.Script.expr -> (Script_tc_errors.type_map * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val serialize_ty_for_error : Alpha_context.context -> 'a Script_typed_ir.ty -> (Alpha_context.Script.expr * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t

Combines parse_code and parse_storage

val unparse_script : Alpha_context.context -> unparsing_mode -> ('a, 'b) Script_typed_ir.script -> (Alpha_context.Script.t * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
module Entrypoints_map : sig ... end
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val pack_data : Alpha_context.context -> 'a Script_typed_ir.ty -> 'a -> (bytes * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val hash_comparable_data : Alpha_context.context -> 'a Script_typed_ir.comparable_ty -> 'a -> (Script_expr_hash.t * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val hash_data : Alpha_context.context -> 'a Script_typed_ir.ty -> 'a -> (Script_expr_hash.t * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
type lazy_storage_ids
val no_lazy_storage_id : lazy_storage_ids
val collect_lazy_storage : Alpha_context.context -> 'a Script_typed_ir.ty -> 'a -> (lazy_storage_ids * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
val list_of_big_map_ids : lazy_storage_ids -> Alpha_context.Big_map.Id.t list
val 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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result Lwt.t
val get_single_sapling_state : Alpha_context.context -> 'a Script_typed_ir.ty -> 'a -> (Alpha_context.Sapling.Id.t * Alpha_context.context, Tezos_protocol_environment_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result
OCaml

Innovation. Community. Security.