Skip to main content

StructTag

StructTag Objects

class StructTag(StructTagProtocol)

Type information for a move struct

BCS

The BCS serialized form for this type is defined by the following ABNF:

struct-tag = address            ; address of the package
identifier ; name of the module
identifier ; name of the type
(vector type-tag) ; type parameters

new_dynamic_field

@classmethod
def new_dynamic_field(cls, key: TypeTag, value: TypeTag) -> StructTag

Creates a new dynamic field struct tag (0x2::dynamic_field::Field<KeyType, ValueType>)

new_name

@classmethod
def new_name(cls, address: Address) -> StructTag

Creates a new IOTA-Names Name struct tag with the given package address.

new_timelocked_gas_balance

@classmethod
def new_timelocked_gas_balance(cls) -> StructTag

Creates a new timelocked IOTA balance struct tag (0x2::timelock::TimeLock<0x2::balance::Balance<0x2::iota::IOTA>>)

address

def address() -> Address

Returns the address part of a StructTag

coin_type

def coin_type() -> TypeTag

Returns the coin type part of a StructTag, panics if this is not a Coin type

coin_type_opt

def coin_type_opt() -> typing.Optional[TypeTag]

Returns the coin type part of a StructTag, if this is a Coin type

is_dynamic_field

def is_dynamic_field() -> bool

Checks if this is a Dynamic Field type (0x2::dynamic_field::Field<KeyType, ValueType>)

is_gas_balance

def is_gas_balance() -> bool

Checks if this is an IOTA balance type (0x2::balance::Balance<0x2::iota::IOTA>)

is_name

def is_name() -> bool

Checks if this is an IOTA-Names Name type. Note that this does not check the package address, so it will return true for any struct with the correct module and type name with no type params.

is_same_type_as

def is_same_type_as(other: StructTag) -> bool

Returns whether the type (excluding the type params) is the same as another struct tag.

is_timelocked_balance

def is_timelocked_balance() -> bool

Checks if this is a timelocked coin balance TimeLock<Balance<T>>

is_timelocked_gas_balance

def is_timelocked_gas_balance() -> bool

Checks if this is a timelocked IOTA balance type (0x2::timelock::TimeLock<0x2::balance::Balance<0x2::iota::IOTA>>)

module

def module() -> Identifier

Returns the module part of a StructTag

name

def name() -> Identifier

Returns the name part of a StructTag

to_canonical_string

def to_canonical_string(with_prefix: bool) -> str

Returns the string representation of this struct tag using the canonical display, with or without a 0x prefix.

type_args

def type_args() -> typing.List[TypeTag]

Returns the type params part of a StructTag