faster-eth-abi 5.2.12__cp311-cp311-win_amd64.whl → 5.2.14__cp311-cp311-win_amd64.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.

Potentially problematic release.


This version of faster-eth-abi might be problematic. Click here for more details.

Files changed (39) hide show
  1. benchmarks/__init__.py +1 -0
  2. benchmarks/batch.py +9 -0
  3. benchmarks/data.py +313 -0
  4. benchmarks/test_abi_benchmarks.py +82 -0
  5. benchmarks/test_decoding_benchmarks.py +109 -0
  6. benchmarks/test_encoding_benchmarks.py +99 -0
  7. benchmarks/test_grammar_benchmarks.py +38 -0
  8. benchmarks/test_io_benchmarks.py +99 -0
  9. benchmarks/test_packed_benchmarks.py +41 -0
  10. benchmarks/test_registry_benchmarks.py +45 -0
  11. benchmarks/type_strings.py +26 -0
  12. faster_eth_abi/_codec.cp311-win_amd64.pyd +0 -0
  13. faster_eth_abi/_codec.py +1 -1
  14. faster_eth_abi/_decoding.cp311-win_amd64.pyd +0 -0
  15. faster_eth_abi/_decoding.py +136 -5
  16. faster_eth_abi/_encoding.cp311-win_amd64.pyd +0 -0
  17. faster_eth_abi/_encoding.py +141 -6
  18. faster_eth_abi/_grammar.cp311-win_amd64.pyd +0 -0
  19. faster_eth_abi/abi.cp311-win_amd64.pyd +0 -0
  20. faster_eth_abi/constants.cp311-win_amd64.pyd +0 -0
  21. faster_eth_abi/decoding.py +107 -96
  22. faster_eth_abi/encoding.py +55 -27
  23. faster_eth_abi/from_type_str.cp311-win_amd64.pyd +0 -0
  24. faster_eth_abi/packed.cp311-win_amd64.pyd +0 -0
  25. faster_eth_abi/registry.py +47 -31
  26. faster_eth_abi/tools/__init__.cp311-win_amd64.pyd +0 -0
  27. faster_eth_abi/tools/_strategies.cp311-win_amd64.pyd +0 -0
  28. faster_eth_abi/utils/__init__.cp311-win_amd64.pyd +0 -0
  29. faster_eth_abi/utils/numeric.cp311-win_amd64.pyd +0 -0
  30. faster_eth_abi/utils/padding.cp311-win_amd64.pyd +0 -0
  31. faster_eth_abi/utils/string.cp311-win_amd64.pyd +0 -0
  32. faster_eth_abi/utils/validation.cp311-win_amd64.pyd +0 -0
  33. {faster_eth_abi-5.2.12.dist-info → faster_eth_abi-5.2.14.dist-info}/METADATA +14 -2
  34. faster_eth_abi-5.2.14.dist-info/RECORD +57 -0
  35. {faster_eth_abi-5.2.12.dist-info → faster_eth_abi-5.2.14.dist-info}/top_level.txt +1 -0
  36. faster_eth_abi__mypyc.cp311-win_amd64.pyd +0 -0
  37. faster_eth_abi-5.2.12.dist-info/RECORD +0 -46
  38. {faster_eth_abi-5.2.12.dist-info → faster_eth_abi-5.2.14.dist-info}/WHEEL +0 -0
  39. {faster_eth_abi-5.2.12.dist-info → faster_eth_abi-5.2.14.dist-info}/licenses/LICENSE +0 -0
@@ -1,12 +1,15 @@
1
1
  import abc
2
+ from copy import (
3
+ copy,
4
+ )
2
5
  import functools
3
- from copy import copy
4
6
  from typing import (
5
7
  Any,
6
8
  Callable,
7
9
  Dict,
8
10
  Final,
9
11
  Generic,
12
+ Iterator,
10
13
  Optional,
11
14
  Type,
12
15
  TypeVar,
@@ -17,6 +20,8 @@ from eth_typing import (
17
20
  TypeStr,
18
21
  )
19
22
  from typing_extensions import (
23
+ Concatenate,
24
+ ParamSpec,
20
25
  Self,
21
26
  )
22
27
 
@@ -38,6 +43,7 @@ from .io import (
38
43
  )
39
44
 
40
45
  T = TypeVar("T")
46
+ P = ParamSpec("P")
41
47
 
42
48
  Lookup = Union[TypeStr, Callable[[TypeStr], bool]]
43
49
 
@@ -177,25 +183,25 @@ class Predicate:
177
183
  ``ABIRegistry``.
178
184
  """
179
185
 
180
- __slots__ = tuple()
186
+ __slots__ = ()
181
187
 
182
188
  def __call__(self, *args, **kwargs): # pragma: no cover
183
189
  raise NotImplementedError("Must implement `__call__`")
184
190
 
185
- def __str__(self): # pragma: no cover
191
+ def __str__(self) -> str:
186
192
  raise NotImplementedError("Must implement `__str__`")
187
193
 
188
- def __repr__(self):
194
+ def __repr__(self) -> str:
189
195
  return f"<{type(self).__name__} {self}>"
190
196
 
191
- def __iter__(self):
197
+ def __iter__(self) -> Iterator[Any]:
192
198
  for attr in self.__slots__:
193
199
  yield getattr(self, attr)
194
200
 
195
- def __hash__(self):
201
+ def __hash__(self) -> int:
196
202
  return hash(tuple(self))
197
203
 
198
- def __eq__(self, other):
204
+ def __eq__(self, other: Any) -> bool:
199
205
  return type(self) is type(other) and tuple(self) == tuple(other)
200
206
 
201
207
 
@@ -209,10 +215,10 @@ class Equals(Predicate):
209
215
  def __init__(self, value):
210
216
  self.value = value
211
217
 
212
- def __call__(self, other):
218
+ def __call__(self, other: Any) -> bool:
213
219
  return self.value == other
214
220
 
215
- def __str__(self):
221
+ def __str__(self) -> str:
216
222
  return f"(== {self.value!r})"
217
223
 
218
224
 
@@ -231,7 +237,7 @@ class BaseEquals(Predicate):
231
237
  self.base = base
232
238
  self.with_sub = with_sub
233
239
 
234
- def __call__(self, type_str):
240
+ def __call__(self, type_str: TypeStr) -> bool:
235
241
  try:
236
242
  abi_type = grammar.parse(type_str)
237
243
  except (exceptions.ParseError, ValueError):
@@ -253,7 +259,7 @@ class BaseEquals(Predicate):
253
259
  # e.g. if it contained a tuple type
254
260
  return False
255
261
 
256
- def __str__(self):
262
+ def __str__(self) -> str:
257
263
  return (
258
264
  f"(base == {self.base!r}"
259
265
  + (
@@ -265,7 +271,7 @@ class BaseEquals(Predicate):
265
271
  )
266
272
 
267
273
 
268
- def has_arrlist(type_str):
274
+ def has_arrlist(type_str: TypeStr) -> bool:
269
275
  """
270
276
  A predicate that matches a type string with an array dimension list.
271
277
  """
@@ -277,7 +283,7 @@ def has_arrlist(type_str):
277
283
  return abi_type.arrlist is not None
278
284
 
279
285
 
280
- def is_base_tuple(type_str):
286
+ def is_base_tuple(type_str: TypeStr) -> bool:
281
287
  """
282
288
  A predicate that matches a tuple type with no array dimension list.
283
289
  """
@@ -289,9 +295,11 @@ def is_base_tuple(type_str):
289
295
  return isinstance(abi_type, grammar.TupleType) and abi_type.arrlist is None
290
296
 
291
297
 
292
- def _clear_encoder_cache(old_method: Callable[..., None]) -> Callable[..., None]:
298
+ def _clear_encoder_cache(
299
+ old_method: Callable[Concatenate["ABIRegistry", P], T]
300
+ ) -> Callable[Concatenate["ABIRegistry", P], T]:
293
301
  @functools.wraps(old_method)
294
- def new_method(self: "ABIRegistry", *args: Any, **kwargs: Any) -> None:
302
+ def new_method(self: "ABIRegistry", *args: P.args, **kwargs: P.kwargs) -> T:
295
303
  self.get_encoder.cache_clear()
296
304
  self.get_tuple_encoder.cache_clear()
297
305
  return old_method(self, *args, **kwargs)
@@ -299,9 +307,11 @@ def _clear_encoder_cache(old_method: Callable[..., None]) -> Callable[..., None]
299
307
  return new_method
300
308
 
301
309
 
302
- def _clear_decoder_cache(old_method: Callable[..., None]) -> Callable[..., None]:
310
+ def _clear_decoder_cache(
311
+ old_method: Callable[Concatenate["ABIRegistry", P], T]
312
+ ) -> Callable[Concatenate["ABIRegistry", P], T]:
303
313
  @functools.wraps(old_method)
304
- def new_method(self: "ABIRegistry", *args: Any, **kwargs: Any) -> None:
314
+ def new_method(self: "ABIRegistry", *args: P.args, **kwargs: P.kwargs) -> T:
305
315
  self.get_decoder.cache_clear()
306
316
  self.get_tuple_decoder.cache_clear()
307
317
  return old_method(self, *args, **kwargs)
@@ -311,7 +321,12 @@ def _clear_decoder_cache(old_method: Callable[..., None]) -> Callable[..., None]
311
321
 
312
322
  class BaseRegistry:
313
323
  @staticmethod
314
- def _register(mapping, lookup, value, label=None):
324
+ def _register(
325
+ mapping: PredicateMapping[T],
326
+ lookup: Lookup,
327
+ value: T,
328
+ label: Optional[str] = None,
329
+ ) -> None:
315
330
  if callable(lookup):
316
331
  mapping.add(lookup, value, label)
317
332
  return
@@ -325,7 +340,7 @@ class BaseRegistry:
325
340
  )
326
341
 
327
342
  @staticmethod
328
- def _unregister(mapping, lookup_or_label):
343
+ def _unregister(mapping: PredicateMapping[Any], lookup_or_label: Lookup) -> None:
329
344
  if callable(lookup_or_label):
330
345
  mapping.remove_by_equality(lookup_or_label)
331
346
  return
@@ -340,7 +355,7 @@ class BaseRegistry:
340
355
  )
341
356
 
342
357
  @staticmethod
343
- def _get_registration(mapping, type_str):
358
+ def _get_registration(mapping: PredicateMapping[T], type_str: TypeStr) -> T:
344
359
  try:
345
360
  value = mapping.find(type_str)
346
361
  except ValueError as e:
@@ -473,16 +488,15 @@ class ABIRegistry(Copyable, BaseRegistry):
473
488
  self.unregister_encoder(label)
474
489
  self.unregister_decoder(label)
475
490
 
476
- def _get_encoder_uncached(self, type_str: TypeStr): # type: ignore [no-untyped-def]
491
+ def _get_encoder_uncached(self, type_str: TypeStr) -> Encoder:
477
492
  return self._get_registration(self._encoders, type_str)
478
493
 
479
494
  def _get_tuple_encoder_uncached(
480
- self,
495
+ self,
481
496
  *type_strs: TypeStr,
482
497
  ) -> encoding.TupleEncoder:
483
- return encoding.TupleEncoder(
484
- encoders=tuple(self.get_encoder(type_str) for type_str in type_strs)
485
- )
498
+ encoders = tuple(map(self.get_encoder, type_strs))
499
+ return encoding.TupleEncoder(encoders=encoders)
486
500
 
487
501
  def has_encoder(self, type_str: TypeStr) -> bool:
488
502
  """
@@ -500,7 +514,7 @@ class ABIRegistry(Copyable, BaseRegistry):
500
514
 
501
515
  return True
502
516
 
503
- def _get_decoder_uncached(self, type_str: TypeStr, strict: bool = True): # type: ignore [no-untyped-def]
517
+ def _get_decoder_uncached(self, type_str: TypeStr, strict: bool = True) -> Decoder:
504
518
  decoder = self._get_registration(self._decoders, type_str)
505
519
 
506
520
  if hasattr(decoder, "is_dynamic") and decoder.is_dynamic:
@@ -512,15 +526,17 @@ class ABIRegistry(Copyable, BaseRegistry):
512
526
  return decoder
513
527
 
514
528
  def _get_tuple_decoder_uncached(
515
- self,
516
- *type_strs: TypeStr,
529
+ self,
530
+ *type_strs: TypeStr,
517
531
  strict: bool = True,
518
532
  ) -> decoding.TupleDecoder:
519
- return decoding.TupleDecoder(
520
- decoders=tuple(self.get_decoder(type_str, strict) for type_str in type_strs)
533
+ decoders = tuple(
534
+ self.get_decoder(type_str, strict) # type: ignore [misc]
535
+ for type_str in type_strs
521
536
  )
537
+ return decoding.TupleDecoder(decoders=decoders)
522
538
 
523
- def copy(self):
539
+ def copy(self) -> Self:
524
540
  """
525
541
  Copies a registry such that new registrations can be made or existing
526
542
  registrations can be unregistered without affecting any instance from
@@ -1,11 +1,19 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: faster_eth_abi
3
- Version: 5.2.12
3
+ Version: 5.2.14
4
4
  Summary: A faster 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
8
8
  License: MIT
9
+ Project-URL: Documentation, https://eth-abi.readthedocs.io/en/stable/
10
+ Project-URL: Release Notes, https://github.com/BobTheBuidler/faster-eth-abi/releases
11
+ Project-URL: Issues, https://github.com/BobTheBuidler/faster-eth-abi/issues
12
+ Project-URL: Source - Precompiled (.py), https://github.com/BobTheBuidler/faster-eth-utils/tree/master/faster_eth_utils
13
+ Project-URL: Source - Compiled (.c), https://github.com/BobTheBuidler/faster-eth-utils/tree/master/build
14
+ Project-URL: Benchmarks, https://github.com/BobTheBuidler/faster-eth-utils/tree/master/benchmarks
15
+ Project-URL: Benchmarks - Results, https://github.com/BobTheBuidler/faster-eth-utils/tree/master/benchmarks/results
16
+ Project-URL: Original, https://github.com/ethereum/eth-abi
9
17
  Keywords: ethereum
10
18
  Classifier: Development Status :: 5 - Production/Stable
11
19
  Classifier: Intended Audience :: Developers
@@ -38,7 +46,6 @@ Requires-Dist: pre-commit>=3.4.0; extra == "dev"
38
46
  Requires-Dist: tox>=4.0.0; extra == "dev"
39
47
  Requires-Dist: twine; extra == "dev"
40
48
  Requires-Dist: wheel; extra == "dev"
41
- Requires-Dist: pytest-codspeed; extra == "dev"
42
49
  Requires-Dist: pytest-benchmark; extra == "dev"
43
50
  Requires-Dist: sphinx>=6.0.0; extra == "dev"
44
51
  Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "dev"
@@ -64,6 +71,10 @@ Requires-Dist: eth-hash[pycryptodome]; extra == "test"
64
71
  Requires-Dist: hypothesis<6.108.7,>=6.22.0; extra == "test"
65
72
  Provides-Extra: tools
66
73
  Requires-Dist: hypothesis<6.108.7,>=6.22.0; extra == "tools"
74
+ Provides-Extra: codspeed
75
+ Requires-Dist: pytest>=7.0.0; extra == "codspeed"
76
+ Requires-Dist: pytest-codspeed; extra == "codspeed"
77
+ Requires-Dist: pytest-test-groups; extra == "codspeed"
67
78
  Dynamic: author
68
79
  Dynamic: author-email
69
80
  Dynamic: classifier
@@ -73,6 +84,7 @@ Dynamic: home-page
73
84
  Dynamic: keywords
74
85
  Dynamic: license
75
86
  Dynamic: license-file
87
+ Dynamic: project-url
76
88
  Dynamic: provides-extra
77
89
  Dynamic: requires-dist
78
90
  Dynamic: requires-python
@@ -0,0 +1,57 @@
1
+ faster_eth_abi__mypyc.cp311-win_amd64.pyd,sha256=gCj2aaMAc7TJZMWRL1JLxt_2CfK2F_fMAYlYyMxvoEw,240640
2
+ benchmarks/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
3
+ benchmarks/batch.py,sha256=8Va6LrNWIpn_Ssvjt4FlaM4SAS0yfGeg_yepBrOnJpE,208
4
+ benchmarks/data.py,sha256=iistViDoK6kYW5YUAsd6RVtoLYHsI8_mgATAm0DFwUQ,9518
5
+ benchmarks/test_abi_benchmarks.py,sha256=Dc1GmpAqfLRyf_ZoV48kXQOwkezj7-uUhVDaPIObHbc,2579
6
+ benchmarks/test_decoding_benchmarks.py,sha256=0IHC87DQBccNO0tyCYg4SFrBcZBs_kMlhePLmWYxQqA,4013
7
+ benchmarks/test_encoding_benchmarks.py,sha256=QwRazu9VERrTZ0JvF6SjZ6UVoWVNEZF3wwYPGSLnTF4,3311
8
+ benchmarks/test_grammar_benchmarks.py,sha256=Z8XP1sVU0ds_KCMalgSLcsfaNKVuF4o80CJe5F0a-6M,1167
9
+ benchmarks/test_io_benchmarks.py,sha256=SNCfk_Yt3u76OjCj7_-1fQYq-jTucc2HFOlVXsEdsWs,3164
10
+ benchmarks/test_packed_benchmarks.py,sha256=PPjhMmr9bZvu57ESLURD1QBGvjDYr_YgIVweC07H48E,1436
11
+ benchmarks/test_registry_benchmarks.py,sha256=8XqwdVH6JgnkqBVLY9Ptiqy1Ck2714QjVV6A2UM9AQ4,1307
12
+ benchmarks/type_strings.py,sha256=q2Mwk2EwZCcI2ajQKac9zs76_yuMN9gXRbG8NqOrMrA,592
13
+ faster_eth_abi/__init__.py,sha256=JpTfPTiusUGMmX8sEsGAxvILxFbvhh3MEyfiKOd5o9g,217
14
+ faster_eth_abi/_codec.cp311-win_amd64.pyd,sha256=nP6S4kmiuV4DZO6Gi7iinUHUQHjnW18bUW103YVOfos,10752
15
+ faster_eth_abi/_codec.py,sha256=1r9MEBi21sg9MW765LRM5XdSmNif8tO9-CR8PPFJgnE,2348
16
+ faster_eth_abi/_decoding.cp311-win_amd64.pyd,sha256=G2hc56RGFeZOcI9m9i7k2iJ67hcw_BRkg5KjcfsoV4M,10752
17
+ faster_eth_abi/_decoding.py,sha256=NLY4Jpny7mfUHqMWSvh_xxywlTanO_6z5jw8mldJMbc,9899
18
+ faster_eth_abi/_encoding.cp311-win_amd64.pyd,sha256=z822-EsfLKFDnvXycR85gnQIeDiuubFlV975FiZW2rA,10752
19
+ faster_eth_abi/_encoding.py,sha256=QJgfNDbszNgf_pGYvhdzeV6hL8u6DslzGE2sLT8hijQ,8785
20
+ faster_eth_abi/_grammar.cp311-win_amd64.pyd,sha256=9KdtPzfKIa0FnuFWxfxELOmeET0eBV8BO0WWswSEt8o,10752
21
+ faster_eth_abi/_grammar.py,sha256=IyftL6Ayb-6C1jR2xAt4y_NRnqdGtH08gwoz5zrF3rc,10491
22
+ faster_eth_abi/abi.cp311-win_amd64.pyd,sha256=aRSnAB10MKFPf7BBrNDQ2KO5jtey3lJlAuT8qxS4Wn8,10752
23
+ faster_eth_abi/abi.py,sha256=-t9OVBSCxy6SuWpCu3cxHrCqkx8_svPIRb0MSFXEl5Q,383
24
+ faster_eth_abi/base.py,sha256=y4IXpQJWGfUISl3xjCO420Grxido3tE2ebPV2rK-DvM,1229
25
+ faster_eth_abi/codec.py,sha256=QZFGQ8Fg2BRVGDVLVpmrkmqjtkdMVG1Gqr9AD7dSEI0,4557
26
+ faster_eth_abi/constants.cp311-win_amd64.pyd,sha256=oEofV7M8TET-ipBFPZr1AQEhwoBDkAfeN0CuZaFiQiA,10752
27
+ faster_eth_abi/constants.py,sha256=q3FGynS-Eb78cnrL6mBoAvTDz16PF3tW2OylTMd6ajs,114
28
+ faster_eth_abi/decoding.py,sha256=nSEdsjc38jix4EeEyA6GngkBPDuWZCRYDxDB2UCM0rI,16768
29
+ faster_eth_abi/encoding.py,sha256=7Z65tihtDFbdFEkn70zHBRvRiJV1QZexiHubeQWzEEY,20383
30
+ faster_eth_abi/exceptions.py,sha256=r4O6bmcxRzw44lNNgz_QdhukQfrnRfTm10xK2wPuba4,3701
31
+ faster_eth_abi/from_type_str.cp311-win_amd64.pyd,sha256=bLhYvCMLQgj7J0_t8vepQpftssXzbfWfvWvgWXptPqU,10752
32
+ faster_eth_abi/from_type_str.py,sha256=PV697XdxjhwHYCBbaA-H_9I2CrfkQ5vsSkSxpCOt8eg,4474
33
+ faster_eth_abi/grammar.py,sha256=a2FopTc3TtRvjYVHlOPo18IPEXueuD8IqDdCyiuFStM,4681
34
+ faster_eth_abi/io.py,sha256=E_QX7aYAjGYnkNAZmJMmSmx1lqvl_FDNmMFruTi9UX4,3831
35
+ faster_eth_abi/packed.cp311-win_amd64.pyd,sha256=1_kVeG9efdcwbTj4pn2gkmFSIM6TpOC5hZ7BvNVIXHA,10752
36
+ faster_eth_abi/packed.py,sha256=RZ2chvsx9_AL9OxY1ixHTsaUJHaR_tmrNdViOIp-xSg,316
37
+ faster_eth_abi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ faster_eth_abi/registry.py,sha256=Mx0w-Ahxpbmof_lcK7GIRktkGFm6FuVptfoEiYDY-R0,22246
39
+ faster_eth_abi/tools/__init__.cp311-win_amd64.pyd,sha256=9zTRRCVCIv-61rr2vgjq-Me7PnNJWloQMS9HdBA1q3U,10752
40
+ faster_eth_abi/tools/__init__.py,sha256=jxyQnb34ldRjCTYi3Ajb5h5QlFQ6ODfKQNhOCVwR7Ao,54
41
+ faster_eth_abi/tools/_strategies.cp311-win_amd64.pyd,sha256=shJ8R19w1zIPRWzHYavNcGl7Qw8fvvimY-FQ9g1lzXs,10752
42
+ faster_eth_abi/tools/_strategies.py,sha256=02wmJpj336nOFu7pBVaH4ucj3FORweKkiGqlaRgy-8c,6330
43
+ faster_eth_abi/utils/__init__.cp311-win_amd64.pyd,sha256=jvLmGjOpD37EE2_SMH-TJQPIyweJkseYiZJuT8D3x1g,10752
44
+ faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ faster_eth_abi/utils/numeric.cp311-win_amd64.pyd,sha256=ZDzVRi62JOd7itjoqnndTgtpIV_9rrtMqxlWBOMoayo,10752
46
+ faster_eth_abi/utils/numeric.py,sha256=saAVL12dfDrMXZeao3u2jar-U2y57YKVUqF6VOzoLxs,3395
47
+ faster_eth_abi/utils/padding.cp311-win_amd64.pyd,sha256=oAloCEMJA_mzVf1ynBg3abXwr2boq1nljPKJqyuPcq8,10752
48
+ faster_eth_abi/utils/padding.py,sha256=k6dkOiQ3k0OhQUZ6blCiL1VOQVYGyynucafbySjcFfY,515
49
+ faster_eth_abi/utils/string.cp311-win_amd64.pyd,sha256=GPkjW7_cwh9kZ3BcF0JtztIuwXla7HMINsJsZj1nOJg,10752
50
+ faster_eth_abi/utils/string.py,sha256=wYcvWof4kuitrGGSe_NOduQaxE4HHYmpraCPXKcZxMs,455
51
+ faster_eth_abi/utils/validation.cp311-win_amd64.pyd,sha256=UELxTtqeo9HQ_X9JhjQuOd3PTNyLPtTh1n4QXOgSibg,10752
52
+ faster_eth_abi/utils/validation.py,sha256=9veO7wyQsmcFgeaGrsKdSifjV1gaXfTDDKAt1EbKHYY,539
53
+ faster_eth_abi-5.2.14.dist-info/licenses/LICENSE,sha256=Q1lDDWXR057JL2Y7HTAwclCF32_LCloN4sGUkXO1YeI,1127
54
+ faster_eth_abi-5.2.14.dist-info/METADATA,sha256=6pAiUTp4uXEZzuJ5K15fsZxrZS8XkxzuVy7jo35NvSk,7107
55
+ faster_eth_abi-5.2.14.dist-info/WHEEL,sha256=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,101
56
+ faster_eth_abi-5.2.14.dist-info/top_level.txt,sha256=z3gorxabz8D2eg5A3YX2M3p3JMFRLLX3DRp0jAwNZOY,48
57
+ faster_eth_abi-5.2.14.dist-info/RECORD,,
@@ -1,2 +1,3 @@
1
+ benchmarks
1
2
  faster_eth_abi
2
3
  faster_eth_abi__mypyc
Binary file
@@ -1,46 +0,0 @@
1
- faster_eth_abi__mypyc.cp311-win_amd64.pyd,sha256=zpRW-Esg58tPBsyU3O35I9TdE7bYn04D8pvUGMCOXmE,207360
2
- faster_eth_abi/__init__.py,sha256=JpTfPTiusUGMmX8sEsGAxvILxFbvhh3MEyfiKOd5o9g,217
3
- faster_eth_abi/_codec.cp311-win_amd64.pyd,sha256=-BnvT6mgDIwCIn-S1QCEsALwW62QAqjWCyqQK9ezXpM,10752
4
- faster_eth_abi/_codec.py,sha256=9l49XZv5CHdbSU_WShfvjCOGwrRhH75aFsh6eaZ-e0E,2341
5
- faster_eth_abi/_decoding.cp311-win_amd64.pyd,sha256=IPsE8QQAxQFYirycBASdr15XH3ynPMNDo09mL_J4XEE,10752
6
- faster_eth_abi/_decoding.py,sha256=06ddzblp834cZ_6SA5Q3J3_XnQTa0gmWeM4gYRxrcSk,4555
7
- faster_eth_abi/_encoding.cp311-win_amd64.pyd,sha256=zI21Wr_atl84pE-qJ2J_OoS5_1O3-7v3569y-o6gdic,10752
8
- faster_eth_abi/_encoding.py,sha256=rsZihtFUqYu80ANOsxP9QwpFJDH73VBVJSzOrllBm2k,3340
9
- faster_eth_abi/_grammar.cp311-win_amd64.pyd,sha256=BAUJvchchkW8SG-QH7ya2HNypqvNLVxCSr08SiUcj50,10752
10
- faster_eth_abi/_grammar.py,sha256=IyftL6Ayb-6C1jR2xAt4y_NRnqdGtH08gwoz5zrF3rc,10491
11
- faster_eth_abi/abi.cp311-win_amd64.pyd,sha256=QmiEAD5CbNJghmZd7DGG2hnZTJDOAAupGMyzZGf6oy8,10752
12
- faster_eth_abi/abi.py,sha256=-t9OVBSCxy6SuWpCu3cxHrCqkx8_svPIRb0MSFXEl5Q,383
13
- faster_eth_abi/base.py,sha256=y4IXpQJWGfUISl3xjCO420Grxido3tE2ebPV2rK-DvM,1229
14
- faster_eth_abi/codec.py,sha256=QZFGQ8Fg2BRVGDVLVpmrkmqjtkdMVG1Gqr9AD7dSEI0,4557
15
- faster_eth_abi/constants.cp311-win_amd64.pyd,sha256=GCfp9pUSH4151KCExy4pU-dmfnlX8mzEadTMp_5h9_4,10752
16
- faster_eth_abi/constants.py,sha256=q3FGynS-Eb78cnrL6mBoAvTDz16PF3tW2OylTMd6ajs,114
17
- faster_eth_abi/decoding.py,sha256=7zOcSLdiQhAJWnCOSAdFg2AtSMoj8ZdN2IYE_aZKHQU,17028
18
- faster_eth_abi/encoding.py,sha256=P1svhYylcZa55cQ9LPj6jV8iJVLSL_c5SIZT1Umol58,19679
19
- faster_eth_abi/exceptions.py,sha256=r4O6bmcxRzw44lNNgz_QdhukQfrnRfTm10xK2wPuba4,3701
20
- faster_eth_abi/from_type_str.cp311-win_amd64.pyd,sha256=vGpYJY9DPGvucJ9f5abdJGf421yFE9R1NCxjy8ciK6c,10752
21
- faster_eth_abi/from_type_str.py,sha256=PV697XdxjhwHYCBbaA-H_9I2CrfkQ5vsSkSxpCOt8eg,4474
22
- faster_eth_abi/grammar.py,sha256=a2FopTc3TtRvjYVHlOPo18IPEXueuD8IqDdCyiuFStM,4681
23
- faster_eth_abi/io.py,sha256=E_QX7aYAjGYnkNAZmJMmSmx1lqvl_FDNmMFruTi9UX4,3831
24
- faster_eth_abi/packed.cp311-win_amd64.pyd,sha256=Aj5zwW-IbcEoJZZnWq1jluuF68LtWvlkVgToNcq8Eac,10752
25
- faster_eth_abi/packed.py,sha256=RZ2chvsx9_AL9OxY1ixHTsaUJHaR_tmrNdViOIp-xSg,316
26
- faster_eth_abi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- faster_eth_abi/registry.py,sha256=WYkH4BF2of91Pv8xLxBPTgBP0xV2uJ0FsYlYx-XrUcc,21758
28
- faster_eth_abi/tools/__init__.cp311-win_amd64.pyd,sha256=5jXU7tB2q5ZgMLH-jQqkG_kRbGVP7-0jGx2CvdAdjNw,10752
29
- faster_eth_abi/tools/__init__.py,sha256=jxyQnb34ldRjCTYi3Ajb5h5QlFQ6ODfKQNhOCVwR7Ao,54
30
- faster_eth_abi/tools/_strategies.cp311-win_amd64.pyd,sha256=K2EveMwV0v8oNepthKYWt80X4fLrMoM899RDGlABc84,10752
31
- faster_eth_abi/tools/_strategies.py,sha256=02wmJpj336nOFu7pBVaH4ucj3FORweKkiGqlaRgy-8c,6330
32
- faster_eth_abi/utils/__init__.cp311-win_amd64.pyd,sha256=ni2ktGJyvzttgWmigo5F-lG6KuvpBO-VcPrsJ6tBiI8,10752
33
- faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- faster_eth_abi/utils/numeric.cp311-win_amd64.pyd,sha256=iqaYg1iCJvSf8W_6pCNG2VLrleH0bVwqR1TmgkA641U,10752
35
- faster_eth_abi/utils/numeric.py,sha256=saAVL12dfDrMXZeao3u2jar-U2y57YKVUqF6VOzoLxs,3395
36
- faster_eth_abi/utils/padding.cp311-win_amd64.pyd,sha256=8VitcLnq6hFn1vVbRANz97xpfOlB5kuNRiwgBTec3H0,10752
37
- faster_eth_abi/utils/padding.py,sha256=k6dkOiQ3k0OhQUZ6blCiL1VOQVYGyynucafbySjcFfY,515
38
- faster_eth_abi/utils/string.cp311-win_amd64.pyd,sha256=InLZS2Ptq5ljtl0n5nXR53ofU9LQUc7c_rJ-CsJopPY,10752
39
- faster_eth_abi/utils/string.py,sha256=wYcvWof4kuitrGGSe_NOduQaxE4HHYmpraCPXKcZxMs,455
40
- faster_eth_abi/utils/validation.cp311-win_amd64.pyd,sha256=bo_aW07pThjBN05V2sl9b2y0V2FPeMApZtdBJN45dkc,10752
41
- faster_eth_abi/utils/validation.py,sha256=9veO7wyQsmcFgeaGrsKdSifjV1gaXfTDDKAt1EbKHYY,539
42
- faster_eth_abi-5.2.12.dist-info/licenses/LICENSE,sha256=Q1lDDWXR057JL2Y7HTAwclCF32_LCloN4sGUkXO1YeI,1127
43
- faster_eth_abi-5.2.12.dist-info/METADATA,sha256=E4sFIP3_tN7CYkNFZ9jmQqKB4jZs0fRhDuGuceQvPwo,6210
44
- faster_eth_abi-5.2.12.dist-info/WHEEL,sha256=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,101
45
- faster_eth_abi-5.2.12.dist-info/top_level.txt,sha256=Y0kTTMPnPpssaR0jlmJwQ2XbkYXMEj_80Ewd7quo1Cg,37
46
- faster_eth_abi-5.2.12.dist-info/RECORD,,