pysui.sui_move.module package
Submodules
pysui.sui_move.module.base_deserializers module
Move module byte code raw deserializer.
- pysui.sui_move.module.base_deserializers.sig_walk(reader: ModuleReader) list
sig_walk Walks data for signatures.
- Parameters:
reader (ModuleReader) – Byte stream reader
- Raises:
NotImplementedError – If SignatureType not recognized
- Returns:
Signature list. First is always SignatureType
- Return type:
list
- pysui.sui_move.module.base_deserializers.read_op_code(reader: ModuleReader) tuple[OpCode, list]
read_op_code Disassembles byte code instructions.
- Parameters:
reader (ModuleReader) – Stream reader
- Returns:
Tuple of OpCode followed by zero or more operands
- Return type:
tuple[OpCode, list]
- pysui.sui_move.module.base_deserializers.read_code_units(reader: ModuleReader) tuple[int, list[tuple[OpCode, list]]]
read_code_units Disassembles a functions byte code instructions.
- Parameters:
reader (ModuleReader) – Stream reader
- Returns:
Tuple of opcode count for function and list of instructions
- Return type:
tuple[int, list[tuple[OpCode, list]]]
- pysui.sui_move.module.base_deserializers.deserialize_signatures(table_header: TableHeader, reader: ModuleReader) list[Signature]
deserialize_signatures builds collection of Signatures from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for Signatures
reader (ModuleReader) – Stream reader
- Returns:
All Signatures found in Signature content
- Return type:
list[Signature]
- pysui.sui_move.module.base_deserializers.deserialize_identifiers(table_header: TableHeader, reader: ModuleReader) list[Identifier]
deserialize_identifiers builds collection of Identifiers from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for Signatures
reader (ModuleReader) – Stream reader
- Returns:
All Identifiers found in Identifier content
- Return type:
list[Identifier]
- pysui.sui_move.module.base_deserializers.deserialize_addresses(table_header: TableHeader, reader: ModuleReader) list[Address]
deserialize_addresses builds collection of Addresses from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for Signatures
reader (ModuleReader) – Stream reader
- Returns:
All Addresses found in Address content
- Return type:
list[bcd.Address]
- pysui.sui_move.module.base_deserializers.deserialize_constants(table_header: TableHeader, reader: ModuleReader) list[Constant]
deserialize_constants builds collection of Constants from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for Signatures
reader (ModuleReader) – Stream reader
- Returns:
All Constants found in Address content
- Return type:
list[Constant]
- pysui.sui_move.module.base_deserializers.deserialize_module_handles(table_header: TableHeader, reader: ModuleReader) list[ModuleHandle]
deserialize_module_handles builds collection of ModuleHandles from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All ModuleHandles found in ModuleHandle content
- Return type:
list[ModuleHandle]
- pysui.sui_move.module.base_deserializers.deserialize_stuct_handles(table_header: TableHeader, reader: ModuleReader) list[StructHandle]
deserialize_stuct_handles builds collection of StructHandles from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All StructHandles found in StructHandle content
- Return type:
list[StructHandle]
- pysui.sui_move.module.base_deserializers.deserialize_stuct_definition(table_header: TableHeader, reader: ModuleReader) list[StructDefinition]
deserialize_stuct_definition builds collection of StructDefinition from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All StructDefinitions found in StructDefinition content
- Return type:
list[StructDefinition]
- pysui.sui_move.module.base_deserializers.deserialize_structure_instantiations(table_header: TableHeader, reader: ModuleReader) list[StructInstantiation]
deserialize_structure_instantiations builds collection of StructInstantiation from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All StructInstantiation found in StructInstantiation content
- Return type:
list[StructInstantiation]
- pysui.sui_move.module.base_deserializers.deserialize_structure_field_handles(table_header: TableHeader, reader: ModuleReader) list[FieldHandle]
deserialize_structure_field_handles builds collection of FieldHandles from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All FieldHandles found in FieldHandle content
- Return type:
list[FieldHandle]
- pysui.sui_move.module.base_deserializers.deserialize_structure_field_instantiations(table_header: TableHeader, reader: ModuleReader) list[FieldInstantiation]
deserialize_structure_field_instantiations builds collection of FieldInstantiations from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All FieldInstantiations found in FieldInstantiation content
- Return type:
list[FieldInstantiation]
- pysui.sui_move.module.base_deserializers.deserialize_function_handles(table_header: TableHeader, reader: ModuleReader) list[FunctionHandle]
deserialize_function_handles builds collection of FunctionHandles from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All FunctionHandles found in FunctionHandle content
- Return type:
list[FunctionHandle]
- pysui.sui_move.module.base_deserializers.deserialize_function_definition(table_header: TableHeader, reader: ModuleReader) list[FunctionDefinition]
deserialize_function_definition builds collection of FunctionDefinition types from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All FunctionDefinitions found in StructDefinition content
- Return type:
list[FunctionDefinition]
- pysui.sui_move.module.base_deserializers.deserialize_function_instantiations(table_header: TableHeader, reader: ModuleReader) list[FunctionInstantiation]
_deserialize_module_handles builds collection of ModuleHandles from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All FunctionInstantiations found in FunctionInstantiation content
- Return type:
list[FunctionInstantiation]
- pysui.sui_move.module.base_deserializers.deserialize_friends(table_header: TableHeader, reader: ModuleReader) list[Friend]
deserialize_friends builds collection of Friend from it’s table content.
- Parameters:
table_header (TableHeader) – TableHeader for ModuleHandles
reader (ModuleReader) – Stream reader
- Returns:
All Friends found in Friend content
- Return type:
list[Friend]
pysui.sui_move.module.deserialize module
Move module byte code deserializer.
- class pysui.sui_move.module.deserialize.Deserialize(value)
Bases:
IntEnum
Deserialize degree of deserialization invariants.
- MODULE_HANDLES = 1
- MTS_HANDLES = 2
- ALL = 3
- class pysui.sui_move.module.deserialize.RawModuleContent(magic: str, version: int, module_self: int, signatures: list[~pysui.sui_move.model.bytecode_tables.Signature] = <factory>, identifiers: list[~pysui.sui_move.model.bytecode_tables.Identifier] = <factory>, addresses: list[~pysui.sui_move.model.bytecode_tables.Address] = <factory>, constants: list[~pysui.sui_move.model.bytecode_tables.Constant] = <factory>, module_handles: list[~pysui.sui_move.model.bytecode_tables.ModuleHandle] = <factory>, structure_handles: list[~pysui.sui_move.model.bytecode_tables.StructHandle] = <factory>, structure_definitions: list[~pysui.sui_move.model.bytecode_tables.StructDefinition] = <factory>, structure_instantiations: list[~pysui.sui_move.model.bytecode_tables.StructInstantiation] = <factory>, field_handles: list[~pysui.sui_move.model.bytecode_tables.FieldHandle] = <factory>, field_instantiations: list[~pysui.sui_move.model.bytecode_tables.FieldInstantiation] = <factory>, function_handles: list[~pysui.sui_move.model.bytecode_tables.FunctionHandle] = <factory>, function_definitions: list[~pysui.sui_move.model.bytecode_tables.FunctionDefinition] = <factory>, function_instantiations: list[~pysui.sui_move.model.bytecode_tables.FunctionInstantiation] = <factory>, friends: list[~pysui.sui_move.model.bytecode_tables.Friend] = <factory>)
Bases:
object
RawModuleContent contains table collections in raw form.
For each table type, the collection of types have immediate data or indexes in to other content table collections.
- Variables:
magic (type) – Contains the Move magic signature at beginning of byte code
magic – str
version (type) – The compiler version
version – int
module_self (type) – ModuleHandle index for self (i.e. the module itself)
module_self – int
signatures (type) – List of Signatures or empty list if none found
signatures – list[Signature]
identifiers (type) – List of Identifiers or empty list if none found
identifiers – list[Identifier]
addresses (type) – List of Addresses or empty list if none found
addresses – list[Address]
constants (type) – List of Constants or empty list if none found
constants – list[Constant]
module_handles (type) – List of ModuleHandle or empty list if none found
module_handles – list[ModuleHandle]
structure_handles (type) – List of StructHandles or empty list if none found
structure_handles – list[StructHandle]
structure_definitions (type) – List of StructDefinitions or empty list if none found
structure_definitions – list[StructDefinition]
structure_instantiations (type) – List of StructInstantiations or empty list if none found
structure_instantiations – list[StructInstantiation]
field_handles (type) – List of FieldHandles or empty list if none found
field_handles – list[FieldHandle]
field_instantiations (type) – List of FieldInstantiations or empty list if none found
field_instantiations – list[FieldInstantiation]
function_handles (type) – List of FunctionHandles or empty list if none found
function_handles – list[FunctionHandle]
function_definitions (type) – List of FunctionDefinition or empty list if none found
function_definitions – list[FunctionDefinition]
function_instantiations (type) – List of FunctionInstantiation or empty list if none found
function_instantiations – list[FunctionInstantiation]
friends (type) – List of Friends or empty list if none found
friends – list[Friend]
- magic: str
- version: int
- module_self: int
- identifiers: list[Identifier]
- module_handles: list[ModuleHandle]
- structure_handles: list[StructHandle]
- structure_definitions: list[StructDefinition]
- structure_instantiations: list[StructInstantiation]
- field_handles: list[FieldHandle]
- field_instantiations: list[FieldInstantiation]
- function_handles: list[FunctionHandle]
- function_definitions: list[FunctionDefinition]
- function_instantiations: list[FunctionInstantiation]
- __init__(magic: str, version: int, module_self: int, signatures: list[~pysui.sui_move.model.bytecode_tables.Signature] = <factory>, identifiers: list[~pysui.sui_move.model.bytecode_tables.Identifier] = <factory>, addresses: list[~pysui.sui_move.model.bytecode_tables.Address] = <factory>, constants: list[~pysui.sui_move.model.bytecode_tables.Constant] = <factory>, module_handles: list[~pysui.sui_move.model.bytecode_tables.ModuleHandle] = <factory>, structure_handles: list[~pysui.sui_move.model.bytecode_tables.StructHandle] = <factory>, structure_definitions: list[~pysui.sui_move.model.bytecode_tables.StructDefinition] = <factory>, structure_instantiations: list[~pysui.sui_move.model.bytecode_tables.StructInstantiation] = <factory>, field_handles: list[~pysui.sui_move.model.bytecode_tables.FieldHandle] = <factory>, field_instantiations: list[~pysui.sui_move.model.bytecode_tables.FieldInstantiation] = <factory>, function_handles: list[~pysui.sui_move.model.bytecode_tables.FunctionHandle] = <factory>, function_definitions: list[~pysui.sui_move.model.bytecode_tables.FunctionDefinition] = <factory>, function_instantiations: list[~pysui.sui_move.model.bytecode_tables.FunctionInstantiation] = <factory>, friends: list[~pysui.sui_move.model.bytecode_tables.Friend] = <factory>) None
- pysui.sui_move.module.deserialize.deserialize(reader: ModuleReader, form: Deserialize) RawModuleContent | Exception
deserialize decomposes a move compiled module file into constituent table parts.
- Parameters:
reader (ModuleReader) – Byte reader
form (Deserialize) – Granularity of tables to deserialize to
- Raises:
ValueError – If there is no module_handles in the move file
- Returns:
Itemized table layout
- Return type:
Union[RawModuleContent, Exception]
- pysui.sui_move.module.deserialize.reader_from_file(module: str) ModuleReader | Exception
reader_from_file Returns a module reader for module.
- Parameters:
module (str) – Full qualified module path
- Returns:
Instance of the module reader
- Return type:
Union[ModuleReader,Exception]
- pysui.sui_move.module.deserialize.from_file(module: str, form: Deserialize = Deserialize.ALL) RawModuleContent | Exception
from_file Deserialize the content of a module from file system.
- Parameters:
module (str) – The sui module file path
form (Deserialize, optional) – Defines how many tables to walk from module, defaults to Deserialize.ALL
- Returns:
Container of deserialized tables
- Return type:
Union[RawModuleContent, Exception]
- pysui.sui_move.module.deserialize.from_base64(in_base64: str, form: Deserialize = Deserialize.ALL) RawModuleContent | Exception
from_base64 Deserialize the content of a module base64 representation.
- Parameters:
in_base64 (str) – The sui module base64 string
form (Deserialize, optional) – Defines how many tables to walk from module, defaults to Deserialize.ALL
- Returns:
Container of deserialized tables
- Return type:
Union[RawModuleContent, Exception]
Module contents
Module package.