faster-eth-abi 5.2.5__cp314-cp314-musllinux_1_2_x86_64.whl → 5.2.6__cp314-cp314-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.
@@ -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
 
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
@@ -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)
@@ -1,42 +1,42 @@
1
- c42f5c78bc058f310136__mypyc.cpython-314-x86_64-linux-musl.so,sha256=2XiorNg5BRAyPpIjrywFkTQuGKJJJCE-9Jh2GiprPFM,514080
1
+ c42f5c78bc058f310136__mypyc.cpython-314-x86_64-linux-musl.so,sha256=gy_G9EasN266Bu7b2Fh_RReg0g4JjtvK-VYwlmJ75QQ,536344
2
2
  faster_eth_abi/__init__.py,sha256=55jGpiVbsTGNu-c_rr-wwyH3eqEv9MELSTWa4AMiKvU,205
3
- faster_eth_abi/_codec.cpython-314-x86_64-linux-musl.so,sha256=xRy90e62aMRBXgsLN4-QG8SBxVrAYCAcP8_rbns8zE4,17776
3
+ faster_eth_abi/_codec.cpython-314-x86_64-linux-musl.so,sha256=mFmJn2b9lmIayyQsm3zwI3O0HjBEN8xBEc4EVCbZRjQ,17776
4
4
  faster_eth_abi/_codec.py,sha256=xVKz8JQW51sCs2eroQBUXEe_SXduT14wRSObzhZuNjo,2461
5
- faster_eth_abi/_encoding.cpython-314-x86_64-linux-musl.so,sha256=HIxLBe1lqe9wsUv3emlprUQzSxmnFfwlLSXeFV1lMNg,17784
6
- faster_eth_abi/_encoding.py,sha256=x0em04kj0m7wW4pJdZLUWhPMW8bRh0CIHLM5X9jZb0A,3102
7
- faster_eth_abi/abi.cpython-314-x86_64-linux-musl.so,sha256=0E2bk36DQCh3JzQgK_DEdKRgXFwVQ3jx5Im12bkA7KQ,17760
5
+ faster_eth_abi/_encoding.cpython-314-x86_64-linux-musl.so,sha256=3LU8BoIsnzm0N6oA2FwqFjM0axqbbOLSh6I325xPhrM,17784
6
+ faster_eth_abi/_encoding.py,sha256=dViSQVK5XvSuLBZADiXImJqXf4dIHkAHYWFzEiJtq-0,3114
7
+ faster_eth_abi/abi.cpython-314-x86_64-linux-musl.so,sha256=uhS5uMP75vyijY__AfHGCHIeLfqhOd5Jmhdb1qx3i1o,17760
8
8
  faster_eth_abi/abi.py,sha256=HzkXy0EjHraNbbC5l-EhVqVcx5vy8tcykiKIO4Fp1xw,366
9
9
  faster_eth_abi/base.py,sha256=eMpUM78FhJg5wHPj6glvJRpS1AmvQ_1ks9ENwyu68hc,1188
10
10
  faster_eth_abi/codec.py,sha256=KMIgLUBeutkDTsRts8Y2Ydt3V0n5bMGLd21CZvwR9ds,4437
11
- faster_eth_abi/constants.cpython-314-x86_64-linux-musl.so,sha256=pTh1MUZetjIeAbQ_8dbkb9tTq0wDehzmo0RzAj_EcRc,17784
11
+ faster_eth_abi/constants.cpython-314-x86_64-linux-musl.so,sha256=Ol8HOm774SEaskz8SATVXKy3cFY3CvPxfO8kS-A10dU,17784
12
12
  faster_eth_abi/constants.py,sha256=uJbuND1rFs_Pexuz58TKd-BJPuoA6hLqFEX6kkDS-dE,107
13
13
  faster_eth_abi/decoding.py,sha256=xLon-1I5EZCZBgsTZsvl-ienFY2ZUr5D2FqzsiTdQS0,17347
14
14
  faster_eth_abi/encoding.py,sha256=yYgXubRd3ZxVP6QPrdHhYnjFGSPtqfyaXh4QBLnURms,18163
15
15
  faster_eth_abi/exceptions.py,sha256=Q_b62R-E0OtlxQGLQSyx6BXkBbLf259KQ1pT5Eb1oh8,2952
16
- faster_eth_abi/from_type_str.cpython-314-x86_64-linux-musl.so,sha256=aHwsYCq-c5OdakYI9xZDensKM8D3OSBVovtfuNFZGbQ,17800
16
+ faster_eth_abi/from_type_str.cpython-314-x86_64-linux-musl.so,sha256=kM5b_1B2dZDKXJZUzqRMfs-6W4faxvKh70Ro7WHZkcU,17800
17
17
  faster_eth_abi/from_type_str.py,sha256=aAZ58YUBZuMF_DovGkthvnacAD6X6VkYFs0Zbv9JxoM,4311
18
- faster_eth_abi/grammar.py,sha256=9Q4niyiw8cAKXwVMlpfayPNcWkerZXM6WuWBEjx2TQ8,13335
18
+ faster_eth_abi/grammar.py,sha256=unpmDhCsUs1PdLW2XbtKF5ij84nJOqVXhuKI8t_-aXk,13369
19
19
  faster_eth_abi/io.py,sha256=PjOnBChWh_-6ADkpJQONnxHVwsAfC_4bRiT6YQhlP6c,3728
20
- faster_eth_abi/packed.cpython-314-x86_64-linux-musl.so,sha256=iWC7kiECpMOkz3X_UvsRB_hwJtGC3NxeB7DYCkjrQ9s,17776
20
+ faster_eth_abi/packed.cpython-314-x86_64-linux-musl.so,sha256=XSmyYsPUYQhpmbfaPXZdYQKbqUZVmjADn1yKYDUna1s,17776
21
21
  faster_eth_abi/packed.py,sha256=qDPBjish_0h26O7xGWopnlD4pRkphFuFq4izgIqT600,301
22
22
  faster_eth_abi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  faster_eth_abi/registry.py,sha256=kCcz1mJiENDzl9jKzJ99EiSLSSIFxfi4-96Fe59qrJM,20529
24
- faster_eth_abi/tools/__init__.cpython-314-x86_64-linux-musl.so,sha256=qevu-DzWRMzDPGx1v-J_MugONEhvIrmAuJpTeWnWuQs,17768
24
+ faster_eth_abi/tools/__init__.cpython-314-x86_64-linux-musl.so,sha256=tqh15D11BSKIMb0K695VcQBQHbvN6W3lMVM9W7Bj6fA,17768
25
25
  faster_eth_abi/tools/__init__.py,sha256=trtATEmgu4ctg04qkejbODDzvDSofgcVJ3rkzMP_hQE,51
26
- faster_eth_abi/tools/_strategies.cpython-314-x86_64-linux-musl.so,sha256=FbcckQFd1j6KAK3os7za7gTfeGFoBW_4pPWofQZq-yA,17808
26
+ faster_eth_abi/tools/_strategies.cpython-314-x86_64-linux-musl.so,sha256=EmG7ZBFMeH1F8Ir8QQDU6jKvwJaS3hu4t4ztVBAJDQo,17808
27
27
  faster_eth_abi/tools/_strategies.py,sha256=iLIjqRw7FlEEIXtnhSgtrWwbxO74dslT0EQrgE2o8I8,5960
28
- faster_eth_abi/utils/__init__.cpython-314-x86_64-linux-musl.so,sha256=KsPdh4AHCSbl9l7zIdnKNjmMktk4OizzpXLJlkNxUDI,17768
28
+ faster_eth_abi/utils/__init__.cpython-314-x86_64-linux-musl.so,sha256=vTwAz2TXIe69gxp9fpG9cskVyjhb--HKBwlIPqc_4ac,17768
29
29
  faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- faster_eth_abi/utils/numeric.cpython-314-x86_64-linux-musl.so,sha256=x0ROniO7tssDhTdXdGWOpUZLKUxFhRsyGI6pagZ7o7E,17792
30
+ faster_eth_abi/utils/numeric.cpython-314-x86_64-linux-musl.so,sha256=Dxl8oPnq9tJH0QSRvs8b0HyGNIArY7NT_8QvM8Ie7Gw,17792
31
31
  faster_eth_abi/utils/numeric.py,sha256=VU6Z76zvZn7rYaZMyDy1XO9A9ukKTzOrtA80jypp_LQ,2146
32
- faster_eth_abi/utils/padding.cpython-314-x86_64-linux-musl.so,sha256=jC2x4cRwmbNWjzmgfzTbKSnlXIbiFty9pfnKIy3apPg,17792
32
+ faster_eth_abi/utils/padding.cpython-314-x86_64-linux-musl.so,sha256=juslJ_7-PfSo2OuWC8XTY05NyN81YhGaHIzFSgN4sbk,17792
33
33
  faster_eth_abi/utils/padding.py,sha256=JBuFhdrvKWLrmmJBZ-a6pqbHWydAuiUBt2aBjCwVcVE,493
34
- faster_eth_abi/utils/string.cpython-314-x86_64-linux-musl.so,sha256=ReY7KaZT8uBvCAtzSbKx09S7LTF9Yd4byVikWr7VOLA,17784
34
+ faster_eth_abi/utils/string.cpython-314-x86_64-linux-musl.so,sha256=pAaz_cqDSodgb20BX-haj6MgLv81vYu9ZbWn5SsgI5M,17784
35
35
  faster_eth_abi/utils/string.py,sha256=fjsAR2C7Xlu5bHomxx5l4rlADFtByzGTQfugMTo8TQk,436
36
- faster_eth_abi/utils/validation.cpython-314-x86_64-linux-musl.so,sha256=WGBHmpaLgH69sFvWsgPnFtYts8LYiY6fgMlZVEdRvMw,17800
36
+ faster_eth_abi/utils/validation.cpython-314-x86_64-linux-musl.so,sha256=llh03svxbK_RJRD3dSNpsntuCzz_kJo_tcKK1-b0V8c,17800
37
37
  faster_eth_abi/utils/validation.py,sha256=NA2wRacYEBdkpQnZfmeDvzF-sHyy6NT2QzCFuBnYJVI,521
38
- faster_eth_abi-5.2.5.dist-info/METADATA,sha256=LgvopGjl6hsDNJIhHr3PW1HW0GGIEX433uumdT6-SSo,4129
39
- faster_eth_abi-5.2.5.dist-info/WHEEL,sha256=K2_TehZnioJBDmm5baDVfhoCxaclJzJsPrng3hg7WD0,112
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/RECORD,,
42
- faster_eth_abi-5.2.5.dist-info/licenses/LICENSE,sha256=P_zrhVa0OXK-_XuA0RF3d3gwMLXRSBkn2fWraC4CFLo,1106
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=K2_TehZnioJBDmm5baDVfhoCxaclJzJsPrng3hg7WD0,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