faster-eth-abi 5.2.5__cp312-cp312-musllinux_1_2_x86_64.whl → 5.2.6__cp312-cp312-musllinux_1_2_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- c42f5c78bc058f310136__mypyc.cpython-312-x86_64-linux-musl.so +0 -0
- faster_eth_abi/_encoding.py +4 -3
- faster_eth_abi/grammar.py +5 -4
- {faster_eth_abi-5.2.5.dist-info → faster_eth_abi-5.2.6.dist-info}/METADATA +19 -2
- {faster_eth_abi-5.2.5.dist-info → faster_eth_abi-5.2.6.dist-info}/RECORD +8 -8
- {faster_eth_abi-5.2.5.dist-info → faster_eth_abi-5.2.6.dist-info}/WHEEL +0 -0
- {faster_eth_abi-5.2.5.dist-info → faster_eth_abi-5.2.6.dist-info}/licenses/LICENSE +0 -0
- {faster_eth_abi-5.2.5.dist-info → faster_eth_abi-5.2.6.dist-info}/top_level.txt +0 -0
Binary file
|
faster_eth_abi/_encoding.py
CHANGED
@@ -72,7 +72,7 @@ def encode_signed(
|
|
72
72
|
def encode_elements(item_encoder: "BaseEncoder", value: Sequence[Any]) -> bytes:
|
73
73
|
tail_chunks = tuple(item_encoder(i) for i in value)
|
74
74
|
|
75
|
-
items_are_dynamic = getattr(item_encoder, "is_dynamic", False)
|
75
|
+
items_are_dynamic: bool = getattr(item_encoder, "is_dynamic", False)
|
76
76
|
if not items_are_dynamic or len(value) == 0:
|
77
77
|
return b"".join(tail_chunks)
|
78
78
|
|
@@ -91,8 +91,9 @@ def encode_elements_dynamic(item_encoder: "BaseEncoder", value: Sequence[Any]) -
|
|
91
91
|
|
92
92
|
|
93
93
|
def encode_uint_256(i: int) -> bytes:
|
94
|
-
# An optimized version of the `encode_uint_256` in `encoding.py` which
|
95
|
-
# We should not have any issues here
|
94
|
+
# An optimized version of the `encode_uint_256` in `encoding.py` which
|
95
|
+
# does not perform any validation. We should not have any issues here
|
96
|
+
# unless you're encoding really really massive iterables.
|
96
97
|
big_endian = int_to_big_endian(i)
|
97
98
|
return big_endian.rjust(32, b"\x00")
|
98
99
|
|
faster_eth_abi/grammar.py
CHANGED
@@ -458,10 +458,11 @@ def normalize(type_str: TypeStr) -> TypeStr:
|
|
458
458
|
:param type_str: The type string to be normalized.
|
459
459
|
:returns: The canonical version of the input type string.
|
460
460
|
"""
|
461
|
-
return TYPE_ALIAS_RE.sub(
|
462
|
-
|
463
|
-
|
464
|
-
|
461
|
+
return TYPE_ALIAS_RE.sub(__normalize, type_str)
|
462
|
+
|
463
|
+
|
464
|
+
def __normalize(match: re.Match[str]) -> str:
|
465
|
+
return TYPE_ALIASES[match.group(0)]
|
465
466
|
|
466
467
|
|
467
468
|
parse: Final = visitor.parse
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: faster_eth_abi
|
3
|
-
Version: 5.2.
|
4
|
-
Summary: A fork of eth_abi: Python utilities for working with Ethereum ABI definitions, especially encoding and decoding
|
3
|
+
Version: 5.2.6
|
4
|
+
Summary: A aster fork of eth_abi: Python utilities for working with Ethereum ABI definitions, especially encoding and decoding. Implemented in C.
|
5
5
|
Home-page: https://github.com/BobTheBuidler/faster-eth-abi
|
6
6
|
Author: The Ethereum Foundation
|
7
7
|
Author-email: snakecharmers@ethereum.org
|
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
20
20
|
Classifier: Programming Language :: Python :: 3.13
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
21
22
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
22
23
|
Requires-Python: >=3.8, <4
|
23
24
|
Description-Content-Type: text/markdown
|
@@ -36,6 +37,8 @@ Requires-Dist: pre-commit>=3.4.0; extra == "dev"
|
|
36
37
|
Requires-Dist: tox>=4.0.0; extra == "dev"
|
37
38
|
Requires-Dist: twine; extra == "dev"
|
38
39
|
Requires-Dist: wheel; extra == "dev"
|
40
|
+
Requires-Dist: pytest-codspeed; extra == "dev"
|
41
|
+
Requires-Dist: pytest-benchmark; extra == "dev"
|
39
42
|
Requires-Dist: sphinx>=6.0.0; extra == "dev"
|
40
43
|
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "dev"
|
41
44
|
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "dev"
|
@@ -74,6 +77,20 @@ Dynamic: requires-dist
|
|
74
77
|
Dynamic: requires-python
|
75
78
|
Dynamic: summary
|
76
79
|
|
80
|
+
### I forked eth-abi and compiled it to C. It does the same stuff, now faster
|
81
|
+
|
82
|
+
[](https://pypi.org/project/faster-eth-abi/)
|
83
|
+
[](https://pypistats.org/packages/faster-eth-abi)
|
84
|
+
[](https://codspeed.io/BobTheBuidler/faster-eth-abi)
|
85
|
+
|
86
|
+
##### This fork will be kept up-to-date with [eth-abi](https://github.com/ethereum/eth-abi). I will pull updates as they are released and push new [faster-eth-abi](https://github.com/BobTheBuidler/faster-eth-abi) releases to [PyPI](https://pypi.org/project/faster-eth-abi/).
|
87
|
+
|
88
|
+
##### You can find the compiled C code on faster-eth-abi [master](https://github.com/BobTheBuidler/eth-abi/tree/master) branch.
|
89
|
+
|
90
|
+
##### We benchmark `faster-eth-abi` against the original `eth-abi` for your convenience. [See results](https://github.com/BobTheBuidler/faster-eth-abi/tree/master/benchmarks/results).
|
91
|
+
|
92
|
+
##### The original eth-abi readme is below:
|
93
|
+
|
77
94
|
# Ethereum Contract Interface (ABI) Utility
|
78
95
|
|
79
96
|
[](https://discord.gg/GHryRvPB84)
|
@@ -1,9 +1,9 @@
|
|
1
|
-
c42f5c78bc058f310136__mypyc.cpython-312-x86_64-linux-musl.so,sha256=
|
1
|
+
c42f5c78bc058f310136__mypyc.cpython-312-x86_64-linux-musl.so,sha256=FepQ_p8Ohm2Rcli7t5q_uv01jZWcmFBQVqDrfoNNp4s,545016
|
2
2
|
faster_eth_abi/__init__.py,sha256=55jGpiVbsTGNu-c_rr-wwyH3eqEv9MELSTWa4AMiKvU,205
|
3
3
|
faster_eth_abi/_codec.cpython-312-x86_64-linux-musl.so,sha256=bS5d3grTOh4iGBhZ68bnURHEeDpfTU01HwkwiUp1Hf0,17760
|
4
4
|
faster_eth_abi/_codec.py,sha256=xVKz8JQW51sCs2eroQBUXEe_SXduT14wRSObzhZuNjo,2461
|
5
5
|
faster_eth_abi/_encoding.cpython-312-x86_64-linux-musl.so,sha256=lRagi_a4FgowH0eXKlb7MwB1BGGwio4A7LgZqH8NmV8,17760
|
6
|
-
faster_eth_abi/_encoding.py,sha256=
|
6
|
+
faster_eth_abi/_encoding.py,sha256=dViSQVK5XvSuLBZADiXImJqXf4dIHkAHYWFzEiJtq-0,3114
|
7
7
|
faster_eth_abi/abi.cpython-312-x86_64-linux-musl.so,sha256=Zn5XjTbVLDFpKiTQlRsNyZtEkEBf7i5Kpv-GL7dNJ-o,17744
|
8
8
|
faster_eth_abi/abi.py,sha256=HzkXy0EjHraNbbC5l-EhVqVcx5vy8tcykiKIO4Fp1xw,366
|
9
9
|
faster_eth_abi/base.py,sha256=eMpUM78FhJg5wHPj6glvJRpS1AmvQ_1ks9ENwyu68hc,1188
|
@@ -15,7 +15,7 @@ faster_eth_abi/encoding.py,sha256=yYgXubRd3ZxVP6QPrdHhYnjFGSPtqfyaXh4QBLnURms,18
|
|
15
15
|
faster_eth_abi/exceptions.py,sha256=Q_b62R-E0OtlxQGLQSyx6BXkBbLf259KQ1pT5Eb1oh8,2952
|
16
16
|
faster_eth_abi/from_type_str.cpython-312-x86_64-linux-musl.so,sha256=78UJK6o5jIrSTKS_cDnNluDW-O9mZXL1kjzl_HPN2-A,17776
|
17
17
|
faster_eth_abi/from_type_str.py,sha256=aAZ58YUBZuMF_DovGkthvnacAD6X6VkYFs0Zbv9JxoM,4311
|
18
|
-
faster_eth_abi/grammar.py,sha256=
|
18
|
+
faster_eth_abi/grammar.py,sha256=unpmDhCsUs1PdLW2XbtKF5ij84nJOqVXhuKI8t_-aXk,13369
|
19
19
|
faster_eth_abi/io.py,sha256=PjOnBChWh_-6ADkpJQONnxHVwsAfC_4bRiT6YQhlP6c,3728
|
20
20
|
faster_eth_abi/packed.cpython-312-x86_64-linux-musl.so,sha256=CKXKEAFQG37GUL35FEwZBXaWyNfWTFofF5Ayeq_Rbzw,17760
|
21
21
|
faster_eth_abi/packed.py,sha256=qDPBjish_0h26O7xGWopnlD4pRkphFuFq4izgIqT600,301
|
@@ -35,8 +35,8 @@ faster_eth_abi/utils/string.cpython-312-x86_64-linux-musl.so,sha256=-0VPW0WW-yW1
|
|
35
35
|
faster_eth_abi/utils/string.py,sha256=fjsAR2C7Xlu5bHomxx5l4rlADFtByzGTQfugMTo8TQk,436
|
36
36
|
faster_eth_abi/utils/validation.cpython-312-x86_64-linux-musl.so,sha256=1rDVpDUqQlZOvysJo8SN7YwwEZoPR0pMoNXEtIJ_kiY,17784
|
37
37
|
faster_eth_abi/utils/validation.py,sha256=NA2wRacYEBdkpQnZfmeDvzF-sHyy6NT2QzCFuBnYJVI,521
|
38
|
-
faster_eth_abi-5.2.
|
39
|
-
faster_eth_abi-5.2.
|
40
|
-
faster_eth_abi-5.2.
|
41
|
-
faster_eth_abi-5.2.
|
42
|
-
faster_eth_abi-5.2.
|
38
|
+
faster_eth_abi-5.2.6.dist-info/METADATA,sha256=ASeQJaeQE08DxXJLTBY_zMuODrA67CDt7vUB0wGAM9c,5385
|
39
|
+
faster_eth_abi-5.2.6.dist-info/WHEEL,sha256=AwHYJA1Do1jwgPIoLQR4DiHSeYY_vU6Ht9Vljq5Yt_M,112
|
40
|
+
faster_eth_abi-5.2.6.dist-info/top_level.txt,sha256=5cP87jVHTOdG5bgQZ3ws5MGsnIwm_yX-WalM08iynHc,51
|
41
|
+
faster_eth_abi-5.2.6.dist-info/RECORD,,
|
42
|
+
faster_eth_abi-5.2.6.dist-info/licenses/LICENSE,sha256=P_zrhVa0OXK-_XuA0RF3d3gwMLXRSBkn2fWraC4CFLo,1106
|
File without changes
|
File without changes
|
File without changes
|