package tezos-protocol-alpha
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c6df840ebbf115e454db949028c595bec558a59a66cade73b52a6d099d6fa4d4
sha512=d8aee903b9fe130d73176bc8ec38b78c9ff65317da3cb4f3415f09af0c625b4384e7498201fdb61aa39086a7d5d409d0ab3423f9bc3ab989a680cf444a79bc13
doc/tezos_raw_protocol_alpha/Tezos_raw_protocol_alpha/Script_repr/index.html
Module Tezos_raw_protocol_alpha.Script_repr
Source
Defines a Michelson expression representation as a Micheline node with canonical (int
) location and Michelson_v1_primitives.prim
as content.
Types expr
and node
both define representation of Michelson expressions and are indeed the same type internally, although this is not visible outside Micheline due to interface abstraction.
Locations are used by Micheline mostly for error-reporting and pretty- printing expressions. canonical_location
is simply an int
.
Annotations attached to Michelson expressions.
Represents a Michelson expression as canonical Micheline.
A record containing either an underlying serialized representation of an expression or a deserialized one, or both. If either is absent, it will be computed on-demand.
type 'location michelson_node =
('location, Michelson_v1_primitives.prim)
Tezos_protocol_environment_alpha.Micheline.node
Same as expr
, but used in different contexts, as required by Micheline's abstract interface.
Type t
joins the contract's code and storage in a single record.
Returns (a lower bound on) the cost to deserialize a lazy_expr
. If the expression has already been deserialized (i.e. the lazy expression contains the deserialized value or both the bytes representation and the deserialized value) then the cost is free.
Like force_decode_cost
, excepted that the returned cost does not depend on the internal state of the lazy_expr. This means that the cost is never free (excepted for zero bytes expressions).
Returns the cost to serialize a lazy_expr
. If the expression has already been deserialized (i.e. le lazy expression contains the bytes representation or both the bytes representation and the deserialized value) then the cost is free.
Computes the cost of serializing a given term.
micheline_nodes root
returns the number of internal nodes in the micheline expression held from root
.
val fold :
('loc, 'prim) Tezos_protocol_environment_alpha.Micheline.node ->
'acc ->
('acc ->
('loc, 'prim) Tezos_protocol_environment_alpha.Micheline.node ->
'acc) ->
'acc
fold node i f
traverses node
applying f
on an accumulator initialized by i
.