package archetype

  1. Overview
  2. Docs
type 'a with_annot = {
  1. node : 'a;
  2. annotation : Ident.ident option;
}
val pp_with_annot : 'a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'a with_annot -> Ppx_deriving_runtime.unit
val show_with_annot : 'a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> 'a with_annot -> Ppx_deriving_runtime.string
type position = {
  1. line : int;
  2. col : int;
  3. char : int;
}
val position_to_yojson : position -> Yojson.Safe.t
val pp_position : Ppx_deriving_runtime.Format.formatter -> position -> Ppx_deriving_runtime.unit
val show_position : position -> Ppx_deriving_runtime.string
type range = {
  1. start : position;
  2. end_ : position;
}
val range_to_yojson : range -> Yojson.Safe.t
val pp_range : Ppx_deriving_runtime.Format.formatter -> range -> Ppx_deriving_runtime.unit
type obj_stack = {
  1. name : string;
}
val obj_stack_to_yojson : obj_stack -> Yojson.Safe.t
val pp_obj_stack : Ppx_deriving_runtime.Format.formatter -> obj_stack -> Ppx_deriving_runtime.unit
val show_obj_stack : obj_stack -> Ppx_deriving_runtime.string
type obj_debug = {
  1. id : string * string;
  2. range : range;
  3. stack : obj_stack;
}
val obj_debug_to_yojson : obj_debug -> Yojson.Safe.t
val pp_obj_debug : Ppx_deriving_runtime.Format.formatter -> obj_debug -> Ppx_deriving_runtime.unit
val show_obj_debug : obj_debug -> Ppx_deriving_runtime.string
type prim = {
  1. prim : Ident.ident;
  2. args : obj_micheline list;
  3. annots : Ident.ident list;
}
and obj_micheline =
  1. | Oprim of prim
  2. | Ostring of string
  3. | Obytes of string
  4. | Oint of string
  5. | Oarray of obj_micheline list
  6. | Ovar of obj_micheline_var
and obj_micheline_var =
  1. | OMVfree of Ident.ident
  2. | OMVint of Ident.ident * bool
  3. | OMVstring of Ident.ident
  4. | OMVbytes of Ident.ident
  5. | OMVif of Ident.ident * obj_micheline * obj_micheline
val prim_to_yojson : prim -> Yojson.Safe.t
val obj_micheline_to_yojson : obj_micheline -> Yojson.Safe.t
val obj_micheline_var_to_yojson : obj_micheline_var -> Yojson.Safe.t
val pp_prim : Ppx_deriving_runtime.Format.formatter -> prim -> Ppx_deriving_runtime.unit
val pp_obj_micheline : Ppx_deriving_runtime.Format.formatter -> obj_micheline -> Ppx_deriving_runtime.unit
val show_obj_micheline : obj_micheline -> Ppx_deriving_runtime.string
val pp_obj_micheline_var : Ppx_deriving_runtime.Format.formatter -> obj_micheline_var -> Ppx_deriving_runtime.unit
val show_obj_micheline_var : obj_micheline_var -> Ppx_deriving_runtime.string
type type_node =
  1. | Taddress
  2. | Tbig_map of type_ * type_
  3. | Tbool
  4. | Tbytes
  5. | Tchain_id
  6. | Tcontract of type_
  7. | Tint
  8. | Tkey
  9. | Tkey_hash
  10. | Tlambda of type_ * type_
  11. | Tlist of type_
  12. | Tmap of type_ * type_
  13. | Tmutez
  14. | Tnat
  15. | Toperation
  16. | Toption of type_
  17. | Tor of type_ * type_
  18. | Tpair of type_ list
  19. | Tset of type_
  20. | Tsignature
  21. | Tstring
  22. | Ttimestamp
  23. | Tunit
  24. | Tticket of type_
  25. | Tsapling_state of int
  26. | Tsapling_transaction of int
  27. | Tbls12_381_fr
  28. | Tbls12_381_g1
  29. | Tbls12_381_g2
  30. | Tnever
  31. | Tchest
  32. | Tchest_key
  33. | Tvar of int
and type_ = type_node with_annot
val pp_type_node : Ppx_deriving_runtime.Format.formatter -> type_node -> Ppx_deriving_runtime.unit
val show_type_node : type_node -> Ppx_deriving_runtime.string
val pp_type_ : Ppx_deriving_runtime.Format.formatter -> type_ -> Ppx_deriving_runtime.unit
type data =
  1. | Dint of Core.big_int
  2. | Dstring of string
  3. | Dbytes of string
  4. | Dunit
  5. | Dtrue
  6. | Dfalse
  7. | Dpair of data list
  8. | Dleft of data
  9. | Dright of data
  10. | Dsome of data
  11. | Dnone
  12. | Dlist of data list
  13. | Delt of data * data
  14. | Dvar of Ident.ident * type_ * bool
  15. | DIrCode of Ident.ident * instruction
  16. | Dcode of code
  17. | Dlambda_rec of code
  18. | Dconstant of string
and code_node =
  1. | SEQ of code list
  2. | APPLY
  3. | EXEC
  4. | FAILWITH
  5. | IF of code list * code list
  6. | IF_CONS of code list * code list
  7. | IF_LEFT of code list * code list
  8. | IF_NONE of code list * code list
  9. | ITER of code list
  10. | LAMBDA of type_ * type_ * code list
  11. | LOOP of code list
  12. | LOOP_LEFT of code list
  13. | DIG of int
  14. | DIP of int * code list
  15. | DROP of int
  16. | DUG of int
  17. | DUP
  18. | DUP_N of int
  19. | PUSH of type_ * data
  20. | SWAP
  21. | ABS
  22. | ADD
  23. | COMPARE
  24. | EDIV
  25. | EQ
  26. | GE
  27. | GT
  28. | NAT
  29. | INT
  30. | BYTES
  31. | ISNAT
  32. | LE
  33. | LSL
  34. | LSR
  35. | LT
  36. | MUL
  37. | NEG
  38. | NEQ
  39. | SUB
  40. | SUB_MUTEZ
  41. | AND
  42. | NOT
  43. | OR
  44. | XOR
  45. | BLAKE2B
  46. | CHECK_SIGNATURE
  47. | HASH_KEY
  48. | KECCAK
  49. | PAIRING_CHECK
  50. | SAPLING_EMPTY_STATE of int
  51. | SAPLING_VERIFY_UPDATE
  52. | SHA256
  53. | SHA512
  54. | SHA3
  55. | ADDRESS
  56. | AMOUNT
  57. | BALANCE
  58. | CHAIN_ID
  59. | CONTRACT of type_ * Ident.ident option
  60. | CREATE_CONTRACT of obj_micheline
  61. | EMIT of type_ * Ident.ident option
  62. | IMPLICIT_ACCOUNT
  63. | LEVEL
  64. | MIN_BLOCK_TIME
  65. | NOW
  66. | SELF of Ident.ident option
  67. | SELF_ADDRESS
  68. | SENDER
  69. | SET_DELEGATE
  70. | SOURCE
  71. | TOTAL_VOTING_POWER
  72. | TRANSFER_TOKENS
  73. | VOTING_POWER
  74. | CAR
  75. | CDR
  76. | CONCAT
  77. | CONS
  78. | EMPTY_BIG_MAP of type_ * type_
  79. | EMPTY_MAP of type_ * type_
  80. | EMPTY_SET of type_
  81. | GET
  82. | GET_N of int
  83. | GET_AND_UPDATE
  84. | LEFT of type_
  85. | MAP of code list
  86. | MEM
  87. | NEVER
  88. | NIL of type_
  89. | NONE of type_
  90. | PACK
  91. | PAIR
  92. | PAIR_N of int
  93. | RIGHT of type_
  94. | SIZE
  95. | SLICE
  96. | SOME
  97. | UNIT
  98. | UNPACK of type_
  99. | UNPAIR
  100. | UNPAIR_N of int
  101. | UPDATE
  102. | UPDATE_N of int
  103. | JOIN_TICKETS
  104. | READ_TICKET
  105. | SPLIT_TICKET
  106. | TICKET
  107. | CAST of type_
  108. | RENAME
  109. | VIEW of Ident.ident * type_
  110. | OPEN_CHEST
  111. | CAR_N of int
  112. | CDR_N of int
  113. | CUSTOM of obj_micheline
and stack_item = {
  1. stack_item_name : string;
  2. stack_item_kind : string;
  3. stack_item_type : type_ option;
}
and stack = stack_item list
and decl_bound = {
  1. db_kind : string;
  2. db_name : string;
  3. db_bound : string;
}
and debug = {
  1. decl_bound : decl_bound option;
  2. stack : stack;
  3. loc : Location.t option;
}
and code = {
  1. node : code_node;
  2. type_ : type_ list option Stdlib.ref;
  3. debug : debug option;
}
and z_operator =
  1. | Znow
  2. | Zamount
  3. | Zbalance
  4. | Zsource
  5. | Zsender
  6. | Zaddress
  7. | Zchain_id
  8. | Zself of Ident.ident option
  9. | Zself_address
  10. | Znone of type_
  11. | Zunit
  12. | Znil of type_
  13. | Zemptyset of type_
  14. | Zemptymap of type_ * type_
  15. | Zemptybigmap of type_ * type_
  16. | Ztotalvotingpower
  17. | Zlevel
  18. | Zsapling_empty_state of int
  19. | Zmin_block_time
and un_operator =
  1. | Ucar
  2. | Ucdr
  3. | Uleft of type_
  4. | Uright of type_
  5. | Uneg
  6. | Unat
  7. | Uint
  8. | Ubytes
  9. | Unot
  10. | Uabs
  11. | Uisnat
  12. | Usome
  13. | Usize
  14. | Upack
  15. | Uunpack of type_
  16. | Ublake2b
  17. | Usha256
  18. | Usha512
  19. | Usha3
  20. | Ukeccak
  21. | Uhash_key
  22. | Ufail
  23. | Ucontract of type_ * Ident.ident option
  24. | Usetdelegate
  25. | Uimplicitaccount
  26. | Ueq
  27. | Une
  28. | Ugt
  29. | Uge
  30. | Ult
  31. | Ule
  32. | Uvotingpower
  33. | Ureadticket
  34. | Ujointickets
  35. | Upairing_check
  36. | Uconcat
  37. | Uaddress
  38. | UcarN of int
  39. | UcdrN of int
  40. | UforcePair
  41. | Uemit of type_ * Ident.ident option
and bin_operator =
  1. | Badd
  2. | Bsub
  3. | Bmul
  4. | Bediv
  5. | Blsl
  6. | Blsr
  7. | Bor
  8. | Band
  9. | Bxor
  10. | Bcompare
  11. | Bget
  12. | Bmem
  13. | Bconcat
  14. | Bcons
  15. | Bpair
  16. | Bexec
  17. | Bapply
  18. | Bcreateticket
  19. | Bsplitticket
  20. | Bsapling_verify_update
  21. | Bview of Ident.ident * type_
  22. | Bsubmutez
and ter_operator =
  1. | Tcheck_signature
  2. | Tslice
  3. | Tupdate
  4. | Ttransfer_tokens
  5. | Topen_chest
  6. | Tcreate_contract of obj_micheline
and g_operator = [
  1. | `Zop of z_operator
  2. | `Uop of un_operator
  3. | `Bop of bin_operator
  4. | `Top of ter_operator
]
and cmp_operator =
  1. | Ceq
  2. | Cne
  3. | Cgt
  4. | Cge
  5. | Clt
  6. | Cle
and builtin =
  1. | Bmin of type_
  2. | Bmax of type_
  3. | Bfloor
  4. | Bceil
  5. | BlistContains of type_
  6. | BlistNth of type_
  7. | BlistHead of type_
  8. | BlistTail of type_
  9. | Bratcmp
  10. | Bratnorm
  11. | Brataddsub
  12. | Bratdiv
  13. | Bratmul
  14. | Bratuminus
  15. | Bratabs
  16. | Brattez
  17. | Bratdur
  18. | Bmuteztonat
  19. | Bsimplify_rational
  20. | Bis_implicit_address
and klv =
  1. | KLVoption of type_
  2. | KLVmap of type_ * instruction
and access_item = {
  1. ai_index : int;
  2. ai_length : int;
}
and access_value = {
  1. av_ident : Ident.ident;
  2. av_path : access_item list;
  3. av_source_no_dup : bool;
  4. av_value_no_dup : bool;
}
and instruction_node =
  1. | Iseq of instruction list
  2. | IletIn of Ident.ident list * instruction * instruction * bool
  3. | Ivar_access of access_value
  4. | Icall of Ident.ident * instruction list * bool
  5. | Iassign of Ident.ident * instruction
  6. | Iassigntuple of Ident.ident * int * int * instruction
  7. | Iif of instruction * instruction * instruction * type_
  8. | Iifnone of instruction * instruction * Ident.ident * instruction * type_
  9. | Iifleft of instruction * Ident.ident * instruction * Ident.ident * instruction * type_
  10. | Iifcons of instruction * Ident.ident * Ident.ident * instruction * instruction * type_
  11. | Iloop of instruction * instruction
  12. | Iiter of Ident.ident list * instruction * instruction
  13. | Iloopleft of instruction * Ident.ident * instruction
  14. | Ilambda of type_ * Ident.ident * type_ * instruction
  15. | Ilambda_michelson of type_ * type_ * obj_micheline
  16. | Izop of z_operator
  17. | Iunop of un_operator * instruction
  18. | Ibinop of bin_operator * instruction * instruction
  19. | Iterop of ter_operator * instruction * instruction * instruction
  20. | Iupdate of ukind * aoperator
  21. | Iconst of type_ * data
  22. | Icompare of cmp_operator * instruction * instruction
  23. | Iset of type_ * instruction list
  24. | Ilist of type_ * instruction list
  25. | Imap of bool * type_ * type_ * (instruction * instruction) list
  26. | Irecord of ritem
  27. | Irecupdate of instruction * ruitem
  28. | Imap_ of instruction * Ident.ident * instruction
  29. | Ifold of Ident.ident * Ident.ident option * Ident.ident * instruction * instruction * instruction
  30. | Ireverse of type_ * instruction
  31. | Imichelson of instruction list * code * Ident.ident list
  32. | Iwildcard of type_ * Ident.ident
  33. | Ireplace of Ident.ident * Ident.ident * klv * instruction
  34. | Ireadticket of instruction
  35. | Imicheline of obj_micheline * type_ list * instruction list
  36. | Irep of Ident.ident * klv
and instruction = {
  1. node : instruction_node;
  2. loc : Location.t option;
}
and ritem =
  1. | Rtuple of instruction list
  2. | Rnodes of ritem list
and ruitem =
  1. | RUnodes of int * (int * ruitem) list
  2. | RUassign of int * (int * instruction) list
and aoperator =
  1. | Aunop of un_operator
  2. | Abinop of bin_operator * instruction
  3. | Aterop of ter_operator * instruction * instruction
and ukind =
  1. | Uvar of Ident.ident
  2. | Urec of Ident.ident * (int * int) list
val pp_data : Ppx_deriving_runtime.Format.formatter -> data -> Ppx_deriving_runtime.unit
val pp_code_node : Ppx_deriving_runtime.Format.formatter -> code_node -> Ppx_deriving_runtime.unit
val show_code_node : code_node -> Ppx_deriving_runtime.string
val pp_stack_item : Ppx_deriving_runtime.Format.formatter -> stack_item -> Ppx_deriving_runtime.unit
val show_stack_item : stack_item -> Ppx_deriving_runtime.string
val pp_stack : Ppx_deriving_runtime.Format.formatter -> stack -> Ppx_deriving_runtime.unit
val pp_decl_bound : Ppx_deriving_runtime.Format.formatter -> decl_bound -> Ppx_deriving_runtime.unit
val show_decl_bound : decl_bound -> Ppx_deriving_runtime.string
val pp_debug : Ppx_deriving_runtime.Format.formatter -> debug -> Ppx_deriving_runtime.unit
val pp_code : Ppx_deriving_runtime.Format.formatter -> code -> Ppx_deriving_runtime.unit
val pp_z_operator : Ppx_deriving_runtime.Format.formatter -> z_operator -> Ppx_deriving_runtime.unit
val show_z_operator : z_operator -> Ppx_deriving_runtime.string
val pp_un_operator : Ppx_deriving_runtime.Format.formatter -> un_operator -> Ppx_deriving_runtime.unit
val show_un_operator : un_operator -> Ppx_deriving_runtime.string
val pp_bin_operator : Ppx_deriving_runtime.Format.formatter -> bin_operator -> Ppx_deriving_runtime.unit
val show_bin_operator : bin_operator -> Ppx_deriving_runtime.string
val pp_ter_operator : Ppx_deriving_runtime.Format.formatter -> ter_operator -> Ppx_deriving_runtime.unit
val show_ter_operator : ter_operator -> Ppx_deriving_runtime.string
val pp_g_operator : Ppx_deriving_runtime.Format.formatter -> g_operator -> Ppx_deriving_runtime.unit
val show_g_operator : g_operator -> Ppx_deriving_runtime.string
val pp_cmp_operator : Ppx_deriving_runtime.Format.formatter -> cmp_operator -> Ppx_deriving_runtime.unit
val show_cmp_operator : cmp_operator -> Ppx_deriving_runtime.string
val pp_builtin : Ppx_deriving_runtime.Format.formatter -> builtin -> Ppx_deriving_runtime.unit
val show_builtin : builtin -> Ppx_deriving_runtime.string
val pp_klv : Ppx_deriving_runtime.Format.formatter -> klv -> Ppx_deriving_runtime.unit
val pp_access_item : Ppx_deriving_runtime.Format.formatter -> access_item -> Ppx_deriving_runtime.unit
val show_access_item : access_item -> Ppx_deriving_runtime.string
val pp_access_value : Ppx_deriving_runtime.Format.formatter -> access_value -> Ppx_deriving_runtime.unit
val show_access_value : access_value -> Ppx_deriving_runtime.string
val pp_instruction_node : Ppx_deriving_runtime.Format.formatter -> instruction_node -> Ppx_deriving_runtime.unit
val show_instruction_node : instruction_node -> Ppx_deriving_runtime.string
val pp_instruction : Ppx_deriving_runtime.Format.formatter -> instruction -> Ppx_deriving_runtime.unit
val show_instruction : instruction -> Ppx_deriving_runtime.string
val pp_ritem : Ppx_deriving_runtime.Format.formatter -> ritem -> Ppx_deriving_runtime.unit
val pp_ruitem : Ppx_deriving_runtime.Format.formatter -> ruitem -> Ppx_deriving_runtime.unit
val show_ruitem : ruitem -> Ppx_deriving_runtime.string
val pp_aoperator : Ppx_deriving_runtime.Format.formatter -> aoperator -> Ppx_deriving_runtime.unit
val show_aoperator : aoperator -> Ppx_deriving_runtime.string
val pp_ukind : Ppx_deriving_runtime.Format.formatter -> ukind -> Ppx_deriving_runtime.unit
type implem =
  1. | Concrete of (Ident.ident * type_) list * instruction
  2. | Abstract of builtin
val pp_implem : Ppx_deriving_runtime.Format.formatter -> implem -> Ppx_deriving_runtime.unit
val show_implem : implem -> Ppx_deriving_runtime.string
type ctx_func = {
  1. args : (Ident.ident * type_) list;
  2. stovars : Ident.ident list;
}
val pp_ctx_func : Ppx_deriving_runtime.Format.formatter -> ctx_func -> Ppx_deriving_runtime.unit
val show_ctx_func : ctx_func -> Ppx_deriving_runtime.string
type func = {
  1. name : Ident.ident;
  2. targ : type_;
  3. tret : type_;
  4. ctx : ctx_func;
  5. body : implem;
  6. loc : Location.t;
}
val pp_func : Ppx_deriving_runtime.Format.formatter -> func -> Ppx_deriving_runtime.unit
type entry = {
  1. name : Ident.ident;
  2. args : (Ident.ident * type_) list;
  3. eargs : (Ident.ident * type_) list;
  4. body : instruction;
  5. loc : Location.t;
}
val pp_entry : Ppx_deriving_runtime.Format.formatter -> entry -> Ppx_deriving_runtime.unit
type ir = {
  1. name : Ident.ident;
  2. storage_type : type_;
  3. storage_data : data;
  4. storage_list : (Ident.ident * type_ * data) list;
  5. with_operations : bool;
  6. parameter : type_;
  7. funs : func list;
  8. views : func list;
  9. offchain_views : func list;
  10. entries : entry list;
  11. parameters : Ident.ident list;
}
val pp_ir : Ppx_deriving_runtime.Format.formatter -> ir -> Ppx_deriving_runtime.unit
type view_struct = {
  1. id : Ident.ident;
  2. param : type_;
  3. ret : type_;
  4. body : code;
}
val pp_view_struct : Ppx_deriving_runtime.Format.formatter -> view_struct -> Ppx_deriving_runtime.unit
val show_view_struct : view_struct -> Ppx_deriving_runtime.string
type michelson = {
  1. storage : type_;
  2. parameter : type_;
  3. code : code;
  4. views : view_struct list;
  5. parameters : Ident.ident list;
}
val pp_michelson : Ppx_deriving_runtime.Format.formatter -> michelson -> Ppx_deriving_runtime.unit
val show_michelson : michelson -> Ppx_deriving_runtime.string
type micheline = {
  1. code : obj_micheline list;
  2. storage : obj_micheline;
  3. parameters : Ident.ident list;
  4. views : obj_micheline list;
}
val pp_micheline : Ppx_deriving_runtime.Format.formatter -> micheline -> Ppx_deriving_runtime.unit
val show_micheline : micheline -> Ppx_deriving_runtime.string
type annotation_struct = {
  1. name : string;
  2. description : string;
}
val pp_annotation_struct : Ppx_deriving_runtime.Format.formatter -> annotation_struct -> Ppx_deriving_runtime.unit
val show_annotation_struct : annotation_struct -> Ppx_deriving_runtime.string
type michelson_storage_view_struct = {
  1. code : obj_micheline;
  2. parameter : obj_micheline option;
  3. returnType : obj_micheline option;
  4. annotations : annotation_struct list;
  5. version : string option;
}
val pp_michelson_storage_view_struct : Ppx_deriving_runtime.Format.formatter -> michelson_storage_view_struct -> Ppx_deriving_runtime.unit
val show_michelson_storage_view_struct : michelson_storage_view_struct -> Ppx_deriving_runtime.string
type rest_api_query_struct = {
  1. specificationUri : string;
  2. baseUri : string;
  3. path : string;
}
val pp_rest_api_query_struct : Ppx_deriving_runtime.Format.formatter -> rest_api_query_struct -> Ppx_deriving_runtime.unit
val show_rest_api_query_struct : rest_api_query_struct -> Ppx_deriving_runtime.string
type offchain_view_implem_kind =
  1. | OVIKMichelsonStorageView of michelson_storage_view_struct
  2. | OVIKRestApiQuery of rest_api_query_struct
val pp_offchain_view_implem_kind : Ppx_deriving_runtime.Format.formatter -> offchain_view_implem_kind -> Ppx_deriving_runtime.unit
val show_offchain_view_implem_kind : offchain_view_implem_kind -> Ppx_deriving_runtime.string
type offchain_view = {
  1. name : Ident.ident;
  2. implementations : offchain_view_implem_kind list;
}
val pp_offchain_view : Ppx_deriving_runtime.Format.formatter -> offchain_view -> Ppx_deriving_runtime.unit
val show_offchain_view : offchain_view -> Ppx_deriving_runtime.string
val mk_type : ?annotation:Ident.ident -> type_node -> type_
val taddress : type_
val tbig_map : type_ -> type_ -> type_
val tbool : type_
val tbytes : type_
val tchain_id : type_
val tcontract : type_ -> type_
val tint : type_
val tkey : type_
val tkey_hash : type_
val tlambda : type_ -> type_ -> type_
val tlist : type_ -> type_
val tmap : type_ -> type_ -> type_
val tmutez : type_
val tnat : type_
val toperation : type_
val toption : type_ -> type_
val tor : type_ -> type_ -> type_
val tpair : type_ list -> type_
val tset : type_ -> type_
val tsignature : type_
val tstring : type_
val ttimestamp : type_
val tunit : type_
val tticket : type_ -> type_
val tsapling_state : int -> type_
val tsapling_transaction : int -> type_
val tbls12_381_fr : type_
val tbls12_381_g1 : type_
val tbls12_381_g2 : type_
val tnever : type_
val tchest : type_
val tchest_key : type_
val trat : type_
type dvar = [
  1. | `VLocal of type_ * int
  2. | `VGlobal of type_ * Ident.ident
]
and dexpr_node =
  1. | Dvar of dvar
  2. | Depair of dexpr * dexpr
  3. | Ddata of type_ * data
  4. | Dfun of g_operator * dexpr list
and dexpr = {
  1. node : dexpr_node;
  2. type_ : type_;
}
val pp_dvar : Ppx_deriving_runtime.Format.formatter -> dvar -> Ppx_deriving_runtime.unit
val pp_dexpr_node : Ppx_deriving_runtime.Format.formatter -> dexpr_node -> Ppx_deriving_runtime.unit
val show_dexpr_node : dexpr_node -> Ppx_deriving_runtime.string
val pp_dexpr : Ppx_deriving_runtime.Format.formatter -> dexpr -> Ppx_deriving_runtime.unit
val mk_dexpr : type_ -> dexpr_node -> dexpr
val ty_of_dvar : dvar -> type_
val dvar : dvar -> dexpr
val depair : dexpr -> dexpr -> dexpr
val ddata : type_ -> data -> dexpr
val dfun : type_ -> g_operator -> dexpr list -> dexpr
type dinstr =
  1. | DIAssign of dvar * dexpr
  2. | DIIf of dexpr * dcode * dcode
  3. | DIMatch of dexpr * (Ident.ident * dpattern list * dcode) list
  4. | DIFailwith of dexpr
  5. | DIWhile of dexpr * dcode
  6. | DIIter of dvar * dexpr * dcode
  7. | DILoop of dvar * dcode
and dpattern =
  1. | DVar of type_ * int
  2. | DPair of dpattern * dpattern
and dcode = dinstr list
val pp_dinstr : Ppx_deriving_runtime.Format.formatter -> dinstr -> Ppx_deriving_runtime.unit
val show_dinstr : dinstr -> Ppx_deriving_runtime.string
val pp_dpattern : Ppx_deriving_runtime.Format.formatter -> dpattern -> Ppx_deriving_runtime.unit
val show_dpattern : dpattern -> Ppx_deriving_runtime.string
val pp_dcode : Ppx_deriving_runtime.Format.formatter -> dcode -> Ppx_deriving_runtime.unit
type dprogram = {
  1. name : Ident.ident;
  2. storage : type_;
  3. parameter : type_;
  4. storage_data : data;
  5. code : dcode;
  6. procs : (string * (string * type_) list * dcode) list;
}
val pp_dprogram : Ppx_deriving_runtime.Format.formatter -> dprogram -> Ppx_deriving_runtime.unit
val show_dprogram : dprogram -> Ppx_deriving_runtime.string
type rstack1 = [
  1. | dvar
  2. | `Paired of rstack1 * rstack1
]
val pp_rstack1 : Ppx_deriving_runtime.Format.formatter -> rstack1 -> Ppx_deriving_runtime.unit
val show_rstack1 : rstack1 -> Ppx_deriving_runtime.string
type rstack = rstack1 list
val pp_rstack : Ppx_deriving_runtime.Format.formatter -> rstack -> Ppx_deriving_runtime.unit
val show_rstack : rstack -> Ppx_deriving_runtime.string
val ty_of_rstack1 : rstack1 -> type_
val mk_ctx_func : ?args:(Ident.ident * type_) list -> ?stovars:Ident.ident list -> 'a -> ctx_func
val mk_code : ?type_:type_ list -> ?debug:debug -> code_node -> code
val mk_func : Ident.ident -> type_ -> type_ -> ctx_func -> implem -> Location.t -> func
val mk_entry : Ident.ident -> (Ident.ident * type_) list -> (Ident.ident * type_) list -> instruction -> Location.t -> entry
val mk_ir : ?parameters:Ident.ident list -> Ident.ident -> type_ -> data -> (Ident.ident * type_ * data) list -> ?with_operations:bool -> type_ -> func list -> func list -> func list -> entry list -> ir
val mk_view_struct : Ident.ident -> type_ -> type_ -> code -> view_struct
val mk_michelson : ?parameters:Ident.ident list -> type_ -> type_ -> ?views:view_struct list -> code -> michelson
val mk_prim : ?args:obj_micheline list -> ?annots:Ident.ident list -> Ident.ident -> prim
val mk_micheline : ?parameters:Ident.ident list -> ?views:obj_micheline list -> obj_micheline list -> obj_micheline -> micheline
val mk_dprogram : ?procs:(string * (string * type_) list * dcode) list -> type_ -> type_ -> data -> Ident.ident -> dcode -> dprogram
val mk_instruction : ?loc:Location.t -> instruction_node -> instruction
val iseq : ?loc:Location.t -> instruction list -> instruction
val iletIn : ?loc:Location.t -> Ident.ident list -> instruction -> instruction -> bool -> instruction
val ivar_access : ?loc:Location.t -> access_value -> instruction
val icall : ?loc:Location.t -> Ident.ident -> instruction list -> bool -> instruction
val iassign : ?loc:Location.t -> Ident.ident -> instruction -> instruction
val iassigntuple : ?loc:Location.t -> Ident.ident -> int -> int -> instruction -> instruction
val iloop : ?loc:Location.t -> instruction -> instruction -> instruction
val iiter : ?loc:Location.t -> Ident.ident list -> instruction -> instruction -> instruction
val iloopleft : ?loc:Location.t -> instruction -> Ident.ident -> instruction -> instruction
val ilambda : ?loc:Location.t -> type_ -> Ident.ident -> type_ -> instruction -> instruction
val ilambda_michelson : ?loc:Location.t -> type_ -> type_ -> obj_micheline -> instruction
val izop : ?loc:Location.t -> z_operator -> instruction
val iunop : ?loc:Location.t -> un_operator -> instruction -> instruction
val iupdate : ?loc:Location.t -> ukind -> aoperator -> instruction
val iconst : ?loc:Location.t -> type_ -> data -> instruction
val iset : ?loc:Location.t -> type_ -> instruction list -> instruction
val ilist : ?loc:Location.t -> type_ -> instruction list -> instruction
val imap : ?loc:Location.t -> bool -> type_ -> type_ -> (instruction * instruction) list -> instruction
val irecord : ?loc:Location.t -> ritem -> instruction
val irecupdate : ?loc:Location.t -> instruction -> ruitem -> instruction
val ireverse : ?loc:Location.t -> type_ -> instruction -> instruction
val imichelson : ?loc:Location.t -> instruction list -> code -> Ident.ident list -> instruction
val iwildcard : ?loc:Location.t -> type_ -> Ident.ident -> instruction
val ireplace : ?loc:Location.t -> Ident.ident -> Ident.ident -> klv -> instruction -> instruction
val ireadticket : ?loc:Location.t -> instruction -> instruction
val imicheline : ?loc:Location.t -> obj_micheline -> type_ list -> instruction list -> instruction
val irep : ?loc:Location.t -> Ident.ident -> klv -> instruction
val ivar : ?loc:Location.t -> Ident.ident -> instruction
val itrue : ?loc:Location.t -> 'a -> instruction
val ifalse : ?loc:Location.t -> 'a -> instruction
val iint : ?loc:Location.t -> Core.big_int -> instruction
val inat : ?loc:Location.t -> Core.big_int -> instruction
val istring : ?loc:Location.t -> string -> instruction
val imutez : ?loc:Location.t -> Core.big_int -> instruction
val isome : ?loc:Location.t -> instruction -> instruction
val inone : ?loc:Location.t -> type_ -> instruction
val iunit : ?loc:Location.t -> 'a -> instruction
val inil : ?loc:Location.t -> type_ -> instruction
val iemptyset : ?loc:Location.t -> type_ -> instruction
val iemptymap : ?loc:Location.t -> type_ -> type_ -> instruction
val iemptybigmap : ?loc:Location.t -> type_ -> type_ -> instruction
val icar : ?loc:Location.t -> instruction -> instruction
val icdr : ?loc:Location.t -> instruction -> instruction
val ifail : ?loc:Location.t -> string -> instruction
val ifaild : ?loc:Location.t -> instruction -> instruction
val iskip : ?loc:Location.t -> 'a -> instruction
val ileft : ?loc:Location.t -> type_ -> instruction -> instruction
val iright : ?loc:Location.t -> type_ -> instruction -> instruction
val isub_mutez : ?loc:Location.t -> instruction -> instruction -> instruction
val iediv : ?loc:Location.t -> instruction -> instruction -> instruction
val isrecord : ?loc:Location.t -> instruction list -> instruction
val ipair : ?loc:Location.t -> instruction -> instruction -> instruction
val icarn : ?loc:Location.t -> int -> instruction -> instruction
val icdrn : ?loc:Location.t -> int -> instruction -> instruction
val cseq : ?debug:debug -> code list -> code
val capply : ?debug:debug -> 'a -> code
val cexec : ?debug:debug -> 'a -> code
val cfailwith : ?debug:debug -> 'a -> code
val cif : ?debug:debug -> (code list * code list) -> code
val cifcons : ?debug:debug -> (code list * code list) -> code
val cifleft : ?debug:debug -> (code list * code list) -> code
val cifnone : ?debug:debug -> (code list * code list) -> code
val citer : ?debug:debug -> code list -> code
val clambda : ?debug:debug -> (type_ * type_ * code list) -> code
val cloop : ?debug:debug -> code list -> code
val cloop_left : ?debug:debug -> code list -> code
val cdig : ?debug:debug -> int -> code
val cdip : ?debug:debug -> (int * code list) -> code
val cdrop : ?debug:debug -> int -> code
val cdug : ?debug:debug -> int -> code
val cdup : ?debug:debug -> 'a -> code
val cdup_n : ?debug:debug -> int -> code
val cpush : ?debug:debug -> (type_ * data) -> code
val cswap : ?debug:debug -> 'a -> code
val cabs : ?debug:debug -> 'a -> code
val cadd : ?debug:debug -> 'a -> code
val ccompare : ?debug:debug -> 'a -> code
val cediv : ?debug:debug -> 'a -> code
val ceq : ?debug:debug -> 'a -> code
val cge : ?debug:debug -> 'a -> code
val cgt : ?debug:debug -> 'a -> code
val cnat : ?debug:debug -> 'a -> code
val cint : ?debug:debug -> 'a -> code
val cbytes : ?debug:debug -> 'a -> code
val cisnat : ?debug:debug -> 'a -> code
val cle : ?debug:debug -> 'a -> code
val clsl : ?debug:debug -> 'a -> code
val clsr : ?debug:debug -> 'a -> code
val clt : ?debug:debug -> 'a -> code
val cmul : ?debug:debug -> 'a -> code
val cneg : ?debug:debug -> 'a -> code
val cneq : ?debug:debug -> 'a -> code
val csub : ?debug:debug -> 'a -> code
val csub_mutez : ?debug:debug -> 'a -> code
val cand : ?debug:debug -> 'a -> code
val cnot : ?debug:debug -> 'a -> code
val cor : ?debug:debug -> 'a -> code
val cxor : ?debug:debug -> 'a -> code
val cblake2b : ?debug:debug -> 'a -> code
val ccheck_signature : ?debug:debug -> 'a -> code
val chash_key : ?debug:debug -> 'a -> code
val ckeccak : ?debug:debug -> 'a -> code
val cpairing_check : ?debug:debug -> 'a -> code
val csapling_empty_state : ?debug:debug -> int -> code
val csapling_verify_update : ?debug:debug -> 'a -> code
val csha256 : ?debug:debug -> 'a -> code
val csha512 : ?debug:debug -> 'a -> code
val csha3 : ?debug:debug -> 'a -> code
val caddress : ?debug:debug -> 'a -> code
val camount : ?debug:debug -> 'a -> code
val cbalance : ?debug:debug -> 'a -> code
val cchain_id : ?debug:debug -> 'a -> code
val ccontract : ?debug:debug -> (type_ * Ident.ident option) -> code
val cemit : ?debug:debug -> (type_ * Ident.ident option) -> code
val cimplicit_account : ?debug:debug -> 'a -> code
val clevel : ?debug:debug -> 'a -> code
val cmin_block_time : ?debug:debug -> 'a -> code
val cnow : ?debug:debug -> 'a -> code
val cself : ?debug:debug -> Ident.ident option -> code
val cself_address : ?debug:debug -> 'a -> code
val csender : ?debug:debug -> 'a -> code
val cset_delegate : ?debug:debug -> 'a -> code
val csource : ?debug:debug -> 'a -> code
val ctotal_voting_power : ?debug:debug -> 'a -> code
val ctransfer_tokens : ?debug:debug -> 'a -> code
val cvoting_power : ?debug:debug -> 'a -> code
val ccar : ?debug:debug -> 'a -> code
val ccdr : ?debug:debug -> 'a -> code
val cconcat : ?debug:debug -> 'a -> code
val ccons : ?debug:debug -> 'a -> code
val cempty_big_map : ?debug:debug -> (type_ * type_) -> code
val cempty_map : ?debug:debug -> (type_ * type_) -> code
val cempty_set : ?debug:debug -> type_ -> code
val cget : ?debug:debug -> 'a -> code
val cget_n : ?debug:debug -> int -> code
val cget_and_update : ?debug:debug -> 'a -> code
val cleft : ?debug:debug -> type_ -> code
val cmap : ?debug:debug -> code list -> code
val cmem : ?debug:debug -> 'a -> code
val cnever : ?debug:debug -> 'a -> code
val cnil : ?debug:debug -> type_ -> code
val cnone : ?debug:debug -> type_ -> code
val cpack : ?debug:debug -> 'a -> code
val cpair : ?debug:debug -> 'a -> code
val cpair_n : ?debug:debug -> int -> code
val cright : ?debug:debug -> type_ -> code
val csize : ?debug:debug -> 'a -> code
val cslice : ?debug:debug -> 'a -> code
val csome : ?debug:debug -> 'a -> code
val cunit : ?debug:debug -> 'a -> code
val cunpair : ?debug:debug -> 'a -> code
val cunpair_n : ?debug:debug -> int -> code
val cunpack : ?debug:debug -> type_ -> code
val cupdate : ?debug:debug -> 'a -> code
val cupdate_n : ?debug:debug -> int -> code
val cjoin_tickets : ?debug:debug -> 'a -> code
val cread_ticket : ?debug:debug -> 'a -> code
val csplit_ticket : ?debug:debug -> 'a -> code
val cticket : ?debug:debug -> 'a -> code
val ccast : ?debug:debug -> type_ -> code
val crename : ?debug:debug -> 'a -> code
val cview : ?debug:debug -> (Ident.ident * type_) -> code
val copen_chest : ?debug:debug -> 'a -> code
val ccreate_contract : ?debug:debug -> obj_micheline -> code
val ccarn : ?debug:debug -> int -> code
val ccdrn : ?debug:debug -> int -> code
val ccustom : ?debug:debug -> obj_micheline -> code
val ctrue : ?debug:debug -> 'a -> code
val cfalse : ?debug:debug -> 'a -> code
val cpush_int : ?debug:debug -> Core.big_int -> code
val cpush_nat : ?debug:debug -> Core.big_int -> code
val cpush_string : ?debug:debug -> string -> code
val cfail : ?debug:debug -> string -> code
val cskip : ?debug:debug -> 'a -> code
val cmp_ident : Tools.String.t -> Tools.String.t -> bool
val cmp_type : type_ -> type_ -> bool
val cmp_data : data -> data -> bool
val cmp_z_operator : z_operator -> z_operator -> bool
val cmp_un_operator : un_operator -> un_operator -> bool
val cmp_bin_operator : bin_operator -> bin_operator -> bool
val cmp_ter_operator : ter_operator -> ter_operator -> bool
val cmp_code : code -> code -> bool
val cmp_builtin : builtin -> builtin -> bool
val map_type : (type_ -> type_) -> type_ -> type_
val normalize_type : type_ -> type_
val cmp_dvar : dvar -> dvar -> bool
val cmp_dlocal : dexpr option Stdlib.ref -> dexpr option Stdlib.ref -> bool
val cmp_dexpr_node : dexpr_node -> dexpr_node -> bool
val cmp_dexpr : dexpr -> dexpr -> bool
val map_data : (data -> data) -> data -> data
val map_code_gen : (code -> code) -> (data -> data) -> (type_ -> type_) -> code -> code
val map_code : (code -> code) -> code -> code
val map_seq : (code list -> code list) -> code -> code
module Utils : sig ... end
val to_type : obj_micheline -> type_
val param_const_check : string -> bool
val id_to_const_id : string -> string
val const_id_to_id : string -> string
val to_data : obj_micheline -> data
type tz_micheline = Micheline_printer.node
val to_tz_micheline : obj_micheline -> tz_micheline
val micheline_to_tz_micheline : micheline -> tz_micheline
val remove_seq_obj_micheline : obj_micheline -> obj_micheline list
val seek_type_from_annot : string -> type_ -> type_ option