package tezos-protocol-012-Psithaca

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type never = |
type address = Alpha_context.Contract.t * string
type ('a, 'b) pair = 'a * 'b
type ('a, 'b) union =
  1. | L of 'a
  2. | R of 'b
type 'a ticket = {
  1. ticketer : Alpha_context.Contract.t;
  2. contents : 'a;
  3. amount : Alpha_context.Script_int.n Alpha_context.Script_int.num;
}
type empty_cell =
  1. | EmptyCell
type end_of_stack = empty_cell * empty_cell
module Type_size : sig ... end
type 'a ty_metadata = {
  1. annot : Script_ir_annot.type_annot option;
  2. size : 'a Type_size.t;
}
type _ comparable_ty =
  1. | Unit_key : unit ty_metadata -> unit comparable_ty
  2. | Never_key : never ty_metadata -> never comparable_ty
  3. | Int_key : Alpha_context.Script_int.z Alpha_context.Script_int.num ty_metadata -> Alpha_context.Script_int.z Alpha_context.Script_int.num comparable_ty
  4. | Nat_key : Alpha_context.Script_int.n Alpha_context.Script_int.num ty_metadata -> Alpha_context.Script_int.n Alpha_context.Script_int.num comparable_ty
  5. | Signature_key : Alpha_context.signature ty_metadata -> Alpha_context.signature comparable_ty
  6. | String_key : Alpha_context.Script_string.t ty_metadata -> Alpha_context.Script_string.t comparable_ty
  7. | Bytes_key : bytes ty_metadata -> bytes comparable_ty
  8. | Mutez_key : Alpha_context.Tez.t ty_metadata -> Alpha_context.Tez.t comparable_ty
  9. | Bool_key : bool ty_metadata -> bool comparable_ty
  10. | Key_hash_key : Alpha_context.public_key_hash ty_metadata -> Alpha_context.public_key_hash comparable_ty
  11. | Key_key : Alpha_context.public_key ty_metadata -> Alpha_context.public_key comparable_ty
  12. | Timestamp_key : Alpha_context.Script_timestamp.t ty_metadata -> Alpha_context.Script_timestamp.t comparable_ty
  13. | Chain_id_key : Tezos_crypto.Chain_id.t ty_metadata -> Tezos_crypto.Chain_id.t comparable_ty
  14. | Address_key : address ty_metadata -> address comparable_ty
  15. | Pair_key : ('a comparable_ty * Script_ir_annot.field_annot option) * ('b comparable_ty * Script_ir_annot.field_annot option) * ('a, 'b) pair ty_metadata -> ('a, 'b) pair comparable_ty
  16. | Union_key : ('a comparable_ty * Script_ir_annot.field_annot option) * ('b comparable_ty * Script_ir_annot.field_annot option) * ('a, 'b) union ty_metadata -> ('a, 'b) union comparable_ty
  17. | Option_key : 'v comparable_ty * 'v option ty_metadata -> 'v option comparable_ty
val unit_key : annot:Script_ir_annot.type_annot option -> unit comparable_ty
val never_key : annot:Script_ir_annot.type_annot option -> never comparable_ty
val bytes_key : annot:Script_ir_annot.type_annot option -> bytes comparable_ty
val bool_key : annot:Script_ir_annot.type_annot option -> bool comparable_ty
val address_key : annot:Script_ir_annot.type_annot option -> address comparable_ty
val pair_key : Alpha_context.Script.location -> ('a comparable_ty * Script_ir_annot.field_annot option) -> ('b comparable_ty * Script_ir_annot.field_annot option) -> annot:Script_ir_annot.type_annot option -> (('a, 'b) pair comparable_ty, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result
val pair_3_key : Alpha_context.Script.location -> ('a comparable_ty * Script_ir_annot.field_annot option) -> ('b comparable_ty * Script_ir_annot.field_annot option) -> ('c comparable_ty * Script_ir_annot.field_annot option) -> (('a, ('b, 'c) pair) pair comparable_ty, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result
val union_key : Alpha_context.Script.location -> ('a comparable_ty * Script_ir_annot.field_annot option) -> ('b comparable_ty * Script_ir_annot.field_annot option) -> annot:Script_ir_annot.type_annot option -> (('a, 'b) union comparable_ty, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result
val option_key : Alpha_context.Script.location -> 'v comparable_ty -> annot:Script_ir_annot.type_annot option -> ('v option comparable_ty, Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.error Tezos_protocol_environment_012_Psithaca__Environment.Error_monad.trace) result
module type Boxed_set_OPS = sig ... end
module type Boxed_set = sig ... end
type 'elt set = (module Boxed_set with type elt = 'elt)
module type Boxed_map_OPS = sig ... end
module type Boxed_map = sig ... end
type ('key, 'value) map = (module Boxed_map with type key = 'key and type value = 'value)
module Big_map_overlay : sig ... end
type ('key, 'value) big_map_overlay = {
  1. map : ('key * 'value option) Big_map_overlay.t;
  2. size : int;
}
type 'elt boxed_list = {
  1. elements : 'elt list;
  2. length : int;
}
module SMap : sig ... end
type view = {
  1. input_ty : Alpha_context.Script.node;
  2. output_ty : Alpha_context.Script.node;
  3. view_code : Alpha_context.Script.node;
}
type ('arg, 'storage) script = {
  1. code : (('arg, 'storage) pair, (operation boxed_list, 'storage) pair) lambda;
  2. arg_type : 'arg ty;
  3. storage : 'storage;
  4. storage_type : 'storage ty;
  5. views : view SMap.t;
  6. root_name : Script_ir_annot.field_annot option;
  7. code_size : Cache_memory_helpers.sint;
}
and ('before_top, 'before, 'result_top, 'result) kinstr =
  1. | IDrop : ('a, 'b * 's) kinfo * ('b, 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr
  2. | IDup : ('a, 's) kinfo * ('a, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  3. | ISwap : ('a, 'b * 's) kinfo * ('b, 'a * 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr
  4. | IConst : ('a, 's) kinfo * 'ty * ('ty, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  5. | ICons_pair : ('a, 'b * 's) kinfo * ('a * 'b, 's, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr
  6. | ICar : ('a * 'b, 's) kinfo * ('a, 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr
  7. | ICdr : ('a * 'b, 's) kinfo * ('b, 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr
  8. | IUnpair : ('a * 'b, 's) kinfo * ('a, 'b * 's, 'r, 'f) kinstr -> ('a * 'b, 's, 'r, 'f) kinstr
  9. | ICons_some : ('v, 's) kinfo * ('v option, 's, 'r, 'f) kinstr -> ('v, 's, 'r, 'f) kinstr
  10. | ICons_none : ('a, 's) kinfo * ('b option, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  11. | IIf_none : {
    1. kinfo : ('a option, 'b * 's) kinfo;
    2. branch_if_none : ('b, 's, 'c, 't) kinstr;
    3. branch_if_some : ('a, 'b * 's, 'c, 't) kinstr;
    4. k : ('c, 't, 'r, 'f) kinstr;
    } -> ('a option, 'b * 's, 'r, 'f) kinstr
  12. | IOpt_map : {
    1. kinfo : ('a option, 's) kinfo;
    2. body : ('a, 's, 'b, 's) kinstr;
    3. k : ('b option, 's, 'c, 't) kinstr;
    } -> ('a option, 's, 'c, 't) kinstr
  13. | ICons_left : ('a, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  14. | ICons_right : ('b, 's) kinfo * (('a, 'b) union, 's, 'r, 'f) kinstr -> ('b, 's, 'r, 'f) kinstr
  15. | IIf_left : {
    1. kinfo : (('a, 'b) union, 's) kinfo;
    2. branch_if_left : ('a, 's, 'c, 't) kinstr;
    3. branch_if_right : ('b, 's, 'c, 't) kinstr;
    4. k : ('c, 't, 'r, 'f) kinstr;
    } -> (('a, 'b) union, 's, 'r, 'f) kinstr
  16. | ICons_list : ('a, 'a boxed_list * 's) kinfo * ('a boxed_list, 's, 'r, 'f) kinstr -> ('a, 'a boxed_list * 's, 'r, 'f) kinstr
  17. | INil : ('a, 's) kinfo * ('b boxed_list, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  18. | IIf_cons : {
    1. kinfo : ('a boxed_list, 'b * 's) kinfo;
    2. branch_if_cons : ('a, 'a boxed_list * ('b * 's), 'c, 't) kinstr;
    3. branch_if_nil : ('b, 's, 'c, 't) kinstr;
    4. k : ('c, 't, 'r, 'f) kinstr;
    } -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr
  19. | IList_map : ('a boxed_list, 'c * 's) kinfo * ('a, 'c * 's, 'b, 'c * 's) kinstr * ('b boxed_list, 'c * 's, 'r, 'f) kinstr -> ('a boxed_list, 'c * 's, 'r, 'f) kinstr
  20. | IList_iter : ('a boxed_list, 'b * 's) kinfo * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a boxed_list, 'b * 's, 'r, 'f) kinstr
  21. | IList_size : ('a boxed_list, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> ('a boxed_list, 's, 'r, 'f) kinstr
  22. | IEmpty_set : ('a, 's) kinfo * 'b comparable_ty * ('b set, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  23. | ISet_iter : ('a set, 'b * 's) kinfo * ('a, 'b * 's, 'b, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> ('a set, 'b * 's, 'r, 'f) kinstr
  24. | ISet_mem : ('a, 'a set * 's) kinfo * (bool, 's, 'r, 'f) kinstr -> ('a, 'a set * 's, 'r, 'f) kinstr
  25. | ISet_update : ('a, bool * ('a set * 's)) kinfo * ('a set, 's, 'r, 'f) kinstr -> ('a, bool * ('a set * 's), 'r, 'f) kinstr
  26. | ISet_size : ('a set, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> ('a set, 's, 'r, 'f) kinstr
  27. | IEmpty_map : ('a, 's) kinfo * 'b comparable_ty * (('b, 'c) map, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  28. | IMap_map : (('a, 'b) map, 'd * 's) kinfo * ('a * 'b, 'd * 's, 'c, 'd * 's) kinstr * (('a, 'c) map, 'd * 's, 'r, 'f) kinstr -> (('a, 'b) map, 'd * 's, 'r, 'f) kinstr
  29. | IMap_iter : (('a, 'b) map, 'c * 's) kinfo * ('a * 'b, 'c * 's, 'c, 's) kinstr * ('c, 's, 'r, 'f) kinstr -> (('a, 'b) map, 'c * 's, 'r, 'f) kinstr
  30. | IMap_mem : ('a, ('a, 'b) map * 's) kinfo * (bool, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr
  31. | IMap_get : ('a, ('a, 'b) map * 's) kinfo * ('b option, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) map * 's, 'r, 'f) kinstr
  32. | IMap_update : ('a, 'b option * (('a, 'b) map * 's)) kinfo * (('a, 'b) map, 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr
  33. | IMap_get_and_update : ('a, 'b option * (('a, 'b) map * 's)) kinfo * ('b option, ('a, 'b) map * 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) map * 's), 'r, 'f) kinstr
  34. | IMap_size : (('a, 'b) map, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (('a, 'b) map, 's, 'r, 'f) kinstr
  35. | IEmpty_big_map : ('a, 's) kinfo * 'b comparable_ty * 'c ty * (('b, 'c) big_map, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  36. | IBig_map_mem : ('a, ('a, 'b) big_map * 's) kinfo * (bool, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) big_map * 's, 'r, 'f) kinstr
  37. | IBig_map_get : ('a, ('a, 'b) big_map * 's) kinfo * ('b option, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) big_map * 's, 'r, 'f) kinstr
  38. | IBig_map_update : ('a, 'b option * (('a, 'b) big_map * 's)) kinfo * (('a, 'b) big_map, 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr
  39. | IBig_map_get_and_update : ('a, 'b option * (('a, 'b) big_map * 's)) kinfo * ('b option, ('a, 'b) big_map * 's, 'r, 'f) kinstr -> ('a, 'b option * (('a, 'b) big_map * 's), 'r, 'f) kinstr
  40. | IConcat_string : (Alpha_context.Script_string.t boxed_list, 's) kinfo * (Alpha_context.Script_string.t, 's, 'r, 'f) kinstr -> (Alpha_context.Script_string.t boxed_list, 's, 'r, 'f) kinstr
  41. | IConcat_string_pair : (Alpha_context.Script_string.t, Alpha_context.Script_string.t * 's) kinfo * (Alpha_context.Script_string.t, 's, 'r, 'f) kinstr -> (Alpha_context.Script_string.t, Alpha_context.Script_string.t * 's, 'r, 'f) kinstr
  42. | ISlice_string : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * (Alpha_context.Script_string.t * 's)) kinfo * (Alpha_context.Script_string.t option, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * ( Alpha_context.Script_string.t * 's), 'r, 'f) kinstr
  43. | IString_size : (Alpha_context.Script_string.t, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_string.t, 's, 'r, 'f) kinstr
  44. | IConcat_bytes : (bytes boxed_list, 's) kinfo * (bytes, 's, 'r, 'f) kinstr -> (bytes boxed_list, 's, 'r, 'f) kinstr
  45. | IConcat_bytes_pair : (bytes, bytes * 's) kinfo * (bytes, 's, 'r, 'f) kinstr -> (bytes, bytes * 's, 'r, 'f) kinstr
  46. | ISlice_bytes : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * (bytes * 's)) kinfo * (bytes option, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * (bytes * 's), 'r, 'f) kinstr
  47. | IBytes_size : (bytes, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr
  48. | IAdd_seconds_to_timestamp : (Alpha_context.Script_int.z Alpha_context.Script_int.num, Alpha_context.Script_timestamp.t * 's) kinfo * (Alpha_context.Script_timestamp.t, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, Alpha_context.Script_timestamp.t * 's, 'r, 'f) kinstr
  49. | IAdd_timestamp_to_seconds : (Alpha_context.Script_timestamp.t, Alpha_context.Script_int.z Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_timestamp.t, 's, 'r, 'f) kinstr -> (Alpha_context.Script_timestamp.t, Alpha_context.Script_int.z Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  50. | ISub_timestamp_seconds : (Alpha_context.Script_timestamp.t, Alpha_context.Script_int.z Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_timestamp.t, 's, 'r, 'f) kinstr -> (Alpha_context.Script_timestamp.t, Alpha_context.Script_int.z Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  51. | IDiff_timestamps : (Alpha_context.Script_timestamp.t, Alpha_context.Script_timestamp.t * 's) kinfo * (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_timestamp.t, Alpha_context.Script_timestamp.t * 's, 'r, 'f) kinstr
  52. | IAdd_tez : (Alpha_context.Tez.t, Alpha_context.Tez.t * 's) kinfo * (Alpha_context.Tez.t, 's, 'r, 'f) kinstr -> (Alpha_context.Tez.t, Alpha_context.Tez.t * 's, 'r, 'f) kinstr
  53. | ISub_tez : (Alpha_context.Tez.t, Alpha_context.Tez.t * 's) kinfo * (Alpha_context.Tez.t option, 's, 'r, 'f) kinstr -> (Alpha_context.Tez.t, Alpha_context.Tez.t * 's, 'r, 'f) kinstr
  54. | ISub_tez_legacy : (Alpha_context.Tez.t, Alpha_context.Tez.t * 's) kinfo * (Alpha_context.Tez.t, 's, 'r, 'f) kinstr -> (Alpha_context.Tez.t, Alpha_context.Tez.t * 's, 'r, 'f) kinstr
  55. | IMul_teznat : (Alpha_context.Tez.t, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Tez.t, 's, 'r, 'f) kinstr -> (Alpha_context.Tez.t, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  56. | IMul_nattez : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Tez.t * 's) kinfo * (Alpha_context.Tez.t, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Tez.t * 's, 'r, 'f) kinstr
  57. | IEdiv_teznat : (Alpha_context.Tez.t, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * ((Alpha_context.Tez.t, Alpha_context.Tez.t) pair option, 's, 'r, 'f) kinstr -> (Alpha_context.Tez.t, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  58. | IEdiv_tez : (Alpha_context.Tez.t, Alpha_context.Tez.t * 's) kinfo * ((Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Tez.t) pair option, 's, 'r, 'f) kinstr -> (Alpha_context.Tez.t, Alpha_context.Tez.t * 's, 'r, 'f) kinstr
  59. | IOr : (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr
  60. | IAnd : (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr
  61. | IXor : (bool, bool * 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (bool, bool * 's, 'r, 'f) kinstr
  62. | INot : (bool, 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (bool, 's, 'r, 'f) kinstr
  63. | IIs_nat : (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num option, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  64. | INeg : ('a Alpha_context.Script_int.num, 's) kinfo * (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> ('a Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  65. | IAbs_int : (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  66. | IInt_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's) kinfo * (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  67. | IAdd_int : ('a Alpha_context.Script_int.num, 'b Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> ('a Alpha_context.Script_int.num, 'b Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  68. | IAdd_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  69. | ISub_int : ('a Alpha_context.Script_int.num, 'b Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> ('a Alpha_context.Script_int.num, 'b Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  70. | IMul_int : ('a Alpha_context.Script_int.num, 'b Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> ('a Alpha_context.Script_int.num, 'b Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  71. | IMul_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, 'a Alpha_context.Script_int.num * 's) kinfo * ('a Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, 'a Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  72. | IEdiv_int : ('a Alpha_context.Script_int.num, 'b Alpha_context.Script_int.num * 's) kinfo * ((Alpha_context.Script_int.z Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num) pair option, 's, 'r, 'f) kinstr -> ('a Alpha_context.Script_int.num, 'b Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  73. | IEdiv_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, 'a Alpha_context.Script_int.num * 's) kinfo * (('a Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num) pair option, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, 'a Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  74. | ILsl_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  75. | ILsr_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  76. | IOr_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  77. | IAnd_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  78. | IAnd_int_nat : (Alpha_context.Script_int.z Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  79. | IXor_nat : (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.n Alpha_context.Script_int.num, Alpha_context.Script_int.n Alpha_context.Script_int.num * 's, 'r, 'f) kinstr
  80. | INot_int : ('a Alpha_context.Script_int.num, 's) kinfo * (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> ('a Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  81. | IIf : {
    1. kinfo : (bool, 'a * 's) kinfo;
    2. branch_if_true : ('a, 's, 'b, 'u) kinstr;
    3. branch_if_false : ('a, 's, 'b, 'u) kinstr;
    4. k : ('b, 'u, 'r, 'f) kinstr;
    } -> (bool, 'a * 's, 'r, 'f) kinstr
  82. | ILoop : (bool, 'a * 's) kinfo * ('a, 's, bool, 'a * 's) kinstr * ('a, 's, 'r, 'f) kinstr -> (bool, 'a * 's, 'r, 'f) kinstr
  83. | ILoop_left : (('a, 'b) union, 's) kinfo * ('a, 's, ('a, 'b) union, 's) kinstr * ('b, 's, 'r, 'f) kinstr -> (('a, 'b) union, 's, 'r, 'f) kinstr
  84. | IDip : ('a, 'b * 's) kinfo * ('b, 's, 'c, 't) kinstr * ('a, 'c * 't, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr
  85. | IExec : ('a, ('a, 'b) lambda * 's) kinfo * ('b, 's, 'r, 'f) kinstr -> ('a, ('a, 'b) lambda * 's, 'r, 'f) kinstr
  86. | IApply : ('a, ('a * 'b, 'c) lambda * 's) kinfo * 'a ty * (('b, 'c) lambda, 's, 'r, 'f) kinstr -> ('a, ('a * 'b, 'c) lambda * 's, 'r, 'f) kinstr
  87. | ILambda : ('a, 's) kinfo * ('b, 'c) lambda * (('b, 'c) lambda, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  88. | IFailwith : ('a, 's) kinfo * Alpha_context.Script.location * 'a ty -> ('a, 's, 'r, 'f) kinstr
  89. | ICompare : ('a, 'a * 's) kinfo * 'a comparable_ty * (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> ('a, 'a * 's, 'r, 'f) kinstr
  90. | IEq : (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  91. | INeq : (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  92. | ILt : (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  93. | IGt : (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  94. | ILe : (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  95. | IGe : (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's) kinfo * (bool, 's, 'r, 'f) kinstr -> (Alpha_context.Script_int.z Alpha_context.Script_int.num, 's, 'r, 'f) kinstr
  96. | IAddress : ('a typed_contract, 's) kinfo * (address, 's, 'r, 'f) kinstr -> ('a typed_contract, 's, 'r, 'f) kinstr
  97. | IContract : (address, 's) kinfo * 'a ty * string * ('a typed_contract option, 's, 'r, 'f) kinstr -> (address, 's, 'r, 'f) kinstr
  98. | IView : ('a, address * 's) kinfo * ('a, 'b) view_signature * ('b option, 's, 'r, 'f) kinstr -> ('a, address * 's, 'r, 'f) kinstr
  99. | ITransfer_tokens : ('a, Alpha_context.Tez.t * ('a typed_contract * 's)) kinfo * (operation, 's, 'r, 'f) kinstr -> ('a, Alpha_context.Tez.t * ('a typed_contract * 's), 'r, 'f) kinstr
  100. | IImplicit_account : (Alpha_context.public_key_hash, 's) kinfo * (unit typed_contract, 's, 'r, 'f) kinstr -> (Alpha_context.public_key_hash, 's, 'r, 'f) kinstr
  101. | ICreate_contract : {
    1. kinfo : (Alpha_context.public_key_hash option, Alpha_context.Tez.t * ('a * 's)) kinfo;
    2. storage_type : 'a ty;
    3. arg_type : 'b ty;
    4. lambda : ('b * 'a, operation boxed_list * 'a) lambda;
    5. views : view SMap.t;
    6. root_name : Script_ir_annot.field_annot option;
    7. k : (operation, address * 's, 'r, 'f) kinstr;
    } -> (Alpha_context.public_key_hash option, Alpha_context.Tez.t * ('a * 's), 'r, 'f) kinstr
  102. | ISet_delegate : (Alpha_context.public_key_hash option, 's) kinfo * (operation, 's, 'r, 'f) kinstr -> (Alpha_context.public_key_hash option, 's, 'r, 'f) kinstr
  103. | INow : ('a, 's) kinfo * (Alpha_context.Script_timestamp.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  104. | IBalance : ('a, 's) kinfo * (Alpha_context.Tez.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  105. | ILevel : ('a, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  106. | ICheck_signature : (Alpha_context.public_key, Alpha_context.signature * (bytes * 's)) kinfo * (bool, 's, 'r, 'f) kinstr -> (Alpha_context.public_key, Alpha_context.signature * (bytes * 's), 'r, 'f) kinstr
  107. | IHash_key : (Alpha_context.public_key, 's) kinfo * (Alpha_context.public_key_hash, 's, 'r, 'f) kinstr -> (Alpha_context.public_key, 's, 'r, 'f) kinstr
  108. | IPack : ('a, 's) kinfo * 'a ty * (bytes, 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  109. | IUnpack : (bytes, 's) kinfo * 'a ty * ('a option, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr
  110. | IBlake2b : (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr
  111. | ISha256 : (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr
  112. | ISha512 : (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr
  113. | ISource : ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  114. | ISender : ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  115. | ISelf : ('a, 's) kinfo * 'b ty * string * ('b typed_contract, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  116. | ISelf_address : ('a, 's) kinfo * (address, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  117. | IAmount : ('a, 's) kinfo * (Alpha_context.Tez.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  118. | ISapling_empty_state : ('a, 's) kinfo * Alpha_context.Sapling.Memo_size.t * (Alpha_context.Sapling.state, 'a * 's, 'b, 'f) kinstr -> ('a, 's, 'b, 'f) kinstr
  119. | ISapling_verify_update : (Alpha_context.Sapling.transaction, Alpha_context.Sapling.state * 's) kinfo * ((Alpha_context.Script_int.z Alpha_context.Script_int.num, Alpha_context.Sapling.state) pair option, 's, 'r, 'f) kinstr -> (Alpha_context.Sapling.transaction, Alpha_context.Sapling.state * 's, 'r, 'f) kinstr
  120. | IDig : ('a, 's) kinfo * int * ('b, 'c * 't, 'c, 't, 'a, 's, 'd, 'u) stack_prefix_preservation_witness * ('b, 'd * 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  121. | IDug : ('a, 'b * 's) kinfo * int * ('c, 't, 'a, 'c * 't, 'b, 's, 'd, 'u) stack_prefix_preservation_witness * ('d, 'u, 'r, 'f) kinstr -> ('a, 'b * 's, 'r, 'f) kinstr
  122. | IDipn : ('a, 's) kinfo * int * ('c, 't, 'd, 'v, 'a, 's, 'b, 'u) stack_prefix_preservation_witness * ('c, 't, 'd, 'v) kinstr * ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  123. | IDropn : ('a, 's) kinfo * int * ('b, 'u, 'b, 'u, 'a, 's, 'a, 's) stack_prefix_preservation_witness * ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  124. | IChainId : ('a, 's) kinfo * (Tezos_crypto.Chain_id.t, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  125. | INever : (never, 's) kinfo -> (never, 's, 'r, 'f) kinstr
  126. | IVoting_power : (Alpha_context.public_key_hash, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 's, 'r, 'f) kinstr -> (Alpha_context.public_key_hash, 's, 'r, 'f) kinstr
  127. | ITotal_voting_power : ('a, 's) kinfo * (Alpha_context.Script_int.n Alpha_context.Script_int.num, 'a * 's, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  128. | IKeccak : (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr
  129. | ISha3 : (bytes, 's) kinfo * (bytes, 's, 'r, 'f) kinstr -> (bytes, 's, 'r, 'f) kinstr
  130. | IComb : ('a, 's) kinfo * int * ('a * 's, 'b * 'u) comb_gadt_witness * ('b, 'u, 'r, 'f) kinstr -> ('a, 's, 'r, 'f) kinstr
  131. | IUncomb : ('a, 's) kinfo * int * ('a * 's, 'b * 'u)