add
This commit is contained in:
63
ccxt/static_dependencies/starknet/abi/v0/shape.py
Normal file
63
ccxt/static_dependencies/starknet/abi/v0/shape.py
Normal file
@@ -0,0 +1,63 @@
|
||||
# TODO (#1260): update pylint to 3.1.0 and remove pylint disable
|
||||
# pylint: disable=too-many-ancestors
|
||||
import sys
|
||||
from typing import List, Literal, Union
|
||||
|
||||
if sys.version_info < (3, 11):
|
||||
from typing_extensions import NotRequired, TypedDict
|
||||
else:
|
||||
from typing import NotRequired, TypedDict
|
||||
|
||||
STRUCT_ENTRY = "struct"
|
||||
FUNCTION_ENTRY = "function"
|
||||
CONSTRUCTOR_ENTRY = "constructor"
|
||||
L1_HANDLER_ENTRY = "l1_handler"
|
||||
EVENT_ENTRY = "event"
|
||||
|
||||
|
||||
class TypedMemberDict(TypedDict):
|
||||
name: str
|
||||
type: str
|
||||
|
||||
|
||||
class StructMemberDict(TypedMemberDict):
|
||||
offset: NotRequired[int]
|
||||
|
||||
|
||||
class StructDict(TypedDict):
|
||||
type: Literal["struct"]
|
||||
name: str
|
||||
size: int
|
||||
members: List[StructMemberDict]
|
||||
|
||||
|
||||
class FunctionBaseDict(TypedDict):
|
||||
name: str
|
||||
inputs: List[TypedMemberDict]
|
||||
outputs: List[TypedMemberDict]
|
||||
stateMutability: NotRequired[Literal["view"]]
|
||||
|
||||
|
||||
class FunctionDict(FunctionBaseDict):
|
||||
type: Literal["function"]
|
||||
|
||||
|
||||
class ConstructorDict(FunctionBaseDict):
|
||||
type: Literal["constructor"]
|
||||
|
||||
|
||||
class L1HandlerDict(FunctionBaseDict):
|
||||
type: Literal["l1_handler"]
|
||||
|
||||
|
||||
class EventDict(TypedDict):
|
||||
name: str
|
||||
type: Literal["event"]
|
||||
data: List[TypedMemberDict]
|
||||
keys: List[TypedMemberDict]
|
||||
|
||||
|
||||
AbiDictEntry = Union[
|
||||
StructDict, FunctionDict, ConstructorDict, L1HandlerDict, EventDict
|
||||
]
|
||||
AbiDictList = List[AbiDictEntry]
|
||||
Reference in New Issue
Block a user