faster-eth-abi 5.2.5__cp314-cp314t-musllinux_1_2_x86_64.whl → 5.2.6__cp314-cp314t-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-314t-x86_64-linux-musl.so,sha256=srkWAvH4M0HPdhVuz6_xocE3VtNC4kIroPyNqga59AE,609320
1
+ c42f5c78bc058f310136__mypyc.cpython-314t-x86_64-linux-musl.so,sha256=hZoZo0GLLlOI8E09pBhjSh6vF2q5_922ybNgfelOPs8,627744
2
2
  faster_eth_abi/__init__.py,sha256=55jGpiVbsTGNu-c_rr-wwyH3eqEv9MELSTWa4AMiKvU,205
3
- faster_eth_abi/_codec.cpython-314t-x86_64-linux-musl.so,sha256=qp0Gb0BfCbuRkFKtGCHcPKmGesaItDNsR3UDj05hjl4,18336
3
+ faster_eth_abi/_codec.cpython-314t-x86_64-linux-musl.so,sha256=Fh7yFAOpu19ieuGAuUkhzrdkewAUjazZJ7Oh4nBgCt4,18768
4
4
  faster_eth_abi/_codec.py,sha256=xVKz8JQW51sCs2eroQBUXEe_SXduT14wRSObzhZuNjo,2461
5
- faster_eth_abi/_encoding.cpython-314t-x86_64-linux-musl.so,sha256=GAqRN2QxQ-vL-UCry-Xv0egl0ETSbxhJiKtVrO6zSfo,18344
6
- faster_eth_abi/_encoding.py,sha256=x0em04kj0m7wW4pJdZLUWhPMW8bRh0CIHLM5X9jZb0A,3102
7
- faster_eth_abi/abi.cpython-314t-x86_64-linux-musl.so,sha256=Xnp2WqwhxsQSy8vwF1hp98mXI4lqbBDwRLUfhqrOHGY,18320
5
+ faster_eth_abi/_encoding.cpython-314t-x86_64-linux-musl.so,sha256=mIawrG6K1DbKKm_30pv7H_qTiqtMWHe4jutzxgYlpog,18784
6
+ faster_eth_abi/_encoding.py,sha256=dViSQVK5XvSuLBZADiXImJqXf4dIHkAHYWFzEiJtq-0,3114
7
+ faster_eth_abi/abi.cpython-314t-x86_64-linux-musl.so,sha256=pLBeuIAdsEIRX2kgajOZWq4YsvsQsP4NC8nCmEsAWYI,18744
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-314t-x86_64-linux-musl.so,sha256=Dt-XUy1TdIGY5gyCLXt-y2DPXqEtp4miOyd04mZ1Jbw,18344
11
+ faster_eth_abi/constants.cpython-314t-x86_64-linux-musl.so,sha256=5l-ijNuEv1loCysqC9xRhCGbdm5a_YALtWcLgCzJQ28,18784
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-314t-x86_64-linux-musl.so,sha256=E4mkYR8xpNQ5MxodAYOczX8OVGLghkrDrHJWuWO8fYU,18360
16
+ faster_eth_abi/from_type_str.cpython-314t-x86_64-linux-musl.so,sha256=YMgauGnZMWNHYjcjG85xDtT6rjiopjNHSVolt3Qkjto,18824
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-314t-x86_64-linux-musl.so,sha256=vfcZ1df1ArT_sh3a3I8gppCqdnTpN_1jbNHDZR9oLFc,18336
20
+ faster_eth_abi/packed.cpython-314t-x86_64-linux-musl.so,sha256=_FgtZI7ctC1m2ez7V6CrIGJbjWDEhUtLhHvIBroYyoA,18768
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-314t-x86_64-linux-musl.so,sha256=WlsY0stCDqN_9Ck_Tx98KNBG5VUUZ9VykiBGKRhM_TY,18328
24
+ faster_eth_abi/tools/__init__.cpython-314t-x86_64-linux-musl.so,sha256=kLpa9nHx5sMZNNQ801kGFpqjDCaNiGJ-mTcB2FzA6ag,18760
25
25
  faster_eth_abi/tools/__init__.py,sha256=trtATEmgu4ctg04qkejbODDzvDSofgcVJ3rkzMP_hQE,51
26
- faster_eth_abi/tools/_strategies.cpython-314t-x86_64-linux-musl.so,sha256=7Aa0PQiN5PPgrI-7Rq9M735BjRifTXrOyh5zGOhJxoE,18368
26
+ faster_eth_abi/tools/_strategies.cpython-314t-x86_64-linux-musl.so,sha256=ox1Zydgqb2_kI93ioCpuidA7NhEttsu4CYnxW7thxO0,18824
27
27
  faster_eth_abi/tools/_strategies.py,sha256=iLIjqRw7FlEEIXtnhSgtrWwbxO74dslT0EQrgE2o8I8,5960
28
- faster_eth_abi/utils/__init__.cpython-314t-x86_64-linux-musl.so,sha256=uA2Pd25uN33znXSqQTirUlCC-O1y75eqk0aauv7OE7g,18328
28
+ faster_eth_abi/utils/__init__.cpython-314t-x86_64-linux-musl.so,sha256=OrFQAEYFOrT4hjdLa7N7vockdsJuM6lEB8Zuujxu1uw,18760
29
29
  faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- faster_eth_abi/utils/numeric.cpython-314t-x86_64-linux-musl.so,sha256=i5YSUrzxLIf0GXIHYcwLltKdEyj7yvjsyyTgNRq_vE4,18352
30
+ faster_eth_abi/utils/numeric.cpython-314t-x86_64-linux-musl.so,sha256=loKqATdkXP8ZdFwAFULvWez0VwCFyzliZCQ5_L8ZLss,18784
31
31
  faster_eth_abi/utils/numeric.py,sha256=VU6Z76zvZn7rYaZMyDy1XO9A9ukKTzOrtA80jypp_LQ,2146
32
- faster_eth_abi/utils/padding.cpython-314t-x86_64-linux-musl.so,sha256=dTUf2UcOdcTDKG5cLK8M7hjyJ2eJyThG_JSb2j39EqE,18352
32
+ faster_eth_abi/utils/padding.cpython-314t-x86_64-linux-musl.so,sha256=AU03qJwvlzjOKISTctU-edkyGpjpcxFqkRx8rRp0u-M,18784
33
33
  faster_eth_abi/utils/padding.py,sha256=JBuFhdrvKWLrmmJBZ-a6pqbHWydAuiUBt2aBjCwVcVE,493
34
- faster_eth_abi/utils/string.cpython-314t-x86_64-linux-musl.so,sha256=MWNMy00wv5FNrQ923U0W4TWdCA6LPkpkgHYfFkYgzx0,18344
34
+ faster_eth_abi/utils/string.cpython-314t-x86_64-linux-musl.so,sha256=TSQbq0sKJDBtdFmTURaCopl9ACb8nyF5avPgf9urjdU,18784
35
35
  faster_eth_abi/utils/string.py,sha256=fjsAR2C7Xlu5bHomxx5l4rlADFtByzGTQfugMTo8TQk,436
36
- faster_eth_abi/utils/validation.cpython-314t-x86_64-linux-musl.so,sha256=Tw-anbSVvl1arcqhyfc2oCYq_ixYYw0WHNyMD8ILLGA,18360
36
+ faster_eth_abi/utils/validation.cpython-314t-x86_64-linux-musl.so,sha256=zLRLM8FPwzvSrLO3fqwlznF8fDa45TRaNH0jnAk5gPA,18808
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=zXoM281zyz8wppofreMuq3eZjd9HP4BgZS1rfYnrpIs,113
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=zXoM281zyz8wppofreMuq3eZjd9HP4BgZS1rfYnrpIs,113
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