Module move_binary_format::normalized
source · Structs
- Normalized version of a
FieldDefinition
. Thename
is included even though it is metadata that it is ignored by the VM. The reason: names are important to clients. We would want a change fromAccount { bal: u64, seq: u64 }
toAccount { seq: u64, bal: u64 }
to be marked as incompatible. Not safe to compare without an enclosingStruct
. - Normalized version of a
FunctionDefinition
. Not safe to compare without an associatedModuleId
orModule
. - Normalized version of a
CompiledModule
: its address, name, struct declarations, and public function declarations. - Normalized version of a
StructDefinition
. Not safe to compare without an associatedModuleId
orModule
.
Enums
- Defines normalized representations of Move types, fields, kinds, structs, functions, and modules. These representations are useful in situations that require require comparing functions, resources, and types across modules. This arises in linking, compatibility checks (e.g., “is it safe to deploy this new module without updating its dependents and/or restarting genesis?”), defining schemas for resources stored on-chain, and (possibly in the future) allowing module updates transactions. A normalized version of
SignatureToken
, a type expression appearing in struct or function declarations. UnlikeSignatureToken
s,normalized::Type
s from different modules can safely be compared.