Skip to content

Commit 977c314

Browse files
Merge branch 'development'
2 parents 88be6ec + 0243f05 commit 977c314

File tree

70 files changed

+21627
-21449
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+21627
-21449
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ updates:
88
- package-ecosystem: "pip" # See documentation for possible values
99
directory: "/" # Location of package manifests
1010
schedule:
11-
interval: "weekly"
11+
interval: "monthly"
1212
versioning-strategy: increase-if-necessary

.github/workflows/checks.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,71 @@ jobs:
226226
- name: Upload coverage to Codecov
227227
uses: codecov/codecov-action@v3
228228

229+
# ---------------------------------------------------------- #
230+
# ..................RUN-TESTS-INTEGRATION................... #
231+
# ---------------------------------------------------------- #
232+
233+
run-tests-integration:
234+
name: Tests on integration
235+
needs: setup-tests
236+
runs-on: ubuntu-latest
237+
strategy:
238+
fail-fast: false
239+
steps:
240+
- uses: actions/checkout@v3
241+
242+
- name: Download contracts
243+
uses: actions/download-artifact@v3
244+
with:
245+
name: contract-artifacts
246+
path: starknet_py/tests/e2e/mock/
247+
248+
- uses: actions/setup-python@v4
249+
with:
250+
python-version: "3.9"
251+
cache: 'pip'
252+
253+
# ====================== SETUP PYTHON ====================== #
254+
255+
- name: Install poetry
256+
run: |
257+
python -m pip install --upgrade pip
258+
pip install poetry
259+
poetry config installer.modern-installation false
260+
261+
- name: Install python 3.9 requirements
262+
run: |
263+
poetry export -f requirements.txt --only=py39-dev --without-hashes --output requirements.txt
264+
pip install -r requirements.txt
265+
266+
- name: Set up Python 3.9
267+
uses: actions/setup-python@v4
268+
with:
269+
python-version: "3.9"
270+
cache: 'poetry'
271+
272+
- name: Install dependencies
273+
run: |
274+
poetry install --without py39-dev
275+
276+
# ====================== RUN TESTS ====================== #
277+
278+
- name: Check circular imports
279+
run: |
280+
poetry run poe circular_imports_check
281+
282+
- name: Run tests
283+
run: |
284+
poetry run poe test_ci_integration_full_node
285+
poetry run poe test_ci_integration_gateway
286+
287+
- name: Generate coverage in XML
288+
run: |
289+
poetry run coverage xml
290+
291+
- name: Upload coverage to Codecov
292+
uses: codecov/codecov-action@v3
293+
229294
# ---------------------------------------------------------- #
230295
# ....................RUN-TESTS-WINDOWS..................... #
231296
# ---------------------------------------------------------- #

.github/workflows/stale.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
- uses: actions/stale@v8
1414
with:
1515
exempt-all-pr-assignees: true
16+
exempt-issue-labels: 'pinned'
1617
exempt-pr-labels: 'pinned'
1718
stale-issue-message: 'This issue is stale because it has not received any activity in the last 30 days. Remove stale label or add a comment, otherwise it will be closed in 5 days.'
1819
close-issue-message: 'This issue was closed because it has been stale for 5 days with no activity.'

docs/installation.rst

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,15 @@ You can install starknet.py on Windows in two ways:
5050

5151
1. Install it just like you would on Linux.
5252

53-
You might encounter problems related to ``libcrypto_c_exports``. Make sure that you have `MinGW <https://www.mingw-w64.org/>`_ installed and up-to-date.
53+
You might encounter problems related to ``libcrypto_c_exports``.
54+
55+
In such case make sure that you have `MinGW <https://www.mingw-w64.org/>`_ installed and up-to-date.
56+
57+
.. hint::
58+
An easy way to install MinGW is through `chocolatey <https://community.chocolatey.org/packages/mingw>`_.
59+
60+
You also should have MinGW in your PATH environment variable (e.g. ``C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin``).
61+
5462

5563
If you encounter any further problems related to installation, you can create an `issue at our GitHub <https://github.com/software-mansion/starknet.py/issues/new?assignees=&labels=bug&projects=&template=bug_report.yaml&title=%5BBUG%5D+%3Ctitle%3E>`_
5664
or ask for help in ``#🐍 | starknet-py`` channel on `Starknet Discord server <https://starknet.io/discord>`_.

docs/migration_guide.rst

Lines changed: 66 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,64 @@
11
Migration guide
22
===============
33

4+
**********************
5+
0.18.0 Migration guide
6+
**********************
7+
8+
This version of starknet.py brings support Starknet 0.12.1 and `RPC v0.4.0 <https://github.com/starkware-libs/starknet-specs/releases/tag/v0.4.0>`!
9+
10+
11+
1. :class:`TransactionReceipt` dataclass properties have been changed (more details in RPC specification linked above).
12+
13+
0.18.0 Deprecations
14+
-------------------
15+
16+
.. currentmodule:: starknet_py.net.client_models
17+
18+
1. ``status`` field in :class:`TransactionReceipt` returned by :meth:`FullNodeClient.get_transaction_receipt` has been deprecated.
19+
20+
21+
0.18.0 Minor changes
22+
--------------------
23+
24+
.. currentmodule:: starknet_py.net.full_node_client
25+
26+
1. :meth:`FullNodeClient.get_transaction_receipt` now returns two additional fields: ``acceptance_status`` and ``finality_status``.
27+
28+
.. currentmodule:: starknet_py.net.client_models
29+
30+
2. Added two fields to :class:`TransactionReceipt` - ``revert_error`` (Gateway) and ``revert_reason`` (FullNode).
31+
3. ``hash`` property in :class:`Transaction` is now optional.
32+
4. Added missing field ``contract_address_salt`` to :class:`DeployTransaction`.
33+
34+
.. currentmodule:: starknet_py.net.client
35+
36+
5. Lowered ``check_interval`` parameter default value in :meth:``Client.wait_for_tx`` from 5 seconds to 2.
37+
38+
.. currentmodule:: starknet_py.net.client_models
39+
40+
6. Added fields to dataclasses that previously were missing (e.g. ``contract_address_salt`` in :class:`DeployTransaction`).
41+
42+
.. currentmodule:; starknet_py.cairo.felt
43+
44+
7. :func:`decode_shortstring` now is returned without ``\x00`` in front of the decoded string.
45+
46+
47+
0.18.0 Bugfixes
48+
---------------
49+
50+
1. Fixed invalid type in :class:`BlockStateUpdate` from ``StateDiff`` to ``Union[StateDiff, GatewayStateDiff]``
51+
2. Fixed ``Contract not found`` error in ``AbiResolver``
52+
53+
54+
|
55+
56+
.. raw:: html
57+
58+
<hr>
59+
60+
|
61+
462
**********************
563
0.17.0 Migration guide
664
**********************
@@ -38,8 +96,8 @@ Also, four methods were added to its interface:
3896
- :meth:`FullNodeClient.get_syncing_status`
3997

4098

41-
Breaking changes
42-
----------------
99+
0.17.0 Breaking changes
100+
-----------------------
43101

44102
1. Deprecated function ``compute_invoke_hash`` in :mod:`starknet_py.net.models.transaction` has been removed in favor of :func:`starknet_py.hash.transaction.compute_invoke_transaction_hash`.
45103

@@ -50,8 +108,8 @@ Breaking changes
50108
3. Removed ``PENDING`` transaction status.
51109

52110

53-
Minor changes
54-
-------------
111+
0.17.0 Minor changes
112+
--------------------
55113

56114
.. currentmodule:: starknet_py.contract
57115

@@ -84,15 +142,15 @@ RPC related changes:
84142
10. :meth:`Client.wait_for_tx` has a new parameter ``retries`` describing the amount of retries before a time out when querying for a transaction.
85143

86144

87-
Deprecations
88-
------------
145+
0.17.0 Deprecations
146+
-------------------
89147
.. currentmodule:: starknet_py.net.client
90148

91149
1. `wait_for_accept` parameter in :meth:`Client.wait_for_tx` and :meth:`SentTransaction.wait_for_acceptance` has been deprecated.
92150

93151

94-
Bugfixes
95-
--------
152+
0.17.0 Bugfixes
153+
---------------
96154

97155
.. currentmodule:: starknet_py.hash.class_hash
98156

0 commit comments

Comments
 (0)