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 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_ * type_
  19. | Tset of type_
  20. | Tsignature
  21. | Tstring
  22. | Ttimestamp
  23. | Tunit
  24. | Tsapling_transaction
  25. | Tsapling_state
  26. | Tnever
  27. | Tbls12_381_g1
  28. | Tbls12_381_g2
  29. | Tbls12_381_fr
  30. | Tbaker_hash
  31. | Tbaker_operation
  32. | Tpvss_key
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 * data
  8. | Dleft of data
  9. | Dright of data
  10. | Dsome of data
  11. | Dnone
  12. | Dlist of data list
  13. | Delt of data * data
val pp_data : Ppx_deriving_runtime.Format.formatter -> data -> Ppx_deriving_runtime.unit
type code =
  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. | PUSH of type_ * data
  19. | SWAP
  20. | ABS
  21. | ADD
  22. | COMPARE
  23. | EDIV
  24. | EQ
  25. | GE
  26. | GT
  27. | INT
  28. | ISNAT
  29. | LE
  30. | LSL
  31. | LSR
  32. | LT
  33. | MUL
  34. | NEG
  35. | NEQ
  36. | SUB
  37. | AND
  38. | NOT
  39. | OR
  40. | XOR
  41. | BLAKE2B
  42. | CHECK_SIGNATURE
  43. | HASH_KEY
  44. | SHA256
  45. | SHA512
  46. | ADDRESS
  47. | AMOUNT
  48. | BALANCE
  49. | CHAIN_ID
  50. | CONTRACT of type_ * Ident.ident option
  51. | CREATE_CONTRACT of code list
  52. | IMPLICIT_ACCOUNT
  53. | NOW
  54. | SELF
  55. | SENDER
  56. | SET_DELEGATE
  57. | SOURCE
  58. | TRANSFER_TOKENS
  59. | CAR
  60. | CDR
  61. | CONCAT
  62. | CONS
  63. | EMPTY_BIG_MAP of type_ * type_
  64. | EMPTY_MAP of type_ * type_
  65. | EMPTY_SET of type_
  66. | GET
  67. | LEFT of type_
  68. | MAP of code list
  69. | MEM
  70. | NIL of type_
  71. | NONE of type_
  72. | PACK
  73. | PAIR
  74. | RIGHT of type_
  75. | SIZE
  76. | SLICE
  77. | SOME
  78. | UNIT
  79. | UNPACK of type_
  80. | UPDATE
  81. | UNPAIR
  82. | SELF_ADDRESS
  83. | CAST
  84. | CREATE_ACCOUNT
  85. | RENAME
  86. | STEPS_TO_QUOTA
  87. | LEVEL
  88. | SAPLING_EMPTY_STATE
  89. | SAPLING_VERIFY_UPDATE
  90. | NEVER
  91. | VOTING_POWER
  92. | TOTAL_VOTING_POWER
  93. | KECCAK
  94. | SHA3
  95. | PAIRING_CHECK
  96. | SUBMIT_PROPOSALS
  97. | SUBMIT_BALLOT
  98. | SET_BAKER_ACTIVE
  99. | TOGGLE_BAKER_DELEGATIONS
  100. | SET_BAKER_CONSENSUS_KEY
  101. | SET_BAKER_PVSS_KEY
val pp_code : Ppx_deriving_runtime.Format.formatter -> code -> Ppx_deriving_runtime.unit
type 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_
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
type un_operator =
  1. | Ucar
  2. | Ucdr
  3. | Uleft of type_
  4. | Uright of type_
  5. | Uneg
  6. | Uint
  7. | Unot
  8. | Uabs
  9. | Uisnat
  10. | Usome
  11. | Usize
  12. | Upack
  13. | Uunpack of type_
  14. | Ublake2b
  15. | Usha256
  16. | Usha512
  17. | Uhash_key
  18. | Ufail
  19. | Ucontract of type_ * Ident.ident option
  20. | Usetdelegate
  21. | Uimplicitaccount
  22. | Ueq
  23. | Une
  24. | Ugt
  25. | Uge
  26. | Ult
  27. | Ule
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
type 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
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
type ter_operator =
  1. | Tcheck_signature
  2. | Tslice
  3. | Tupdate
  4. | Ttransfer_tokens
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
type cmp_operator =
  1. | Ceq
  2. | Cne
  3. | Cgt
  4. | Cge
  5. | Clt
  6. | Cle
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
type builtin =
  1. | Bmin of type_
  2. | Bmax of type_
  3. | Bfloor
  4. | Bceil
  5. | BlistContains of type_
  6. | BlistNth of type_
  7. | Btostring of type_
  8. | Bratcmp
  9. | Bratnorm
  10. | Brataddsub
  11. | Bratdiv
  12. | Bratmul
  13. | Bratuminus
  14. | Bratabs
  15. | Brattez
  16. | Bratdur
val pp_builtin : Ppx_deriving_runtime.Format.formatter -> builtin -> Ppx_deriving_runtime.unit
val show_builtin : builtin -> Ppx_deriving_runtime.string
type instruction =
  1. | Iseq of instruction list
  2. | IletIn of Ident.ident * instruction * instruction * bool
  3. | Ivar of Ident.ident
  4. | Icall of Ident.ident * instruction list * bool
  5. | Iassign of Ident.ident * instruction
  6. | IassignRec of Ident.ident * int * int * instruction
  7. | Iif of instruction * instruction * instruction * type_
  8. | Iifnone of instruction * instruction * Ident.ident * instruction
  9. | Iifcons of instruction * instruction * instruction
  10. | Iwhile of instruction * instruction
  11. | Iiter of Ident.ident list * instruction * instruction
  12. | Izop of z_operator
  13. | Iunop of un_operator * instruction
  14. | Ibinop of bin_operator * instruction * instruction
  15. | Iterop of ter_operator * instruction * instruction * instruction
  16. | Iconst of type_ * data
  17. | Icompare of cmp_operator * instruction * instruction
  18. | Iset of type_ * instruction list
  19. | Ilist of type_ * instruction list
  20. | Imap of type_ * type_ * (instruction * instruction) list
  21. | Irecord of instruction list
  22. | Irecupdate of instruction * int * (int * instruction) list
  23. | Ifold of Ident.ident * Ident.ident option * Ident.ident * instruction * instruction * instruction
  24. | Imichelson of instruction list * code * Ident.ident list
val pp_instruction : Ppx_deriving_runtime.Format.formatter -> instruction -> Ppx_deriving_runtime.unit
val show_instruction : instruction -> Ppx_deriving_runtime.string
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 func = {
  1. name : Ident.ident;
  2. targ : type_;
  3. tret : type_;
  4. body : implem;
}
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;
}
val pp_entry : Ppx_deriving_runtime.Format.formatter -> entry -> Ppx_deriving_runtime.unit
type ir = {
  1. storage_type : type_;
  2. storage_data : data;
  3. storage_list : (Ident.ident * type_) list;
  4. with_operations : bool;
  5. parameter : type_;
  6. funs : func list;
  7. entries : entry list;
}
val pp_ir : Ppx_deriving_runtime.Format.formatter -> ir -> Ppx_deriving_runtime.unit
type michelson = {
  1. storage : type_;
  2. parameter : type_;
  3. code : code;
}
val pp_michelson : Ppx_deriving_runtime.Format.formatter -> michelson -> Ppx_deriving_runtime.unit
val show_michelson : michelson -> Ppx_deriving_runtime.string
type alpha_ident = int
val pp_alpha_ident : Ppx_deriving_runtime.Format.formatter -> alpha_ident -> Ppx_deriving_runtime.unit
val show_alpha_ident : alpha_ident -> Ppx_deriving_runtime.string
type dexpr =
  1. | Dalpha of alpha_ident
  2. | Dvar of type_
  3. | Dstorage of type_
  4. | Doperations
  5. | Ddata of data
  6. | Dzop of z_operator
  7. | Duop of un_operator * dexpr
  8. | Dbop of bin_operator * dexpr * dexpr
  9. | Dtop of ter_operator * dexpr * dexpr * dexpr
val pp_dexpr : Ppx_deriving_runtime.Format.formatter -> dexpr -> Ppx_deriving_runtime.unit
type dinstruction =
  1. | Dassign of dexpr * dexpr
  2. | Dif of dexpr * dinstruction list * dinstruction list
  3. | Dfail of dexpr
  4. | Ddecl of alpha_ident
val pp_dinstruction : Ppx_deriving_runtime.Format.formatter -> dinstruction -> Ppx_deriving_runtime.unit
val show_dinstruction : dinstruction -> Ppx_deriving_runtime.string
type sysofequations = dinstruction list
val pp_sysofequations : Ppx_deriving_runtime.Format.formatter -> sysofequations -> Ppx_deriving_runtime.unit
val show_sysofequations : sysofequations -> Ppx_deriving_runtime.string
type dprogram = {
  1. name : Ident.ident;
  2. storage : type_;
  3. parameter : type_;
  4. storage_data : data;
  5. code : dinstruction list;
}
val pp_dprogram : Ppx_deriving_runtime.Format.formatter -> dprogram -> Ppx_deriving_runtime.unit
val show_dprogram : dprogram -> Ppx_deriving_runtime.string
val mk_type : ?annotation:Ident.ident -> type_node -> type_
val mk_func : Ident.ident -> type_ -> type_ -> implem -> func
val mk_entry : Ident.ident -> (Ident.ident * type_) list -> (Ident.ident * type_) list -> instruction -> entry
val mk_ir : type_ -> data -> (Ident.ident * type_) list -> ?with_operations:bool -> type_ -> func list -> entry list -> ir
val mk_michelson : type_ -> type_ -> code -> michelson
val mk_dprogram : type_ -> type_ -> data -> Ident.ident -> dinstruction list -> dprogram
val toperation : type_
val tunit : type_
val tstring : type_
val tnat : type_
val tint : type_
val tbool : type_
val tmutez : type_
val tpair : type_ -> type_ -> type_
val tor : type_ -> type_ -> type_
val trat : type_
val tlist : type_ -> type_
val tset : type_ -> type_
val tmap : type_ -> type_ -> type_
val tlambda : type_ -> type_ -> type_
val itrue : instruction
val ifalse : instruction
val istring : string -> instruction
val imutez : Core.big_int -> instruction
val isome : instruction -> instruction
val inone : type_ -> instruction
val iunit : instruction
val inil : type_ -> instruction
val iemptyset : type_ -> instruction
val iemptymap : type_ -> type_ -> instruction
val iemptybigmap : type_ -> type_ -> instruction
val icar : instruction -> instruction
val icdr : instruction -> instruction
val ifail : string -> instruction
val iskip : instruction
val ileft : type_ -> instruction -> instruction
val iright : type_ -> instruction -> instruction
val ctrue : code
val cfalse : code
val cint : Core.big_int -> code
val cnat : Core.big_int -> code
val cstring : string -> code
val cfail : string -> code
val cskip : code
val dalpha : alpha_ident -> dexpr
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_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
val cmp_dexpr : dexpr -> dexpr -> bool
val cmp_dinstruction : dinstruction -> dinstruction -> bool
val map_dexpr_gen : (type_ -> type_) -> (data -> data) -> (dexpr -> dexpr) -> dexpr -> dexpr
val map_dexpr : (dexpr -> dexpr) -> dexpr -> dexpr
val map_dinstruction_gen : (dexpr -> dexpr) -> (dinstruction -> dinstruction) -> dinstruction -> dinstruction
val map_dinstruction : (dinstruction -> dinstruction) -> dinstruction -> dinstruction
val fold_dexpr : ('a -> dexpr -> 'b) -> 'c -> dexpr -> 'd
val fold_dinstruction_dexpr : ('a -> dexpr -> 'b) -> 'c -> dinstruction -> 'c
val fold_dinstruction : ('a -> dinstruction -> 'a) -> 'b -> dinstruction -> 'c
module Utils : sig ... end