package archetype
Module Archetype.MichelsonSource
Source
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.unitSource
val show_with_annot :
'a. (Ppx_deriving_runtime.Format.formatter ->
'a ->
Ppx_deriving_runtime.unit) ->
'a with_annot ->
Ppx_deriving_runtime.stringSource
type type_node = | Taddress| Tbig_map of type_ * type_| Tbool| Tbytes| Tchain_id| Tcontract of type_| Tint| Tkey| Tkey_hash| Tlambda of type_ * type_| Tlist of type_| Tmap of type_ * type_| Tmutez| Tnat| Toperation| Toption of type_| Tor of type_ * type_| Tpair of type_ * type_| Tset of type_| Tsignature| Tstring| Ttimestamp| Tunit| Tticket of type_| Tsapling_state of int| Tsapling_transaction of int| Tbls12_381_fr| Tbls12_381_g1| Tbls12_381_g2| Tnever
Source
val pp_type_node :
Ppx_deriving_runtime.Format.formatter ->
type_node ->
Ppx_deriving_runtime.unitSource
type data = | Dint of Core.big_int| Dstring of string| Dbytes of string| Dunit| Dtrue| Dfalse| Dpair of data * data| Dleft of data| Dright of data| Dsome of data| Dnone| Dlist of data list| Delt of data * data| Dvar of Ident.ident * type_| DIrCode of Ident.ident * instruction| Dcode of code
Source
and code = | SEQ of code list| APPLY| EXEC| FAILWITH| IF of code list * code list| IF_CONS of code list * code list| IF_LEFT of code list * code list| IF_NONE of code list * code list| ITER of code list| LAMBDA of type_ * type_ * code list| LOOP of code list| LOOP_LEFT of code list| DIG of int| DIP of int * code list| DROP of int| DUG of int| DUP| PUSH of type_ * data| SWAP| ABS| ADD| COMPARE| EDIV| EQ| GE| GT| INT| ISNAT| LE| LSL| LSR| LT| MUL| NEG| NEQ| SUB| AND| NOT| OR| XOR| BLAKE2B| CHECK_SIGNATURE| HASH_KEY| SHA256| SHA512| ADDRESS| AMOUNT| BALANCE| CHAIN_ID| CONTRACT of type_ * Ident.ident option| CREATE_CONTRACT of type_ * type_ * code| IMPLICIT_ACCOUNT| NOW| SELF of Ident.ident option| SENDER| SET_DELEGATE| SOURCE| TRANSFER_TOKENS| CAR of int| CDR of int| CONCAT| CONS| EMPTY_BIG_MAP of type_ * type_| EMPTY_MAP of type_ * type_| EMPTY_SET of type_| GET| LEFT of type_| MAP of code list| MEM| NIL of type_| NONE of type_| PACK| PAIR| RIGHT of type_| SIZE| SLICE| SOME| UNIT| UNPACK of type_| UPDATE| JOIN_TICKETS| READ_TICKET| SPLIT_TICKET| TICKET| UNPAIR| SELF_ADDRESS| CAST of type_| CREATE_ACCOUNT| RENAME| STEPS_TO_QUOTA| LEVEL| SAPLING_EMPTY_STATE of int| SAPLING_VERIFY_UPDATE| NEVER| VOTING_POWER| TOTAL_VOTING_POWER| KECCAK| SHA3| PAIRING_CHECK| SUBMIT_PROPOSALS| SUBMIT_BALLOT| SET_BAKER_ACTIVE| TOGGLE_BAKER_DELEGATIONS| SET_BAKER_CONSENSUS_KEY| SET_BAKER_PVSS_KEY
Source
and un_operator = | Ucar of int| Ucdr of int| Uleft of type_| Uright of type_| Uneg| Uint| Unot| Uabs| Uisnat| Usome| Usize| Upack| Uunpack of type_| Ublake2b| Usha256| Usha512| Usha3| Ukeccak| Uhash_key| Ufail| Ucontract of type_ * Ident.ident option| Usetdelegate| Uimplicitaccount| Ueq| Une| Ugt| Uge| Ult| Ule| Uvotingpower| Ureadticket| Ujointickets| Upairing_check| Uconcat| Uaddress
Source
and instruction = | Iseq of instruction list| IletIn of Ident.ident * instruction * instruction * bool| Ivar of Ident.ident| Icall of Ident.ident * instruction list * bool| Iassign of Ident.ident * instruction| Iif of instruction * instruction * instruction * type_| Iifnone of instruction * instruction * Ident.ident * instruction * type_| Iifleft of instruction * Ident.ident * instruction * Ident.ident * instruction * type_| Iifcons of instruction * Ident.ident * Ident.ident * instruction * instruction * type_| Iloop of instruction * instruction| Iiter of Ident.ident list * instruction * instruction| Iloopleft of instruction * Ident.ident * instruction| Ilambda of type_ * Ident.ident * type_ * instruction| Izop of z_operator| Iunop of un_operator * instruction| Ibinop of bin_operator * instruction * instruction| Iterop of ter_operator * instruction * instruction * instruction| Iupdate of ukind * aoperator| Iconst of type_ * data| Icompare of cmp_operator * instruction * instruction| Iset of type_ * instruction list| Ilist of type_ * instruction list| Imap of bool * type_ * type_ * (instruction * instruction) list| Irecord of ritem| Irecupdate of instruction * ruitem| Imap_ of instruction * Ident.ident * instruction| Ifold of Ident.ident * Ident.ident option * Ident.ident * instruction * instruction * instruction| Imichelson of instruction list * code * Ident.ident list
Source
and ruitem = | RUnodes of int * (int * ruitem) list| RUassign of int * (int * instruction) list
Source
and aoperator = | Aunop of un_operator| Abinop of bin_operator * instruction| Aterop of ter_operator * instruction * instruction
Source
val pp_z_operator :
Ppx_deriving_runtime.Format.formatter ->
z_operator ->
Ppx_deriving_runtime.unitSource
val pp_un_operator :
Ppx_deriving_runtime.Format.formatter ->
un_operator ->
Ppx_deriving_runtime.unitSource
val pp_bin_operator :
Ppx_deriving_runtime.Format.formatter ->
bin_operator ->
Ppx_deriving_runtime.unitSource
val pp_ter_operator :
Ppx_deriving_runtime.Format.formatter ->
ter_operator ->
Ppx_deriving_runtime.unitSource
val pp_cmp_operator :
Ppx_deriving_runtime.Format.formatter ->
cmp_operator ->
Ppx_deriving_runtime.unitSource
val pp_builtin :
Ppx_deriving_runtime.Format.formatter ->
builtin ->
Ppx_deriving_runtime.unitSource
val pp_instruction :
Ppx_deriving_runtime.Format.formatter ->
instruction ->
Ppx_deriving_runtime.unitSource
val pp_aoperator :
Ppx_deriving_runtime.Format.formatter ->
aoperator ->
Ppx_deriving_runtime.unitSource
type entry = {name : Ident.ident;args : (Ident.ident * type_) list;eargs : (Ident.ident * type_) list;body : instruction;
}Source
type ir = {name : Ident.ident;storage_type : type_;storage_data : data;storage_list : (Ident.ident * type_ * data) list;with_operations : bool;parameter : type_;funs : func list;entries : entry list;parameters : Ident.ident list;
}Source
type michelson = {storage : type_;parameter : type_;code : code;parameters : Ident.ident list;
}Source
val pp_michelson :
Ppx_deriving_runtime.Format.formatter ->
michelson ->
Ppx_deriving_runtime.unitSource
and obj_micheline = | Oprim of prim| Ostring of string| Obytes of string| Oint of string| Oarray of obj_micheline list| Ovar of obj_micheline_var
Source
and obj_micheline_var = | OMVfree of Ident.ident| OMVint of Ident.ident| OMVstring of Ident.ident| OMVbytes of Ident.ident| OMVif of Ident.ident * obj_micheline * obj_micheline
Source
val pp_obj_micheline :
Ppx_deriving_runtime.Format.formatter ->
obj_micheline ->
Ppx_deriving_runtime.unitSource
val pp_obj_micheline_var :
Ppx_deriving_runtime.Format.formatter ->
obj_micheline_var ->
Ppx_deriving_runtime.unitSource
type micheline = {code : obj_micheline list;storage : obj_micheline;parameters : Ident.ident list;
}Source
val pp_micheline :
Ppx_deriving_runtime.Format.formatter ->
micheline ->
Ppx_deriving_runtime.unitSource
val pp_alpha_ident :
Ppx_deriving_runtime.Format.formatter ->
alpha_ident ->
Ppx_deriving_runtime.unitSource
type dexpr = | Dalpha of alpha_ident| Dvar of type_| Dstorage of type_| Doperations| Dlbdparam| Dlbdresult| Ddata of data| Dzop of z_operator| Duop of un_operator * dexpr| Dbop of bin_operator * dexpr * dexpr| Dtop of ter_operator * dexpr * dexpr * dexpr| Dapply of dexpr * dexpr| Dexec of dexpr * dexpr| Dlambda of type_ * type_ * dinstruction list| Dloopleft of dexpr * dinstruction list| Dmap of dexpr * dinstruction list
Source
and dinstruction = | Ddecl of alpha_ident * dexpr option| Dassign of dexpr * dexpr| Dfail of dexpr| Dif of dexpr * dinstruction list * dinstruction list| Difcons of dexpr * alpha_ident * alpha_ident * dinstruction list * dinstruction list| Difleft of dexpr * alpha_ident * dinstruction list * alpha_ident * dinstruction list| Difnone of dexpr * dinstruction list * alpha_ident * dinstruction list| Dloop of dexpr * dinstruction list| Diter of dexpr * dinstruction list
Source
val pp_dinstruction :
Ppx_deriving_runtime.Format.formatter ->
dinstruction ->
Ppx_deriving_runtime.unitSource
type dprogram = {name : Ident.ident;storage : type_;parameter : type_;storage_data : data;code : dinstruction list;
}Source
val pp_dprogram :
Ppx_deriving_runtime.Format.formatter ->
dprogram ->
Ppx_deriving_runtime.unitSource
val mk_entry :
Ident.ident ->
(Ident.ident * type_) list ->
(Ident.ident * type_) list ->
instruction ->
entrySource
val mk_ir :
?parameters:Ident.ident list ->
Ident.ident ->
type_ ->
data ->
(Ident.ident * type_ * data) list ->
?with_operations:bool ->
type_ ->
func list ->
entry list ->
irSource
val mk_micheline :
?parameters:Ident.ident list ->
obj_micheline list ->
obj_micheline ->
michelineSource
val map_dexpr :
(dexpr -> dexpr) ->
(dinstruction -> dinstruction) ->
(alpha_ident -> alpha_ident) ->
dexpr ->
dexprSource
val map_dexpr_dinstr :
(dinstruction -> dinstruction) ->
(dexpr -> dexpr) ->
(alpha_ident -> alpha_ident) ->
dinstruction ->
dinstructionSource
val fold_dexpr_dinstr :
('a -> dinstruction -> 'a) ->
('a -> dexpr -> 'a) ->
'a ->
dinstruction ->
'a