faster-eth-abi 5.2.5__cp38-cp38-win32.whl → 5.2.6__cp38-cp38-win32.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
Binary file
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
Binary file
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
Binary file
Binary file
Binary file
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
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"
@@ -61,6 +64,20 @@ Requires-Dist: hypothesis<6.108.7,>=6.22.0; extra == "test"
61
64
  Provides-Extra: tools
62
65
  Requires-Dist: hypothesis<6.108.7,>=6.22.0; extra == "tools"
63
66
 
67
+ ### I forked eth-abi and compiled it to C. It does the same stuff, now faster
68
+
69
+ [![PyPI](https://img.shields.io/pypi/v/faster-eth-abi.svg?logo=Python&logoColor=white)](https://pypi.org/project/faster-eth-abi/)
70
+ [![Monthly Downloads](https://img.shields.io/pypi/dm/faster-eth-abi)](https://pypistats.org/packages/faster-eth-abi)
71
+ [![Codspeed.io Status](https://img.shields.io/endpoint?url=https://codspeed.io/badge.json)](https://codspeed.io/BobTheBuidler/faster-eth-abi)
72
+
73
+ ##### 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/).
74
+
75
+ ##### You can find the compiled C code on faster-eth-abi [master](https://github.com/BobTheBuidler/eth-abi/tree/master) branch.
76
+
77
+ ##### 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).
78
+
79
+ ##### The original eth-abi readme is below:
80
+
64
81
  # Ethereum Contract Interface (ABI) Utility
65
82
 
66
83
  [![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.cp38-win32.pyd,sha256=mbJ3khQ_FRYssO1RxxOHSokPiOrzBh99vK1Tl3Qxrpo,120320
2
+ faster_eth_abi/__init__.py,sha256=JpTfPTiusUGMmX8sEsGAxvILxFbvhh3MEyfiKOd5o9g,217
3
+ faster_eth_abi/_codec.cp38-win32.pyd,sha256=KdtTK0HK0z64-x6PxdkUY76loDCuiRlRj_E97Yl_eEI,9216
4
+ faster_eth_abi/_codec.py,sha256=mEjPRDPbpT67gc3HlzM8xAQ7uDOLwVRqQq5-dbwXZ1g,2543
5
+ faster_eth_abi/_encoding.cp38-win32.pyd,sha256=F7215wfRWuWCup5Nz1enH_95iDGzPr2L0PO-21nTgsU,9216
6
+ faster_eth_abi/_encoding.py,sha256=157A_MltVLCEwBmD7SB8UaKXkAOtIKC5MVupk6dk_yA,3217
7
+ faster_eth_abi/abi.cp38-win32.pyd,sha256=J1JHoYvi7QqO2gFgyrY_EG1cxMaKs-UhlUcBplh1jNw,9216
8
+ faster_eth_abi/abi.py,sha256=-t9OVBSCxy6SuWpCu3cxHrCqkx8_svPIRb0MSFXEl5Q,383
9
+ faster_eth_abi/base.py,sha256=y4IXpQJWGfUISl3xjCO420Grxido3tE2ebPV2rK-DvM,1229
10
+ faster_eth_abi/codec.py,sha256=e1uO8BJrXRn0Ih70eUa5qipD2wcg2aZSR4fyVuGpFoY,4580
11
+ faster_eth_abi/constants.cp38-win32.pyd,sha256=HB_Kl_t7delee0brh6ZiG91sS3To1oL0eqZz3grvzHE,9216
12
+ faster_eth_abi/constants.py,sha256=q3FGynS-Eb78cnrL6mBoAvTDz16PF3tW2OylTMd6ajs,114
13
+ faster_eth_abi/decoding.py,sha256=w98AsF5cq5DXE9OVflfkVLpMeCRbxzZuIj0hFPJcJNc,17910
14
+ faster_eth_abi/encoding.py,sha256=vlFlvohYCUCGtvxhIih3apDuCA5FPu-D_qH7UiaiFTQ,18805
15
+ faster_eth_abi/exceptions.py,sha256=KzNYRc9t0CvlkveozWvLeo1WC_GarcBkwzV67aY_5yI,3067
16
+ faster_eth_abi/from_type_str.cp38-win32.pyd,sha256=FuZgUBzJfNoBZ-GwxKdB1naz0y7g_Cwwnnkk_E3cMio,9216
17
+ faster_eth_abi/from_type_str.py,sha256=WLRP3OIyrJORgloX-7V0x2KdrZj0kLay-J9I8f-H36s,4446
18
+ faster_eth_abi/grammar.py,sha256=A3t6TvDzAkIvsZTsHrJVxSjI02gJPP79tXj6GfJQZ50,13837
19
+ faster_eth_abi/io.py,sha256=E_QX7aYAjGYnkNAZmJMmSmx1lqvl_FDNmMFruTi9UX4,3831
20
+ faster_eth_abi/packed.cp38-win32.pyd,sha256=Dd4TvGi3RHSMZoEDQ_DDRyDxmkapl4CB7ta5ac_a4Lo,9216
21
+ faster_eth_abi/packed.py,sha256=RZ2chvsx9_AL9OxY1ixHTsaUJHaR_tmrNdViOIp-xSg,316
22
+ faster_eth_abi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ faster_eth_abi/registry.py,sha256=gU5-k_1eYUjs7-NAKoH9nncCJ36tZZHM5ZXvwmXt0cw,21192
24
+ faster_eth_abi/tools/__init__.cp38-win32.pyd,sha256=rY_tAIY9GZn0zryeEvepnOAHHWwPbWciH4NRArAvDJ0,9216
25
+ faster_eth_abi/tools/__init__.py,sha256=jxyQnb34ldRjCTYi3Ajb5h5QlFQ6ODfKQNhOCVwR7Ao,54
26
+ faster_eth_abi/tools/_strategies.cp38-win32.pyd,sha256=qWdWXdA1gmsLpLrDMHfyu1eyyVDXK4h2RRLgIlfMRlA,9216
27
+ faster_eth_abi/tools/_strategies.py,sha256=HCFdQFLa84SMf7Deui2-szTH34hxTfc0Rog_kmpTg_w,6197
28
+ faster_eth_abi/utils/__init__.cp38-win32.pyd,sha256=h2mzv2iMrSP-rcaUi0onDF-sRlbuVQ6QjtEUmKOecDc,9216
29
+ faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ faster_eth_abi/utils/numeric.cp38-win32.pyd,sha256=BriUW8CjWnsMH6KQb7Z2it79-ARI7H626Kz2htaLxlQ,9216
31
+ faster_eth_abi/utils/numeric.py,sha256=hNGble1NA99_5hrAOnH0ZakCuHc6PFMC1p0olmpo_vM,2232
32
+ faster_eth_abi/utils/padding.cp38-win32.pyd,sha256=75rIXb0kJ-e134NLi9eBj_FrpH9SIudWXyzex7HoPaQ,9216
33
+ faster_eth_abi/utils/padding.py,sha256=k6dkOiQ3k0OhQUZ6blCiL1VOQVYGyynucafbySjcFfY,515
34
+ faster_eth_abi/utils/string.cp38-win32.pyd,sha256=FT_Pk0QBixH1IhS6wxAOOOg1ectHHOfdnrgXleLHyME,9216
35
+ faster_eth_abi/utils/string.py,sha256=wYcvWof4kuitrGGSe_NOduQaxE4HHYmpraCPXKcZxMs,455
36
+ faster_eth_abi/utils/validation.cp38-win32.pyd,sha256=TdPwxsQARSlzBnNwmfBjJJgo8YF79YDKVRktibsh31I,9216
37
+ faster_eth_abi/utils/validation.py,sha256=9veO7wyQsmcFgeaGrsKdSifjV1gaXfTDDKAt1EbKHYY,539
38
+ faster_eth_abi-5.2.6.dist-info/LICENSE,sha256=Q1lDDWXR057JL2Y7HTAwclCF32_LCloN4sGUkXO1YeI,1127
39
+ faster_eth_abi-5.2.6.dist-info/METADATA,sha256=3RPAivS6mo-GQuXY_dghSPpf83nfnBcDtzi9hE08WSQ,5206
40
+ faster_eth_abi-5.2.6.dist-info/WHEEL,sha256=BsoMMMHJGneA25n2FDquZW143lDYOuIAMJ0po_3Su94,95
41
+ faster_eth_abi-5.2.6.dist-info/top_level.txt,sha256=5cP87jVHTOdG5bgQZ3ws5MGsnIwm_yX-WalM08iynHc,51
42
+ faster_eth_abi-5.2.6.dist-info/RECORD,,
@@ -1,42 +0,0 @@
1
- c42f5c78bc058f310136__mypyc.cp38-win32.pyd,sha256=sThul3DQmbvtMTldVtWu4stqWYu9v6XX_xZBH8FrHaA,120320
2
- faster_eth_abi/__init__.py,sha256=JpTfPTiusUGMmX8sEsGAxvILxFbvhh3MEyfiKOd5o9g,217
3
- faster_eth_abi/_codec.cp38-win32.pyd,sha256=YKyfqZ3WVHN58wStRcl0BnKcfY1iI1Zn2w41JHGaDtU,9216
4
- faster_eth_abi/_codec.py,sha256=mEjPRDPbpT67gc3HlzM8xAQ7uDOLwVRqQq5-dbwXZ1g,2543
5
- faster_eth_abi/_encoding.cp38-win32.pyd,sha256=mEl0wNgtuYyYcBVjRobegJFkLg_3aql6BGbtIOcKPT0,9216
6
- faster_eth_abi/_encoding.py,sha256=YwtCHxSIVXHBiqQxz78kPIjCSf352if38mVeFstE-04,3204
7
- faster_eth_abi/abi.cp38-win32.pyd,sha256=QfKx10omedprPMnOe37-GLsl7roUpT-uomIcTotESqI,9216
8
- faster_eth_abi/abi.py,sha256=-t9OVBSCxy6SuWpCu3cxHrCqkx8_svPIRb0MSFXEl5Q,383
9
- faster_eth_abi/base.py,sha256=y4IXpQJWGfUISl3xjCO420Grxido3tE2ebPV2rK-DvM,1229
10
- faster_eth_abi/codec.py,sha256=e1uO8BJrXRn0Ih70eUa5qipD2wcg2aZSR4fyVuGpFoY,4580
11
- faster_eth_abi/constants.cp38-win32.pyd,sha256=r_y3OJ_JZCyffFkuEdZKXXVSZnRfA8d9yBEG4bM6Aos,9216
12
- faster_eth_abi/constants.py,sha256=q3FGynS-Eb78cnrL6mBoAvTDz16PF3tW2OylTMd6ajs,114
13
- faster_eth_abi/decoding.py,sha256=w98AsF5cq5DXE9OVflfkVLpMeCRbxzZuIj0hFPJcJNc,17910
14
- faster_eth_abi/encoding.py,sha256=vlFlvohYCUCGtvxhIih3apDuCA5FPu-D_qH7UiaiFTQ,18805
15
- faster_eth_abi/exceptions.py,sha256=KzNYRc9t0CvlkveozWvLeo1WC_GarcBkwzV67aY_5yI,3067
16
- faster_eth_abi/from_type_str.cp38-win32.pyd,sha256=_OHjxIks6GXKAEg4Ad6ElJDcMLP-yP00l_SQJVfSEPs,9216
17
- faster_eth_abi/from_type_str.py,sha256=WLRP3OIyrJORgloX-7V0x2KdrZj0kLay-J9I8f-H36s,4446
18
- faster_eth_abi/grammar.py,sha256=mB68n7WuFvQB8lh5zPZEO36fOXGfj3gEnNP6yWFHvQo,13802
19
- faster_eth_abi/io.py,sha256=E_QX7aYAjGYnkNAZmJMmSmx1lqvl_FDNmMFruTi9UX4,3831
20
- faster_eth_abi/packed.cp38-win32.pyd,sha256=nbYUbHT83jZdHSyySHoW0m7uFIIavvNjzFFV4mWFhms,9216
21
- faster_eth_abi/packed.py,sha256=RZ2chvsx9_AL9OxY1ixHTsaUJHaR_tmrNdViOIp-xSg,316
22
- faster_eth_abi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- faster_eth_abi/registry.py,sha256=gU5-k_1eYUjs7-NAKoH9nncCJ36tZZHM5ZXvwmXt0cw,21192
24
- faster_eth_abi/tools/__init__.cp38-win32.pyd,sha256=bn2gzV7NsnvaxNEu6CS57uCWl5mDPXLTIMuMCDAnuw4,9216
25
- faster_eth_abi/tools/__init__.py,sha256=jxyQnb34ldRjCTYi3Ajb5h5QlFQ6ODfKQNhOCVwR7Ao,54
26
- faster_eth_abi/tools/_strategies.cp38-win32.pyd,sha256=sPdosl6dmhZlo6V6TkSdZzDz8Ab1LZ92DBKIHBp0lzY,9216
27
- faster_eth_abi/tools/_strategies.py,sha256=HCFdQFLa84SMf7Deui2-szTH34hxTfc0Rog_kmpTg_w,6197
28
- faster_eth_abi/utils/__init__.cp38-win32.pyd,sha256=sr3JUr4BIXTzCeFaPhBAc9lUkSa-oC_UcTe1Wj_BlfQ,9216
29
- faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- faster_eth_abi/utils/numeric.cp38-win32.pyd,sha256=aZop_FsvvAO2vX9rriT2Ix3ncVgfSc-V4ZKepvN6ZxI,9216
31
- faster_eth_abi/utils/numeric.py,sha256=hNGble1NA99_5hrAOnH0ZakCuHc6PFMC1p0olmpo_vM,2232
32
- faster_eth_abi/utils/padding.cp38-win32.pyd,sha256=Biy-SVyyFeiQE5y0Hl-gCePC0RnIgSJ1iufKtvIM1Tw,9216
33
- faster_eth_abi/utils/padding.py,sha256=k6dkOiQ3k0OhQUZ6blCiL1VOQVYGyynucafbySjcFfY,515
34
- faster_eth_abi/utils/string.cp38-win32.pyd,sha256=bsL8IMbwgMyVycu5ZJeedHdxuYvurSo_nrG7KPNmiCc,9216
35
- faster_eth_abi/utils/string.py,sha256=wYcvWof4kuitrGGSe_NOduQaxE4HHYmpraCPXKcZxMs,455
36
- faster_eth_abi/utils/validation.cp38-win32.pyd,sha256=Sl6pOLv9mSL9U9F8zGq6-NoWEGjyhmcU-lM_pdcYjuo,9216
37
- faster_eth_abi/utils/validation.py,sha256=9veO7wyQsmcFgeaGrsKdSifjV1gaXfTDDKAt1EbKHYY,539
38
- faster_eth_abi-5.2.5.dist-info/LICENSE,sha256=Q1lDDWXR057JL2Y7HTAwclCF32_LCloN4sGUkXO1YeI,1127
39
- faster_eth_abi-5.2.5.dist-info/METADATA,sha256=n699JsKIwW8IAaYK95t0QnBX-yRpyH8dsKzWzsw6q4E,3933
40
- faster_eth_abi-5.2.5.dist-info/WHEEL,sha256=BsoMMMHJGneA25n2FDquZW143lDYOuIAMJ0po_3Su94,95
41
- faster_eth_abi-5.2.5.dist-info/top_level.txt,sha256=5cP87jVHTOdG5bgQZ3ws5MGsnIwm_yX-WalM08iynHc,51
42
- faster_eth_abi-5.2.5.dist-info/RECORD,,