package archetype

  1. Overview
  2. Docs
val pp_lident : Ppx_deriving_runtime.Format.formatter -> lident -> Ppx_deriving_runtime.unit
val show_lident : lident -> Ppx_deriving_runtime.string
type namespace = lident list
val pp_namespace : Ppx_deriving_runtime.Format.formatter -> namespace -> Ppx_deriving_runtime.unit
val show_namespace : namespace -> Ppx_deriving_runtime.string
type path = namespace * lident
val pp_path : Ppx_deriving_runtime.Format.formatter -> path -> Ppx_deriving_runtime.unit
type mident = path
val pp_mident : Ppx_deriving_runtime.Format.formatter -> mident -> Ppx_deriving_runtime.unit
val show_mident : mident -> Ppx_deriving_runtime.string
type currency =
  1. | Utz
val pp_currency : Ppx_deriving_runtime.Format.formatter -> currency -> Ppx_deriving_runtime.unit
val show_currency : currency -> Ppx_deriving_runtime.string
type container =
  1. | Collection
  2. | Aggregate
  3. | Partition
  4. | AssetContainer
  5. | AssetKey
  6. | AssetValue
  7. | View
val pp_container : Ppx_deriving_runtime.Format.formatter -> container -> Ppx_deriving_runtime.unit
val show_container : container -> Ppx_deriving_runtime.string
type btyp =
  1. | Bunit
  2. | Bbool
  3. | Bint
  4. | Brational
  5. | Bdate
  6. | Bduration
  7. | Btimestamp
  8. | Bstring
  9. | Baddress
  10. | Bcurrency
  11. | Bsignature
  12. | Bkey
  13. | Bkeyhash
  14. | Bbytes
  15. | Bnat
  16. | Bchainid
  17. | Bbls12_381_fr
  18. | Bbls12_381_g1
  19. | Bbls12_381_g2
  20. | Bnever
  21. | Bchest
  22. | Bchest_key
  23. | Btx_rollup_l2_address
val pp_btyp : Ppx_deriving_runtime.Format.formatter -> btyp -> Ppx_deriving_runtime.unit
type vset =
  1. | VSremoved
  2. | VSadded
  3. | VSstable
  4. | VSbefore
  5. | VSafter
  6. | VSfixed
val pp_vset : Ppx_deriving_runtime.Format.formatter -> vset -> Ppx_deriving_runtime.unit
type trtyp =
  1. | TRentry
  2. | TRaction
  3. | TRasset
  4. | TRfield
val pp_trtyp : Ppx_deriving_runtime.Format.formatter -> trtyp -> Ppx_deriving_runtime.unit
type ntype =
  1. | Tasset of mident
  2. | Tenum of mident
  3. | Tstate
  4. | Tbuiltin of btyp
  5. | Tcontainer of type_ * container
  6. | Tlist of type_
  7. | Toption of type_
  8. | Ttuple of type_ list
  9. | Tset of type_
  10. | Tmap of type_ * type_
  11. | Tbig_map of type_ * type_
  12. | Titerable_big_map of type_ * type_
  13. | Tor of type_ * type_
  14. | Trecord of mident
  15. | Tevent of mident
  16. | Tlambda of type_ * type_
  17. | Tunit
  18. | Tstorage
  19. | Toperation
  20. | Tcontract of type_
  21. | Tprog of type_
  22. | Tvset of vset * type_
  23. | Ttrace of trtyp
  24. | Tticket of type_
  25. | Tsapling_state of int
  26. | Tsapling_transaction of int
and type_ = ntype * lident option
val pp_ntype : Ppx_deriving_runtime.Format.formatter -> ntype -> Ppx_deriving_runtime.unit
val pp_type_ : Ppx_deriving_runtime.Format.formatter -> type_ -> Ppx_deriving_runtime.unit
type pattern_node =
  1. | Pwild
  2. | Pconst of mident * lident list
val pp_pattern_node : Ppx_deriving_runtime.Format.formatter -> pattern_node -> Ppx_deriving_runtime.unit
val show_pattern_node : pattern_node -> Ppx_deriving_runtime.string
type pattern = {
  1. node : pattern_node;
  2. loc : Location.t;
}
val pp_pattern : Ppx_deriving_runtime.Format.formatter -> pattern -> Ppx_deriving_runtime.unit
val show_pattern : pattern -> Ppx_deriving_runtime.string
type for_ident =
  1. | FIsimple of mident
  2. | FIdouble of mident * mident
val pp_for_ident : Ppx_deriving_runtime.Format.formatter -> for_ident -> Ppx_deriving_runtime.unit
val show_for_ident : for_ident -> Ppx_deriving_runtime.string
type comparison_operator =
  1. | Gt
  2. | Ge
  3. | Lt
  4. | Le
val pp_comparison_operator : Ppx_deriving_runtime.Format.formatter -> comparison_operator -> Ppx_deriving_runtime.unit
val show_comparison_operator : comparison_operator -> Ppx_deriving_runtime.string
type rat_arith_op =
  1. | Rplus
  2. | Rminus
  3. | Rmult
  4. | Rdiv
val pp_rat_arith_op : Ppx_deriving_runtime.Format.formatter -> rat_arith_op -> Ppx_deriving_runtime.unit
val show_rat_arith_op : rat_arith_op -> Ppx_deriving_runtime.string
type assignment_operator =
  1. | ValueAssign
  2. | PlusAssign
  3. | MinusAssign
  4. | MultAssign
  5. | DivAssign
  6. | AndAssign
  7. | OrAssign
val pp_assignment_operator : Ppx_deriving_runtime.Format.formatter -> assignment_operator -> Ppx_deriving_runtime.unit
val show_assignment_operator : assignment_operator -> Ppx_deriving_runtime.string
type sort_kind =
  1. | SKasc
  2. | SKdesc
val pp_sort_kind : Ppx_deriving_runtime.Format.formatter -> sort_kind -> Ppx_deriving_runtime.unit
val show_sort_kind : sort_kind -> Ppx_deriving_runtime.string
type 'term assign_kind_gen =
  1. | Avar of mident
  2. | Avarstore of mident
  3. | Aasset of mident * mident * 'term
  4. | Arecord of 'term * mident * mident
  5. | Atuple of 'term * int * int
  6. | Astate
  7. | Aassetstate of Ident.ident * 'term
  8. | Aoperations
val pp_assign_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'term assign_kind_gen -> Ppx_deriving_runtime.unit
val show_assign_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> 'term assign_kind_gen -> Ppx_deriving_runtime.string
type 'term var_kind_gen =
  1. | Vassetstate of 'term
  2. | Vstorevar
  3. | Vstorecol
  4. | Vdefinition
  5. | Vlocal
  6. | Vparam
  7. | Vfield
  8. | Vstate
  9. | Vthe
  10. | Vparameter
val pp_var_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'term var_kind_gen -> Ppx_deriving_runtime.unit
val show_var_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> 'term var_kind_gen -> Ppx_deriving_runtime.string
type temp =
  1. | Tbefore
  2. | Tat of Ident.ident
  3. | Tnone
val pp_temp : Ppx_deriving_runtime.Format.formatter -> temp -> Ppx_deriving_runtime.unit
type delta =
  1. | Dadded
  2. | Dremoved
  3. | Dunmoved
  4. | Dnone
val pp_delta : Ppx_deriving_runtime.Format.formatter -> delta -> Ppx_deriving_runtime.unit
type 'term container_kind_gen =
  1. | CKcoll of temp * delta
  2. | CKview of 'term
  3. | CKfield of Ident.ident * Ident.ident * 'term * temp * delta
  4. | CKdef of Ident.ident
val pp_container_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'term container_kind_gen -> Ppx_deriving_runtime.unit
val show_container_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> 'term container_kind_gen -> Ppx_deriving_runtime.string
type 'term iter_container_kind_gen =
  1. | ICKcoll of Ident.ident
  2. | ICKview of 'term
  3. | ICKfield of Ident.ident * Ident.ident * 'term
  4. | ICKset of 'term
  5. | ICKlist of 'term
  6. | ICKmap of 'term
val pp_iter_container_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'term iter_container_kind_gen -> Ppx_deriving_runtime.unit
val show_iter_container_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> 'term iter_container_kind_gen -> Ppx_deriving_runtime.string
type 'term transfer_kind_gen =
  1. | TKsimple of 'term * 'term
  2. | TKcall of 'term * Ident.ident * type_ * 'term * 'term
  3. | TKentry of 'term * 'term * 'term
  4. | TKgen of 'term * Ident.ident * Ident.ident * type_ * 'term * 'term
  5. | TKself of 'term * Ident.ident * (Ident.ident * 'term) list
  6. | TKoperation of 'term
val pp_transfer_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'term transfer_kind_gen -> Ppx_deriving_runtime.unit
val show_transfer_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> 'term transfer_kind_gen -> Ppx_deriving_runtime.string
type map_kind =
  1. | MKMap
  2. | MKBigMap
  3. | MKIterableBigMap
val pp_map_kind : Ppx_deriving_runtime.Format.formatter -> map_kind -> Ppx_deriving_runtime.unit
val show_map_kind : map_kind -> Ppx_deriving_runtime.string
type michelson_struct = {
  1. ms_content : Michelson.obj_micheline;
}
val pp_michelson_struct : Ppx_deriving_runtime.Format.formatter -> michelson_struct -> Ppx_deriving_runtime.unit
val show_michelson_struct : michelson_struct -> Ppx_deriving_runtime.string
type 'term detach_kind_gen =
  1. | DK_option of type_ * Ident.ident
  2. | DK_map of type_ * Ident.ident * 'term
val pp_detach_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'term detach_kind_gen -> Ppx_deriving_runtime.unit
val show_detach_kind_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> 'term detach_kind_gen -> Ppx_deriving_runtime.string
type 'term letin_value_gen =
  1. | LVsimple of 'term
  2. | LVreplace of mident * 'term detach_kind_gen * 'term
val pp_letin_value_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'term letin_value_gen -> Ppx_deriving_runtime.unit
val show_letin_value_gen : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> 'term letin_value_gen -> Ppx_deriving_runtime.string
type 'term mterm_node =
  1. | Mletin of mident list * 'term letin_value_gen * type_ option * 'term * 'term option
  2. | Mdeclvar of mident list * type_ option * 'term * bool
  3. | Mdeclvaropt of mident list * type_ option * 'term * 'term option * bool
  4. | Mapp of mident * 'term list
  5. | Massign of assignment_operator * type_ * 'term assign_kind_gen * 'term
  6. | Massignopt of assignment_operator * type_ * 'term assign_kind_gen * 'term * 'term
  7. | Mif of 'term * 'term * 'term option
  8. | Mmatchwith of 'term * (pattern * 'term) list
  9. | Minstrmatchoption of 'term * mident * 'term * 'term
  10. | Minstrmatchor of 'term * mident * 'term * mident * 'term
  11. | Minstrmatchlist of 'term * mident * mident * 'term * 'term
  12. | Mfor of for_ident * 'term iter_container_kind_gen * 'term * Ident.ident option
  13. | Miter of mident * 'term * 'term * 'term * Ident.ident option * bool
  14. | Mwhile of 'term * 'term * Ident.ident option
  15. | Mseq of 'term list
  16. | Mreturn of 'term
  17. | Mlabel of mident
  18. | Mmark of mident * 'term
  19. | Mfail of fail_type
  20. | Mfailsome of 'term
  21. | Mtransfer of 'term transfer_kind_gen
  22. | Memit of mident * 'term
  23. | Mdetach of mident * 'term detach_kind_gen * type_ * 'term
  24. | Mgetentrypoint of type_ * mident * 'term
  25. | Mcallview of type_ * 'term * mident * 'term
  26. | Mimportcallview of type_ * 'term * mident * 'term
  27. | Mself of mident
  28. | Moperations
  29. | Mmakeoperation of 'term * 'term * 'term
  30. | Mmakeevent of type_ * mident * 'term
  31. | Mcreatecontract of michelson_struct * 'term * 'term * 'term
  32. | Mint of Core.big_int
  33. | Mnat of Core.big_int
  34. | Mbool of bool
  35. | Mrational of Core.big_int * Core.big_int
  36. | Mstring of string
  37. | Mcurrency of Core.big_int * currency
  38. | Maddress of string
  39. | Mtx_rollup_l2_address of string
  40. | Mdate of Core.date
  41. | Mduration of Core.duration
  42. | Mtimestamp of Core.big_int
  43. | Mbytes of string
  44. | Mchain_id of string
  45. | Mkey of string
  46. | Mkey_hash of string
  47. | Msignature of string
  48. | Mbls12_381_fr of string
  49. | Mbls12_381_fr_n of Core.big_int
  50. | Mbls12_381_g1 of string
  51. | Mbls12_381_g2 of string
  52. | Munit
  53. | MsaplingStateEmpty of int
  54. | MsaplingTransaction of int * string
  55. | Mchest of string
  56. | Mchest_key of string
  57. | Mexprif of 'term * 'term * 'term
  58. | Mexprmatchwith of 'term * (pattern * 'term) list
  59. | Mmatchoption of 'term * mident * 'term * 'term
  60. | Mmatchor of 'term * mident * 'term * mident * 'term
  61. | Mmatchlist of 'term * mident * mident * 'term * 'term
  62. | Mternarybool of 'term * 'term * 'term
  63. | Mternaryoption of 'term * 'term * 'term
  64. | Mfold of 'term * mident * 'term
  65. | Mmap of 'term * mident * 'term
  66. | Mexeclambda of 'term * 'term
  67. | Mapplylambda of 'term * 'term
  68. | Mleft of type_ * 'term
  69. | Mright of type_ * 'term
  70. | Mnone
  71. | Msome of 'term
  72. | Mtuple of 'term list
  73. | Masset of 'term list
  74. | Massets of 'term list
  75. | Mlitset of 'term list
  76. | Mlitlist of 'term list
  77. | Mlitmap of map_kind * ('term * 'term) list
  78. | Mlitrecord of (Ident.ident * 'term) list
  79. | Mlitevent of (Ident.ident * 'term) list
  80. | Mlambda of type_ * mident * type_ * 'term
  81. | Mdot of 'term * mident
  82. | Mdotassetfield of mident * 'term * mident
  83. | Mquestionoption of 'term * mident
  84. | Mequal of type_ * 'term * 'term
  85. | Mnequal of type_ * 'term * 'term
  86. | Mgt of 'term * 'term
  87. | Mge of 'term * 'term
  88. | Mlt of 'term * 'term
  89. | Mle of 'term * 'term
  90. | Mmulticomp of 'term * (comparison_operator * 'term) list
  91. | Mand of 'term * 'term
  92. | Mor of 'term * 'term
  93. | Mgreedyand of 'term * 'term
  94. | Mgreedyor of 'term * 'term
  95. | Mxor of 'term * 'term
  96. | Mnot of 'term
  97. | Mplus of 'term * 'term
  98. | Mminus of 'term * 'term
  99. | Mmult of 'term * 'term
  100. | Mdivrat of 'term * 'term
  101. | Mdiveuc of 'term * 'term
  102. | Mmodulo of 'term * 'term
  103. | Mdivmod of 'term * 'term
  104. | Muminus of 'term
  105. | MthreeWayCmp of 'term * 'term
  106. | Mshiftleft of 'term * 'term
  107. | Mshiftright of 'term * 'term
  108. | Msubnat of 'term * 'term
  109. | Msubmutez of 'term * 'term
  110. | Maddasset of Ident.ident * 'term
  111. | Mputsingleasset of Ident.ident * 'term
  112. | Mputasset of Ident.ident * 'term * 'term
  113. | Maddfield of Ident.ident * Ident.ident * 'term * 'term
  114. | Mremoveasset of Ident.ident * 'term
  115. | Mremovefield of Ident.ident * Ident.ident * 'term * 'term
  116. | Mremoveall of Ident.ident * 'term container_kind_gen
  117. | Mremoveif of Ident.ident * 'term container_kind_gen * (Ident.ident * type_) list * 'term * 'term list
  118. | Mclear of Ident.ident * 'term container_kind_gen
  119. | Mset of Ident.ident * Ident.ident list * 'term * 'term
  120. | Mupdate of Ident.ident * 'term * (mident * assignment_operator * 'term) list
  121. | Mupdateall of Ident.ident * 'term container_kind_gen * (mident * assignment_operator * 'term) list
  122. | Maddupdate of Ident.ident * 'term container_kind_gen * 'term * (mident * assignment_operator * 'term) list
  123. | Mputremove of Ident.ident * 'term container_kind_gen * 'term * 'term
  124. | Mget of Ident.ident * 'term container_kind_gen * 'term
  125. | Mgetsome of Ident.ident * 'term container_kind_gen * 'term
  126. | Mselect of Ident.ident * 'term container_kind_gen * (Ident.ident * type_) list * 'term * 'term list
  127. | Msort of Ident.ident * 'term container_kind_gen * (Ident.ident * sort_kind) list
  128. | Mcontains of Ident.ident * 'term container_kind_gen * 'term
  129. | Mnth of Ident.ident * 'term container_kind_gen * 'term
  130. | Mcount of Ident.ident * 'term container_kind_gen
  131. | Msum of Ident.ident * 'term container_kind_gen * 'term
  132. | Mhead of Ident.ident * 'term container_kind_gen * 'term
  133. | Mtail of Ident.ident * 'term container_kind_gen * 'term
  134. | Mcast of type_ * type_ * 'term
  135. | Mtupleaccess of 'term * Core.big_int
  136. | Mrecupdate of 'term * (Ident.ident * 'term) list
  137. | Mmakeasset of Ident.ident * 'term * 'term
  138. | Mtocontainer of Ident.ident
  139. | Msetadd of type_ * 'term * 'term
  140. | Msetremove of type_ * 'term * 'term
  141. | Msetupdate of type_ * 'term * 'term * 'term
  142. | Msetcontains of type_ * 'term * 'term
  143. | Msetlength of type_ * 'term
  144. | Msetfold of type_ * mident * mident * 'term * 'term * 'term
  145. | Msetinstradd of type_ * 'term assign_kind_gen * 'term
  146. | Msetinstrremove of type_ * 'term assign_kind_gen * 'term
  147. | Mlistprepend of type_ * 'term * 'term
  148. | Mlistlength of type_ * 'term
  149. | Mlistcontains of type_ * 'term * 'term
  150. | Mlistnth of type_ * 'term * 'term
  151. | Mlisthead of type_ * 'term * 'term
  152. | Mlisttail of type_ * 'term * 'term
  153. | Mlistreverse of type_ * 'term
  154. | Mlistconcat of type_ * 'term * 'term
  155. | Mlistfold of type_ * mident * mident * 'term * 'term * 'term
  156. | Mlistinstrprepend of type_ * 'term assign_kind_gen * 'term
  157. | Mlistinstrconcat of type_ * 'term assign_kind_gen * 'term
  158. | Mmapput of map_kind * type_ * type_ * 'term * 'term * 'term
  159. | Mmapremove of map_kind * type_ * type_ * 'term * 'term
  160. | Mmapupdate of map_kind * type_ * type_ * 'term * 'term * 'term
  161. | Mmapget of map_kind * type_ * type_ * 'term * 'term * Ident.ident option
  162. | Mmapgetopt of map_kind * type_ * type_ * 'term * 'term
  163. | Mmapcontains of map_kind * type_ * type_ * 'term * 'term
  164. | Mmaplength of map_kind * type_ * type_ * 'term
  165. | Mmapfold of map_kind * type_ * mident * mident * mident * 'term * 'term * 'term
  166. | Mmapinstrput of map_kind * type_ * type_ * 'term assign_kind_gen * 'term * 'term
  167. | Mmapinstrremove of map_kind * type_ * type_ * 'term assign_kind_gen * 'term
  168. | Mmapinstrupdate of map_kind * type_ * type_ * 'term assign_kind_gen * 'term * 'term
  169. | Mmin of 'term * 'term
  170. | Mmax of 'term * 'term
  171. | Mabs of 'term
  172. | Mconcat of 'term * 'term
  173. | Mconcatlist of 'term
  174. | Mslice of 'term * 'term * 'term
  175. | Mlength of 'term
  176. | Misnone of 'term
  177. | Missome of 'term
  178. | Minttonat of 'term
  179. | Mfloor of 'term
  180. | Mceil of 'term
  181. | Mnattostring of 'term
  182. | Mbytestonat of 'term
  183. | Mnattobytes of 'term
  184. | Mbytestoint of 'term
  185. | Minttobytes of 'term
  186. | Mpack of 'term
  187. | Munpack of type_ * 'term
  188. | Msetdelegate of 'term
  189. | Mkeyhashtocontract of 'term
  190. | Mcontracttoaddress of 'term
  191. | Maddresstocontract of type_ * 'term
  192. | Mkeytoaddress of 'term
  193. | Msimplify_rational of 'term
  194. | Mget_numerator of 'term
  195. | Mget_denominator of 'term
  196. | Mblake2b of 'term
  197. | Msha256 of 'term
  198. | Msha512 of 'term
  199. | Msha3 of 'term
  200. | Mkeccak of 'term
  201. | Mkeytokeyhash of 'term
  202. | Mchecksignature of 'term * 'term * 'term
  203. | Mtotalvotingpower
  204. | Mvotingpower of 'term
  205. | Mcreateticket of 'term * 'term
  206. | Mreadticket of 'term
  207. | Msplitticket of 'term * 'term * 'term
  208. | Mjointickets of 'term * 'term
  209. | Msapling_empty_state of int
  210. | Msapling_verify_update of 'term * 'term
  211. | Mpairing_check of 'term
  212. | Mopen_chest of 'term * 'term * 'term
  213. | Mnow
  214. | Mtransferred
  215. | Mcaller
  216. | Mbalance
  217. | Msource
  218. | Mselfaddress
  219. | Mselfchainid
  220. | Mmetadata
  221. | Mlevel
  222. | Mminblocktime
  223. | Mvar of mident * 'term var_kind_gen * temp * delta
  224. | Menumval of mident * 'term list * Ident.ident
  225. | Mrateq of 'term * 'term
  226. | Mratcmp of comparison_operator * 'term * 'term
  227. | Mratarith of rat_arith_op * 'term * 'term
  228. | Mratuminus of 'term
  229. | Mrattez of 'term * 'term
  230. | Mnattoint of 'term
  231. | Mnattorat of 'term
  232. | Minttorat of 'term
  233. | Mratdur of 'term * 'term
  234. | Minttodate of 'term
  235. | Mmuteztonat of 'term
  236. | Mforall of mident * type_ * 'term option * 'term
  237. | Mexists of mident * type_ * 'term option * 'term
  238. | Mimply of 'term * 'term
  239. | Mequiv of 'term * 'term
  240. | Msetiterated of 'term iter_container_kind_gen
  241. | Msettoiterate of 'term iter_container_kind_gen
  242. | Mempty of Ident.ident
  243. | Msingleton of Ident.ident * 'term
  244. | Msubsetof of Ident.ident * 'term container_kind_gen * 'term
  245. | Misempty of Ident.ident * 'term
  246. | Munion of Ident.ident * 'term * 'term
  247. | Minter of Ident.ident * 'term * 'term
  248. | Mdiff of Ident.ident * 'term * 'term
and assign_kind = mterm assign_kind_gen
and var_kind = mterm var_kind_gen
and container_kind = mterm container_kind_gen
and iter_container_kind = mterm iter_container_kind_gen
and transfer_kind = mterm transfer_kind_gen
and mterm_gen = {
  1. node : mterm_gen mterm_node;
  2. type_ : type_;
  3. loc : Location.t;
}
and mterm = mterm_gen
and mterm__node = mterm mterm_node
and fail_type =
  1. | Invalid of mterm
  2. | InvalidCaller
  3. | InvalidSource
  4. | InvalidCondition of Ident.ident * mterm option
  5. | NotFound
  6. | AssetNotFound of Ident.ident
  7. | KeyExists of Ident.ident
  8. | KeyExistsOrNotFound of Ident.ident
  9. | DivByZero
  10. | NatNegAssign
  11. | NoTransfer
  12. | InvalidState
and api_container_kind =
  1. | Coll
  2. | View
  3. | Field of Ident.ident * Ident.ident
and api_list =
  1. | Lprepend of type_
  2. | Lcontains of type_
  3. | Llength of type_
  4. | Lnth of type_
  5. | Lreverse of type_
and api_builtin =
  1. | Bmin of type_
  2. | Bmax of type_
  3. | Babs of type_
  4. | Bconcat of type_
  5. | Bslice of type_
  6. | Blength of type_
  7. | Bisnone of type_
  8. | Bissome of type_
  9. | Boptget of type_
  10. | Bfloor
  11. | Bceil
  12. | Bnattostring
  13. | Bfail of type_
and api_internal =
  1. | RatEq
  2. | RatCmp
  3. | RatArith
  4. | RatUminus
  5. | RatTez
  6. | RatDur
and api_storage_node =
  1. | APIAsset of api_asset
  2. | APIList of api_list
  3. | APIBuiltin of api_builtin
  4. | APIInternal of api_internal
and api_loc =
  1. | OnlyFormula
  2. | OnlyExec
  3. | ExecFormula
and api_storage = {
  1. node_item : api_storage_node;
  2. api_loc : api_loc;
}
and api_verif =
  1. | StorageInvariant of Ident.ident * Ident.ident * mterm
and entry_description =
  1. | ADany
  2. | ADadd of Ident.ident
  3. | ADremove of Ident.ident
  4. | ADupdate of Ident.ident
  5. | ADtransfer of Ident.ident
  6. | ADget of Ident.ident
  7. | ADiterate of Ident.ident
  8. | ADcall of Ident.ident
and security_role = lident
and security_entry =
  1. | Sany
  2. | Sentry of lident list
and letin_value = mterm letin_value_gen
and detach_kind = mterm detach_kind_gen
val pp_mterm_node : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'term mterm_node -> Ppx_deriving_runtime.unit
val show_mterm_node : 'term. (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> 'term mterm_node -> Ppx_deriving_runtime.string
val pp_assign_kind : Ppx_deriving_runtime.Format.formatter -> assign_kind -> Ppx_deriving_runtime.unit
val show_assign_kind : assign_kind -> Ppx_deriving_runtime.string
val pp_var_kind : Ppx_deriving_runtime.Format.formatter -> var_kind -> Ppx_deriving_runtime.unit
val show_var_kind : var_kind -> Ppx_deriving_runtime.string
val pp_container_kind : Ppx_deriving_runtime.Format.formatter -> container_kind -> Ppx_deriving_runtime.unit
val show_container_kind : container_kind -> Ppx_deriving_runtime.string
val pp_iter_container_kind : Ppx_deriving_runtime.Format.formatter -> iter_container_kind -> Ppx_deriving_runtime.unit
val show_iter_container_kind : iter_container_kind -> Ppx_deriving_runtime.string
val pp_transfer_kind : Ppx_deriving_runtime.Format.formatter -> transfer_kind -> Ppx_deriving_runtime.unit
val show_transfer_kind : transfer_kind -> Ppx_deriving_runtime.string
val pp_mterm_gen : Ppx_deriving_runtime.Format.formatter -> mterm -> Ppx_deriving_runtime.unit
val show_mterm_gen : mterm_gen -> Ppx_deriving_runtime.string
val pp_mterm : Ppx_deriving_runtime.Format.formatter -> mterm -> Ppx_deriving_runtime.unit
val pp_mterm__node : Ppx_deriving_runtime.Format.formatter -> mterm__node -> Ppx_deriving_runtime.unit
val show_mterm__node : mterm__node -> Ppx_deriving_runtime.string
val pp_fail_type : Ppx_deriving_runtime.Format.formatter -> fail_type -> Ppx_deriving_runtime.unit
val show_fail_type : fail_type -> Ppx_deriving_runtime.string
val pp_api_container_kind : Ppx_deriving_runtime.Format.formatter -> api_container_kind -> Ppx_deriving_runtime.unit
val show_api_container_kind : api_container_kind -> Ppx_deriving_runtime.string
val pp_api_asset : Ppx_deriving_runtime.Format.formatter -> api_asset -> Ppx_deriving_runtime.unit
val show_api_asset : api_asset -> Ppx_deriving_runtime.string
val pp_api_list : Ppx_deriving_runtime.Format.formatter -> api_list -> Ppx_deriving_runtime.unit
val show_api_list : api_list -> Ppx_deriving_runtime.string
val pp_api_builtin : Ppx_deriving_runtime.Format.formatter -> api_builtin -> Ppx_deriving_runtime.unit
val show_api_builtin : api_builtin -> Ppx_deriving_runtime.string
val pp_api_internal : Ppx_deriving_runtime.Format.formatter -> api_internal -> Ppx_deriving_runtime.unit
val show_api_internal : api_internal -> Ppx_deriving_runtime.string
val pp_api_storage_node : Ppx_deriving_runtime.Format.formatter -> api_storage_node -> Ppx_deriving_runtime.unit
val show_api_storage_node : api_storage_node -> Ppx_deriving_runtime.string
val pp_api_loc : Ppx_deriving_runtime.Format.formatter -> api_loc -> Ppx_deriving_runtime.unit
val show_api_loc : api_loc -> Ppx_deriving_runtime.string
val pp_api_storage : Ppx_deriving_runtime.Format.formatter -> api_storage -> Ppx_deriving_runtime.unit
val show_api_storage : api_storage -> Ppx_deriving_runtime.string
val pp_api_verif : Ppx_deriving_runtime.Format.formatter -> api_verif -> Ppx_deriving_runtime.unit
val show_api_verif : api_verif -> Ppx_deriving_runtime.string
val pp_entry_description : Ppx_deriving_runtime.Format.formatter -> entry_description -> Ppx_deriving_runtime.unit
val show_entry_description : entry_description -> Ppx_deriving_runtime.string
val pp_security_role : Ppx_deriving_runtime.Format.formatter -> security_role -> Ppx_deriving_runtime.unit
val show_security_role : security_role -> Ppx_deriving_runtime.string
val pp_security_entry : Ppx_deriving_runtime.Format.formatter -> security_entry -> Ppx_deriving_runtime.unit
val show_security_entry : security_entry -> Ppx_deriving_runtime.string
val pp_letin_value : Ppx_deriving_runtime.Format.formatter -> letin_value -> Ppx_deriving_runtime.unit
val show_letin_value : letin_value -> Ppx_deriving_runtime.string
val pp_detach_kind : Ppx_deriving_runtime.Format.formatter -> detach_kind -> Ppx_deriving_runtime.unit
val show_detach_kind : detach_kind -> Ppx_deriving_runtime.string
type label_term = {
  1. label : mident;
  2. term : mterm;
  3. loc : Location.t;
}
val pp_label_term : Ppx_deriving_runtime.Format.formatter -> label_term -> Ppx_deriving_runtime.unit
val show_label_term : label_term -> Ppx_deriving_runtime.string
type model_type =
  1. | MTvar
  2. | MTconst
  3. | MTasset of Ident.ident
  4. | MTstate
  5. | MTenum of Ident.ident
val pp_model_type : Ppx_deriving_runtime.Format.formatter -> model_type -> Ppx_deriving_runtime.unit
val show_model_type : model_type -> Ppx_deriving_runtime.string
type storage_item = {
  1. id : mident;
  2. model_type : model_type;
  3. typ : type_;
  4. const : bool;
  5. ghost : bool;
  6. default : mterm;
  7. loc : Location.t;
}
val pp_storage_item : Ppx_deriving_runtime.Format.formatter -> storage_item -> Ppx_deriving_runtime.unit
val show_storage_item : storage_item -> Ppx_deriving_runtime.string
type storage = storage_item list
val pp_storage : Ppx_deriving_runtime.Format.formatter -> storage -> Ppx_deriving_runtime.unit
val show_storage : storage -> Ppx_deriving_runtime.string
type enum_item = {
  1. name : mident;
  2. args : type_ list;
  3. invariants : label_term list;
}
val pp_enum_item : Ppx_deriving_runtime.Format.formatter -> enum_item -> Ppx_deriving_runtime.unit
val show_enum_item : enum_item -> Ppx_deriving_runtime.string
type variable_kind =
  1. | VKconstant
  2. | VKvariable
val pp_variable_kind : Ppx_deriving_runtime.Format.formatter -> variable_kind -> Ppx_deriving_runtime.unit
val show_variable_kind : variable_kind -> Ppx_deriving_runtime.string
type var = {
  1. name : mident;
  2. type_ : type_;
  3. original_type : type_;
  4. kind : variable_kind;
  5. default : mterm option;
  6. invariants : label_term list;
  7. loc : Location.t;
}
val pp_var : Ppx_deriving_runtime.Format.formatter -> var -> Ppx_deriving_runtime.unit
type enum = {
  1. name : mident;
  2. values : enum_item list;
  3. initial : mident;
}
val pp_enum : Ppx_deriving_runtime.Format.formatter -> enum -> Ppx_deriving_runtime.unit
type asset_item = {
  1. name : mident;
  2. type_ : type_;
  3. original_type : type_;
  4. default : mterm option;
  5. shadow : bool;
  6. loc : Location.t;
}
val pp_asset_item : Ppx_deriving_runtime.Format.formatter -> asset_item -> Ppx_deriving_runtime.unit
val show_asset_item : asset_item -> Ppx_deriving_runtime.string
type asset = {
  1. name : mident;
  2. values : asset_item list;
  3. keys : Ident.ident list;
  4. sort : mident list;
  5. map_kind : map_kind;
  6. state : lident option;
  7. invariants : label_term list;
  8. init : mterm list;
  9. loc : Location.t;
}
val pp_asset : Ppx_deriving_runtime.Format.formatter -> asset -> Ppx_deriving_runtime.unit
type position =
  1. | Ptuple of Ident.ident list
  2. | Pnode of position list
val pp_position : Ppx_deriving_runtime.Format.formatter -> position -> Ppx_deriving_runtime.unit
val show_position : position -> Ppx_deriving_runtime.string
type record_field = {
  1. name : mident;
  2. type_ : type_;
  3. loc : Location.t;
}
val pp_record_field : Ppx_deriving_runtime.Format.formatter -> record_field -> Ppx_deriving_runtime.unit
val show_record_field : record_field -> Ppx_deriving_runtime.string
type record = {
  1. name : mident;
  2. fields : record_field list;
  3. pos : position;
  4. loc : Location.t;
}
val pp_record : Ppx_deriving_runtime.Format.formatter -> record -> Ppx_deriving_runtime.unit
val show_record : record -> Ppx_deriving_runtime.string
type function_ = {
  1. name : mident;
}
val pp_function_ : Ppx_deriving_runtime.Format.formatter -> function_ -> Ppx_deriving_runtime.unit
val show_function_ : function_ -> Ppx_deriving_runtime.string
type entry = {
  1. name : mident;
}
val pp_entry : Ppx_deriving_runtime.Format.formatter -> entry -> Ppx_deriving_runtime.unit
type argument = mident * type_ * mterm option
val pp_argument : Ppx_deriving_runtime.Format.formatter -> argument -> Ppx_deriving_runtime.unit
val show_argument : argument -> Ppx_deriving_runtime.string
type function_struct = {
  1. name : mident;
  2. args : argument list;
  3. eargs : argument list;
  4. stovars : Ident.ident list;
  5. body : mterm;
  6. loc : Location.t;
}
val pp_function_struct : Ppx_deriving_runtime.Format.formatter -> function_struct -> Ppx_deriving_runtime.unit
val show_function_struct : function_struct -> Ppx_deriving_runtime.string
type view_visibility =
  1. | VVonchain
  2. | VVoffchain
  3. | VVonoffchain
val pp_view_visibility : Ppx_deriving_runtime.Format.formatter -> view_visibility -> Ppx_deriving_runtime.unit
val show_view_visibility : view_visibility -> Ppx_deriving_runtime.string
type function_node =
  1. | Function of function_struct * type_
  2. | Getter of function_struct * type_
  3. | View of function_struct * type_ * view_visibility
  4. | Entry of function_struct
val pp_function_node : Ppx_deriving_runtime.Format.formatter -> function_node -> Ppx_deriving_runtime.unit
val show_function_node : function_node -> Ppx_deriving_runtime.string
type signature = {
  1. name : mident;
  2. args : argument list;
  3. ret : type_ option;
}
val pp_signature : Ppx_deriving_runtime.Format.formatter -> signature -> Ppx_deriving_runtime.unit
val show_signature : signature -> Ppx_deriving_runtime.string
type variable = {
  1. decl : argument;
  2. kind : variable_kind;
  3. loc : Location.t;
}
val pp_variable : Ppx_deriving_runtime.Format.formatter -> variable -> Ppx_deriving_runtime.unit
val show_variable : variable -> Ppx_deriving_runtime.string
type predicate = {
  1. name : mident;
  2. args : (mident * type_) list;
  3. body : mterm;
  4. loc : Location.t;
}
val pp_predicate : Ppx_deriving_runtime.Format.formatter -> predicate -> Ppx_deriving_runtime.unit
val show_predicate : predicate -> Ppx_deriving_runtime.string
type definition = {
  1. name : mident;
  2. typ : type_;
  3. var : mident;
  4. body : mterm;
  5. loc : Location.t;
}
val pp_definition : Ppx_deriving_runtime.Format.formatter -> definition -> Ppx_deriving_runtime.unit
val show_definition : definition -> Ppx_deriving_runtime.string
type invariant = {
  1. label : mident;
  2. formulas : mterm list;
}
val pp_invariant : Ppx_deriving_runtime.Format.formatter -> invariant -> Ppx_deriving_runtime.unit
val show_invariant : invariant -> Ppx_deriving_runtime.string
type fail = {
  1. label : mident;
  2. fid : mident option;
  3. arg : mident;
  4. atype : type_;
  5. formula : mterm;
  6. loc : Location.t;
}
val pp_fail : Ppx_deriving_runtime.Format.formatter -> fail -> Ppx_deriving_runtime.unit
type spec_mode =
  1. | Post
  2. | Assert
val pp_spec_mode : Ppx_deriving_runtime.Format.formatter -> spec_mode -> Ppx_deriving_runtime.unit
val show_spec_mode : spec_mode -> Ppx_deriving_runtime.string
type postcondition = {
  1. name : mident;
  2. mode : spec_mode;
  3. formula : mterm;
  4. invariants : invariant list;
  5. uses : mident list;
}
val pp_postcondition : Ppx_deriving_runtime.Format.formatter -> postcondition -> Ppx_deriving_runtime.unit
val show_postcondition : postcondition -> Ppx_deriving_runtime.string
type assert_ = {
  1. name : mident;
  2. label : mident;
  3. formula : mterm;
  4. invariants : invariant list;
  5. uses : mident list;
}
val pp_assert_ : Ppx_deriving_runtime.Format.formatter -> assert_ -> Ppx_deriving_runtime.unit
val show_assert_ : assert_ -> Ppx_deriving_runtime.string
type specification = {
  1. predicates : predicate list;
  2. definitions : definition list;
  3. lemmas : label_term list;
  4. theorems : label_term list;
  5. fails : fail list;
  6. variables : variable list;
  7. invariants : (mident * label_term list) list;
  8. effects : mterm list;
  9. postconditions : postcondition list;
  10. loc : Location.t;
}
val pp_specification : Ppx_deriving_runtime.Format.formatter -> specification -> Ppx_deriving_runtime.unit
val show_specification : specification -> Ppx_deriving_runtime.string
type security_node =
  1. | SonlyByRole of entry_description * security_role list
  2. | SonlyInEntry of entry_description * security_entry
  3. | SonlyByRoleInEntry of entry_description * security_role list * security_entry
  4. | SnotByRole of entry_description * security_role list
  5. | SnotInEntry of entry_description * security_entry
  6. | SnotByRoleInEntry of entry_description * security_role list * security_entry
  7. | StransferredBy of entry_description
  8. | StransferredTo of entry_description
  9. | SnoStorageFail of security_entry
val pp_security_node : Ppx_deriving_runtime.Format.formatter -> security_node -> Ppx_deriving_runtime.unit
val show_security_node : security_node -> Ppx_deriving_runtime.string
type security_predicate = {
  1. s_node : security_node;
  2. loc : Location.t;
}
val pp_security_predicate : Ppx_deriving_runtime.Format.formatter -> security_predicate -> Ppx_deriving_runtime.unit
val show_security_predicate : security_predicate -> Ppx_deriving_runtime.string
type security_item = {
  1. label : lident;
  2. predicate : security_predicate;
  3. loc : Location.t;
}
val pp_security_item : Ppx_deriving_runtime.Format.formatter -> security_item -> Ppx_deriving_runtime.unit
val show_security_item : security_item -> Ppx_deriving_runtime.string
type security = {
  1. items : security_item list;
  2. loc : Location.t;
}
val pp_security : Ppx_deriving_runtime.Format.formatter -> security -> Ppx_deriving_runtime.unit
val show_security : security -> Ppx_deriving_runtime.string
type function__ = {
  1. node : function_node;
  2. spec : specification option;
}
val pp_function__ : Ppx_deriving_runtime.Format.formatter -> function__ -> Ppx_deriving_runtime.unit
val show_function__ : function__ -> Ppx_deriving_runtime.string
type decl_node =
  1. | Dvar of var
  2. | Denum of enum
  3. | Dasset of asset
  4. | Drecord of record
  5. | Devent of record
val pp_decl_node : Ppx_deriving_runtime.Format.formatter -> decl_node -> Ppx_deriving_runtime.unit
val show_decl_node : decl_node -> Ppx_deriving_runtime.string
type parameter = {
  1. name : mident;
  2. typ : type_;
  3. default : mterm option;
  4. value : mterm option;
  5. const : bool;
  6. loc : Location.t;
}
val pp_parameter : Ppx_deriving_runtime.Format.formatter -> parameter -> Ppx_deriving_runtime.unit
val show_parameter : parameter -> Ppx_deriving_runtime.string
type metadata_kind =
  1. | MKuri of string Location.loced
  2. | MKjson of string Location.loced
val pp_metadata_kind : Ppx_deriving_runtime.Format.formatter -> metadata_kind -> Ppx_deriving_runtime.unit
val show_metadata_kind : metadata_kind -> Ppx_deriving_runtime.string
type odel_asset = {
  1. name : Ident.ident;
  2. container_type : type_;
  3. key_type : type_;
  4. value_type : type_;
}
val pp_odel_asset : Ppx_deriving_runtime.Format.formatter -> odel_asset -> Ppx_deriving_runtime.unit
val show_odel_asset : odel_asset -> Ppx_deriving_runtime.string
type odel_record = {
  1. name : Ident.ident;
  2. current_type : type_;
}
val pp_odel_record : Ppx_deriving_runtime.Format.formatter -> odel_record -> Ppx_deriving_runtime.unit
val show_odel_record : odel_record -> Ppx_deriving_runtime.string
type odel_enum = {
  1. name : Ident.ident;
  2. current_type : type_;
}
val pp_odel_enum : Ppx_deriving_runtime.Format.formatter -> odel_enum -> Ppx_deriving_runtime.unit
val show_odel_enum : odel_enum -> Ppx_deriving_runtime.string
type original_decl =
  1. | ODAsset of odel_asset
  2. | ODRecord of odel_record
  3. | ODEnum of odel_enum
val pp_original_decl : Ppx_deriving_runtime.Format.formatter -> original_decl -> Ppx_deriving_runtime.unit
val show_original_decl : original_decl -> Ppx_deriving_runtime.string
type extra = {
  1. original_decls : original_decl list;
}
val pp_extra : Ppx_deriving_runtime.Format.formatter -> extra -> Ppx_deriving_runtime.unit
type import_kind_node =
  1. | INMichelson of michelson_struct
  2. | INArchetype
val pp_import_kind_node : Ppx_deriving_runtime.Format.formatter -> import_kind_node -> Ppx_deriving_runtime.unit
val show_import_kind_node : import_kind_node -> Ppx_deriving_runtime.string
type import = {
  1. name : lident;
  2. path : lident;
  3. kind_node : import_kind_node;
  4. views : (Ident.ident * (type_ * type_)) list;
  5. entrypoints : (Ident.ident * type_) list;
}
val pp_import : Ppx_deriving_runtime.Format.formatter -> import -> Ppx_deriving_runtime.unit
val show_import : import -> Ppx_deriving_runtime.string
type model = {
  1. name : lident;
  2. parameters : parameter list;
  3. imports : import list;
  4. metadata : metadata_kind option;
  5. api_items : api_storage list;
  6. api_verif : api_verif list;
  7. decls : decl_node list;
  8. storage : storage;
  9. functions : function__ list;
  10. specification : specification;
  11. security : security;
  12. extra : extra;
  13. loc : Location.t;
}
val pp_model : Ppx_deriving_runtime.Format.formatter -> model -> Ppx_deriving_runtime.unit
type property =
  1. | Ppostcondition of postcondition * Ident.ident option
  2. | PstorageInvariant of label_term * Ident.ident
  3. | PsecurityPredicate of security_item
val pp_property : Ppx_deriving_runtime.Format.formatter -> property -> Ppx_deriving_runtime.unit
val show_property : property -> Ppx_deriving_runtime.string
val mk_mident : ?namespace:namespace -> lident -> mident
val unloc_mident : mident -> Ident.ident
val loc_mident : mident -> Location.t
val deloc_mident : mident -> Location.t * Ident.ident
val mk_pattern : ?loc:Location.t -> pattern_node -> pattern
val mk_mterm : ?loc:Location.t -> mterm_gen mterm_node -> type_ -> mterm
val mk_label_term : ?loc:Location.t -> mterm -> mident -> label_term
val mk_variable : ?loc:Location.t -> argument -> variable_kind -> variable
val mk_predicate : ?args:(mident * type_) list -> ?loc:Location.t -> mident -> mterm -> predicate
val mk_definition : ?loc:Location.t -> mident -> type_ -> mident -> mterm -> definition
val mk_invariant : ?formulas:mterm list -> mident -> invariant
val mk_fail : ?loc:Location.t -> mident -> mident option -> mident -> type_ -> mterm -> fail
val mk_postcondition : ?invariants:invariant list -> ?uses:mident list -> mident -> spec_mode -> mterm -> postcondition
val mk_assert : ?invariants:invariant list -> ?uses:mident list -> mident -> mident -> mterm -> assert_
val mk_specification : ?predicates:predicate list -> ?definitions:definition list -> ?lemmas:label_term list -> ?theorems:label_term list -> ?fails:fail list -> ?variables:variable list -> ?invariants:(mident * label_term list) list -> ?effects:mterm list -> ?postconditions:postcondition list -> ?loc:Location.t -> unit -> specification
val mk_security_predicate : ?loc:Location.t -> security_node -> security_predicate
val mk_security_item : ?loc:Location.t -> lident -> security_predicate -> security_item
val mk_security : ?items:security_item list -> ?loc:Location.t -> unit -> security
val mk_var : ?invariants:label_term list -> ?default:mterm -> ?loc:Location.t -> mident -> type_ -> type_ -> variable_kind -> var
val mk_enum : ?values:enum_item list -> mident -> mident -> enum
val mk_enum_item : ?args:type_ list -> ?invariants:label_term list -> mident -> enum_item
val mk_asset : ?values:asset_item list -> ?sort:mident list -> ?map_kind:map_kind -> ?state:lident -> ?keys:Ident.ident list -> ?invariants:label_term list -> ?init:mterm list -> ?loc:Location.t -> mident -> asset
val mk_asset_item : ?default:mterm -> ?shadow:bool -> ?loc:Location.t -> mident -> type_ -> type_ -> asset_item
val mk_record : ?fields:record_field list -> ?pos:position -> ?loc:Location.t -> mident -> record
val mk_record_field : ?loc:Location.t -> mident -> type_ -> record_field
val mk_storage_item : ?const:bool -> ?ghost:bool -> ?loc:Location.t -> mident -> model_type -> type_ -> mterm -> storage_item
val mk_function_struct : ?args:argument list -> ?eargs:argument list -> ?stovars:Ident.ident list -> ?loc:Location.t -> mident -> mterm -> function_struct
val mk_function : ?spec:specification -> function_node -> function__
val mk_api_item : api_storage_node -> api_loc -> api_storage
val mk_odel_asset : Ident.ident -> type_ -> type_ -> type_ -> odel_asset
val mk_odel_record : Ident.ident -> type_ -> odel_record
val mk_odel_enum : Ident.ident -> type_ -> odel_enum
val mk_extra : ?original_decls:original_decl list -> unit -> extra
val mk_model : ?parameters:parameter list -> ?imports:import list -> ?metadata:metadata_kind -> ?api_items:api_storage list -> ?api_verif:api_verif list -> ?decls:decl_node list -> ?functions:function__ list -> ?storage:storage -> ?specification:specification -> ?security:security -> ?extra:extra -> ?loc:Location.t -> lident -> model
val mktype : ?annot:lident -> ntype -> type_
val get_ntype : (ntype * 'a) -> ntype
val get_atype : ('a * lident option) -> lident option
val mkannot : string -> lident -> lident option
val mkfannot : lident -> lident option
val mkvannot : lident -> lident option
val tunit : type_
val tbool : type_
val tnat : type_
val tint : type_
val tstring : type_
val tbytes : type_
val ttez : type_
val tduration : type_
val tkey : type_
val tkeyhash : type_
val tdate : type_
val ttimestamp : type_
val taddress : type_
val tenum : mident -> type_
val tstate : type_
val tstorage : type_
val trecord : mident -> type_
val tevent : mident -> type_
val toption : type_ -> type_
val tset : type_ -> type_
val tlist : type_ -> type_
val tmap : type_ -> type_ -> type_
val tbig_map : type_ -> type_ -> type_
val titerable_big_map : type_ -> type_ -> type_
val tor : type_ -> type_ -> type_
val tlambda : type_ -> type_ -> type_
val ttuple : type_ list -> type_
val trat : type_
val toperation : type_
val tsignature : type_
val tcontract : type_ -> type_
val tticket : type_ -> type_
val tsapling_state : int -> type_
val tsapling_transaction : int -> type_
val tchainid : 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 ttx_rollup_l2_address : type_
val tasset : mident -> type_
val tcollection : mident -> type_
val taggregate : mident -> type_
val tpartition : mident -> type_
val tassetcontainer : mident -> type_
val tassetkey : mident -> type_
val tassetvalue : mident -> type_
val tview : mident -> type_
val toperations : type_
val tmetadata : type_
val mk_bool : bool -> mterm
val mk_string : string -> mterm
val mk_bytes : string -> mterm
val mk_chain_id : string -> mterm
val mk_key : string -> mterm
val mk_key_hash : string -> mterm
val mk_signature : string -> mterm
val mk_bls12_381_fr : string -> mterm
val mk_bls12_381_fr_n : Core.big_int -> mterm
val mk_bls12_381_g1 : string -> mterm
val mk_bls12_381_g2 : string -> mterm
val mk_bnat : Core.big_int -> mterm
val mk_nat : int -> mterm
val mk_bint : Core.big_int -> mterm
val mk_int : int -> mterm
val mk_address : string -> mterm
val mk_tx_rollup_l2_address : string -> mterm
val unit : mterm
val mk_sapling_state_empty : int -> mterm
val mk_sapling_transaction : int -> string -> mterm
val mk_chest : string -> mterm
val mk_chest_key : string -> mterm
val mk_date : Core.date -> mterm
val mk_duration : Core.duration -> mterm
val mk_pair : mterm list -> mterm
val mtrue : mterm
val mfalse : mterm
val mnow : mterm
val mtransferred : mterm
val mcaller : mterm
val mbalance : mterm
val msource : mterm
val mselfaddress : mterm
val mselfchainid : mterm
val mmetadata : mterm
val mlevel : mterm
val mminblocktime : mterm
val mk_mvar : mident -> type_ -> mterm
val mk_pvar : mident -> type_ -> mterm
val mk_svar : mident -> type_ -> mterm
val mk_state_var : 'a -> mterm
val mk_enum_value : ?args:mterm_gen list -> mident -> Ident.ident Location.loced -> mterm
val mk_state_value : mident -> mterm
val mk_btez : Core.big_int -> mterm
val mk_tez : int -> mterm
val mk_tuple : mterm list -> mterm
val mk_letin : mident -> mterm_gen -> mterm_gen -> mterm
val mk_tupleaccess : int -> mterm -> mterm
val mk_min : mterm -> mterm -> type_ -> mterm
val mk_max : mterm -> mterm -> type_ -> mterm
val mk_abs : mterm -> mterm
val mk_nat_to_int : mterm -> mterm
val mk_some : mterm_gen -> mterm
val mk_left : type_ -> mterm_gen -> mterm
val mk_right : type_ -> mterm_gen -> mterm
val mk_none : type_ -> mterm
val mk_pack : mterm_gen -> mterm
val mk_unpack : type_ -> mterm_gen -> mterm
val mk_blake2b : mterm_gen -> mterm
val mk_sha256 : mterm_gen -> mterm
val mk_sha512 : mterm_gen -> mterm
val mk_keytokeyhash : mterm_gen -> mterm
val mk_checksignature : mterm_gen -> mterm_gen -> mterm_gen -> mterm
val mk_brat : Core.big_int -> Core.big_int -> mterm
val mk_rat : int -> int -> mterm
val mk_muteztonat : mterm_gen -> mterm
val mk_nattoint : mterm_gen -> mterm
val mk_metadata : (mterm_gen * mterm_gen) list -> mterm
val fail : string -> mterm
val failg : mterm -> mterm
val failc : fail_type -> mterm
val mnot : mterm_gen -> mterm
val seq : mterm_gen list -> mterm
val skip : mterm
val operations : mterm
val mk_get_entrypoint : type_ -> lident -> mterm -> mterm
val mk_mkoperation : mterm_gen -> mterm_gen -> mterm_gen -> mterm
val mk_mkevent : type_ -> mident -> mterm_gen -> mterm
val mk_transfer_op : mterm_gen -> mterm
val fail_msg_ASSET_NOT_FOUND : string
val fail_msg_DIV_BY_ZERO : string
val fail_msg_INVALID_CALLER : string
val fail_msg_INVALID_CONDITION : string
val fail_msg_INVALID_SOURCE : string
val fail_msg_INVALID_STATE : string
val fail_msg_KEY_EXISTS : string
val fail_msg_KEY_EXISTS_OR_NOT_FOUND : string
val fail_msg_NAT_NEG_ASSIGN : string
val fail_msg_NO_TRANSFER : string
val fail_msg_NOT_FOUND : string
val fail_msg_OPTION_IS_NONE : string
val fail_msg_OUT_OF_BOUND : string
val fail_msg_ENTRY_NOT_FOUND : string
val fail_msg_EMPTY_LIST : string
val fail_msg_NOT_IMPLICIT_CONTRACT : string
val fail_msg_KEY_NOT_FOUND : string
val fail_msg_INVALID_EVENT_CONTRACT : string
val cmp_ident : Ident.ident -> Ident.ident -> bool
val cmp_big_int : Core.big_int -> Core.big_int -> bool
val cmp_int : int -> int -> bool
val cmp_lident : lident -> lident -> bool
val cmp_namespace : namespace -> namespace -> bool
val cmp_path : path -> path -> bool
val cmp_mident : mident -> mident -> bool
val cmp_bool : bool -> bool -> bool
val cmp_assign_op : assignment_operator -> assignment_operator -> bool
val cmp_currency : currency -> currency -> bool
val cmp_container : container -> container -> bool
val cmp_btyp : btyp -> btyp -> bool
val cmp_vset : vset -> vset -> bool
val cmp_trtyp : trtyp -> trtyp -> bool
val cmp_comparison_operator : comparison_operator -> comparison_operator -> bool
val cmp_rat_arith_op : rat_arith_op -> rat_arith_op -> bool
val cmp_entry_description : entry_description -> entry_description -> bool
val cmp_security_role : lident -> lident -> bool
val cmp_security_entry : security_entry -> security_entry -> bool
val cmp_fail_type : (mterm -> mterm -> bool) -> fail_type -> fail_type -> bool
val cmp_ntype : ntype -> ntype -> bool
val cmp_type : ?with_annot:bool -> type_ -> type_ -> bool
val cmp_pattern_node : pattern_node -> pattern_node -> bool
val cmp_pattern : pattern -> pattern -> bool
val cmp_for_ident : (mident -> mident -> bool) -> for_ident -> for_ident -> bool
val cmp_mterm_node : (mterm -> mterm -> bool) -> (mident -> mident -> bool) -> mterm mterm_node -> mterm mterm_node -> bool
val cmp_mterm : mterm -> mterm -> bool
val cmp_container_kind : api_container_kind -> api_container_kind -> bool
val cmp_api_item_node : api_storage_node -> api_storage_node -> bool
val cmp_api_loc : api_loc -> api_loc -> bool
val cmp_api_storage : api_storage -> api_storage -> bool
val cmp_api_verif : api_verif -> api_verif -> bool
val map_ptyp : (type_ -> type_) -> ntype -> ntype
val map_type : (type_ -> type_) -> type_ -> type_
val fold_typ : ('a -> type_ -> 'a) -> 'a0 -> type_ -> 'a1
val map_for_ident : (mident -> mident) -> for_ident -> for_ident
val map_assign_kind : (Ident.ident -> Ident.ident) -> (mident -> mident) -> ('a -> 'b) -> 'c assign_kind_gen -> 'd assign_kind_gen
val map_var_kind : ('a -> 'b) -> 'c var_kind_gen -> 'd var_kind_gen
val map_temp : (Ident.ident -> Ident.ident) -> temp -> temp
val map_delta : delta -> delta
val map_container_kind : (Ident.ident -> Ident.ident) -> ('a -> 'b) -> 'c container_kind_gen -> 'd container_kind_gen
val map_iter_container_kind : (Ident.ident -> Ident.ident) -> ('a -> 'b) -> 'c iter_container_kind_gen -> 'd iter_container_kind_gen
val map_transfer_kind : (Ident.ident -> Ident.ident) -> (type_ -> type_) -> ('a -> 'b) -> 'c transfer_kind_gen -> 'd transfer_kind_gen
val map_detach_kind : (Ident.ident -> Ident.ident) -> (type_ -> type_) -> ('a -> 'b) -> 'c detach_kind_gen -> 'd detach_kind_gen
val map_term_node_internal : (Ident.ident -> Ident.ident) -> (mident -> mident) -> (type_ -> type_) -> (mterm -> mterm) -> mterm mterm_node -> mterm mterm_node
val map_mterm : (mterm -> mterm) -> ?fi:(Ident.ident -> Ident.ident) -> ?g:(mident -> mident) -> ?ft:(type_ -> type_) -> mterm -> mterm
type 't ctx_model_gen = {
  1. formula : bool;
  2. fs : function_struct option;
  3. label : mident option;
  4. spec_id : mident option;
  5. invariant_id : mident option;
  6. custom : 't;
}
type ctx_model = unit ctx_model_gen
val mk_ctx_model : ?formula:bool -> ?fs:function_struct -> ?label:mident -> ?spec_id:mident -> ?invariant_id:mident -> 't -> 't0 ctx_model_gen
val map_mterm_model_exec : 't -> ('t0 ctx_model_gen -> mterm -> mterm) -> model -> model
val map_specification : 't ctx_model_gen -> ('t0 ctx_model_gen -> mterm -> mterm) -> specification -> specification
val map_mterm_model_formula : 't -> ('t0 ctx_model_gen -> mterm -> mterm) -> model -> model
val map_mterm_model_gen : 't -> ('t0 ctx_model_gen -> mterm -> mterm) -> model -> model
val map_mterm_model : (unit ctx_model_gen -> mterm -> mterm) -> model -> model
val fold_assign_kind : ('a -> 'b -> 'c) -> 'd -> 'e assign_kind_gen -> 'f
val fold_var_kind : ('a -> 'b -> 'c) -> 'd -> 'e var_kind_gen -> 'f
val fold_container_kind : ('a -> 'b -> 'c) -> 'd -> 'e container_kind_gen -> 'f
val fold_iter_container_kind : ('a -> 'b -> 'c) -> 'd -> 'e iter_container_kind_gen -> 'f
val fold_transfer_kind : ('a -> 'b -> 'a) -> 'c -> 'd transfer_kind_gen -> 'e
val fold_detach_kind : ('a -> 'b -> 'c) -> 'd -> 'e detach_kind_gen -> 'f
val fold_term : ('a -> mterm -> 'a) -> 'a0 -> mterm -> 'a1
val fold_map_term_list : ('a -> 'b -> 'term * 'a0) -> 'a1 -> 'c list -> 'term0 list * 'a2
val fold_map_assign_kind : ('a -> 'b -> 'c * 'd) -> 'e -> 'f assign_kind_gen -> 'g assign_kind_gen * 'h
val fold_map_var_kind : ('a -> 'b -> 'c * 'd) -> 'e -> 'f var_kind_gen -> 'g var_kind_gen * 'h
val fold_map_container_kind : ('a -> 'b -> 'c * 'd) -> 'e -> 'f container_kind_gen -> 'g container_kind_gen * 'h
val fold_map_iter_container_kind : ('a -> 'b -> 'c * 'd) -> 'e -> 'f iter_container_kind_gen -> 'g iter_container_kind_gen * 'h
val fold_map_transfer_kind : ('a -> 'b -> 'c * 'd) -> 'e -> 'f transfer_kind_gen -> 'g transfer_kind_gen * 'h
val fold_map_detach_kind : ('a -> 'b -> 'c * 'd) -> 'e -> 'f detach_kind_gen -> 'g detach_kind_gen * 'h
val fold_map_term : (mterm mterm_node -> mterm) -> ('a -> mterm -> mterm * 'a) -> 'a0 -> mterm -> mterm * 'a1
val fold_left : ('a -> 'b -> 'c) -> 'd list -> 'e -> 'f
val fold_label_term : 't ctx_model_gen -> ('t0 ctx_model_gen -> 'a -> mterm -> 'a) -> label_term -> 'a0 -> 'a1
val fold_specification : 't ctx_model_gen -> ('t0 ctx_model_gen -> 'a -> mterm -> 'a) -> specification -> 'a0 -> 'a1
val fold_model : (unit ctx_model_gen -> 'a -> mterm -> 'a) -> model -> 'a0 -> 'a1
type kind_ident =
  1. | KIarchetype
  2. | KIparameter
  3. | KIdeclvarname
  4. | KIassetname
  5. | KIassetfield
  6. | KIassetstate
  7. | KIassetinit
  8. | KIrecordname
  9. | KIrecordfield
  10. | KIparamlambda
  11. | KIenumname
  12. | KIenumvalue
  13. | KIcontractname
  14. | KIcontractentry
  15. | KIstoragefield
  16. | KIentry
  17. | KIfunction
  18. | KIgetter
  19. | KIview
  20. | KIargument
  21. | KIlocalvar
  22. | KIlabel
  23. | KIpredicate
  24. | KIdefinition
  25. | KIdefinitionvar
  26. | KIinvariant
  27. | KIpostcondition
  28. | KIpostconditionuse
  29. | KIfaillabel
  30. | KIfailfid
  31. | KIfailarg
  32. | KIsecurityad
  33. | KIsecurityrole
  34. | KIsecurityentry
  35. | KImterm
val map_model : (kind_ident -> Ident.ident -> Ident.ident) -> (type_ -> type_) -> (mterm -> mterm) -> model -> model
val replace_ident_model : (kind_ident -> Ident.ident -> Ident.ident) -> model -> model
val merge_seq : mterm -> mterm -> mterm
val extract_list : mterm -> mterm -> mterm list
type effect =
  1. | Eadded of Ident.ident
  2. | Eremoved of Ident.ident
  3. | Eupdated of Ident.ident
val pp_effect : Ppx_deriving_runtime.Format.formatter -> effect -> Ppx_deriving_runtime.unit
val show_effect : effect -> Ppx_deriving_runtime.string
module Utils : sig ... end