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.
- benchmarks/__init__.py +1 -0
- benchmarks/batch.py +9 -0
- benchmarks/data.py +313 -0
- benchmarks/test_abi_benchmarks.py +82 -0
- benchmarks/test_decoding_benchmarks.py +109 -0
- benchmarks/test_encoding_benchmarks.py +99 -0
- benchmarks/test_grammar_benchmarks.py +38 -0
- benchmarks/test_io_benchmarks.py +99 -0
- benchmarks/test_packed_benchmarks.py +41 -0
- benchmarks/test_registry_benchmarks.py +45 -0
- benchmarks/type_strings.py +26 -0
- faster_eth_abi/_codec.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/_codec.py +1 -1
- faster_eth_abi/_decoding.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/_decoding.py +136 -5
- faster_eth_abi/_encoding.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/_encoding.py +141 -6
- faster_eth_abi/_grammar.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/abi.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/constants.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/decoding.py +107 -96
- faster_eth_abi/encoding.py +55 -27
- faster_eth_abi/from_type_str.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/packed.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/registry.py +47 -31
- faster_eth_abi/tools/__init__.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/tools/_strategies.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/utils/__init__.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/utils/numeric.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/utils/padding.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/utils/string.cp311-win_amd64.pyd +0 -0
- faster_eth_abi/utils/validation.cp311-win_amd64.pyd +0 -0
- {faster_eth_abi-5.2.12.dist-info → faster_eth_abi-5.2.14.dist-info}/METADATA +14 -2
- faster_eth_abi-5.2.14.dist-info/RECORD +57 -0
- {faster_eth_abi-5.2.12.dist-info → faster_eth_abi-5.2.14.dist-info}/top_level.txt +1 -0
- faster_eth_abi__mypyc.cp311-win_amd64.pyd +0 -0
- faster_eth_abi-5.2.12.dist-info/RECORD +0 -46
- {faster_eth_abi-5.2.12.dist-info → faster_eth_abi-5.2.14.dist-info}/WHEEL +0 -0
- {faster_eth_abi-5.2.12.dist-info → faster_eth_abi-5.2.14.dist-info}/licenses/LICENSE +0 -0
faster_eth_abi/registry.py
CHANGED
|
@@ -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__ =
|
|
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)
|
|
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(
|
|
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:
|
|
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(
|
|
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:
|
|
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(
|
|
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)
|
|
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
|
-
|
|
484
|
-
|
|
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)
|
|
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
|
-
|
|
520
|
-
|
|
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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: faster_eth_abi
|
|
3
|
-
Version: 5.2.
|
|
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,,
|
|
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,,
|
|
File without changes
|
|
File without changes
|