package octez-proto-libs
Octez protocol libraries
Install
Dune Dependency
Authors
Maintainers
Sources
tezos-18.0.tar.gz
sha256=dbc3b675aee59c2c574e5d0a771193a2ecfca31e7a5bc5aed66598080596ce1c
sha512=b97ed762b9d24744305c358af0d20f394376b64bfdd758dd4a81775326caf445caa57c4f6445da3dd6468ff492de18e4c14af6f374dfcbb7e4d64b7b720e5e2a
doc/octez-proto-libs.protocol-environment/Tezos_protocol_environment/V9/Make/Data_encoding/Compact/Custom/index.html
Module Compact.Custom
This module can be used to write compact encoding for complex types without relying on the existing combinators.
Combine multiple tags; will throw an error if the total length of the tags is more than 16.
module type S = sig ... end
make (module M)
is a compact encoding for the type of M.input
.
The JSON representation is entirely determined by M.json_encoding
.
The binary representation is determined as follows.
- A value
v : M.input
is classified into a layoutl
byM.classify v
. - A tag
M.tag l
is used (which may be combined with the tags of other compact encodings as described before). - The payload is the same bytes as can be found in the string returned by
Data_encoding.Binary.to_string (M.partial_encoding l) v
.
In other words, the tag of a value is M.(tag (layout v))
and the payload of a value is M.(partial_encoding (layout v) v)
.
It is the user's responsibility to ensure that all the values of M
follow the invariants documented in S
.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>