package archetype

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Archetype.MichelsonSource

Sourcetype 'a with_annot = {
  1. node : 'a;
  2. annotation : Ident.ident option;
}
Sourcetype 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
Sourcetype 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. | Dplist of (data * data) list
Sourcetype code =
  1. | SEQ of code list
  2. | DROP of int
  3. | DUP
  4. | SWAP
  5. | DIG of int
  6. | DUG of int
  7. | PUSH of type_ * data
  8. | SOME
  9. | NONE of type_
  10. | UNIT
  11. | IF_NONE of code list * code list
  12. | PAIR
  13. | CAR
  14. | CDR
  15. | UNPAIR
  16. | LEFT of type_
  17. | RIGHT of type_
  18. | IF_LEFT of code list * code list
  19. | NIL of type_
  20. | CONS
  21. | IF_CONS of code list * code list
  22. | SIZE
  23. | EMPTY_SET of type_
  24. | EMPTY_MAP of type_ * type_
  25. | EMPTY_BIG_MAP of type_ * type_
  26. | MAP of code list
  27. | ITER of code list
  28. | MEM
  29. | GET
  30. | UPDATE
  31. | IF of code list * code list
  32. | LOOP of code list
  33. | LOOP_LEFT of code list
  34. | LAMBDA of type_ * type_ * code list
  35. | EXEC
  36. | DIP of int * code list
  37. | ASSERT_EQ
  38. | ASSERT_NEQ
  39. | ASSERT_LT
  40. | ASSERT_LE
  41. | ASSERT_GT
  42. | ASSERT_GE
  43. | FAILWITH
  44. | CAST
  45. | RENAME
  46. | CONCAT
  47. | SLICE
  48. | PACK
  49. | UNPACK of type_
  50. | ADD
  51. | SUB
  52. | MUL
  53. | EDIV
  54. | ABS
  55. | ISNAT
  56. | INT
  57. | NEG
  58. | LSL
  59. | LSR
  60. | OR
  61. | AND
  62. | XOR
  63. | NOT
  64. | COMPARE
  65. | EQ
  66. | NEQ
  67. | LT
  68. | GT
  69. | LE
  70. | GE
  71. | SELF
  72. | CONTRACT of type_ * Ident.ident option
  73. | TRANSFER_TOKENS
  74. | SET_DELEGATE
  75. | CREATE_ACCOUNT
  76. | CREATE_CONTRACT of code list
  77. | IMPLICIT_ACCOUNT
  78. | NOW
  79. | AMOUNT
  80. | BALANCE
  81. | CHECK_SIGNATURE
  82. | BLAKE2B
  83. | SHA256
  84. | SHA512
  85. | HASH_KEY
  86. | STEPS_TO_QUOTA
  87. | SOURCE
  88. | SENDER
  89. | ADDRESS
  90. | CHAIN_ID
Sourcetype z_operator =
  1. | Znow
  2. | Zamount
  3. | Zbalance
  4. | Zsource
  5. | Zsender
  6. | Zaddress
  7. | Zchain_id
  8. | Zself_address
  9. | Znone of type_
Sourcetype 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
Sourcetype 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
Sourcetype ter_operator =
  1. | Tcheck_signature
  2. | Tslice
  3. | Tupdate
  4. | Ttransfer_tokens
Sourcetype cmp_operator =
  1. | Ceq
  2. | Cne
  3. | Cgt
  4. | Cge
  5. | Clt
  6. | Cle
Sourcetype 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
Sourcetype 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
Sourcetype implem =
  1. | Concrete of (Ident.ident * type_) list * instruction
  2. | Abstract of builtin
Sourcetype func = {
  1. name : Ident.ident;
  2. targ : type_;
  3. tret : type_;
  4. body : implem;
}
Sourcetype entry = {
  1. name : Ident.ident;
  2. args : (Ident.ident * type_) list;
  3. eargs : (Ident.ident * type_) list;
  4. body : instruction;
}
Sourcetype 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;
}
Sourcetype michelson = {
  1. storage : type_;
  2. parameter : type_;
  3. code : code;
}
Sourceval mk_type : ?annotation:Ident.ident -> type_node -> type_
Sourceval mk_func : Ident.ident -> type_ -> type_ -> implem -> func
Sourceval mk_entry : Ident.ident -> (Ident.ident * type_) list -> (Ident.ident * type_) list -> instruction -> entry
Sourceval mk_ir : type_ -> data -> (Ident.ident * type_) list -> ?with_operations:bool -> type_ -> func list -> entry list -> ir
Sourceval mk_michelson : type_ -> type_ -> code -> michelson
Sourceval toperation : type_
Sourceval tunit : type_
Sourceval tstring : type_
Sourceval tnat : type_
Sourceval tint : type_
Sourceval tbool : type_
Sourceval tmutez : type_
Sourceval tpair : type_ -> type_ -> type_
Sourceval tor : type_ -> type_ -> type_
Sourceval trat : type_
Sourceval tlist : type_ -> type_
Sourceval tset : type_ -> type_
Sourceval tmap : type_ -> type_ -> type_
Sourceval tlambda : type_ -> type_ -> type_
Sourceval itrue : instruction
Sourceval ifalse : instruction
Sourceval istring : string -> instruction
Sourceval inone : type_ -> instruction
Sourceval iunit : instruction
Sourceval ifail : string -> instruction
Sourceval iskip : instruction
Sourceval ctrue : code
Sourceval cfalse : code
Sourceval cint : Core.big_int -> code
Sourceval cnat : Core.big_int -> code
Sourceval cstring : string -> code
Sourceval cfail : string -> code
Sourceval cskip : code
Sourceval cmp_ident : Tools.String.t -> Tools.String.t -> bool
Sourceval cmp_type : type_ -> type_ -> bool
Sourceval cmp_data : data -> data -> bool
Sourceval cmp_code : code -> code -> bool
Sourceval cmp_builtin : builtin -> builtin -> bool
Sourceval map_data : (data -> data) -> data -> data
Sourceval map_code_gen : (code -> code) -> (data -> data) -> (type_ -> type_) -> code -> code
Sourceval map_code : (code -> code) -> code -> code
Sourceval map_seq : (code list -> code list) -> code -> code
Sourcemodule Utils : sig ... end
OCaml

Innovation. Community. Security.