web3 7.10.0__py3-none-any.whl → 7.11.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.
@@ -27,6 +27,7 @@ from websockets.legacy.client import (
27
27
  )
28
28
 
29
29
  from web3._utils.batching import (
30
+ batching_context,
30
31
  sort_batch_response_by_response_ids,
31
32
  )
32
33
  from web3._utils.caching import (
@@ -143,6 +144,7 @@ class LegacyWebSocketProvider(JSONBaseProvider):
143
144
  )
144
145
  return future.result()
145
146
 
147
+ @batching_context
146
148
  def make_batch_request(
147
149
  self, requests: List[Tuple[RPCEndpoint, Any]]
148
150
  ) -> List[RPCResponse]:
@@ -24,6 +24,7 @@ from websockets import (
24
24
 
25
25
  from web3._utils.batching import (
26
26
  BATCH_REQUEST_ID,
27
+ async_batching_context,
27
28
  sort_batch_response_by_response_ids,
28
29
  )
29
30
  from web3._utils.caching import (
@@ -87,12 +88,14 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
87
88
  subscription_response_queue_size: int = 500,
88
89
  silence_listener_task_exceptions: bool = False,
89
90
  max_connection_retries: int = 5,
91
+ request_information_cache_size: int = 500,
90
92
  **kwargs: Any,
91
93
  ) -> None:
92
94
  super().__init__(**kwargs)
93
95
  self._request_processor = RequestProcessor(
94
96
  self,
95
97
  subscription_response_queue_size=subscription_response_queue_size,
98
+ request_information_cache_size=request_information_cache_size,
96
99
  )
97
100
  self._message_listener_task: Optional["asyncio.Task[None]"] = None
98
101
  self._batch_request_counter: Optional[int] = None
@@ -235,14 +238,17 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
235
238
  rpc_request = await self.send_request(method, params)
236
239
  return await self.recv_for_request(rpc_request)
237
240
 
241
+ @async_batching_context
238
242
  async def make_batch_request(
239
243
  self, requests: List[Tuple[RPCEndpoint, Any]]
240
244
  ) -> List[RPCResponse]:
241
245
  request_data = self.encode_batch_rpc_request(requests)
242
246
  await self.socket_send(request_data)
243
247
 
248
+ # breakpoint()
244
249
  response = cast(
245
- List[RPCResponse], await self._get_response_for_request_id(BATCH_REQUEST_ID)
250
+ List[RPCResponse],
251
+ await self._get_response_for_request_id(BATCH_REQUEST_ID),
246
252
  )
247
253
  return response
248
254
 
@@ -318,17 +324,16 @@ class PersistentConnectionProvider(AsyncJSONBaseProvider, ABC):
318
324
  for (
319
325
  response
320
326
  ) in self._request_processor._request_response_cache._data.values():
321
- request = (
322
- self._request_processor._request_information_cache.get_cache_entry(
327
+ if isinstance(response, dict):
328
+ request = self._request_processor._request_information_cache.get_cache_entry( # noqa: E501
323
329
  generate_cache_key(response["id"])
324
330
  )
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
- )
331
+ if "error" in response and request is None:
332
+ # if we find an error response in the cache without a
333
+ # corresponding request, raise the error
334
+ validate_rpc_response_and_raise_if_error(
335
+ cast(RPCResponse, response), None, logger=self.logger
336
+ )
332
337
 
333
338
  async def _message_listener(self) -> None:
334
339
  self.logger.info(
@@ -85,9 +85,12 @@ class RequestProcessor:
85
85
  self,
86
86
  provider: "PersistentConnectionProvider",
87
87
  subscription_response_queue_size: int = 500,
88
+ request_information_cache_size: int = 500,
88
89
  ) -> None:
89
90
  self._provider = provider
90
- self._request_information_cache: SimpleCache = SimpleCache(500)
91
+ self._request_information_cache: SimpleCache = SimpleCache(
92
+ request_information_cache_size
93
+ )
91
94
  self._request_response_cache: SimpleCache = SimpleCache(500)
92
95
  self._subscription_response_queue: TaskReliantQueue[
93
96
  Union[RPCResponse, TaskNotRunning]
@@ -152,6 +155,12 @@ class RequestProcessor:
152
155
  cache_key,
153
156
  request_info,
154
157
  )
158
+ if self._request_information_cache.is_full():
159
+ self._provider.logger.warning(
160
+ "Request information cache is full. This may result in unexpected "
161
+ "behavior. Consider increasing the ``request_information_cache_size`` "
162
+ "on the provider."
163
+ )
155
164
  return cache_key
156
165
 
157
166
  def pop_cached_request_information(
@@ -36,6 +36,7 @@ from web3.types import (
36
36
  )
37
37
 
38
38
  from ..._utils.batching import (
39
+ async_batching_context,
39
40
  sort_batch_response_by_response_ids,
40
41
  )
41
42
  from ..._utils.caching import (
@@ -166,6 +167,7 @@ class AsyncHTTPProvider(AsyncJSONBaseProvider):
166
167
  )
167
168
  return response
168
169
 
170
+ @async_batching_context
169
171
  async def make_batch_request(
170
172
  self, batch_requests: List[Tuple[RPCEndpoint, Any]]
171
173
  ) -> Union[List[RPCResponse], RPCResponse]:
web3/providers/rpc/rpc.py CHANGED
@@ -34,6 +34,7 @@ from web3.types import (
34
34
  )
35
35
 
36
36
  from ..._utils.batching import (
37
+ batching_context,
37
38
  sort_batch_response_by_response_ids,
38
39
  )
39
40
  from ..._utils.caching import (
@@ -174,6 +175,7 @@ class HTTPProvider(JSONBaseProvider):
174
175
  )
175
176
  return response
176
177
 
178
+ @batching_context
177
179
  def make_batch_request(
178
180
  self, batch_requests: List[Tuple[RPCEndpoint, Any]]
179
181
  ) -> Union[List[RPCResponse], RPCResponse]:
web3/types.py CHANGED
@@ -16,6 +16,9 @@ from typing import (
16
16
  Union,
17
17
  )
18
18
 
19
+ from eth_account.datastructures import (
20
+ SignedSetCodeAuthorization,
21
+ )
19
22
  from eth_typing import (
20
23
  Address,
21
24
  BlockNumber,
@@ -94,11 +97,21 @@ class RPCError(TypedDict):
94
97
  data: NotRequired[str]
95
98
 
96
99
 
100
+ class SetCodeAuthorizationData(TypedDict):
101
+ chainId: int
102
+ address: ChecksumAddress
103
+ nonce: Nonce
104
+ yParity: int
105
+ r: HexBytes
106
+ s: HexBytes
107
+
108
+
97
109
  # syntax b/c "from" keyword not allowed w/ class construction
98
110
  TxData = TypedDict(
99
111
  "TxData",
100
112
  {
101
113
  "accessList": AccessList,
114
+ "authorizationList": Sequence[SetCodeAuthorizationData],
102
115
  "blobVersionedHashes": Sequence[HexBytes],
103
116
  "blockHash": HexBytes,
104
117
  "blockNumber": BlockNumber,
@@ -125,11 +138,24 @@ TxData = TypedDict(
125
138
  total=False,
126
139
  )
127
140
 
141
+
142
+ class SetCodeAuthorizationParams(TypedDict):
143
+ chainId: int
144
+ address: Union[Address, ChecksumAddress, str]
145
+ nonce: Nonce
146
+ y_parity: int
147
+ r: int
148
+ s: int
149
+
150
+
128
151
  # syntax b/c "from" keyword not allowed w/ class construction
129
152
  TxParams = TypedDict(
130
153
  "TxParams",
131
154
  {
132
155
  "accessList": AccessList,
156
+ "authorizationList": Sequence[
157
+ Union[SetCodeAuthorizationParams, SignedSetCodeAuthorization]
158
+ ],
133
159
  "blobVersionedHashes": Sequence[Union[str, HexStr, bytes, HexBytes]],
134
160
  "chainId": int,
135
161
  "data": Union[bytes, HexStr],
@@ -186,6 +212,7 @@ class BlockData(TypedDict, total=False):
186
212
  parentBeaconBlockRoot: HexBytes
187
213
  blobGasUsed: int
188
214
  excessBlobGas: int
215
+ requestsHash: HexBytes
189
216
 
190
217
  # ExtraDataToPOAMiddleware replaces extraData w/ proofOfAuthorityData
191
218
  proofOfAuthorityData: HexBytes
web3/utils/caching.py CHANGED
@@ -25,6 +25,12 @@ class SimpleCache:
25
25
  self._size = size
26
26
  self._data: OrderedDict[str, Any] = OrderedDict()
27
27
 
28
+ def __contains__(self, key: str) -> bool:
29
+ return key in self._data
30
+
31
+ def __len__(self) -> int:
32
+ return len(self._data)
33
+
28
34
  def cache(self, key: str, value: Any) -> Tuple[Any, Dict[str, Any]]:
29
35
  evicted_items = {}
30
36
  # If the key is already in the OrderedDict just update it
@@ -59,11 +65,8 @@ class SimpleCache:
59
65
  def popitem(self, last: bool = True) -> Tuple[str, Any]:
60
66
  return self._data.popitem(last=last)
61
67
 
62
- def __contains__(self, key: str) -> bool:
63
- return key in self._data
64
-
65
- def __len__(self) -> int:
66
- return len(self._data)
68
+ def is_full(self) -> bool:
69
+ return len(self._data) >= self._size
67
70
 
68
71
  # -- async utility methods -- #
69
72
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: web3
3
- Version: 7.10.0
3
+ Version: 7.11.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
@@ -22,7 +22,7 @@ Requires-Python: >=3.8, <4
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: eth-abi>=5.0.1
25
- Requires-Dist: eth-account>=0.13.1
25
+ Requires-Dist: eth-account>=0.13.6
26
26
  Requires-Dist: eth-hash[pycryptodome]>=0.5.1
27
27
  Requires-Dist: eth-typing>=5.0.0
28
28
  Requires-Dist: eth-utils>=5.0.0
@@ -36,7 +36,7 @@ Requires-Dist: types-requests>=2.0.0
36
36
  Requires-Dist: websockets<16.0.0,>=10.0.0
37
37
  Requires-Dist: pyunormalize>=15.0.0
38
38
  Provides-Extra: tester
39
- Requires-Dist: eth-tester[py-evm]<0.13.0b1,>=0.12.0b1; extra == "tester"
39
+ Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.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"
@@ -59,7 +59,7 @@ Requires-Dist: hypothesis>=3.31.2; extra == "dev"
59
59
  Requires-Dist: tox>=4.0.0; extra == "dev"
60
60
  Requires-Dist: mypy==1.10.0; extra == "dev"
61
61
  Requires-Dist: pre-commit>=3.4.0; extra == "dev"
62
- Requires-Dist: eth-tester[py-evm]<0.13.0b1,>=0.12.0b1; extra == "dev"
62
+ Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "dev"
63
63
  Requires-Dist: py-geth>=5.1.0; extra == "dev"
64
64
  Provides-Extra: docs
65
65
  Requires-Dist: sphinx>=6.0.0; extra == "docs"
@@ -76,7 +76,7 @@ Requires-Dist: hypothesis>=3.31.2; extra == "test"
76
76
  Requires-Dist: tox>=4.0.0; extra == "test"
77
77
  Requires-Dist: mypy==1.10.0; extra == "test"
78
78
  Requires-Dist: pre-commit>=3.4.0; extra == "test"
79
- Requires-Dist: eth-tester[py-evm]<0.13.0b1,>=0.12.0b1; extra == "test"
79
+ Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "test"
80
80
  Requires-Dist: py-geth>=5.1.0; extra == "test"
81
81
  Dynamic: author
82
82
  Dynamic: author-email
@@ -7,7 +7,7 @@ ens/base_ens.py,sha256=zn3lIV5-vkBEvdOAIVkE78wwTdJx7VG_fXqQmLJ_j7w,3507
7
7
  ens/constants.py,sha256=XCO4Pntwdnw10K_AZ86V0cqcvdUoOkEZvRqoDdFPE_w,913
8
8
  ens/contract_data.py,sha256=CZa7Uxzq6rT-KonwHHM_wo-5ry0j1DMbikgEaP27Uy8,148602
9
9
  ens/ens.py,sha256=Es4dNXVhpHPTF1ZN17hmf6VIHb91fKVMCoVnFVo36ZA,21722
10
- ens/exceptions.py,sha256=FVnGiWkt1IcAATfSxoWz9hwrlVG_-WCpraTo8nSHCxA,2441
10
+ ens/exceptions.py,sha256=5h-t3G-lwYchYe4JgHaxD_a_llh56sS6qzo9Rpa0S0o,2442
11
11
  ens/utils.py,sha256=Ro2-kcowwIgNExxNDQ1CpSFiGL9WSP_NCxp_qLzGWHw,8985
12
12
  ens/specs/nf.json,sha256=tPXKzdhgu9gqNi0UhKC1kzPqSBgy4yHm5TL19RQHBqU,49038
13
13
  ens/specs/normalization_spec.json,sha256=8mmjBj4OoYCn7pD4P7hqKP_qy6rpYzpyRinSH3CCP9M,3171499
@@ -25,20 +25,20 @@ 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=-c1zBLyJOHey7CfkPO6saMVXxHUfVEvVUOcpNwO_ZB4,14450
28
+ web3/types.py,sha256=4RBfjGY0BQmlqW82PE_B7stuSyPd7LdXl5kITIt1ozI,15070
29
29
  web3/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
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=rt4sBsZ283J4cnIyIbrRaGqzq4JbpgJawzSodfQxyaU,6317
34
+ web3/_utils/batching.py,sha256=aRBNtVUMGGnJmOEOE5DiGjdw7vYKDD4Yx--EbjQZj1A,7340
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
38
38
  web3/_utils/decorators.py,sha256=bYIoVL0DjHWU2-KOmg-UYg6rICeThlLVZpH9yM2NT8s,1825
39
39
  web3/_utils/empty.py,sha256=ccgxFk5qm2x2ZeD8b17wX5cCAJPkPFuHrNQNMDslytY,132
40
- web3/_utils/encoding.py,sha256=yS3awPQshfqMqEgiZWWU2AG8Kq_mrCH9VwHvlMhrGw4,9282
41
- web3/_utils/ens.py,sha256=2BvzfegBkR7vH3Fq7lo_LsgfT912Zj-mR8eUt6o_lBA,2434
40
+ web3/_utils/encoding.py,sha256=6A5ObPUgYiaCVcfIW1EC7PlAQ9iOxliJFPS4TbZEV88,9637
41
+ web3/_utils/ens.py,sha256=hRFU7mjyTilPpcpOF3XsWAlipnVmPEKqryjntqEw-jE,2691
42
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
@@ -48,14 +48,14 @@ 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=1hAwI4Vr4-sNtxe9JxMVZ8_u9ihVbA28dye38kn9uEo,39968
51
+ web3/_utils/method_formatters.py,sha256=fLwQz7eeazK_G3LYUX4hqwyy0hlnWCGkwOrxZ38Aoxo,41614
52
52
  web3/_utils/module.py,sha256=GuVePloTlIBZwFDOjg0zasp53HSJ32umxN1nQhqW-8Y,3175
53
- web3/_utils/normalizers.py,sha256=uOaGGgkFXTa5gg6mHgPhP8n035WYpo96xtrvpRPnfNk,7455
54
- web3/_utils/rpc_abi.py,sha256=yAxO-kRqFJy_q3PoYAxLBGuiaEN6lusbQ7Wzi5S0g48,8576
53
+ web3/_utils/normalizers.py,sha256=akfV5TA9GcG1wu-BZdZnYGKtoJXgADh0XfewGaxWHno,7455
54
+ web3/_utils/rpc_abi.py,sha256=m6aHop1di0dl9TrxPi3R-CYfzGMN9ILx4dNjVZF-8YE,8595
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
- web3/_utils/utility_methods.py,sha256=7VCpo5ysvPoGjFuDj5gT1Niva2l3BADUvNeJFlL3Yvg,2559
58
+ web3/_utils/utility_methods.py,sha256=4rOzuxbBrxl2LcRih6sRDcHghwqzLOXxVbJxCXoA6Os,2591
59
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
@@ -89,13 +89,13 @@ web3/_utils/contract_sources/contract_data/storage_contract.py,sha256=CDx3lHmEhr
89
89
  web3/_utils/contract_sources/contract_data/string_contract.py,sha256=agjI-kVgRa4VBSPArnpkE1JGf09wA3aheuIQv2LIlh0,11228
90
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=KMr8_FFGeNIVCcQsOe6OmqCBn1-54TfDlESrTFxMOu4,191226
92
+ web3/_utils/module_testing/eth_module.py,sha256=SCwc_sFVyPPo1-G63bWfePgYHBvohG4MxL0EFsJkWGk,195541
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
- web3/_utils/module_testing/module_testing_utils.py,sha256=9NfSislx36DWe9IcK-IYZHzMDNp9JKcOJjJ7jIW_wrU,5969
96
+ web3/_utils/module_testing/module_testing_utils.py,sha256=k7hS3ztCdW6HVlrBVqXzFIkS_wWfRQCGQ3yjjGnMHb0,5650
97
97
  web3/_utils/module_testing/net_module.py,sha256=ifUTC-5fTcQbwpm0X09OdD5RSPnn00T8klFeYe8tTm4,1272
98
- web3/_utils/module_testing/persistent_connection_provider.py,sha256=mYteu_EirYHENJbxoPEIuV3vIGhJqH5MaburqQtfwEE,30603
98
+ web3/_utils/module_testing/persistent_connection_provider.py,sha256=443ay1jYmcYgkPAJBxS_-GU9und09CMotKD5dVABaD4,30669
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
@@ -130,27 +130,27 @@ 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=fvfqexbB1bLamXQhmvRwmq8UdAUySCqUZy7RFwPcpLM,7701
133
+ web3/providers/async_base.py,sha256=v2geb4qcg1EmWg72P6v_lMQAHtwFhRrhJQf0CKv10fU,7730
134
134
  web3/providers/auto.py,sha256=Zx3CHKoRkmiw3Jte2BLNPiJAFd8rDXNGfA3XtxZvHgc,3465
135
- web3/providers/base.py,sha256=2morKtz6l_XuMQ8gt9eNtC0r64JnsIzFrUHlJQQ7F7Y,6440
136
- web3/providers/ipc.py,sha256=19jm5e-mytwx_s-s8hGMCK9sfOCgwwr_1hHcHQyB_7o,6514
137
- web3/providers/legacy_websocket.py,sha256=p7EgbA6WzqGqIonnTjcYMS-2jPg5yLXdUtrOpp94ums,4733
135
+ web3/providers/base.py,sha256=fbs0sFTV9OGfQVpdO526OGciH7KLCnzYa0iaHzucFaA,6466
136
+ web3/providers/ipc.py,sha256=HkBirknRORxxrjWC1zo_elhyIC8eDID2nDmMakqxwVE,6558
137
+ web3/providers/legacy_websocket.py,sha256=Y-pEq7r_0USPA9K8wtAT7dncaaUENwOimTvAdR3m2c0,4777
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
- web3/providers/eth_tester/middleware.py,sha256=3h8q1WBu5CLiBYwonWFeAR_5pUy_vqgiDmi7wOzuorc,12971
141
+ web3/providers/eth_tester/middleware.py,sha256=JS-cjGF5BtF43dp-bP7QDv0RWyq1iqwiq81RhTAswjI,13730
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=_YNJnhCHEWP0Vhyh0geYIO5WwzOwN12jMJPdR9dwwSs,16176
144
+ web3/providers/persistent/persistent.py,sha256=LadhulIrKoazx8uyxw2fEYxI5Wt_j1MElPU_IVWa6so,16462
145
145
  web3/providers/persistent/persistent_connection.py,sha256=NxxS-KeJhV07agg8CtJvmE-Ff-wLggQYpz4gdgVRDNU,3011
146
- web3/providers/persistent/request_processor.py,sha256=MEfPM5nezjvXS8KMpH65JEIP7qNZ4uf56CcbN-4Hhr0,14712
146
+ web3/providers/persistent/request_processor.py,sha256=nT48Ae1nQxo3DmcI0PRVM5-Y80OYTnpkSeC6eFnaKS4,15130
147
147
  web3/providers/persistent/subscription_container.py,sha256=yd5pjjz_YnRLuUoxZUxt29Md1VUTemdUIBq8PCJre6Y,1734
148
148
  web3/providers/persistent/subscription_manager.py,sha256=8HQgVlm5hgd55-FHEeVse13oh6mP1p6T_pWX5UfDWng,11564
149
149
  web3/providers/persistent/utils.py,sha256=gfY7w1HB8xuE7OujSrbwWYjQuQ8nzRBoxoL8ESinqWM,1140
150
150
  web3/providers/persistent/websocket.py,sha256=STf31VNdwidMeAeeL1r5f8v3l66xChKkxZpnZzUiYO8,4577
151
151
  web3/providers/rpc/__init__.py,sha256=mObsuwjr7xyHnnRlwzsmbp2JgZdn2NXSSctvpye4AuQ,149
152
- web3/providers/rpc/async_rpc.py,sha256=r8OYrCh0MoUUBwRLT8rLo98cjziLs1E782vCEzFzGVc,6314
153
- web3/providers/rpc/rpc.py,sha256=qb17d1rocm1xOV7Pcqye9lQqFfbWmRnB6W-m1E1mB5A,6075
152
+ web3/providers/rpc/async_rpc.py,sha256=QyToHBRKLKGlgRAGizL4pWMX9r1YEZLFMO8y99Vc7Yc,6370
153
+ web3/providers/rpc/rpc.py,sha256=MHYsuE88anowGJ19G0R-aSldwl-d6ot2f098B31N4X8,6119
154
154
  web3/providers/rpc/utils.py,sha256=_mtoZMMIoZpPA8J8U5DfRxaNQmi8bw0ZVUiqn1Nz4co,2154
155
155
  web3/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
156
  web3/scripts/install_pre_releases.py,sha256=uVxsZk239640yxiqlPhfXxZKSsh3858pURKppi9kM5U,821
@@ -161,11 +161,11 @@ web3/utils/__init__.py,sha256=FpwKsCqPgsv64PFSaFuFYmseadMfQj78quw_6Vgq0VQ,1932
161
161
  web3/utils/abi.py,sha256=zH54xZMXGL9nqVUavNhSZ4ZsMJM3ALdDZwBD0zgrfWU,26318
162
162
  web3/utils/address.py,sha256=nzPLiWWCG9BqstDeDOcDwEpteJ8im6ywjLHKpd5akhw,1186
163
163
  web3/utils/async_exception_handling.py,sha256=OoKbLNwWcY9dxLCbOfxcQPSB1OxWraNqcw8V0ZX-JaQ,3173
164
- web3/utils/caching.py,sha256=Rkt5IN8A7YBZYXlCRaWa64FiDhTXsxzTGGQdGBB4Nzw,2514
164
+ web3/utils/caching.py,sha256=miulUjLOjlOfTux8HWBklpRIa6_fVNTVFHIWcbZt27o,2591
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.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,,
167
+ web3-7.11.0.dist-info/licenses/LICENSE,sha256=ENGC4gSn0kYaC_mlaXOEwCKmA6W7Z9MeSemc5O2k-h0,1095
168
+ web3-7.11.0.dist-info/METADATA,sha256=LCle5NEiQnflSAY6b5O2yLrw6o0hFqbGhwzy78m4azk,5621
169
+ web3-7.11.0.dist-info/WHEEL,sha256=ck4Vq1_RXyvS4Jt6SI0Vz6fyVs4GWg7AINwpsaGEgPE,91
170
+ web3-7.11.0.dist-info/top_level.txt,sha256=iwupuJh7wgypXrpk_awszyri3TahRr5vxSphNyvt1bU,9
171
+ web3-7.11.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (80.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5