This module defines the protocol for specifying an address balance reservation
via an ObjectRef, in order to provide backward compatibility for clients that do
not understand address balances.
System objects that a transaction may read implicitly during execution, i.e. without declaring
them as shared inputs. Their read version is recorded in effects (as a read-only consensus
object) and reproduced when executing from effects (checkpoint execution during state sync, and
crash recovery) so the read resolves to the same version on every node. Execution paths that are
not sequenced by consensus (dev-inspect / dry-run) pin these objects at their latest committed
versions instead.
Parse s as a fully-qualified name: A Module ID (see parse_sui_module_id), followed by ::,
and then an identifier (for the module member). Parsing succeeds if and only if s matches this
format exactly, with no remaining input. This function is intended for use within the authority
codebases.
Parse s as a Module ID: An address (see parse_sui_address), followed by ::, and then a
module name (an identifier). Parsing succeeds if and only if s matches this format exactly,
with no remaining input. This function is intended for use within the authority codebases.
Parse s as a struct type: A fully-qualified name, optionally followed by a list of type
parameters (types – see parse_sui_type_tag, separated by commas, surrounded by angle
brackets). Parsing succeeds if and only if s matches this format exactly, with no remaining
input. This function is intended for use within the authority codebase.
Parse s as a type: Either a struct type (see parse_sui_struct_tag), a primitive type, or a
vector with a type parameter. Parsing succeeds if and only if s matches this format exactly,
with no remaining input. This function is intended for use within the authority codebase.