faster-eth-abi 5.2.25__cp311-cp311-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.
Files changed (50) hide show
  1. faster_eth_abi/__init__.py +17 -0
  2. faster_eth_abi/_codec.cpython-311-x86_64-linux-musl.so +0 -0
  3. faster_eth_abi/_codec.py +83 -0
  4. faster_eth_abi/_decoding.cpython-311-x86_64-linux-musl.so +0 -0
  5. faster_eth_abi/_decoding.py +371 -0
  6. faster_eth_abi/_encoding.cpython-311-x86_64-linux-musl.so +0 -0
  7. faster_eth_abi/_encoding.py +514 -0
  8. faster_eth_abi/_grammar.cpython-311-x86_64-linux-musl.so +0 -0
  9. faster_eth_abi/_grammar.py +389 -0
  10. faster_eth_abi/abi.cpython-311-x86_64-linux-musl.so +0 -0
  11. faster_eth_abi/abi.py +17 -0
  12. faster_eth_abi/base.py +45 -0
  13. faster_eth_abi/codec.py +2809 -0
  14. faster_eth_abi/constants.cpython-311-x86_64-linux-musl.so +0 -0
  15. faster_eth_abi/constants.py +7 -0
  16. faster_eth_abi/decoding.py +555 -0
  17. faster_eth_abi/encoding.py +738 -0
  18. faster_eth_abi/exceptions.cpython-311-x86_64-linux-musl.so +0 -0
  19. faster_eth_abi/exceptions.py +127 -0
  20. faster_eth_abi/from_type_str.cpython-311-x86_64-linux-musl.so +0 -0
  21. faster_eth_abi/from_type_str.py +141 -0
  22. faster_eth_abi/grammar.py +179 -0
  23. faster_eth_abi/io.cpython-311-x86_64-linux-musl.so +0 -0
  24. faster_eth_abi/io.py +137 -0
  25. faster_eth_abi/packed.cpython-311-x86_64-linux-musl.so +0 -0
  26. faster_eth_abi/packed.py +19 -0
  27. faster_eth_abi/py.typed +0 -0
  28. faster_eth_abi/registry.py +758 -0
  29. faster_eth_abi/tools/__init__.cpython-311-x86_64-linux-musl.so +0 -0
  30. faster_eth_abi/tools/__init__.py +3 -0
  31. faster_eth_abi/tools/_strategies.cpython-311-x86_64-linux-musl.so +0 -0
  32. faster_eth_abi/tools/_strategies.py +247 -0
  33. faster_eth_abi/typing.py +4627 -0
  34. faster_eth_abi/utils/__init__.cpython-311-x86_64-linux-musl.so +0 -0
  35. faster_eth_abi/utils/__init__.py +0 -0
  36. faster_eth_abi/utils/localcontext.cpython-311-x86_64-linux-musl.so +0 -0
  37. faster_eth_abi/utils/localcontext.py +49 -0
  38. faster_eth_abi/utils/numeric.cpython-311-x86_64-linux-musl.so +0 -0
  39. faster_eth_abi/utils/numeric.py +117 -0
  40. faster_eth_abi/utils/padding.cpython-311-x86_64-linux-musl.so +0 -0
  41. faster_eth_abi/utils/padding.py +22 -0
  42. faster_eth_abi/utils/string.cpython-311-x86_64-linux-musl.so +0 -0
  43. faster_eth_abi/utils/string.py +19 -0
  44. faster_eth_abi/utils/validation.cpython-311-x86_64-linux-musl.so +0 -0
  45. faster_eth_abi/utils/validation.py +18 -0
  46. faster_eth_abi-5.2.25.dist-info/METADATA +134 -0
  47. faster_eth_abi-5.2.25.dist-info/RECORD +50 -0
  48. faster_eth_abi-5.2.25.dist-info/WHEEL +5 -0
  49. faster_eth_abi-5.2.25.dist-info/top_level.txt +2 -0
  50. faster_eth_abi__mypyc.cpython-311-x86_64-linux-musl.so +0 -0
File without changes
@@ -0,0 +1,49 @@
1
+ import decimal
2
+ from decimal import (
3
+ Context,
4
+ )
5
+ from types import (
6
+ TracebackType,
7
+ )
8
+ from typing import (
9
+ Final,
10
+ Optional,
11
+ Type,
12
+ TypeVar,
13
+ final,
14
+ )
15
+
16
+ from faster_eth_abi.utils.numeric import (
17
+ abi_decimal_context,
18
+ )
19
+
20
+
21
+ _TExc = TypeVar("_TExc", bound=BaseException)
22
+
23
+ getcontext: Final = decimal.getcontext
24
+ setcontext: Final = decimal.setcontext
25
+
26
+
27
+ @final
28
+ class _DecimalContextManager:
29
+ """Context manager class to support decimal.localcontext().
30
+
31
+ Sets a copy of the supplied context in __enter__() and restores
32
+ the previous decimal context in __exit__()
33
+ """
34
+ saved_context: Context
35
+ def __init__(self, new_context: Context) -> None:
36
+ self.new_context: Final = new_context.copy()
37
+ def __enter__(self) -> Context:
38
+ self.saved_context = getcontext()
39
+ setcontext(self.new_context)
40
+ return self.new_context
41
+ def __exit__(
42
+ self,
43
+ t: Optional[Type[_TExc]],
44
+ v: Optional[_TExc],
45
+ tb: Optional[TracebackType],
46
+ ) -> None:
47
+ setcontext(self.saved_context)
48
+
49
+ DECIMAL_CONTEXT: Final = _DecimalContextManager(abi_decimal_context)
@@ -0,0 +1,117 @@
1
+ import decimal
2
+ from typing import (
3
+ Callable,
4
+ Dict,
5
+ Final,
6
+ Tuple,
7
+ )
8
+
9
+ ABI_DECIMAL_PREC: Final = 999
10
+
11
+ abi_decimal_context: Final = decimal.Context(prec=ABI_DECIMAL_PREC)
12
+ decimal_localcontext: Final = decimal.localcontext
13
+
14
+ ZERO: Final = decimal.Decimal(0)
15
+ TEN: Final = decimal.Decimal(10)
16
+
17
+ Decimal: Final = decimal.Decimal
18
+
19
+
20
+ def ceil32(x: int) -> int:
21
+ remainder = x % 32
22
+ return x if remainder == 0 else x + 32 - remainder
23
+
24
+
25
+ _unsigned_integer_bounds_cache: Final[Dict[int, Tuple[int, int]]] = {}
26
+
27
+
28
+ def compute_unsigned_integer_bounds(num_bits: int) -> Tuple[int, int]:
29
+ bounds = _unsigned_integer_bounds_cache.get(num_bits)
30
+ if bounds is None:
31
+ bounds = 0, 2**num_bits - 1
32
+ _unsigned_integer_bounds_cache[num_bits] = bounds
33
+ return bounds
34
+
35
+
36
+ _signed_integer_bounds_cache: Final[Dict[int, Tuple[int, int]]] = {}
37
+
38
+
39
+ def compute_signed_integer_bounds(num_bits: int) -> Tuple[int, int]:
40
+ bounds = _signed_integer_bounds_cache.get(num_bits)
41
+ if bounds is None:
42
+ overflow_at = 2 ** (num_bits - 1)
43
+ min_value = -overflow_at
44
+ max_value = overflow_at - 1
45
+ bounds = min_value, max_value
46
+ _signed_integer_bounds_cache[num_bits] = bounds
47
+ return bounds
48
+
49
+
50
+ _unsigned_fixed_bounds_cache: Final[Dict[Tuple[int, int], decimal.Decimal]] = {}
51
+
52
+
53
+ def compute_unsigned_fixed_bounds(
54
+ num_bits: int,
55
+ frac_places: int,
56
+ ) -> Tuple[decimal.Decimal, decimal.Decimal]:
57
+ upper = _unsigned_fixed_bounds_cache.get((num_bits, frac_places))
58
+ if upper is None:
59
+ int_upper = 2**num_bits - 1
60
+
61
+ with decimal_localcontext(abi_decimal_context):
62
+ upper = Decimal(int_upper) * TEN**-frac_places
63
+
64
+ _unsigned_fixed_bounds_cache[(num_bits, frac_places)] = upper
65
+
66
+ return ZERO, upper
67
+
68
+
69
+ _signed_fixed_bounds_cache: Final[
70
+ Dict[Tuple[int, int], Tuple[decimal.Decimal, decimal.Decimal]]
71
+ ] = {}
72
+
73
+
74
+ def compute_signed_fixed_bounds(
75
+ num_bits: int,
76
+ frac_places: int,
77
+ ) -> Tuple[decimal.Decimal, decimal.Decimal]:
78
+ bounds = _signed_fixed_bounds_cache.get((num_bits, frac_places))
79
+ if bounds is None:
80
+ int_lower, int_upper = compute_signed_integer_bounds(num_bits)
81
+
82
+ with decimal_localcontext(abi_decimal_context):
83
+ exp = TEN**-frac_places
84
+ lower = Decimal(int_lower) * exp
85
+ upper = Decimal(int_upper) * exp
86
+
87
+ bounds = lower, upper
88
+ _signed_fixed_bounds_cache[(num_bits, frac_places)] = bounds
89
+
90
+ return bounds
91
+
92
+
93
+ def scale_places(places: int) -> Callable[[decimal.Decimal], decimal.Decimal]:
94
+ """
95
+ Returns a function that shifts the decimal point of decimal values to the
96
+ right by ``places`` places.
97
+ """
98
+ if not isinstance(places, int):
99
+ raise ValueError(
100
+ f"Argument `places` must be int. Got value {places} "
101
+ f"of type {type(places)}.",
102
+ )
103
+
104
+ with decimal_localcontext(abi_decimal_context):
105
+ scaling_factor = TEN**-places
106
+
107
+ def f(x: decimal.Decimal) -> decimal.Decimal:
108
+ with decimal_localcontext(abi_decimal_context):
109
+ return x * scaling_factor
110
+
111
+ places_repr = f"Eneg{places}" if places > 0 else f"Epos{-places}"
112
+ func_name = f"scale_by_{places_repr}"
113
+
114
+ f.__name__ = func_name
115
+ f.__qualname__ = func_name
116
+
117
+ return f
@@ -0,0 +1,22 @@
1
+ def zpad(value: bytes, length: int) -> bytes:
2
+ return value.rjust(length, b"\x00")
3
+
4
+
5
+ def zpad32(value: bytes) -> bytes:
6
+ return zpad(value, length=32)
7
+
8
+
9
+ def zpad_right(value: bytes, length: int) -> bytes:
10
+ return value.ljust(length, b"\x00")
11
+
12
+
13
+ def zpad32_right(value: bytes) -> bytes:
14
+ return zpad_right(value, length=32)
15
+
16
+
17
+ def fpad(value: bytes, length: int) -> bytes:
18
+ return value.rjust(length, b"\xff")
19
+
20
+
21
+ def fpad32(value: bytes) -> bytes:
22
+ return fpad(value, length=32)
@@ -0,0 +1,19 @@
1
+ from typing import (
2
+ Any,
3
+ )
4
+
5
+
6
+ def abbr(value: Any, limit: int = 79) -> str:
7
+ """
8
+ Converts a value into its string representation and abbreviates that
9
+ representation based on the given length `limit` if necessary.
10
+ """
11
+ rep = repr(value)
12
+
13
+ if len(rep) > limit:
14
+ if limit < 3:
15
+ raise ValueError("Abbreviation limit may not be less than 3")
16
+
17
+ rep = rep[: limit - 3] + "..."
18
+
19
+ return rep
@@ -0,0 +1,18 @@
1
+ from typing import (
2
+ Any,
3
+ )
4
+
5
+
6
+ def validate_bytes_param(param: Any, param_name: str) -> None:
7
+ if not isinstance(param, (bytes, bytearray)):
8
+ raise TypeError(
9
+ f"The `{param_name}` value must be of bytes type. Got {type(param)}"
10
+ )
11
+
12
+
13
+ def validate_list_like_param(param: Any, param_name: str) -> None:
14
+ if not isinstance(param, (list, tuple)):
15
+ raise TypeError(
16
+ f"The `{param_name}` value type must be one of list or tuple. "
17
+ f"Got {type(param)}"
18
+ )
@@ -0,0 +1,134 @@
1
+ Metadata-Version: 2.4
2
+ Name: faster_eth_abi
3
+ Version: 5.2.25
4
+ Summary: A ~2-6x faster fork of eth_abi: Python utilities for working with Ethereum ABI definitions, especially encoding and decoding. Implemented in C.
5
+ Home-page: https://github.com/BobTheBuidler/faster-eth-abi
6
+ Author: The Ethereum Foundation
7
+ Author-email: snakecharmers@ethereum.org
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
17
+ Keywords: ethereum
18
+ Classifier: Development Status :: 5 - Production/Stable
19
+ Classifier: Intended Audience :: Developers
20
+ Classifier: License :: OSI Approved :: MIT License
21
+ Classifier: Natural Language :: English
22
+ Classifier: Programming Language :: Python :: 3
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: Implementation :: CPython
29
+ Requires-Python: >=3.10, <4
30
+ Description-Content-Type: text/markdown
31
+ Requires-Dist: cchecksum<0.5,>=0.3.9
32
+ Requires-Dist: faster-eth-utils==5.3.24
33
+ Requires-Dist: eth-abi==5.2.0
34
+ Requires-Dist: eth-typing==5.2.1
35
+ Requires-Dist: mypy_extensions
36
+ Requires-Dist: parsimonious<0.11.0,>=0.10.0
37
+ Provides-Extra: dev
38
+ Requires-Dist: mypy==1.19.1; extra == "dev"
39
+ Requires-Dist: tqdm; extra == "dev"
40
+ Requires-Dist: build>=0.9.0; extra == "dev"
41
+ Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
42
+ Requires-Dist: ipython; extra == "dev"
43
+ Requires-Dist: mypy==1.19.1; extra == "dev"
44
+ Requires-Dist: pre-commit>=3.4.0; extra == "dev"
45
+ Requires-Dist: tox>=4.0.0; extra == "dev"
46
+ Requires-Dist: twine; extra == "dev"
47
+ Requires-Dist: wheel; extra == "dev"
48
+ Requires-Dist: pytest-benchmark; extra == "dev"
49
+ Requires-Dist: sphinx>=6.0.0; extra == "dev"
50
+ Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "dev"
51
+ Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "dev"
52
+ Requires-Dist: towncrier<26,>=24; extra == "dev"
53
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
54
+ Requires-Dist: hypothesis<6.108.7,>=6.22.0; extra == "dev"
55
+ Requires-Dist: pytest-timeout>=2.0.0; extra == "dev"
56
+ Requires-Dist: pytest-xdist>=2.4.0; extra == "dev"
57
+ Requires-Dist: pytest-pythonpath>=0.7.1; extra == "dev"
58
+ Requires-Dist: eth-hash[pycryptodome]; extra == "dev"
59
+ Provides-Extra: docs
60
+ Requires-Dist: sphinx>=6.0.0; extra == "docs"
61
+ Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
62
+ Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "docs"
63
+ Requires-Dist: towncrier<26,>=24; extra == "docs"
64
+ Provides-Extra: test
65
+ Requires-Dist: pytest>=7.0.0; extra == "test"
66
+ Requires-Dist: hypothesis<6.108.7,>=6.22.0; extra == "test"
67
+ Requires-Dist: pytest-timeout>=2.0.0; extra == "test"
68
+ Requires-Dist: pytest-xdist>=2.4.0; extra == "test"
69
+ Requires-Dist: pytest-pythonpath>=0.7.1; extra == "test"
70
+ Requires-Dist: eth-hash[pycryptodome]; extra == "test"
71
+ Provides-Extra: tools
72
+ Requires-Dist: hypothesis<6.108.7,>=6.22.0; extra == "tools"
73
+ Provides-Extra: codspeed
74
+ Requires-Dist: pytest>=7.0.0; extra == "codspeed"
75
+ Requires-Dist: pytest-codspeed<4.3,>=4.2; extra == "codspeed"
76
+ Requires-Dist: pytest-test-groups; extra == "codspeed"
77
+ Provides-Extra: benchmark
78
+ Requires-Dist: pytest>=7.0.0; extra == "benchmark"
79
+ Requires-Dist: pytest-codspeed<4.3,>=4.2; extra == "benchmark"
80
+ Requires-Dist: pytest-test-groups; extra == "benchmark"
81
+ Provides-Extra: mypy
82
+ Requires-Dist: mypy==1.19.1; extra == "mypy"
83
+ Requires-Dist: tqdm; extra == "mypy"
84
+ Dynamic: author
85
+ Dynamic: author-email
86
+ Dynamic: classifier
87
+ Dynamic: description
88
+ Dynamic: description-content-type
89
+ Dynamic: home-page
90
+ Dynamic: keywords
91
+ Dynamic: license
92
+ Dynamic: project-url
93
+ Dynamic: provides-extra
94
+ Dynamic: requires-dist
95
+ Dynamic: requires-python
96
+ Dynamic: summary
97
+
98
+ ### I forked eth-abi, added comprehensive type annotations, and compiled it to C. It does the same stuff, now ~2-6x faster.
99
+
100
+ [![PyPI](https://img.shields.io/pypi/v/faster-eth-abi.svg?logo=Python&logoColor=white)](https://pypi.org/project/faster-eth-abi/)
101
+ [![Monthly Downloads](https://img.shields.io/pypi/dm/faster-eth-abi)](https://pypistats.org/packages/faster-eth-abi)
102
+ [![Codspeed.io Status](https://img.shields.io/endpoint?url=https://codspeed.io/badge.json)](https://codspeed.io/BobTheBuidler/faster-eth-abi)
103
+
104
+ ##### 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/).
105
+
106
+ ##### Starting in [v5.2.12](https://github.com/BobTheBuidler/faster-eth-abi/releases/tag/v5.2.12), all `faster-eth-abi` Exception classes inherit from the matching Exception class in `eth-abi`, so porting to `faster-eth-abi` does not require any change to your existing exception handlers. All existing exception handling in your codebase will continue to work as it did when originaly implemented.
107
+
108
+ ##### 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).
109
+
110
+ ##### You can find the compiled C code and header files in the [build](https://github.com/BobTheBuidler/faster-eth-abi/tree/master/build) directory.
111
+
112
+ ###### You may also be interested in: [faster-web3.py](https://github.com/BobTheBuidler/faster-web3.py/), [faster-hexbytes](https://github.com/BobTheBuidler/faster-hexbytes/), and [faster-eth-utils](https://github.com/BobTheBuidler/faster-eth-utils/)
113
+
114
+ ##### The original eth-abi readme is below:
115
+
116
+ # Ethereum Contract Interface (ABI) Utility
117
+
118
+ [![Join the conversation on Discord](https://img.shields.io/discord/809793915578089484?color=blue&label=chat&logo=discord&logoColor=white)](https://discord.gg/GHryRvPB84)
119
+ [![Build Status](https://circleci.com/gh/ethereum/faster-eth-abi.svg?style=shield)](https://circleci.com/gh/ethereum/faster-eth-abi)
120
+ [![PyPI version](https://badge.fury.io/py/faster-eth-abi.svg)](https://badge.fury.io/py/faster-eth-abi)
121
+ [![Python versions](https://img.shields.io/pypi/pyversions/faster-eth-abi.svg)](https://pypi.python.org/pypi/faster-eth-abi)
122
+ [![Docs build](https://readthedocs.org/projects/faster-eth-abi/badge/?version=latest)](https://faster-eth-abi.readthedocs.io/en/latest/?badge=latest)
123
+
124
+ Python utilities for working with Ethereum ABI definitions, especially encoding and decoding
125
+
126
+ Read the [documentation](https://faster-eth-abi.readthedocs.io/).
127
+
128
+ View the [change log](https://faster-eth-abi.readthedocs.io/en/latest/release_notes.html).
129
+
130
+ ## Installation
131
+
132
+ ```sh
133
+ python -m pip install faster-eth-abi
134
+ ```
@@ -0,0 +1,50 @@
1
+ faster_eth_abi__mypyc.cpython-311-x86_64-linux-musl.so,sha256=G2a7C2h7mOw5xJDk5obfDlK3hlbVGPve5w0ZyffF8us,982472
2
+ faster_eth_abi/__init__.py,sha256=XfoRs5UaVoGqhhn2WSulibAqncO0VpJzauC8CS6iChU,315
3
+ faster_eth_abi/_codec.cpython-311-x86_64-linux-musl.so,sha256=70nA3sDD-yr-vtjhoAPcy0Tlbu7N_57rIBcEuwTpVa4,17624
4
+ faster_eth_abi/_codec.py,sha256=D_Vn5gtUWZi2ltiqKfH5qm5xr1w8k9CAwDRWSnzOINE,2514
5
+ faster_eth_abi/_decoding.cpython-311-x86_64-linux-musl.so,sha256=xjKOz65MTtCrnDzzy6iGDkbhR1R7vdkcWo75rjZZZMI,17624
6
+ faster_eth_abi/_decoding.py,sha256=Oz5XtUcIxOTMGUiHMTD2H5l_M1lWpNHIaR5XApl8naU,11800
7
+ faster_eth_abi/_encoding.cpython-311-x86_64-linux-musl.so,sha256=w4Na0ncby1zv2Ed8cdyLGtLwZi0GrCLH3ffNC-nl7lc,17624
8
+ faster_eth_abi/_encoding.py,sha256=MI5gJBHEljVSfitpNyRaY3SayBCCz-P_cPxWSMpZB-s,17846
9
+ faster_eth_abi/_grammar.cpython-311-x86_64-linux-musl.so,sha256=juaca2N9LG_jUPkvcYlXH4uePCFHeV6BkUS3UK4ss0c,17624
10
+ faster_eth_abi/_grammar.py,sha256=MD-4e9wq0NSsOuwOAebOGqdx0KrgJ9rDNkgXS90KT5s,11292
11
+ faster_eth_abi/abi.cpython-311-x86_64-linux-musl.so,sha256=1-H-mEEjShEFNwVUpNT3S1-qTIPpjP-_hYzjKVJPhMQ,17608
12
+ faster_eth_abi/abi.py,sha256=HzkXy0EjHraNbbC5l-EhVqVcx5vy8tcykiKIO4Fp1xw,366
13
+ faster_eth_abi/base.py,sha256=j7IVwKBATnjfOnA58FjhPH94KibVkuWsAMBe6fsNiI8,1337
14
+ faster_eth_abi/codec.py,sha256=A04ZzXppz3QK0RzZcsDMoYxuH1eGx6fzOqGGGdNu62c,66624
15
+ faster_eth_abi/constants.cpython-311-x86_64-linux-musl.so,sha256=Gf3tI-pdrzPjAPjfwbHrcfLJ-0jv20FnjI0_3TWZqK4,17624
16
+ faster_eth_abi/constants.py,sha256=uJbuND1rFs_Pexuz58TKd-BJPuoA6hLqFEX6kkDS-dE,107
17
+ faster_eth_abi/decoding.py,sha256=5hoyLGxJUOnb6YoXvbPxlBFGDV0VdUEYZ3n9jpPHNCw,16527
18
+ faster_eth_abi/encoding.py,sha256=r6bRr4si0o6tCm-ccGDgkeqmH25fl3-3soHl5b-WXek,21327
19
+ faster_eth_abi/exceptions.cpython-311-x86_64-linux-musl.so,sha256=J_BKvnsL-VHLnbffMGA1fLfvDnwrC2mhloIk7t0XUy0,17640
20
+ faster_eth_abi/exceptions.py,sha256=I_uWNRq8a1UcWNahYDBJd1rKbET1bYTiTbDf3R4eFOI,3646
21
+ faster_eth_abi/from_type_str.cpython-311-x86_64-linux-musl.so,sha256=JRVVcFWXyBP6BfBRVRfY88fS49mOk_5rD-VEP4WhHas,17640
22
+ faster_eth_abi/from_type_str.py,sha256=U3Xl7zjRL4C7J0t1aGBpBzhEqGo7BS8sxLYnF5pBu4Y,4490
23
+ faster_eth_abi/grammar.py,sha256=9el-_25ZlAQZmvJ7LB707hh5hIBgo1Xb6KPnMttLk5E,4663
24
+ faster_eth_abi/io.cpython-311-x86_64-linux-musl.so,sha256=13j_43ZUOmi6bzRoo5cq9A1wivIwGFy4azom33IlVx8,17608
25
+ faster_eth_abi/io.py,sha256=x6x1ZMrN1GEx_C69eXRhRIsgiCduaMp2XIcaUq2Jfsk,5089
26
+ faster_eth_abi/packed.cpython-311-x86_64-linux-musl.so,sha256=Zxkb-Tp1CthFjmp9dznt86pkUmxXWjujBhmU6-8eTwE,17624
27
+ faster_eth_abi/packed.py,sha256=YN1k8heenRMVQQsPEKAYfpd1XhWNF3mOn4sbaR4HiYE,418
28
+ faster_eth_abi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ faster_eth_abi/registry.py,sha256=zzSCz7oIIBBVX7WzVBU5j7vhfcLqKIlCrYHHXtmB7U0,23934
30
+ faster_eth_abi/typing.py,sha256=FIMFquzJeZrL6qslWhMlfdRbO95P851gt2lt3T5S16E,105020
31
+ faster_eth_abi/tools/__init__.cpython-311-x86_64-linux-musl.so,sha256=ArNgdDqWfbSNpBVT677I95kUo9ZnfSu62G5C97reeBo,17608
32
+ faster_eth_abi/tools/__init__.py,sha256=trtATEmgu4ctg04qkejbODDzvDSofgcVJ3rkzMP_hQE,51
33
+ faster_eth_abi/tools/_strategies.cpython-311-x86_64-linux-musl.so,sha256=bZOWDpVc7yadaoWj2MqeY1xZM2y5ZGaYSZpJ2dMmJ9Y,17648
34
+ faster_eth_abi/tools/_strategies.py,sha256=EymRvmfg_v0N7Xp5xmJVM9J7WkCm3iDm5TDchipHh0g,6333
35
+ faster_eth_abi/utils/__init__.cpython-311-x86_64-linux-musl.so,sha256=5egU-eUc9NJSY1L0U_B2-_ffNpUzCSkrI-vS_mkRl64,17608
36
+ faster_eth_abi/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ faster_eth_abi/utils/localcontext.cpython-311-x86_64-linux-musl.so,sha256=B69QJ94OMdF9m8HhR7kRufjcjUk7QGvBaC1UPEiFua0,17656
38
+ faster_eth_abi/utils/localcontext.py,sha256=094y3Yfk3AX-noDtcKisRytv9ejnFjetIwLyRIX6Kdk,1140
39
+ faster_eth_abi/utils/numeric.cpython-311-x86_64-linux-musl.so,sha256=FGPs7TY_6HmB-CnxhOo26UBzKLYRzAflCAsgEgNR7Rk,17632
40
+ faster_eth_abi/utils/numeric.py,sha256=fkdazLcgd7FN0JGSSyb6Jsx555QdgRf2N0mxrm6rGB4,3278
41
+ faster_eth_abi/utils/padding.cpython-311-x86_64-linux-musl.so,sha256=Sk-GSMKEsEmV6shVCI9PvuEHhyjzBU_GPjiy43krHoc,17632
42
+ faster_eth_abi/utils/padding.py,sha256=JBuFhdrvKWLrmmJBZ-a6pqbHWydAuiUBt2aBjCwVcVE,493
43
+ faster_eth_abi/utils/string.cpython-311-x86_64-linux-musl.so,sha256=65QhzIG_LIvp4N3bUHYujFex_diljMq-HPRG4wxsgUA,17632
44
+ faster_eth_abi/utils/string.py,sha256=fjsAR2C7Xlu5bHomxx5l4rlADFtByzGTQfugMTo8TQk,436
45
+ faster_eth_abi/utils/validation.cpython-311-x86_64-linux-musl.so,sha256=-__u89pC30AraFh04MxD89sSqQi_ZOKQLIiU_0gfpUs,17648
46
+ faster_eth_abi/utils/validation.py,sha256=NA2wRacYEBdkpQnZfmeDvzF-sHyy6NT2QzCFuBnYJVI,521
47
+ faster_eth_abi-5.2.25.dist-info/METADATA,sha256=bwtX3u3YMO9KgU3fQOYk25yCqU-Poe-S_tnEBYKWZJE,7274
48
+ faster_eth_abi-5.2.25.dist-info/WHEEL,sha256=J_Ko_zS6o8JXUfI9CaFd6O2wkMIFNryhqfb69cs30HY,113
49
+ faster_eth_abi-5.2.25.dist-info/top_level.txt,sha256=Y0kTTMPnPpssaR0jlmJwQ2XbkYXMEj_80Ewd7quo1Cg,37
50
+ faster_eth_abi-5.2.25.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.1)
3
+ Root-Is-Purelib: false
4
+ Tag: cp311-cp311-musllinux_1_2_x86_64
5
+
@@ -0,0 +1,2 @@
1
+ faster_eth_abi
2
+ faster_eth_abi__mypyc