faster-eth-abi 5.2.5__cp314-cp314-macosx_11_0_arm64.whl → 5.2.6__cp314-cp314-macosx_11_0_arm64.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.
Binary file
@@ -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 does not perform any validation.
95
- # We should not have any issues here unless you're encoding really really massive iterables.
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
 
Binary file
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
- lambda match: TYPE_ALIASES[match.group(0)],
463
- type_str,
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
Binary file
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: faster_eth_abi
3
- Version: 5.2.5
4
- Summary: A fork of eth_abi: Python utilities for working with Ethereum ABI definitions, especially encoding and decoding, implemented in C.
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
+ [![PyPI](https://img.shields.io/pypi/v/faster-eth-abi.svg?logo=Python&logoColor=white)](https://pypi.org/project/faster-eth-abi/)
83
+ [![Monthly Downloads](https://img.shields.io/pypi/dm/faster-eth-abi)](https://pypistats.org/packages/faster-eth-abi)
84
+ [![Codspeed.io Status](https://img.shields.io/endpoint?url=https://codspeed.io/badge.json)](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
  [![Join the conversation on Discord](https://img.shields.io/discord/809793915578089484?color=blue&label=chat&logo=discord&logoColor=white)](https://discord.gg/GHryRvPB84)
@@ -0,0 +1,42 @@
1
+ c42f5c78bc058f310136__mypyc.cpython-314-darwin.so,sha256=yO3iOgxmTJtMv-aTF2HQ8L_mOA9l9BfyIfTcKFf_cqA,418384
2
+ faster_eth_abi/_encoding.cpython-314-darwin.so,sha256=ZCS-Xf9_mhVv58TG21fhXklAkBhyRpOzz7zE0dGwR6E,50656
3
+ faster_eth_abi/_encoding.py,sha256=dViSQVK5XvSuLBZADiXImJqXf4dIHkAHYWFzEiJtq-0,3114
4
+ faster_eth_abi/packed.py,sha256=qDPBjish_0h26O7xGWopnlD4pRkphFuFq4izgIqT600,301
5
+ faster_eth_abi/encoding.py,sha256=yYgXubRd3ZxVP6QPrdHhYnjFGSPtqfyaXh4QBLnURms,18163
6
+ faster_eth_abi/registry.py,sha256=kCcz1mJiENDzl9jKzJ99EiSLSSIFxfi4-96Fe59qrJM,20529
7
+ faster_eth_abi/constants.py,sha256=uJbuND1rFs_Pexuz58TKd-BJPuoA6hLqFEX6kkDS-dE,107
8
+ faster_eth_abi/io.py,sha256=PjOnBChWh_-6ADkpJQONnxHVwsAfC_4bRiT6YQhlP6c,3728
9
+ faster_eth_abi/constants.cpython-314-darwin.so,sha256=Wy-wYVNUs0EG_nCPP4ytZcEHwtMPCwPqWnA9j4OQ_4k,50656
10
+ faster_eth_abi/__init__.py,sha256=55jGpiVbsTGNu-c_rr-wwyH3eqEv9MELSTWa4AMiKvU,205
11
+ faster_eth_abi/abi.cpython-314-darwin.so,sha256=VE7dQ6kPoTZ3tiXHRU_DAHzeAAYF6RfbqDdxMgDIdM4,50632
12
+ faster_eth_abi/_codec.cpython-314-darwin.so,sha256=X4YX1TL3WQlSAH9kQPz6_QnuRmpkfQUn7stWzjtJZT4,50640
13
+ faster_eth_abi/decoding.py,sha256=xLon-1I5EZCZBgsTZsvl-ienFY2ZUr5D2FqzsiTdQS0,17347
14
+ faster_eth_abi/grammar.py,sha256=unpmDhCsUs1PdLW2XbtKF5ij84nJOqVXhuKI8t_-aXk,13369
15
+ faster_eth_abi/from_type_str.py,sha256=aAZ58YUBZuMF_DovGkthvnacAD6X6VkYFs0Zbv9JxoM,4311
16
+ faster_eth_abi/packed.cpython-314-darwin.so,sha256=yeApMXJ0_gc4NJnAZk4Qwqf78YXOybQgh6Iqbga77jo,50640
17
+ faster_eth_abi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ faster_eth_abi/abi.py,sha256=HzkXy0EjHraNbbC5l-EhVqVcx5vy8tcykiKIO4Fp1xw,366
19
+ faster_eth_abi/exceptions.py,sha256=Q_b62R-E0OtlxQGLQSyx6BXkBbLf259KQ1pT5Eb1oh8,2952
20
+ faster_eth_abi/_codec.py,sha256=xVKz8JQW51sCs2eroQBUXEe_SXduT14wRSObzhZuNjo,2461
21
+ faster_eth_abi/from_type_str.cpython-314-darwin.so,sha256=Sas7OZ8vzeq70auntEYzVdZnZEuQrYKbKv9KAhEQqOc,50672
22
+ faster_eth_abi/codec.py,sha256=KMIgLUBeutkDTsRts8Y2Ydt3V0n5bMGLd21CZvwR9ds,4437
23
+ faster_eth_abi/base.py,sha256=eMpUM78FhJg5wHPj6glvJRpS1AmvQ_1ks9ENwyu68hc,1188
24
+ faster_eth_abi/tools/__init__.cpython-314-darwin.so,sha256=pMedrqT82lOxC20KOjd6C9pN_mvlHzvWser1cYBO6QI,50640
25
+ faster_eth_abi/tools/_strategies.py,sha256=iLIjqRw7FlEEIXtnhSgtrWwbxO74dslT0EQrgE2o8I8,5960
26
+ faster_eth_abi/tools/__init__.py,sha256=trtATEmgu4ctg04qkejbODDzvDSofgcVJ3rkzMP_hQE,51
27
+ faster_eth_abi/tools/_strategies.cpython-314-darwin.so,sha256=apZWDgnF3ohvmxVZtuQGeZorPZ1LypvjOw0HaB1xv0M,50672
28
+ faster_eth_abi/utils/padding.cpython-314-darwin.so,sha256=LWNhZmfhLolUzYOBwopkIE5hN973o7LU2SYpleGzdq4,50656
29
+ faster_eth_abi/utils/__init__.cpython-314-darwin.so,sha256=mnQbtwTuUKdmMyEYs6uROb9Rl3CrL4irbScpyLlEN84,50640
30
+ faster_eth_abi/utils/numeric.cpython-314-darwin.so,sha256=6ALW1MsAqz1uoxv_84HJRP3zrLzwn04z_-dG6Er_eSk,50656
31
+ faster_eth_abi/utils/validation.cpython-314-darwin.so,sha256=FstCTqgQWuY6RyK1bYoX1o4NMGoCvG4C6qAsQrNgrKo,50672
32
+ faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ faster_eth_abi/utils/string.cpython-314-darwin.so,sha256=0MBezZM_unZiuiQ9wutlecTBrbVkoIhosLmszP0zJV0,50656
34
+ faster_eth_abi/utils/numeric.py,sha256=VU6Z76zvZn7rYaZMyDy1XO9A9ukKTzOrtA80jypp_LQ,2146
35
+ faster_eth_abi/utils/string.py,sha256=fjsAR2C7Xlu5bHomxx5l4rlADFtByzGTQfugMTo8TQk,436
36
+ faster_eth_abi/utils/padding.py,sha256=JBuFhdrvKWLrmmJBZ-a6pqbHWydAuiUBt2aBjCwVcVE,493
37
+ faster_eth_abi/utils/validation.py,sha256=NA2wRacYEBdkpQnZfmeDvzF-sHyy6NT2QzCFuBnYJVI,521
38
+ faster_eth_abi-5.2.6.dist-info/RECORD,,
39
+ faster_eth_abi-5.2.6.dist-info/WHEEL,sha256=2Id6qreet5t4wZv58bZfijJ58qrc2xkw6OVvWfeqxV0,136
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/METADATA,sha256=ASeQJaeQE08DxXJLTBY_zMuODrA67CDt7vUB0wGAM9c,5385
42
+ faster_eth_abi-5.2.6.dist-info/licenses/LICENSE,sha256=P_zrhVa0OXK-_XuA0RF3d3gwMLXRSBkn2fWraC4CFLo,1106
@@ -1,42 +0,0 @@
1
- c42f5c78bc058f310136__mypyc.cpython-314-darwin.so,sha256=RLuEteOVyDPVkrj7ZpXzL5pjfC079qzeDn5vVV3yP7A,306688
2
- faster_eth_abi/_encoding.cpython-314-darwin.so,sha256=TNKRAKzbBoOlplar5eU_tjxQfz1EdNiPDVDUCJlrBwQ,50656
3
- faster_eth_abi/_encoding.py,sha256=x0em04kj0m7wW4pJdZLUWhPMW8bRh0CIHLM5X9jZb0A,3102
4
- faster_eth_abi/packed.py,sha256=qDPBjish_0h26O7xGWopnlD4pRkphFuFq4izgIqT600,301
5
- faster_eth_abi/encoding.py,sha256=yYgXubRd3ZxVP6QPrdHhYnjFGSPtqfyaXh4QBLnURms,18163
6
- faster_eth_abi/registry.py,sha256=kCcz1mJiENDzl9jKzJ99EiSLSSIFxfi4-96Fe59qrJM,20529
7
- faster_eth_abi/constants.py,sha256=uJbuND1rFs_Pexuz58TKd-BJPuoA6hLqFEX6kkDS-dE,107
8
- faster_eth_abi/io.py,sha256=PjOnBChWh_-6ADkpJQONnxHVwsAfC_4bRiT6YQhlP6c,3728
9
- faster_eth_abi/constants.cpython-314-darwin.so,sha256=XJD8ueUUorf8Crw8atEq7k8Es6r9GXmDMdCbjfX4k-o,50656
10
- faster_eth_abi/__init__.py,sha256=55jGpiVbsTGNu-c_rr-wwyH3eqEv9MELSTWa4AMiKvU,205
11
- faster_eth_abi/abi.cpython-314-darwin.so,sha256=hJC1qdh_Oml7dI2Y748NoMxq53o0QvXPsGNdQjB47sU,50632
12
- faster_eth_abi/_codec.cpython-314-darwin.so,sha256=0DxXLlpIYuIGGLS0gbPvVoLltOBTBXaz3LOCUG8STfw,50640
13
- faster_eth_abi/decoding.py,sha256=xLon-1I5EZCZBgsTZsvl-ienFY2ZUr5D2FqzsiTdQS0,17347
14
- faster_eth_abi/grammar.py,sha256=9Q4niyiw8cAKXwVMlpfayPNcWkerZXM6WuWBEjx2TQ8,13335
15
- faster_eth_abi/from_type_str.py,sha256=aAZ58YUBZuMF_DovGkthvnacAD6X6VkYFs0Zbv9JxoM,4311
16
- faster_eth_abi/packed.cpython-314-darwin.so,sha256=ONJOhje5g9AldHxE6oKScY2KjSkJzx74a0UzX86TQw4,50640
17
- faster_eth_abi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- faster_eth_abi/abi.py,sha256=HzkXy0EjHraNbbC5l-EhVqVcx5vy8tcykiKIO4Fp1xw,366
19
- faster_eth_abi/exceptions.py,sha256=Q_b62R-E0OtlxQGLQSyx6BXkBbLf259KQ1pT5Eb1oh8,2952
20
- faster_eth_abi/_codec.py,sha256=xVKz8JQW51sCs2eroQBUXEe_SXduT14wRSObzhZuNjo,2461
21
- faster_eth_abi/from_type_str.cpython-314-darwin.so,sha256=5zwEuqR1oxoXWl7nPZzjQtwJu2-6hbF6N5ND4s0WAXk,50672
22
- faster_eth_abi/codec.py,sha256=KMIgLUBeutkDTsRts8Y2Ydt3V0n5bMGLd21CZvwR9ds,4437
23
- faster_eth_abi/base.py,sha256=eMpUM78FhJg5wHPj6glvJRpS1AmvQ_1ks9ENwyu68hc,1188
24
- faster_eth_abi/tools/__init__.cpython-314-darwin.so,sha256=lm8VmS75FpJMpUZDd12VC5z49mXrvvcXGlnFSlakPB8,50640
25
- faster_eth_abi/tools/_strategies.py,sha256=iLIjqRw7FlEEIXtnhSgtrWwbxO74dslT0EQrgE2o8I8,5960
26
- faster_eth_abi/tools/__init__.py,sha256=trtATEmgu4ctg04qkejbODDzvDSofgcVJ3rkzMP_hQE,51
27
- faster_eth_abi/tools/_strategies.cpython-314-darwin.so,sha256=uH68RAR9l1VVws6dWVf9HI293Iz-Pb6v7pTQYAE8j58,50672
28
- faster_eth_abi/utils/padding.cpython-314-darwin.so,sha256=O8z_JuHY9qQ9Gs2HJi22FvUZNrIn88hHfJ6lyZgZWRY,50656
29
- faster_eth_abi/utils/__init__.cpython-314-darwin.so,sha256=oNULw61qnUf3-AoXrths0cLzv4ABjeamzrMwwTWs6lw,50640
30
- faster_eth_abi/utils/numeric.cpython-314-darwin.so,sha256=cTAfR-WY_TbiPnw2Wen5nOwQlJv5YCqx9SXD19xBg6M,50656
31
- faster_eth_abi/utils/validation.cpython-314-darwin.so,sha256=j8dRAiG5xViOawgknccr8J8rYVoMP___V37cNBtMXKE,50672
32
- faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- faster_eth_abi/utils/string.cpython-314-darwin.so,sha256=o-Oz537OFGj3KdRIIUqSIph-vqkcdzZZztw5WqQntdM,50656
34
- faster_eth_abi/utils/numeric.py,sha256=VU6Z76zvZn7rYaZMyDy1XO9A9ukKTzOrtA80jypp_LQ,2146
35
- faster_eth_abi/utils/string.py,sha256=fjsAR2C7Xlu5bHomxx5l4rlADFtByzGTQfugMTo8TQk,436
36
- faster_eth_abi/utils/padding.py,sha256=JBuFhdrvKWLrmmJBZ-a6pqbHWydAuiUBt2aBjCwVcVE,493
37
- faster_eth_abi/utils/validation.py,sha256=NA2wRacYEBdkpQnZfmeDvzF-sHyy6NT2QzCFuBnYJVI,521
38
- faster_eth_abi-5.2.5.dist-info/RECORD,,
39
- faster_eth_abi-5.2.5.dist-info/WHEEL,sha256=2Id6qreet5t4wZv58bZfijJ58qrc2xkw6OVvWfeqxV0,136
40
- faster_eth_abi-5.2.5.dist-info/top_level.txt,sha256=5cP87jVHTOdG5bgQZ3ws5MGsnIwm_yX-WalM08iynHc,51
41
- faster_eth_abi-5.2.5.dist-info/METADATA,sha256=LgvopGjl6hsDNJIhHr3PW1HW0GGIEX433uumdT6-SSo,4129
42
- faster_eth_abi-5.2.5.dist-info/licenses/LICENSE,sha256=P_zrhVa0OXK-_XuA0RF3d3gwMLXRSBkn2fWraC4CFLo,1106