Skip to content

Commit 303212e

Browse files
tkumor3ddoktorski
andauthored
Move Abi V0 files to starknet_py/abi/v0 (#1299)
* Move abi v0 to proper place * fix imports * Add information about many AbiParser versions * update docs imports * fix imports in docs * add imports, update docs * clean up * Update docs/guide/serialization.rst Co-authored-by: ddoktorski <45050160+ddoktorski@users.noreply.github.com> * Update docs/migration_guide.rst Co-authored-by: ddoktorski <45050160+ddoktorski@users.noreply.github.com> * add alias * add sections in docs * clean up * lint --------- Co-authored-by: ddoktorski <45050160+ddoktorski@users.noreply.github.com>
1 parent 012a081 commit 303212e

27 files changed

+115
-52
lines changed

β€Ždocs/api/abi.rstβ€Ž

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,86 @@ Abi
33

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

6-
.. py:module:: starknet_py.abi
6+
.. py:module:: starknet_py.abi.v2
77
8-
Parsing abi
9-
-----------
8+
Parsing abi v2
9+
--------------
1010

1111
.. autoclass:: AbiParser
1212
:members: parse
1313

1414
.. autoclass:: AbiParsingError
1515
:exclude-members: __init__, __new__
1616

17-
Model
18-
-----------
17+
Model v2
18+
--------
19+
20+
.. autoclass:: Abi
21+
:exclude-members: __init__, __new__
22+
:members: defined_structures, functions, constructor, l1_handler, events, defined_enums, interfaces, implementations
23+
24+
.. autoclass:: starknet_py.abi.v2.Abi.Function
25+
:members:
26+
:undoc-members:
27+
:member-order: groupwise
28+
29+
.. autoclass:: starknet_py.abi.v2.Abi.Event
30+
:members:
31+
:undoc-members:
32+
:member-order: groupwise
33+
34+
.. py:module:: starknet_py.abi.v1
35+
36+
Parsing abi v1
37+
--------------
38+
39+
.. autoclass:: AbiParser
40+
:members: parse
41+
42+
.. autoclass:: AbiParsingError
43+
:exclude-members: __init__, __new__
44+
45+
Model v1
46+
--------
47+
48+
.. autoclass:: Abi
49+
:exclude-members: __init__, __new__
50+
:members: defined_structures, functions, events, defined_enums
51+
52+
.. autoclass:: starknet_py.abi.v1.Abi.Function
53+
:members:
54+
:undoc-members:
55+
:member-order: groupwise
56+
57+
.. autoclass:: starknet_py.abi.v1.Abi.Event
58+
:members:
59+
:undoc-members:
60+
:member-order: groupwise
61+
62+
.. py:module:: starknet_py.abi.v0
63+
64+
Parsing abi v0
65+
--------------
66+
67+
.. autoclass:: AbiParser
68+
:members: parse
69+
70+
.. autoclass:: AbiParsingError
71+
:exclude-members: __init__, __new__
72+
73+
Model v0
74+
--------
1975

2076
.. autoclass:: Abi
2177
:exclude-members: __init__, __new__
2278
:members: defined_structures, functions, constructor, l1_handler, events
2379

24-
.. autoclass:: starknet_py.abi.Abi.Function
80+
.. autoclass:: starknet_py.abi.v0.Abi.Function
2581
:members:
2682
:undoc-members:
2783
:member-order: groupwise
2884

29-
.. autoclass:: starknet_py.abi.Abi.Event
85+
.. autoclass:: starknet_py.abi.v0.Abi.Event
3086
:members:
3187
:undoc-members:
3288
:member-order: groupwise

β€Ždocs/guide/serialization.rstβ€Ž

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,10 @@ For most use cases using high level :obj:`Contract <starknet_py.contract.Contrac
8888
and deserialization for you. If you need more flexibility you can use lower level serialization API, see :ref:`Serializers`
8989
for more details.
9090

91-
:obj:`AbiParser <starknet_py.net.models.abi.parser.AbiParser>` transforms ABI into
92-
:obj:`Abi dataclass <starknet_py.net.models.abi.model.Abi>` that can be used for creating serializers. This way you can
93-
easily deserialize events or serialize function's inputs.
91+
:obj:`AbiParser <starknet_py.abi.v2.parser.AbiParser>` transforms ABI into
92+
:obj:`Abi class <starknet_py.abi.v2.model.Abi>` that can be used for creating serializers. This way you can
93+
easily deserialize events or serialize function's inputs. Remember to use the proper version of `AbiParser`
94+
which depends on parsed ABI version.
9495

9596
Serializing function inputs and outputs
9697
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

β€Ždocs/migration_guide.rstβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Migration guide
99
-----------------------
1010

1111
1. :class:`StarknetEthProxyCheck` has been removed from the Proxy checks
12+
2. In :ref:`Abi` module the code related to Cairo 0 has been moved from ``starknet_py.abi`` to ``starknet_py.abi.v0``
1213

1314
**********************
1415
0.19.0 Migration guide
File renamed without changes.
File renamed without changes.

β€Žstarknet_py/abi/parser.pyβ€Ž renamed to β€Žstarknet_py/abi/v0/parser.pyβ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
from marshmallow import EXCLUDE
99

10-
from starknet_py.abi.model import Abi
11-
from starknet_py.abi.schemas import ContractAbiEntrySchema
12-
from starknet_py.abi.shape import (
10+
from starknet_py.abi.v0 import Abi
11+
from starknet_py.abi.v0.schemas import ContractAbiEntrySchema
12+
from starknet_py.abi.v0.shape import (
1313
CONSTRUCTOR_ENTRY,
1414
EVENT_ENTRY,
1515
FUNCTION_ENTRY,

β€Žstarknet_py/abi/parser_test.pyβ€Ž renamed to β€Žstarknet_py/abi/v0/parser_test.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import pytest
44

55
import starknet_py.tests.e2e.fixtures.abi_structures as fixtures
6-
from starknet_py.abi.parser import AbiParser, AbiParsingError
6+
from starknet_py.abi.v0 import AbiParser, AbiParsingError
77
from starknet_py.cairo.type_parser import UnknownCairoTypeError
88
from starknet_py.tests.e2e.fixtures.constants import CONTRACTS_COMPILED_V0_DIR
99
from starknet_py.tests.e2e.fixtures.misc import read_contract

β€Žstarknet_py/abi/schemas.pyβ€Ž renamed to β€Žstarknet_py/abi/v0/schemas.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from marshmallow import Schema, fields
22
from marshmallow_oneofschema import OneOfSchema
33

4-
from starknet_py.abi.shape import (
4+
from starknet_py.abi.v0.shape import (
55
CONSTRUCTOR_ENTRY,
66
EVENT_ENTRY,
77
FUNCTION_ENTRY,

β€Žstarknet_py/abi/schemas_test.pyβ€Ž renamed to β€Žstarknet_py/abi/v0/schemas_test.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from marshmallow import EXCLUDE
44

5-
from starknet_py.abi.schemas import ContractAbiEntrySchema
5+
from starknet_py.abi.v0.schemas import ContractAbiEntrySchema
66
from starknet_py.tests.e2e.fixtures.constants import CONTRACTS_COMPILED_V0_DIR
77
from starknet_py.tests.e2e.fixtures.misc import read_contract
88

File renamed without changes.

0 commit comments

Comments
Β (0)