Expand description

Verifies bytecode sanity.

Re-exports

Modules

  • This module implements a checker for verifying that all of the struct’s fields satisfy the abilities required by the struct’s abilities
  • This module implements a checker for verifying that each vector in a CompiledModule contains distinct values. Successful verification implies that an index in vector can be used to uniquely name the entry at that index. Additionally, the checker also verifies the following:
  • This module implements the checker for verifying correctness of function bodies. The overall verification is split between stack_usage_verifier.rs and abstract_interpreter.rs. CodeUnitVerifier simply orchestrates calls into these two files.
  • This module implements a checker for verifying that
  • This module implements a checker for verifies control flow. The following properties are ensured:
  • This module contains verification of usage of dependencies for modules
  • This module contains verification of usage of dependencies for modules and scripts.
  • This module contains verification of usage of dependencies for modules
  • This implements an algorithm that detects loops during the instantiation of generics.
  • This module defines the transfer functions for verifying consistency of each bytecode instruction, in particular, for the bytecode instructions that come in both generic and non-generic flavors.
  • This module implements a checker for verifying that a script (or script function when serving as the entry point for script execution) has a valid signature, which entails
  • This module implements a checker for verifying signature tokens used in types of function parameters, locals, and fields of structs are well-formed. References can only occur at the top-level in all tokens. Additionally, references cannot occur at all in field types.
  • This module provides a checker for verifying that struct definitions in a module are not recursive. Since the module dependency graph is acylic by construction, applying this checker to each module in isolation guarantees that there is no structural recursion globally.
  • This module contains the public APIs supported by the bytecode verifier.