Crate move_model

source ·

Modules

  • Contains AST definitions for the specification language fragments of the Move language. Note that in this crate, specs are represented in AST form, whereas code is represented as bytecodes. Therefore we do not need an AST for the Move code itself.
  • A helper for generating structured code.
  • Provides a model for a set of Move modules (and scripts, which are handled like modules). The model allows to access many different aspects of the Move code: all declared functions and types, their associated bytecode, their source location, their source text, and the specification fragments.
  • Contains constants for well-known names of native functions
  • Provides pragmas and properties of the specification language.
  • This module supports translations of specifications as found in the move-model to expressions which can be used in assumes/asserts in bytecode.
  • Contains definitions of symbols – internalized strings which support fast hashing and comparison.
  • Contains types and related functions.

Macros

  • Macro to emit a simple or formatted string.
  • Macro to emit a simple or formatted string followed by a new line.

Functions

  • Converts an address identifier to a number representing the address.
  • Converts a biguint into an account address
  • Build a GlobalEnv from a collection of CompiledModule’s. The modules list must be topologically sorted by the dependency relation (i.e., a child node in the dependency graph should appear earlier in the vector than its parents).
  • Build the move model with default compilation flags and default options and no named addresses. This collects transitive dependencies for move sources from the provided directory list.
  • Build the move model with default compilation flags and custom options and a set of provided named addreses. This collects transitive dependencies for move sources from the provided directory list.
  • Build the move model with custom compilation flags and custom options This collects transitive dependencies for move sources from the provided directory list.