web3 7.8.0__py3-none-any.whl → 7.10.0__py3-none-any.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.
- web3/_utils/abi.py +3 -3
- web3/_utils/batching.py +1 -1
- web3/_utils/contract_sources/contract_data/ambiguous_function_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/arrays_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/bytes_contracts.py +5 -5
- web3/_utils/contract_sources/contract_data/constructor_contracts.py +7 -7
- web3/_utils/contract_sources/contract_data/contract_caller_tester.py +3 -3
- web3/_utils/contract_sources/contract_data/emitter_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/event_contracts.py +7 -7
- web3/_utils/contract_sources/contract_data/extended_resolver.py +3 -3
- web3/_utils/contract_sources/contract_data/fallback_function_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/math_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/offchain_lookup.py +3 -3
- web3/_utils/contract_sources/contract_data/offchain_resolver.py +3 -3
- web3/_utils/contract_sources/contract_data/panic_errors_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/payable_tester.py +3 -3
- web3/_utils/contract_sources/contract_data/receive_function_contracts.py +5 -5
- web3/_utils/contract_sources/contract_data/reflector_contracts.py +3 -3
- web3/_utils/contract_sources/contract_data/revert_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/simple_resolver.py +3 -3
- web3/_utils/contract_sources/contract_data/storage_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/string_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/tuple_contracts.py +5 -5
- web3/_utils/error_formatters_utils.py +1 -1
- web3/_utils/formatters.py +28 -0
- web3/_utils/method_formatters.py +121 -20
- web3/_utils/module_testing/eth_module.py +99 -2
- web3/_utils/module_testing/persistent_connection_provider.py +1 -1
- web3/_utils/rpc_abi.py +1 -0
- web3/_utils/validation.py +192 -1
- web3/eth/async_eth.py +19 -0
- web3/eth/eth.py +15 -0
- web3/gas_strategies/rpc.py +1 -1
- web3/gas_strategies/time_based.py +1 -1
- web3/manager.py +13 -204
- web3/providers/async_base.py +1 -1
- web3/providers/legacy_websocket.py +1 -3
- web3/providers/persistent/persistent.py +35 -5
- web3/providers/persistent/subscription_manager.py +7 -2
- web3/providers/persistent/websocket.py +12 -9
- web3/types.py +26 -2
- {web3-7.8.0.dist-info → web3-7.10.0.dist-info}/METADATA +14 -9
- {web3-7.8.0.dist-info → web3-7.10.0.dist-info}/RECORD +47 -47
- {web3-7.8.0.dist-info → web3-7.10.0.dist-info}/WHEEL +1 -1
- {web3-7.8.0.dist-info → web3-7.10.0.dist-info/licenses}/LICENSE +0 -0
- {web3-7.8.0.dist-info → web3-7.10.0.dist-info}/top_level.txt +0 -0
|
@@ -33,6 +33,9 @@ from web3._utils.caching.caching_utils import (
|
|
|
33
33
|
async_handle_recv_caching,
|
|
34
34
|
async_handle_send_caching,
|
|
35
35
|
)
|
|
36
|
+
from web3._utils.validation import (
|
|
37
|
+
validate_rpc_response_and_raise_if_error,
|
|
38
|
+
)
|
|
36
39
|
from web3.exceptions import (
|
|
37
40
|
PersistentConnectionClosedOK,
|
|
38
41
|
ProviderConnectionError,
|
|
@@ -65,11 +68,15 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
|
|
|
65
68
|
logger = logging.getLogger("web3.providers.PersistentConnectionProvider")
|
|
66
69
|
has_persistent_connection = True
|
|
67
70
|
|
|
68
|
-
_send_func_cache: Tuple[
|
|
71
|
+
_send_func_cache: Tuple[
|
|
72
|
+
Optional[int], Optional[Callable[..., Coroutine[Any, Any, RPCRequest]]]
|
|
73
|
+
] = (
|
|
69
74
|
None,
|
|
70
75
|
None,
|
|
71
76
|
)
|
|
72
|
-
_recv_func_cache: Tuple[
|
|
77
|
+
_recv_func_cache: Tuple[
|
|
78
|
+
Optional[int], Optional[Callable[..., Coroutine[Any, Any, RPCResponse]]]
|
|
79
|
+
] = (
|
|
73
80
|
None,
|
|
74
81
|
None,
|
|
75
82
|
)
|
|
@@ -302,6 +309,27 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
|
|
|
302
309
|
TaskNotRunning(message_listener_task)
|
|
303
310
|
)
|
|
304
311
|
|
|
312
|
+
def _raise_stray_errors_from_cache(self) -> None:
|
|
313
|
+
"""
|
|
314
|
+
Check the request response cache for any errors not tied to current requests
|
|
315
|
+
and raise them if found.
|
|
316
|
+
"""
|
|
317
|
+
if not self._is_batching:
|
|
318
|
+
for (
|
|
319
|
+
response
|
|
320
|
+
) in self._request_processor._request_response_cache._data.values():
|
|
321
|
+
request = (
|
|
322
|
+
self._request_processor._request_information_cache.get_cache_entry(
|
|
323
|
+
generate_cache_key(response["id"])
|
|
324
|
+
)
|
|
325
|
+
)
|
|
326
|
+
if "error" in response and request is None:
|
|
327
|
+
# if we find an error response in the cache without a corresponding
|
|
328
|
+
# request, raise the error
|
|
329
|
+
validate_rpc_response_and_raise_if_error(
|
|
330
|
+
response, None, logger=self.logger
|
|
331
|
+
)
|
|
332
|
+
|
|
305
333
|
async def _message_listener(self) -> None:
|
|
306
334
|
self.logger.info(
|
|
307
335
|
f"{self.__class__.__qualname__} listener background task started. Storing "
|
|
@@ -327,6 +355,7 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
|
|
|
327
355
|
await self._request_processor.cache_raw_response(
|
|
328
356
|
response, subscription=subscription
|
|
329
357
|
)
|
|
358
|
+
self._raise_stray_errors_from_cache()
|
|
330
359
|
except PersistentConnectionClosedOK as e:
|
|
331
360
|
self.logger.info(
|
|
332
361
|
"Message listener background task has ended gracefully: "
|
|
@@ -376,6 +405,10 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
|
|
|
376
405
|
request_cache_key = generate_cache_key(request_id)
|
|
377
406
|
|
|
378
407
|
while True:
|
|
408
|
+
# check if an exception was recorded in the listener task and raise
|
|
409
|
+
# it in the main loop if so
|
|
410
|
+
self._handle_listener_task_exceptions()
|
|
411
|
+
|
|
379
412
|
if request_cache_key in self._request_processor._request_response_cache:
|
|
380
413
|
self.logger.debug(
|
|
381
414
|
f"Popping response for id {request_id} from cache."
|
|
@@ -385,9 +418,6 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
|
|
|
385
418
|
)
|
|
386
419
|
return popped_response
|
|
387
420
|
else:
|
|
388
|
-
# check if an exception was recorded in the listener task and raise
|
|
389
|
-
# it in the main loop if so
|
|
390
|
-
self._handle_listener_task_exceptions()
|
|
391
421
|
await asyncio.sleep(0)
|
|
392
422
|
|
|
393
423
|
try:
|
|
@@ -206,7 +206,10 @@ class SubscriptionManager:
|
|
|
206
206
|
raise Web3ValueError("No subscriptions provided.")
|
|
207
207
|
|
|
208
208
|
unsubscribed: List[bool] = []
|
|
209
|
-
|
|
209
|
+
# re-create the subscription list to prevent modifying the original list
|
|
210
|
+
# in case ``subscription_manager.subscriptions`` was passed in directly
|
|
211
|
+
subs = [sub for sub in subscriptions]
|
|
212
|
+
for sub in subs:
|
|
210
213
|
if isinstance(sub, str):
|
|
211
214
|
sub = HexStr(sub)
|
|
212
215
|
unsubscribed.append(await self.unsubscribe(sub))
|
|
@@ -226,7 +229,9 @@ class SubscriptionManager:
|
|
|
226
229
|
:rtype: bool
|
|
227
230
|
"""
|
|
228
231
|
unsubscribed = [
|
|
229
|
-
await self.unsubscribe(sub)
|
|
232
|
+
await self.unsubscribe(sub)
|
|
233
|
+
# use copy to prevent modifying the list while iterating over it
|
|
234
|
+
for sub in self.subscriptions.copy()
|
|
230
235
|
]
|
|
231
236
|
if all(unsubscribed):
|
|
232
237
|
self.logger.info("Successfully unsubscribed from all subscriptions.")
|
|
@@ -15,16 +15,14 @@ from eth_typing import (
|
|
|
15
15
|
from toolz import (
|
|
16
16
|
merge,
|
|
17
17
|
)
|
|
18
|
-
from websockets import (
|
|
19
|
-
WebSocketClientProtocol,
|
|
20
|
-
)
|
|
21
|
-
from websockets.client import (
|
|
22
|
-
connect,
|
|
23
|
-
)
|
|
24
18
|
from websockets.exceptions import (
|
|
25
19
|
ConnectionClosedOK,
|
|
26
20
|
WebSocketException,
|
|
27
21
|
)
|
|
22
|
+
from websockets.legacy.client import (
|
|
23
|
+
WebSocketClientProtocol,
|
|
24
|
+
connect,
|
|
25
|
+
)
|
|
28
26
|
|
|
29
27
|
from web3.exceptions import (
|
|
30
28
|
PersistentConnectionClosedOK,
|
|
@@ -63,6 +61,8 @@ class WebSocketProvider(PersistentConnectionProvider):
|
|
|
63
61
|
self,
|
|
64
62
|
endpoint_uri: Optional[Union[URI, str]] = None,
|
|
65
63
|
websocket_kwargs: Optional[Dict[str, Any]] = None,
|
|
64
|
+
# uses binary frames by default
|
|
65
|
+
use_text_frames: Optional[bool] = False,
|
|
66
66
|
# `PersistentConnectionProvider` kwargs can be passed through
|
|
67
67
|
**kwargs: Any,
|
|
68
68
|
) -> None:
|
|
@@ -71,6 +71,7 @@ class WebSocketProvider(PersistentConnectionProvider):
|
|
|
71
71
|
URI(endpoint_uri) if endpoint_uri is not None else get_default_endpoint()
|
|
72
72
|
)
|
|
73
73
|
super().__init__(**kwargs)
|
|
74
|
+
self.use_text_frames = use_text_frames
|
|
74
75
|
self._ws: Optional[WebSocketClientProtocol] = None
|
|
75
76
|
|
|
76
77
|
if not any(
|
|
@@ -118,9 +119,11 @@ class WebSocketProvider(PersistentConnectionProvider):
|
|
|
118
119
|
"Connection to websocket has not been initiated for the provider."
|
|
119
120
|
)
|
|
120
121
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
payload: Union[bytes, str] = request_data
|
|
123
|
+
if self.use_text_frames:
|
|
124
|
+
payload = request_data.decode("utf-8")
|
|
125
|
+
|
|
126
|
+
await asyncio.wait_for(self._ws.send(payload), timeout=self.request_timeout)
|
|
124
127
|
|
|
125
128
|
async def socket_recv(self) -> RPCResponse:
|
|
126
129
|
raw_response = await self._ws.recv()
|
web3/types.py
CHANGED
|
@@ -197,10 +197,10 @@ class LogReceipt(TypedDict):
|
|
|
197
197
|
blockNumber: BlockNumber
|
|
198
198
|
data: HexBytes
|
|
199
199
|
logIndex: int
|
|
200
|
+
removed: bool
|
|
200
201
|
topics: Sequence[HexBytes]
|
|
201
202
|
transactionHash: HexBytes
|
|
202
203
|
transactionIndex: int
|
|
203
|
-
removed: bool
|
|
204
204
|
|
|
205
205
|
|
|
206
206
|
class SubscriptionResponse(TypedDict):
|
|
@@ -336,7 +336,7 @@ class StateOverrideParams(TypedDict, total=False):
|
|
|
336
336
|
stateDiff: Optional[Dict[HexStr, HexStr]]
|
|
337
337
|
|
|
338
338
|
|
|
339
|
-
StateOverride = Dict[ChecksumAddress, StateOverrideParams]
|
|
339
|
+
StateOverride = Dict[Union[str, Address, ChecksumAddress], StateOverrideParams]
|
|
340
340
|
|
|
341
341
|
|
|
342
342
|
GasPriceStrategy = Union[
|
|
@@ -567,6 +567,30 @@ class OpcodeTrace(TypedDict, total=False):
|
|
|
567
567
|
structLogs: List[StructLog]
|
|
568
568
|
|
|
569
569
|
|
|
570
|
+
class BlockStateCallV1(TypedDict):
|
|
571
|
+
blockOverrides: NotRequired[BlockData]
|
|
572
|
+
stateOverrides: NotRequired[StateOverride]
|
|
573
|
+
calls: Sequence[TxParams]
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
class SimulateV1Payload(TypedDict):
|
|
577
|
+
blockStateCalls: Sequence[BlockStateCallV1]
|
|
578
|
+
validation: NotRequired[bool]
|
|
579
|
+
traceTransfers: NotRequired[bool]
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
class SimulateV1CallResult(TypedDict):
|
|
583
|
+
returnData: HexBytes
|
|
584
|
+
logs: Sequence[LogReceipt]
|
|
585
|
+
gasUsed: int
|
|
586
|
+
status: int
|
|
587
|
+
error: NotRequired[RPCError]
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
class SimulateV1Result(BlockData):
|
|
591
|
+
calls: Sequence[SimulateV1CallResult]
|
|
592
|
+
|
|
593
|
+
|
|
570
594
|
#
|
|
571
595
|
# web3.geth types
|
|
572
596
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: web3
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.10.0
|
|
4
4
|
Summary: web3: A Python library for interacting with Ethereum
|
|
5
5
|
Home-page: https://github.com/ethereum/web3.py
|
|
6
6
|
Author: The Ethereum Foundation
|
|
@@ -33,14 +33,14 @@ Requires-Dist: pywin32>=223; platform_system == "Windows"
|
|
|
33
33
|
Requires-Dist: requests>=2.23.0
|
|
34
34
|
Requires-Dist: typing-extensions>=4.0.1
|
|
35
35
|
Requires-Dist: types-requests>=2.0.0
|
|
36
|
-
Requires-Dist: websockets<
|
|
36
|
+
Requires-Dist: websockets<16.0.0,>=10.0.0
|
|
37
37
|
Requires-Dist: pyunormalize>=15.0.0
|
|
38
38
|
Provides-Extra: tester
|
|
39
39
|
Requires-Dist: eth-tester[py-evm]<0.13.0b1,>=0.12.0b1; extra == "tester"
|
|
40
40
|
Requires-Dist: py-geth>=5.1.0; extra == "tester"
|
|
41
41
|
Provides-Extra: dev
|
|
42
42
|
Requires-Dist: build>=0.9.0; extra == "dev"
|
|
43
|
-
Requires-Dist:
|
|
43
|
+
Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
|
|
44
44
|
Requires-Dist: ipython; extra == "dev"
|
|
45
45
|
Requires-Dist: setuptools>=38.6.0; extra == "dev"
|
|
46
46
|
Requires-Dist: tqdm>4.32; extra == "dev"
|
|
@@ -49,7 +49,7 @@ Requires-Dist: wheel; extra == "dev"
|
|
|
49
49
|
Requires-Dist: sphinx>=6.0.0; extra == "dev"
|
|
50
50
|
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "dev"
|
|
51
51
|
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "dev"
|
|
52
|
-
Requires-Dist: towncrier<
|
|
52
|
+
Requires-Dist: towncrier<25,>=24; extra == "dev"
|
|
53
53
|
Requires-Dist: pytest-asyncio<0.23,>=0.18.1; extra == "dev"
|
|
54
54
|
Requires-Dist: pytest-mock>=1.10; extra == "dev"
|
|
55
55
|
Requires-Dist: pytest-xdist>=2.4.0; extra == "dev"
|
|
@@ -65,7 +65,7 @@ Provides-Extra: docs
|
|
|
65
65
|
Requires-Dist: sphinx>=6.0.0; extra == "docs"
|
|
66
66
|
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
|
|
67
67
|
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "docs"
|
|
68
|
-
Requires-Dist: towncrier<
|
|
68
|
+
Requires-Dist: towncrier<25,>=24; extra == "docs"
|
|
69
69
|
Provides-Extra: test
|
|
70
70
|
Requires-Dist: pytest-asyncio<0.23,>=0.18.1; extra == "test"
|
|
71
71
|
Requires-Dist: pytest-mock>=1.10; extra == "test"
|
|
@@ -86,6 +86,7 @@ Dynamic: description-content-type
|
|
|
86
86
|
Dynamic: home-page
|
|
87
87
|
Dynamic: keywords
|
|
88
88
|
Dynamic: license
|
|
89
|
+
Dynamic: license-file
|
|
89
90
|
Dynamic: provides-extra
|
|
90
91
|
Dynamic: requires-dist
|
|
91
92
|
Dynamic: requires-python
|
|
@@ -105,14 +106,18 @@ web3.py allows you to interact with the Ethereum blockchain using Python, enabli
|
|
|
105
106
|
|
|
106
107
|
- Python 3.8+ support
|
|
107
108
|
|
|
108
|
-
|
|
109
|
+
## Installation
|
|
110
|
+
|
|
111
|
+
```sh
|
|
112
|
+
python -m pip install web3
|
|
113
|
+
```
|
|
109
114
|
|
|
110
|
-
##
|
|
115
|
+
## Documentation
|
|
111
116
|
|
|
112
117
|
[Get started in 5 minutes](https://web3py.readthedocs.io/en/latest/quickstart.html) or
|
|
113
118
|
[take a tour](https://web3py.readthedocs.io/en/latest/overview.html) of the library.
|
|
114
119
|
|
|
115
|
-
|
|
120
|
+
View the [change log](https://web3py.readthedocs.io/en/latest/release_notes.html).
|
|
116
121
|
|
|
117
122
|
For additional guides, examples, and APIs, see the [documentation](https://web3py.readthedocs.io/en/latest/).
|
|
118
123
|
|
|
@@ -18,20 +18,20 @@ web3/exceptions.py,sha256=GMIrWTkYDR0jtvtdOlgl_s6fctTibW4Ytw4So5BY4uE,9584
|
|
|
18
18
|
web3/geth.py,sha256=xVBZWSksBo2ipesAN9V5hzDc_te7kU8ueicFdvpkSO4,7370
|
|
19
19
|
web3/logs.py,sha256=ROs-mDMH_ZOecE7hfbWA5yp27G38FbLjX4lO_WtlZxQ,198
|
|
20
20
|
web3/main.py,sha256=eVdSh7m_iBMf3au0Aj49TZ7NSaRbN1Ccsng9Fuu8dME,16162
|
|
21
|
-
web3/manager.py,sha256=
|
|
21
|
+
web3/manager.py,sha256=SYAs0C0yveGV97iA1dYokG_QWPY7TsnSecALwKWuDiw,19853
|
|
22
22
|
web3/method.py,sha256=Q7EWTwI4TxqAbJ3mZrdvLc9wfV-8o8sOzS_pbsRgAP0,8601
|
|
23
23
|
web3/module.py,sha256=CDlnDrrWzkCJtd3gzHZ972l-6En6IyFEWwB7TXkHHLM,5617
|
|
24
24
|
web3/net.py,sha256=Y3vPzHWVFkfHEZoJxjDOt4tp5ERmZrMuyi4ZFOLmIeA,1562
|
|
25
25
|
web3/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
26
|
web3/testing.py,sha256=Ury_-7XSstJ8bkCfdGEi4Cr76QzSfW7v_zfPlDlLJj0,923
|
|
27
27
|
web3/tracing.py,sha256=ZcOam7t-uEZXyui6Cndv6RYeCZP5jh1TBn2hG8sv17Q,3098
|
|
28
|
-
web3/types.py,sha256
|
|
28
|
+
web3/types.py,sha256=-c1zBLyJOHey7CfkPO6saMVXxHUfVEvVUOcpNwO_ZB4,14450
|
|
29
29
|
web3/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
web3/_utils/abi.py,sha256=
|
|
30
|
+
web3/_utils/abi.py,sha256=Nk-RSh1Zk5BXojgZM6QwleGErUjiD7wD2vvpMYw5knk,27431
|
|
31
31
|
web3/_utils/abi_element_identifiers.py,sha256=m305lsvUZk-jkPixT0IJd9P5sXqMvmwlwlLeBgEAnBQ,55
|
|
32
32
|
web3/_utils/async_caching.py,sha256=2XnaKCHBTTDK6B2R_YZvjJqIRUpbMDIU1uYrq-Lcyp8,486
|
|
33
33
|
web3/_utils/async_transactions.py,sha256=fodlTP7zpoFhFycWQszJWN0UUAfu5neQTCYJ3eGRCA0,5581
|
|
34
|
-
web3/_utils/batching.py,sha256=
|
|
34
|
+
web3/_utils/batching.py,sha256=rt4sBsZ283J4cnIyIbrRaGqzq4JbpgJawzSodfQxyaU,6317
|
|
35
35
|
web3/_utils/blocks.py,sha256=SZ17qSJuPAH5Dz-eQPGOsZw_QtkG19zvpSYMv6mEDok,2138
|
|
36
36
|
web3/_utils/contracts.py,sha256=YXErvYsi7OQ9S3KCjSv7nPbxj9DDTmixP8NYmv9GOmY,12091
|
|
37
37
|
web3/_utils/datatypes.py,sha256=nI0C9XWl46gFj1RpwuoHfVqb4e73wlaerE1LNyMg3oo,1701
|
|
@@ -39,24 +39,24 @@ web3/_utils/decorators.py,sha256=bYIoVL0DjHWU2-KOmg-UYg6rICeThlLVZpH9yM2NT8s,182
|
|
|
39
39
|
web3/_utils/empty.py,sha256=ccgxFk5qm2x2ZeD8b17wX5cCAJPkPFuHrNQNMDslytY,132
|
|
40
40
|
web3/_utils/encoding.py,sha256=yS3awPQshfqMqEgiZWWU2AG8Kq_mrCH9VwHvlMhrGw4,9282
|
|
41
41
|
web3/_utils/ens.py,sha256=2BvzfegBkR7vH3Fq7lo_LsgfT912Zj-mR8eUt6o_lBA,2434
|
|
42
|
-
web3/_utils/error_formatters_utils.py,sha256=
|
|
42
|
+
web3/_utils/error_formatters_utils.py,sha256=9eG56Kj_H1BxxcXQhHOr2fycMnOnjfue3VsxUJ1Vi1U,6868
|
|
43
43
|
web3/_utils/events.py,sha256=eZEUDImd4-s0wQxdzHn5llYoTwMaKQpakoccoU85_R0,17036
|
|
44
44
|
web3/_utils/fee_utils.py,sha256=MFt27R9E3qFP-Hf87-Lzv0JAiuYRE_qqafyTmzctAYA,2145
|
|
45
45
|
web3/_utils/filters.py,sha256=1WX2Vgmat8QKj0WNm_GoRcVp4iJ0BhaIpM_RbcZlBzs,11860
|
|
46
|
-
web3/_utils/formatters.py,sha256=
|
|
46
|
+
web3/_utils/formatters.py,sha256=ld6hUnt4awpbZ6-AoOCDrGM6wgup_e-8G4FxEa3SytM,3719
|
|
47
47
|
web3/_utils/http.py,sha256=2R3UOeZmwiQGc3ladf78R9AnufbGaTXAntqf-ZQlZPI,230
|
|
48
48
|
web3/_utils/http_session_manager.py,sha256=8nfXMPlOpZ2rMuo-aR46BxzMGrERAmHLshNC9qxEvuA,12591
|
|
49
49
|
web3/_utils/hypothesis.py,sha256=4Cm4iOWv-uP9irg_Pv63kYNDYUAGhnUH6fOPWRw3A0g,209
|
|
50
50
|
web3/_utils/math.py,sha256=4oU5YdbQBXElxK00CxmUZ94ApXFu9QT_TrO0Kho1HTs,1083
|
|
51
|
-
web3/_utils/method_formatters.py,sha256=
|
|
51
|
+
web3/_utils/method_formatters.py,sha256=1hAwI4Vr4-sNtxe9JxMVZ8_u9ihVbA28dye38kn9uEo,39968
|
|
52
52
|
web3/_utils/module.py,sha256=GuVePloTlIBZwFDOjg0zasp53HSJ32umxN1nQhqW-8Y,3175
|
|
53
53
|
web3/_utils/normalizers.py,sha256=uOaGGgkFXTa5gg6mHgPhP8n035WYpo96xtrvpRPnfNk,7455
|
|
54
|
-
web3/_utils/rpc_abi.py,sha256=
|
|
54
|
+
web3/_utils/rpc_abi.py,sha256=yAxO-kRqFJy_q3PoYAxLBGuiaEN6lusbQ7Wzi5S0g48,8576
|
|
55
55
|
web3/_utils/threads.py,sha256=hNlSd_zheQYN0vC1faWWb9_UQxp_UzaM2fI5C8y0kB0,4245
|
|
56
56
|
web3/_utils/transactions.py,sha256=aWMYWiCM_Qs6kFIRWwLGRqAAwCz5fXU8uXcsFGi_Xqo,9044
|
|
57
57
|
web3/_utils/type_conversion.py,sha256=s6cg3WDCQIarQLWw_GfctaJjXhS_EcokUNO-S_ccvng,873
|
|
58
58
|
web3/_utils/utility_methods.py,sha256=7VCpo5ysvPoGjFuDj5gT1Niva2l3BADUvNeJFlL3Yvg,2559
|
|
59
|
-
web3/_utils/validation.py,sha256=
|
|
59
|
+
web3/_utils/validation.py,sha256=DSmVq88k1ZPtu1NgBKNqGSAKYg5njrnG6rBKjUXIy-g,13351
|
|
60
60
|
web3/_utils/windows.py,sha256=IlFUtqYSbUUfFRx60zvEwpiZd080WpOrA4ojm4tmSEE,994
|
|
61
61
|
web3/_utils/caching/__init__.py,sha256=ri-5UGz5PPuYW9W1c2BX5lUJn1oZuvErbDz5NweiveA,284
|
|
62
62
|
web3/_utils/caching/caching_utils.py,sha256=Big2HcJ9_CgIGNq59yGihheLOct-FlArpreBxcfjYUk,14281
|
|
@@ -66,36 +66,36 @@ web3/_utils/contract_sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
66
66
|
web3/_utils/contract_sources/compile_contracts.py,sha256=C3eLY6gJ4xj9FunNwn4YPb9c8ElORkN8O4ddBa_kKqI,6486
|
|
67
67
|
web3/_utils/contract_sources/contract_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
68
|
web3/_utils/contract_sources/contract_data/_custom_contract_data.py,sha256=nxpN2uS1T338Tp5uVhwY9U1C2m2pdDz7kZv3LoZ0hpo,552
|
|
69
|
-
web3/_utils/contract_sources/contract_data/ambiguous_function_contract.py,sha256
|
|
70
|
-
web3/_utils/contract_sources/contract_data/arrays_contract.py,sha256=
|
|
71
|
-
web3/_utils/contract_sources/contract_data/bytes_contracts.py,sha256=
|
|
72
|
-
web3/_utils/contract_sources/contract_data/constructor_contracts.py,sha256=
|
|
73
|
-
web3/_utils/contract_sources/contract_data/contract_caller_tester.py,sha256=
|
|
74
|
-
web3/_utils/contract_sources/contract_data/emitter_contract.py,sha256=
|
|
75
|
-
web3/_utils/contract_sources/contract_data/event_contracts.py,sha256=
|
|
76
|
-
web3/_utils/contract_sources/contract_data/extended_resolver.py,sha256=
|
|
77
|
-
web3/_utils/contract_sources/contract_data/fallback_function_contract.py,sha256=
|
|
78
|
-
web3/_utils/contract_sources/contract_data/function_name_tester_contract.py,sha256=
|
|
79
|
-
web3/_utils/contract_sources/contract_data/math_contract.py,sha256=
|
|
80
|
-
web3/_utils/contract_sources/contract_data/offchain_lookup.py,sha256=
|
|
81
|
-
web3/_utils/contract_sources/contract_data/offchain_resolver.py,sha256=
|
|
82
|
-
web3/_utils/contract_sources/contract_data/panic_errors_contract.py,sha256=
|
|
83
|
-
web3/_utils/contract_sources/contract_data/payable_tester.py,sha256=
|
|
84
|
-
web3/_utils/contract_sources/contract_data/receive_function_contracts.py,sha256=
|
|
85
|
-
web3/_utils/contract_sources/contract_data/reflector_contracts.py,sha256=
|
|
86
|
-
web3/_utils/contract_sources/contract_data/revert_contract.py,sha256=
|
|
87
|
-
web3/_utils/contract_sources/contract_data/simple_resolver.py,sha256=
|
|
88
|
-
web3/_utils/contract_sources/contract_data/storage_contract.py,sha256=
|
|
89
|
-
web3/_utils/contract_sources/contract_data/string_contract.py,sha256=
|
|
90
|
-
web3/_utils/contract_sources/contract_data/tuple_contracts.py,sha256=
|
|
69
|
+
web3/_utils/contract_sources/contract_data/ambiguous_function_contract.py,sha256=Zp0cazBx6-2i7W6uPCf76jCTAPdkww4NohQI9YMQQv8,5980
|
|
70
|
+
web3/_utils/contract_sources/contract_data/arrays_contract.py,sha256=Ou8nEO20JSVlxt2-Ay3O4O30h3qBTVXJG4jAtrTjANQ,18626
|
|
71
|
+
web3/_utils/contract_sources/contract_data/bytes_contracts.py,sha256=AVuZG_EyhUQymavo5uCYeqv4fXjyO3WIPbV2j4VRy7c,14351
|
|
72
|
+
web3/_utils/contract_sources/contract_data/constructor_contracts.py,sha256=RmL7T3OBuyWRjvQUawYjG_vTEqjLAICusJO1zNuIdUE,6051
|
|
73
|
+
web3/_utils/contract_sources/contract_data/contract_caller_tester.py,sha256=Oia2QhE029iIMDYgm6HSJwXOqMFnnMkM9_7qxBKevQU,6228
|
|
74
|
+
web3/_utils/contract_sources/contract_data/emitter_contract.py,sha256=vag_3SqTbSZyi57rteMPv1Nk8Y2bsXBR21X9QQbGCgE,40861
|
|
75
|
+
web3/_utils/contract_sources/contract_data/event_contracts.py,sha256=NiOUemueXaBsz2EfugTY2l3NeNQi9bLTs9KKvvsmsAs,9405
|
|
76
|
+
web3/_utils/contract_sources/contract_data/extended_resolver.py,sha256=JiIdVfokL2J6Sbx0MivpZidXv93jDQwGmHBpNzk6UJs,15720
|
|
77
|
+
web3/_utils/contract_sources/contract_data/fallback_function_contract.py,sha256=aZaXkz6y94EwG0Z6rhU9mb7bv7OEbzrs1zF9HoLyhNs,1649
|
|
78
|
+
web3/_utils/contract_sources/contract_data/function_name_tester_contract.py,sha256=Ezas3iVDBxBmKytdAkpiXRTza3SKXVmkIeIHrIY4cag,1894
|
|
79
|
+
web3/_utils/contract_sources/contract_data/math_contract.py,sha256=AJ-KtR5xdGMBYsFLbp9A0dWEN6ErchJmM2QQBiAkI0A,7635
|
|
80
|
+
web3/_utils/contract_sources/contract_data/offchain_lookup.py,sha256=Q3T9e5cpilzMu6BPYfbtBiM3Twt0aexlwYD1_-f6mCI,16424
|
|
81
|
+
web3/_utils/contract_sources/contract_data/offchain_resolver.py,sha256=Oqa_Be8eQh1EbeaMqe-1ekw_IJ5rupMkzpW8_uPmKUw,31829
|
|
82
|
+
web3/_utils/contract_sources/contract_data/panic_errors_contract.py,sha256=h2jNT9WZiJJXTabJcA-GDoA3fjS87STC4UId2LwwkM4,15263
|
|
83
|
+
web3/_utils/contract_sources/contract_data/payable_tester.py,sha256=xkh5eSQS2dt4wIftQBeJlqwIDvE_zwtxmlvi4X21Qpc,1827
|
|
84
|
+
web3/_utils/contract_sources/contract_data/receive_function_contracts.py,sha256=qWotM1AyO-JDbsvQ6cdhvyiGskU2kArd1LwST0CRIvU,17102
|
|
85
|
+
web3/_utils/contract_sources/contract_data/reflector_contracts.py,sha256=VbW_6N6l-_7QOjvqlywS0Xn3OhSiyhyxC-Pcm_69uUU,5262
|
|
86
|
+
web3/_utils/contract_sources/contract_data/revert_contract.py,sha256=1C639qKx41_T5PwHwGHGPFWvyxTd5pnsHLX4vG1ySlM,4262
|
|
87
|
+
web3/_utils/contract_sources/contract_data/simple_resolver.py,sha256=5H5L5mKUrSvcPrcWlR8oE1UdnRGNm0dgMsdw5V8Mn4w,3553
|
|
88
|
+
web3/_utils/contract_sources/contract_data/storage_contract.py,sha256=CDx3lHmEhrgqGbKBOvjw0Tb1DGovE3QC1AarZC0vcXU,7938
|
|
89
|
+
web3/_utils/contract_sources/contract_data/string_contract.py,sha256=agjI-kVgRa4VBSPArnpkE1JGf09wA3aheuIQv2LIlh0,11228
|
|
90
|
+
web3/_utils/contract_sources/contract_data/tuple_contracts.py,sha256=BiXlKQgc9o_9mM_aI4B5H6WJpRyztXte1WiOwUwhIkw,23176
|
|
91
91
|
web3/_utils/module_testing/__init__.py,sha256=Xr_S46cjr0mypD_Y4ZbeF1EJ-XWfNxWUks5ykhzN10c,485
|
|
92
|
-
web3/_utils/module_testing/eth_module.py,sha256=
|
|
92
|
+
web3/_utils/module_testing/eth_module.py,sha256=KMr8_FFGeNIVCcQsOe6OmqCBn1-54TfDlESrTFxMOu4,191226
|
|
93
93
|
web3/_utils/module_testing/go_ethereum_admin_module.py,sha256=_c-6SyzZkfAJ-7ySXUpw9FEr4cg-ShRdAGSAHWanCtY,3406
|
|
94
94
|
web3/_utils/module_testing/go_ethereum_debug_module.py,sha256=BP1UjK-5ewkYMilvW9jtZX5Mc9BGh3QlJWPXqDNWizU,4144
|
|
95
95
|
web3/_utils/module_testing/go_ethereum_txpool_module.py,sha256=5f8XL8-2x3keyGRaITxMQYl9oQzjgqGn8zobB-j9BPs,1176
|
|
96
96
|
web3/_utils/module_testing/module_testing_utils.py,sha256=9NfSislx36DWe9IcK-IYZHzMDNp9JKcOJjJ7jIW_wrU,5969
|
|
97
97
|
web3/_utils/module_testing/net_module.py,sha256=ifUTC-5fTcQbwpm0X09OdD5RSPnn00T8klFeYe8tTm4,1272
|
|
98
|
-
web3/_utils/module_testing/persistent_connection_provider.py,sha256=
|
|
98
|
+
web3/_utils/module_testing/persistent_connection_provider.py,sha256=mYteu_EirYHENJbxoPEIuV3vIGhJqH5MaburqQtfwEE,30603
|
|
99
99
|
web3/_utils/module_testing/utils.py,sha256=bvF57wKVbfnXGRM4kqEZpysPrr9LvAQy-E-huk1HpxM,13561
|
|
100
100
|
web3/_utils/module_testing/web3_module.py,sha256=7c6penGbHn381fPTYY6DsXKv56xGQpYkHljOsr2gbaw,25413
|
|
101
101
|
web3/auto/__init__.py,sha256=ZbzAiCZMdt_tCTTPvH6t8NCVNroKKkt7TSVBBNR74Is,44
|
|
@@ -110,12 +110,12 @@ web3/contract/base_contract.py,sha256=vQVcne9luQ35eBheRh1Jc_jXOp2uDxIotKK9O1EQjQ
|
|
|
110
110
|
web3/contract/contract.py,sha256=-TJJMjwybZmQo8-DtGhrjIr7TwVXFoiIsdMan1NFgQY,20562
|
|
111
111
|
web3/contract/utils.py,sha256=mrW3WIxki6EJ1kNqyGp20SMJIu4GqAzOFgMuzpsHB2M,19363
|
|
112
112
|
web3/eth/__init__.py,sha256=qDLxOcHHIzzPD7xzwy6Wcs0lLPQieB7WN0Ax25ctit8,197
|
|
113
|
-
web3/eth/async_eth.py,sha256=
|
|
113
|
+
web3/eth/async_eth.py,sha256=h3DpNdYn4b3kVdp54pAkapyfnC73w38biV9vPNtsvZU,24632
|
|
114
114
|
web3/eth/base_eth.py,sha256=UUH0Fw0HVa_mBEQ_CbCDO01yCVDsj33d8yOv7Oe-QD0,6905
|
|
115
|
-
web3/eth/eth.py,sha256=
|
|
115
|
+
web3/eth/eth.py,sha256=mD1TSPIl7gnRFrG1Mcq_rSJJm2Zf0ISGTv9BcLr19FU,20362
|
|
116
116
|
web3/gas_strategies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
|
-
web3/gas_strategies/rpc.py,sha256=
|
|
118
|
-
web3/gas_strategies/time_based.py,sha256=
|
|
117
|
+
web3/gas_strategies/rpc.py,sha256=lQnKJSSZAjE2_klwdr7tkZkPiYN9mkz1IqbVS2WNo6M,351
|
|
118
|
+
web3/gas_strategies/time_based.py,sha256=NQDYh9eKsmzhRIg5gWUI9xlKyI16z-qfN9DSIh3tM1Y,9070
|
|
119
119
|
web3/middleware/__init__.py,sha256=fSmPCYJOO8Qp5p-Vm_Z4XPJATu2qN7KJRypYNSO6_uM,2830
|
|
120
120
|
web3/middleware/attrdict.py,sha256=tIoMEZ3BkmEafnwitGY70o0GS9ShfwReDMxkHuvcOwI,2092
|
|
121
121
|
web3/middleware/base.py,sha256=jUY19tw6iiJenDprYqkTeIESd8qPcTvNALP3Vhp86qk,5728
|
|
@@ -130,24 +130,24 @@ web3/middleware/signing.py,sha256=1DOYxpmCra-Qq5r42237q3b54uDO-QHjMVMulxVpLVQ,58
|
|
|
130
130
|
web3/middleware/stalecheck.py,sha256=oWRA69BGIbNGjHSnUVOBnoxOYJZYjzRzlqqL5RRlnzk,2680
|
|
131
131
|
web3/middleware/validation.py,sha256=QxActrJk_zsXXiwpadP2MUjZBS5E50OJOtUwVrm9XVo,4280
|
|
132
132
|
web3/providers/__init__.py,sha256=YkcSzE9AubvSp-UfvJjyCrdepvziysbqeq2LT0ImDoc,936
|
|
133
|
-
web3/providers/async_base.py,sha256=
|
|
133
|
+
web3/providers/async_base.py,sha256=fvfqexbB1bLamXQhmvRwmq8UdAUySCqUZy7RFwPcpLM,7701
|
|
134
134
|
web3/providers/auto.py,sha256=Zx3CHKoRkmiw3Jte2BLNPiJAFd8rDXNGfA3XtxZvHgc,3465
|
|
135
135
|
web3/providers/base.py,sha256=2morKtz6l_XuMQ8gt9eNtC0r64JnsIzFrUHlJQQ7F7Y,6440
|
|
136
136
|
web3/providers/ipc.py,sha256=19jm5e-mytwx_s-s8hGMCK9sfOCgwwr_1hHcHQyB_7o,6514
|
|
137
|
-
web3/providers/legacy_websocket.py,sha256=
|
|
137
|
+
web3/providers/legacy_websocket.py,sha256=p7EgbA6WzqGqIonnTjcYMS-2jPg5yLXdUtrOpp94ums,4733
|
|
138
138
|
web3/providers/eth_tester/__init__.py,sha256=UggyBQdeAyjy1awATW1933jkJcpqqaUYUQEFAQnA2o0,163
|
|
139
139
|
web3/providers/eth_tester/defaults.py,sha256=QQUdqqrkcN1AKW7WEY1A5RiPc_fmlHCLmdgB-5iY7Dc,12622
|
|
140
140
|
web3/providers/eth_tester/main.py,sha256=U19sNDeHs36A4IYQ0HFGyXdZvuXiYvoSMNWVuki0WwI,7807
|
|
141
141
|
web3/providers/eth_tester/middleware.py,sha256=3h8q1WBu5CLiBYwonWFeAR_5pUy_vqgiDmi7wOzuorc,12971
|
|
142
142
|
web3/providers/persistent/__init__.py,sha256=X7tFKJL5BXSwciq5_bRwGRB6bfdWBkIPPWMqCjXIKrA,411
|
|
143
143
|
web3/providers/persistent/async_ipc.py,sha256=dlySmRkVsKWOjb2w08n38PTcoI5MtviwqsRxq3YUg6M,5006
|
|
144
|
-
web3/providers/persistent/persistent.py,sha256=
|
|
144
|
+
web3/providers/persistent/persistent.py,sha256=_YNJnhCHEWP0Vhyh0geYIO5WwzOwN12jMJPdR9dwwSs,16176
|
|
145
145
|
web3/providers/persistent/persistent_connection.py,sha256=NxxS-KeJhV07agg8CtJvmE-Ff-wLggQYpz4gdgVRDNU,3011
|
|
146
146
|
web3/providers/persistent/request_processor.py,sha256=MEfPM5nezjvXS8KMpH65JEIP7qNZ4uf56CcbN-4Hhr0,14712
|
|
147
147
|
web3/providers/persistent/subscription_container.py,sha256=yd5pjjz_YnRLuUoxZUxt29Md1VUTemdUIBq8PCJre6Y,1734
|
|
148
|
-
web3/providers/persistent/subscription_manager.py,sha256=
|
|
148
|
+
web3/providers/persistent/subscription_manager.py,sha256=8HQgVlm5hgd55-FHEeVse13oh6mP1p6T_pWX5UfDWng,11564
|
|
149
149
|
web3/providers/persistent/utils.py,sha256=gfY7w1HB8xuE7OujSrbwWYjQuQ8nzRBoxoL8ESinqWM,1140
|
|
150
|
-
web3/providers/persistent/websocket.py,sha256=
|
|
150
|
+
web3/providers/persistent/websocket.py,sha256=STf31VNdwidMeAeeL1r5f8v3l66xChKkxZpnZzUiYO8,4577
|
|
151
151
|
web3/providers/rpc/__init__.py,sha256=mObsuwjr7xyHnnRlwzsmbp2JgZdn2NXSSctvpye4AuQ,149
|
|
152
152
|
web3/providers/rpc/async_rpc.py,sha256=r8OYrCh0MoUUBwRLT8rLo98cjziLs1E782vCEzFzGVc,6314
|
|
153
153
|
web3/providers/rpc/rpc.py,sha256=qb17d1rocm1xOV7Pcqye9lQqFfbWmRnB6W-m1E1mB5A,6075
|
|
@@ -164,8 +164,8 @@ web3/utils/async_exception_handling.py,sha256=OoKbLNwWcY9dxLCbOfxcQPSB1OxWraNqcw
|
|
|
164
164
|
web3/utils/caching.py,sha256=Rkt5IN8A7YBZYXlCRaWa64FiDhTXsxzTGGQdGBB4Nzw,2514
|
|
165
165
|
web3/utils/exception_handling.py,sha256=n-MtO5LNzJDVzHTzO6olzfb2_qEVtVRvink0ixswg-Y,2917
|
|
166
166
|
web3/utils/subscriptions.py,sha256=iqlIK5xXM3XY6wEJQiovxrtKRvqpXmjhkPmrm15FnB8,8578
|
|
167
|
-
web3-7.
|
|
168
|
-
web3-7.
|
|
169
|
-
web3-7.
|
|
170
|
-
web3-7.
|
|
171
|
-
web3-7.
|
|
167
|
+
web3-7.10.0.dist-info/licenses/LICENSE,sha256=ENGC4gSn0kYaC_mlaXOEwCKmA6W7Z9MeSemc5O2k-h0,1095
|
|
168
|
+
web3-7.10.0.dist-info/METADATA,sha256=k-fchvuMg3dVw_Dy7hUa8w0K2us31LuM1yW0dtFTDQM,5621
|
|
169
|
+
web3-7.10.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
170
|
+
web3-7.10.0.dist-info/top_level.txt,sha256=iwupuJh7wgypXrpk_awszyri3TahRr5vxSphNyvt1bU,9
|
|
171
|
+
web3-7.10.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|