Abi#

Module containing representation of contract abi and parser for creating it from parsed json.

Parsing abi v2#

class starknet_py.abi.v2.AbiParser#

Utility class for parsing abi into a dataclass.

__init__(abi_list: List[Dict])#

Abi parser constructor. Ensures that abi satisfies the abi schema.

Parameters:

abi_list – Contract’s ABI as a list of dictionaries.

parse() Abi#

Parse abi provided to constructor and return it as a dataclass. Ensures that there are no cycles in the abi.

Raises:

AbiParsingError: on any parsing error.

Returns:

Abi dataclass.

class starknet_py.abi.v2.AbiParsingError#

Error raised when something wrong goes during abi parsing.

Model v2#

class starknet_py.abi.v2.Abi#

Dataclass representing class abi. Contains parsed functions, enums, events and structures.

constructor: Constructor | None#

Contract’s constructor. It is None if class doesn’t define one.

defined_enums: Dict[str, EnumType]#

Abi of enums defined by the class.

defined_structures: Dict[str, StructType]#

Abi of structures defined by the class.

events: Dict[str, EventType]#

Events defined by the class

functions: Dict[str, Function]#

Functions defined by the class.

l1_handler: Dict[str, Function] | None#

Handlers of L1 messages. It is None if class doesn’t define one.

class starknet_py.abi.v2.Abi.Function#

Dataclass representing function’s abi.

__init__(name: str, inputs: OrderedDict[str, CairoType], outputs: List[CairoType]) None#
inputs: OrderedDict[str, CairoType]#
name: str#
outputs: List[CairoType]#
starknet_py.abi.v2.Abi.Event#

alias of Union[EventStruct, EventEnum]

Parsing abi v1#

class starknet_py.abi.v1.AbiParser#

Utility class for parsing abi into a dataclass.

__init__(abi_list: List[Dict])#

Abi parser constructor. Ensures that abi satisfies the abi schema.

Parameters:

abi_list – Contract’s ABI as a list of dictionaries.

parse() Abi#

Parse abi provided to constructor and return it as a dataclass. Ensures that there are no cycles in the abi.

Raises:

AbiParsingError: on any parsing error.

Returns:

Abi dataclass.

class starknet_py.abi.v1.AbiParsingError#

Error raised when something wrong goes during abi parsing.

Model v1#

class starknet_py.abi.v1.Abi#

Dataclass representing class abi. Contains parsed functions, enums, events and structures.

defined_enums: Dict[str, EnumType]#

Abi of enums defined by the class.

defined_structures: Dict[str, StructType]#

Abi of structures defined by the class.

events: Dict[str, Event]#

Events defined by the class

functions: Dict[str, Function]#

Functions defined by the class.

class starknet_py.abi.v1.Abi.Function#

Dataclass representing function’s abi.

__init__(name: str, inputs: OrderedDict[str, CairoType], outputs: List[CairoType]) None#
inputs: OrderedDict[str, CairoType]#
name: str#
outputs: List[CairoType]#
class starknet_py.abi.v1.Abi.Event#

Dataclass representing event’s abi.

__init__(name: str, inputs: OrderedDict[str, CairoType]) None#
inputs: OrderedDict[str, CairoType]#
name: str#

Parsing abi v0#

class starknet_py.abi.v0.AbiParser#

Utility class for parsing abi into a dataclass.

__init__(abi_list: List[Dict])#

Abi parser constructor. Ensures that abi satisfies the abi schema.

Parameters:

abi_list – Contract’s ABI as a list of dictionaries.

parse() Abi#

Parse abi provided to constructor and return it as a dataclass. Ensures that there are no cycles in the abi.

Raises:

AbiParsingError: on any parsing error.

Returns:

Abi dataclass.

class starknet_py.abi.v0.AbiParsingError#

Error raised when something wrong goes during abi parsing.

Model v0#

class starknet_py.abi.v0.Abi#

Dataclass representing class abi. Contains parsed functions, events and structures.

constructor: Function | None#

Contract’s constructor. It is None if class doesn’t define one.

defined_structures: Dict[str, StructType]#

Abi of structures defined by the class.

events: Dict[str, Event]#

Events defined by the class

functions: Dict[str, Function]#

Functions defined by the class.

l1_handler: Function | None#

Handler of L1 messages. It is None if class doesn’t define one.

class starknet_py.abi.v0.Abi.Function#

Dataclass representing function’s abi.

__init__(name: str, inputs: OrderedDict[str, CairoType], outputs: OrderedDict[str, CairoType]) None#
inputs: OrderedDict[str, CairoType]#
name: str#
outputs: OrderedDict[str, CairoType]#
class starknet_py.abi.v0.Abi.Event#

Dataclass representing event’s abi.

__init__(name: str, data: OrderedDict[str, CairoType]) None#
data: OrderedDict[str, CairoType]#
name: str#