package tezos-protocol-alpha
Parameters
module P : MICHELSON_PARSER
Signature
val unparse_data :
Alpha_context.context ->
stack_depth:int ->
unparsing_mode ->
('a, 'ac) Script_typed_ir.ty ->
'a ->
(Alpha_context.Script.expr * Alpha_context.context)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
unparse_data ctxt ~stack_depth unparsing_mode ty data
returns the Micheline representation of data
of type ty
, consuming an appropriate amount of gas from ctxt
.
val unparse_items :
Alpha_context.context ->
stack_depth:int ->
unparsing_mode ->
'k Script_typed_ir.comparable_ty ->
('v, 'vc) Script_typed_ir.ty ->
('k * 'v) list ->
(Alpha_context.Script.expr list * Alpha_context.context)
Tezos_protocol_environment_alpha.Error_monad.tzresult
Tezos_protocol_environment_alpha.Lwt.t
unparse_items ctxt ~stack_depth unparsing_mode kty vty assoc
returns the Micheline representation of assoc
(being an association list) with keys of type kty
and values of type vty
. Gas is being consumed from ctxt
.
val unparse_code :
Alpha_context.context ->
stack_depth:int ->
unparsing_mode ->
Alpha_context.Script.node ->
(Alpha_context.Script.expr * Alpha_context.context,
Tezos_protocol_environment_alpha.Error_monad.error
Tezos_protocol_environment_alpha.Error_monad.trace)
Tezos_protocol_environment_alpha.Pervasives.result
Tezos_protocol_environment_alpha.Lwt.t
unparse_code ctxt ~stack_depth unparsing_mode code
returns code
with I_PUSH
instructions parsed and unparsed back to make sure that only forgeable values are being pushed. The gas is being consumed from ctxt
.
module Internal_for_benchmarking : sig ... end
For benchmarking purpose, we also export versions of the unparsing functions which don't call location stripping. These functions are not carbonated and should not be called directly from the protocol.