Data types#

Module containing representations of Cairo types. Mostly used to generate proper serializers.

class starknet_py.cairo.data_types.CairoType#

Base type for all Cairo type representations. All types extend it.

class starknet_py.cairo.data_types.FeltType#

Type representation of Cairo field element.

class starknet_py.cairo.data_types.BoolType#

Type representation of Cairo boolean.

class starknet_py.cairo.data_types.TupleType#

Type representation of Cairo tuples without named fields.

types: List[CairoType]#

Types of every tuple element.

class starknet_py.cairo.data_types.NamedTupleType#

Type representation of Cairo tuples with named fields.

types: OrderedDict[str, CairoType]#

Types of every tuple member.

class starknet_py.cairo.data_types.ArrayType#

Type representation of Cairo arrays.

inner_type: CairoType#

Type of element inside array.

class starknet_py.cairo.data_types.StructType#

Type representation of Cairo structures.

name: str#

Structure name

types: OrderedDict[str, CairoType]#

types of every structure member.

class starknet_py.cairo.data_types.EnumType#

Type representation of Cairo enums.

name: str#

Enum name.

variants: OrderedDict[str, CairoType]#

Enum variants.

class starknet_py.cairo.data_types.OptionType#

Type representation of Cairo options.

type: CairoType#

Typed of element wrapped in the Option.

class starknet_py.cairo.data_types.UintType#

Type representation of Cairo unsigned integers.

bits: int#

Number of bits in the integer.

class starknet_py.cairo.data_types.UnitType#

Type representation of Cairo unit ().

class starknet_py.cairo.data_types.EventType#

Type representation of Cairo Event.

keys: List[str]#

Keys of every event member.

name: str#

Event name.

types: OrderedDict[str, CairoType]#

Types of every event member.

class starknet_py.cairo.data_types.NonZeroType#

Type representation of Cairo NonZero.

type: CairoType#

Type of element wrapped in NonZero.