web3 7.3.0__py3-none-any.whl → 7.4.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.
@@ -113,7 +113,7 @@ UNKNOWN_HASH = HexStr(
113
113
  # "test offchain lookup" as an abi-encoded string
114
114
  OFFCHAIN_LOOKUP_TEST_DATA = "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001474657374206f6666636861696e206c6f6f6b7570000000000000000000000000" # noqa: E501
115
115
  OFFCHAIN_LOOKUP_4BYTE_DATA = "0x556f1830"
116
- OFFCHAIN_LOOKUP_RETURN_DATA = "00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001c0da96d05a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002c68747470733a2f2f776562332e70792f676174657761792f7b73656e6465727d2f7b646174617d2e6a736f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002568747470733a2f2f776562332e70792f676174657761792f7b73656e6465727d2e6a736f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001474657374206f6666636861696e206c6f6f6b757000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001474657374206f6666636861696e206c6f6f6b7570000000000000000000000000" # noqa: E501
116
+ OFFCHAIN_LOOKUP_RETURN_DATA = "00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a0da96d05a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002c68747470733a2f2f776562332e70792f676174657761792f7b73656e6465727d2f7b646174617d2e6a736f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001768747470733a2f2f776562332e70792f6761746577617900000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001474657374206f6666636861696e206c6f6f6b757000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001474657374206f6666636861696e206c6f6f6b7570000000000000000000000000" # noqa: E501
117
117
  # "web3py" as an abi-encoded string
118
118
  WEB3PY_AS_HEXBYTES = "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000067765623370790000000000000000000000000000000000000000000000000000" # noqa: E501
119
119
 
@@ -1628,7 +1628,7 @@ class AsyncEthModuleTest:
1628
1628
  async_mock_offchain_lookup_request_response(
1629
1629
  monkeypatch,
1630
1630
  http_method="POST",
1631
- mocked_request_url=f"https://web3.py/gateway/{normalized_contract_address}.json", # noqa: E501
1631
+ mocked_request_url="https://web3.py/gateway",
1632
1632
  mocked_status_code=200,
1633
1633
  mocked_json_data=WEB3PY_AS_HEXBYTES,
1634
1634
  sender=normalized_contract_address,
@@ -4091,7 +4091,7 @@ class EthModuleTest:
4091
4091
  mock_offchain_lookup_request_response(
4092
4092
  monkeypatch,
4093
4093
  http_method="POST",
4094
- mocked_request_url=f"https://web3.py/gateway/{normalized_contract_address}.json", # noqa: E501
4094
+ mocked_request_url="https://web3.py/gateway",
4095
4095
  mocked_status_code=200,
4096
4096
  mocked_json_data=WEB3PY_AS_HEXBYTES,
4097
4097
  sender=normalized_contract_address,
@@ -147,7 +147,7 @@ def mock_offchain_lookup_request_response(
147
147
  if url_from_args == mocked_request_url:
148
148
  assert kwargs["timeout"] == DEFAULT_HTTP_TIMEOUT
149
149
  if http_method.upper() == "POST":
150
- assert kwargs["data"] == {"data": calldata, "sender": sender}
150
+ assert kwargs["json"] == {"data": calldata, "sender": sender}
151
151
  return MockedResponse()
152
152
 
153
153
  # else, make a normal request (no mocking)
@@ -196,8 +196,8 @@ def async_mock_offchain_lookup_request_response(
196
196
  # mock response only to specified url while validating appropriate fields
197
197
  if url_from_args == mocked_request_url:
198
198
  assert kwargs["timeout"] == ClientTimeout(DEFAULT_HTTP_TIMEOUT)
199
- if http_method.upper() == "post":
200
- assert kwargs["data"] == {"data": calldata, "sender": sender}
199
+ if http_method.upper() == "POST":
200
+ assert kwargs["json"] == {"data": calldata, "sender": sender}
201
201
  return AsyncMockedResponse()
202
202
 
203
203
  # else, make a normal request (no mocking)
@@ -35,6 +35,14 @@ class RequestMocker:
35
35
  Context manager to mock requests made by a web3 instance. This is meant to be used
36
36
  via a ``request_mocker`` fixture defined within the appropriate context.
37
37
 
38
+ ************************************************************************************
39
+ Important: When mocking results, it's important to keep in mind the types that
40
+ clients return. For example, what we commonly translate to integers are returned
41
+ as hex strings in the RPC response and should be mocked as such for more
42
+ accurate testing.
43
+ ************************************************************************************
44
+
45
+
38
46
  Example:
39
47
  -------
40
48
 
@@ -105,10 +113,9 @@ class RequestMocker:
105
113
 
106
114
  return self
107
115
 
108
- # define __exit__ with typing information
109
116
  def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None:
110
117
  # mypy error: Cannot assign to a method
111
- self.w3.provider.make_request = self._make_request # type: ignore[method-assign] # noqa: E501
118
+ self.w3.provider.make_request = self._make_request # type: ignore[assignment]
112
119
  # reset request func cache to re-build request_func with original make_request
113
120
  self.w3.provider._request_func_cache = (None, None)
114
121
 
@@ -167,6 +174,7 @@ class RequestMocker:
167
174
  return mocked_response
168
175
 
169
176
  # -- async -- #
177
+
170
178
  async def __aenter__(self) -> "Self":
171
179
  # mypy error: Cannot assign to a method
172
180
  self.w3.provider.make_request = self._async_mock_request_handler # type: ignore[method-assign] # noqa: E501
@@ -176,7 +184,7 @@ class RequestMocker:
176
184
 
177
185
  async def __aexit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None:
178
186
  # mypy error: Cannot assign to a method
179
- self.w3.provider.make_request = self._make_request # type: ignore[method-assign] # noqa: E501
187
+ self.w3.provider.make_request = self._make_request # type: ignore[assignment]
180
188
  # reset request func cache to re-build request_func with original make_request
181
189
  self.w3.provider._request_func_cache = (None, None)
182
190
 
@@ -5,6 +5,9 @@ from typing import (
5
5
  Optional,
6
6
  )
7
7
 
8
+ from aiohttp import (
9
+ ClientTimeout,
10
+ )
8
11
  from eth_typing import (
9
12
  URI,
10
13
  HexStr,
@@ -72,7 +75,7 @@ class AsyncBeacon:
72
75
  ) -> Dict[str, Any]:
73
76
  uri = URI(self.base_url + endpoint_uri)
74
77
  return await self._request_session_manager.async_json_make_get_request(
75
- uri, params=params, timeout=self.request_timeout
78
+ uri, params=params, timeout=ClientTimeout(self.request_timeout)
76
79
  )
77
80
 
78
81
  # [ BEACON endpoints ]
@@ -21,7 +21,6 @@ from eth_abi.exceptions import (
21
21
  )
22
22
  from eth_typing import (
23
23
  ABI,
24
- ABIComponentIndexed,
25
24
  ABIElement,
26
25
  ABIEvent,
27
26
  ABIFunction,
@@ -295,7 +294,7 @@ class BaseContractEvent:
295
294
  # if no non-indexed args in argument filters, since indexed args are
296
295
  # filtered pre-call to ``eth_getLogs`` by building specific ``topics``.
297
296
  not any(
298
- not cast(ABIComponentIndexed, arg)["indexed"]
297
+ not arg["indexed"]
299
298
  for arg in event_abi["inputs"]
300
299
  if arg["name"] in argument_filters
301
300
  )
@@ -10,6 +10,7 @@ from typing import (
10
10
  Optional,
11
11
  Set,
12
12
  Tuple,
13
+ Union,
13
14
  cast,
14
15
  )
15
16
 
@@ -21,7 +22,10 @@ from eth_utils import (
21
22
 
22
23
  from web3._utils.caching import (
23
24
  CACHEABLE_REQUESTS,
24
- async_handle_request_caching,
25
+ )
26
+ from web3._utils.empty import (
27
+ Empty,
28
+ empty,
25
29
  )
26
30
  from web3._utils.encoding import (
27
31
  FriendlyJsonSerde,
@@ -88,8 +92,8 @@ class AsyncBaseProvider:
88
92
  cache_allowed_requests: bool = False,
89
93
  cacheable_requests: Set[RPCEndpoint] = None,
90
94
  request_cache_validation_threshold: Optional[
91
- RequestCacheValidationThreshold
92
- ] = RequestCacheValidationThreshold.FINALIZED,
95
+ Union[RequestCacheValidationThreshold, int, Empty]
96
+ ] = empty,
93
97
  ) -> None:
94
98
  self._request_cache = SimpleCache(1000)
95
99
  self.cache_allowed_requests = cache_allowed_requests
@@ -132,7 +136,6 @@ class AsyncBaseProvider:
132
136
  self._batch_request_func_cache = (middleware, accumulator_fn)
133
137
  return self._batch_request_func_cache[-1]
134
138
 
135
- @async_handle_request_caching
136
139
  async def make_request(self, method: RPCEndpoint, params: Any) -> RPCResponse:
137
140
  raise NotImplementedError("Providers must implement this method")
138
141
 
web3/providers/base.py CHANGED
@@ -9,6 +9,7 @@ from typing import (
9
9
  Optional,
10
10
  Set,
11
11
  Tuple,
12
+ Union,
12
13
  cast,
13
14
  )
14
15
 
@@ -19,7 +20,10 @@ from eth_utils import (
19
20
 
20
21
  from web3._utils.caching import (
21
22
  CACHEABLE_REQUESTS,
22
- handle_request_caching,
23
+ )
24
+ from web3._utils.empty import (
25
+ Empty,
26
+ empty,
23
27
  )
24
28
  from web3._utils.encoding import (
25
29
  FriendlyJsonSerde,
@@ -71,8 +75,8 @@ class BaseProvider:
71
75
  cache_allowed_requests: bool = False,
72
76
  cacheable_requests: Set[RPCEndpoint] = None,
73
77
  request_cache_validation_threshold: Optional[
74
- RequestCacheValidationThreshold
75
- ] = RequestCacheValidationThreshold.FINALIZED,
78
+ Union[RequestCacheValidationThreshold, int, Empty]
79
+ ] = empty,
76
80
  ) -> None:
77
81
  self._request_cache = SimpleCache(1000)
78
82
  self.cache_allowed_requests = cache_allowed_requests
@@ -104,7 +108,6 @@ class BaseProvider:
104
108
 
105
109
  return self._request_func_cache[-1]
106
110
 
107
- @handle_request_caching
108
111
  def make_request(self, method: RPCEndpoint, params: Any) -> RPCResponse:
109
112
  raise NotImplementedError("Providers must implement this method")
110
113
 
web3/providers/ipc.py CHANGED
@@ -32,6 +32,9 @@ from web3.types import (
32
32
  from .._utils.batching import (
33
33
  sort_batch_response_by_response_ids,
34
34
  )
35
+ from .._utils.caching import (
36
+ handle_request_caching,
37
+ )
35
38
  from ..exceptions import (
36
39
  Web3TypeError,
37
40
  Web3ValueError,
@@ -189,6 +192,7 @@ class IPCProvider(JSONBaseProvider):
189
192
  timeout.sleep(0)
190
193
  continue
191
194
 
195
+ @handle_request_caching
192
196
  def make_request(self, method: RPCEndpoint, params: Any) -> RPCResponse:
193
197
  self.logger.debug(
194
198
  f"Making request IPC. Path: {self.ipc_path}, Method: {method}"
@@ -56,15 +56,12 @@ async def async_handle_offchain_lookup(
56
56
  response = await session.get(
57
57
  formatted_url, timeout=ClientTimeout(DEFAULT_HTTP_TIMEOUT)
58
58
  )
59
- elif "{sender}" in url:
59
+ else:
60
60
  response = await session.post(
61
61
  formatted_url,
62
- data={"data": formatted_data, "sender": formatted_sender},
62
+ json={"data": formatted_data, "sender": formatted_sender},
63
63
  timeout=ClientTimeout(DEFAULT_HTTP_TIMEOUT),
64
64
  )
65
- else:
66
- await session.close()
67
- raise Web3ValidationError("url not formatted properly.")
68
65
  except Exception:
69
66
  continue # try next url if timeout or issues making the request
70
67
 
@@ -51,17 +51,12 @@ def handle_offchain_lookup(
51
51
  try:
52
52
  if "{data}" in url and "{sender}" in url:
53
53
  response = session.get(formatted_url, timeout=DEFAULT_HTTP_TIMEOUT)
54
- elif "{sender}" in url:
54
+ else:
55
55
  response = session.post(
56
56
  formatted_url,
57
- data={
58
- "data": formatted_data,
59
- "sender": formatted_sender,
60
- },
57
+ json={"data": formatted_data, "sender": formatted_sender},
61
58
  timeout=DEFAULT_HTTP_TIMEOUT,
62
59
  )
63
- else:
64
- raise Web3ValidationError("url not formatted properly.")
65
60
  except Exception:
66
61
  continue # try next url if timeout or issues making the request
67
62
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: web3
3
- Version: 7.3.0
3
+ Version: 7.4.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
@@ -1,5 +1,5 @@
1
1
  ens/__init__.py,sha256=BtOyGF_JrIpWFTr_T1GCJuUtmZI-Qf-v560uzTWp18E,471
2
- ens/_normalization.py,sha256=U1CbJhX6R1kYPPlYq4IampbSuql97J6tcq3xnIwmpEs,16786
2
+ ens/_normalization.py,sha256=t_abmu3z2QcTcX6gVaSfdUzz0_E5aGCPvuj0Hftd-Kg,16900
3
3
  ens/abis.py,sha256=0Ec_lqe7HBsVpQrID3ccFMhx8Vb7S0TGFbeuRdXhuCE,34745
4
4
  ens/async_ens.py,sha256=o-1m6dMC9Wcq9lXxJJ2UzcJZpMTeNBD82dnpvUFja3k,22669
5
5
  ens/auto.py,sha256=w_E6Ua5ZmJVxfdii2aG5I_kQG5B9U5Y2qIFKVNhXo98,41
@@ -9,8 +9,8 @@ ens/contract_data.py,sha256=CZa7Uxzq6rT-KonwHHM_wo-5ry0j1DMbikgEaP27Uy8,148602
9
9
  ens/ens.py,sha256=4LLQ_XDHhlPlG0-RGAErGZ9ltybg4yKyftdW84AeldE,21718
10
10
  ens/exceptions.py,sha256=FVnGiWkt1IcAATfSxoWz9hwrlVG_-WCpraTo8nSHCxA,2441
11
11
  ens/utils.py,sha256=Ro2-kcowwIgNExxNDQ1CpSFiGL9WSP_NCxp_qLzGWHw,8985
12
- ens/specs/nf.json,sha256=kGZcTE_UxTl3WZwMUP6m8KbQQOKdw7PWzmuW7ewQSUs,48403
13
- ens/specs/normalization_spec.json,sha256=xn3N9a-6KHMLu3MeCBsmOxSzIzUQykzE9EscKK1a3w8,3115334
12
+ ens/specs/nf.json,sha256=tPXKzdhgu9gqNi0UhKC1kzPqSBgy4yHm5TL19RQHBqU,49038
13
+ ens/specs/normalization_spec.json,sha256=8mmjBj4OoYCn7pD4P7hqKP_qy6rpYzpyRinSH3CCP9M,3171499
14
14
  web3/__init__.py,sha256=P11QAEV_GYoZq9ij8gDzFx5tKzJY2aMXG-keg2Lg1xs,1277
15
15
  web3/constants.py,sha256=eQLRQVMFPbgpOjjkPTMHkY-syncJuO-sPX5UrCSRjzQ,564
16
16
  web3/datastructures.py,sha256=LbUsfE0icgRRTXsC_LATR-LtmO7MAYwYB5D-6LCX1jE,11366
@@ -27,7 +27,7 @@ web3/testing.py,sha256=Ury_-7XSstJ8bkCfdGEi4Cr76QzSfW7v_zfPlDlLJj0,923
27
27
  web3/tracing.py,sha256=ZcOam7t-uEZXyui6Cndv6RYeCZP5jh1TBn2hG8sv17Q,3098
28
28
  web3/types.py,sha256=u_GhL4B5VVyhAydizlOG8GWf1PL_EMnadme-L1HpS2E,11922
29
29
  web3/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- web3/_utils/abi.py,sha256=6-k4oKesmJ74ZXwH1yKg-zW6UjieUgnXuWK0gzGSC6U,25674
30
+ web3/_utils/abi.py,sha256=faBdiPgPrS__Nh5tGruGFzLzVwNxoooXVsOeGPgGH4s,25540
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
@@ -59,8 +59,8 @@ web3/_utils/utility_methods.py,sha256=7VCpo5ysvPoGjFuDj5gT1Niva2l3BADUvNeJFlL3Yv
59
59
  web3/_utils/validation.py,sha256=TYfkiOIT37zvRy1PqvP9lvbdfLmn1HvlBbHvrFifx1A,6351
60
60
  web3/_utils/windows.py,sha256=IlFUtqYSbUUfFRx60zvEwpiZd080WpOrA4ojm4tmSEE,994
61
61
  web3/_utils/caching/__init__.py,sha256=ri-5UGz5PPuYW9W1c2BX5lUJn1oZuvErbDz5NweiveA,284
62
- web3/_utils/caching/caching_utils.py,sha256=LRIbBPIPS2eZGO_vU_yizHhhPlt4y7nC90msddiJcNA,8365
63
- web3/_utils/caching/request_caching_validation.py,sha256=rwB_PFMRyWyIYu1jiQbr86mNK-zhwyxsPqPrRpb-cnY,4123
62
+ web3/_utils/caching/caching_utils.py,sha256=Miqhx1Ne9FVlQK8xVKsMzglIanr6vO887Rm5FWB0KGI,11739
63
+ web3/_utils/caching/request_caching_validation.py,sha256=iKebggGM33toanGpfEO0Zx1sIWYfShazdnHnRXlddI4,9839
64
64
  web3/_utils/compat/__init__.py,sha256=RUD0S8wzEv2a9o1UhJD0SIECjzatjJl7vc6RCM2d1Fs,571
65
65
  web3/_utils/contract_sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  web3/_utils/contract_sources/compile_contracts.py,sha256=C3eLY6gJ4xj9FunNwn4YPb9c8ElORkN8O4ddBa_kKqI,6486
@@ -76,7 +76,7 @@ web3/_utils/contract_sources/contract_data/extended_resolver.py,sha256=tY1mcWTI2
76
76
  web3/_utils/contract_sources/contract_data/fallback_function_contract.py,sha256=1weuAAyUYH_loLlTiC-R3CsodsI95k5Dn5NJqGlI8qQ,1649
77
77
  web3/_utils/contract_sources/contract_data/function_name_tester_contract.py,sha256=qQwJK54vprpBapkWqPfBI3YXpdfDtI9W73b04x19IkU,1894
78
78
  web3/_utils/contract_sources/contract_data/math_contract.py,sha256=7KoMC9ppWjn0h1Rw5gb-oo65pul6Ar_KmY24_eYcPAs,7635
79
- web3/_utils/contract_sources/contract_data/offchain_lookup.py,sha256=5XYgMSwlyW-ep41slxpcs2bz2-gdKrCO8KTKoKpWIZ4,16440
79
+ web3/_utils/contract_sources/contract_data/offchain_lookup.py,sha256=3QuoZdV7DnXKeJdRRz08NwQQaVbHFgsEZ4fwTgX_GFQ,16424
80
80
  web3/_utils/contract_sources/contract_data/offchain_resolver.py,sha256=O_Xl5rfnRXGaOy5TXK25Ch-r7JhA4n-jYAsQi-EPKGI,31829
81
81
  web3/_utils/contract_sources/contract_data/panic_errors_contract.py,sha256=tOLQHKGuD0pgJC9lC_94DEbf0ERxYsxMeRgugMDI4Ic,15263
82
82
  web3/_utils/contract_sources/contract_data/payable_tester.py,sha256=0LWImIizIiiX8c6x-A8NOsov_837RD8WUzfJ-RybaoA,1827
@@ -88,23 +88,23 @@ web3/_utils/contract_sources/contract_data/storage_contract.py,sha256=VrIyFZ6gPp
88
88
  web3/_utils/contract_sources/contract_data/string_contract.py,sha256=wuNXF7O6Y_FP178b5YeBSZdBwrDGJdrv43GxtHs2AMA,11228
89
89
  web3/_utils/contract_sources/contract_data/tuple_contracts.py,sha256=wy_blOQtNL6ipn-sxDGhi5MgUQW7s_8JW5DkcMeQdbk,23176
90
90
  web3/_utils/module_testing/__init__.py,sha256=tPFAaX7xOR50CPTq24UeY-1CX1LQxxmEOPr0-tIRkoE,376
91
- web3/_utils/module_testing/eth_module.py,sha256=D8frcppmzxzug5TYkzP7m-QW_SoLa9xHq2fJT9WWSJE,187685
91
+ web3/_utils/module_testing/eth_module.py,sha256=Rhb6aq9G6pPVMfShPAAHoFIv_JeA1jvagCfjbLUxk78,187521
92
92
  web3/_utils/module_testing/go_ethereum_admin_module.py,sha256=_c-6SyzZkfAJ-7ySXUpw9FEr4cg-ShRdAGSAHWanCtY,3406
93
93
  web3/_utils/module_testing/go_ethereum_txpool_module.py,sha256=5f8XL8-2x3keyGRaITxMQYl9oQzjgqGn8zobB-j9BPs,1176
94
- web3/_utils/module_testing/module_testing_utils.py,sha256=koDvLoR5q8wFOz_8o9oRpEpjbuvU8cUbBe1PM39LjG0,7304
94
+ web3/_utils/module_testing/module_testing_utils.py,sha256=cYkvrgrtJJ8Tsu61S1jQGfCOadc6GuYZOuADL_J91DE,7304
95
95
  web3/_utils/module_testing/net_module.py,sha256=ifUTC-5fTcQbwpm0X09OdD5RSPnn00T8klFeYe8tTm4,1272
96
96
  web3/_utils/module_testing/persistent_connection_provider.py,sha256=SPj5PKS9_1OncT2_Zx8x75Xj2hl22r4ciKqqsjxoS1w,17885
97
- web3/_utils/module_testing/utils.py,sha256=7jYtIKfOdrQnj1pDB0gLyoN_b8U3ZyEYbMU4dxaLljs,10023
97
+ web3/_utils/module_testing/utils.py,sha256=uFHV36vfp1DFlweXxFZ2lsi8VjkxxDCqLpIJ0HDNFoU,10403
98
98
  web3/_utils/module_testing/web3_module.py,sha256=7c6penGbHn381fPTYY6DsXKv56xGQpYkHljOsr2gbaw,25413
99
99
  web3/auto/__init__.py,sha256=ZbzAiCZMdt_tCTTPvH6t8NCVNroKKkt7TSVBBNR74Is,44
100
100
  web3/auto/gethdev.py,sha256=MuWD2gxv0xDv_SzPsp9mSkS1oG4P54xFK83qw9NvswA,438
101
101
  web3/beacon/__init__.py,sha256=Ac6YiNgU8D8Ynnh5RwSCx2NwPyjnpFjpXeHuSssFbaU,113
102
102
  web3/beacon/api_endpoints.py,sha256=0mHrYFYAWHfF9OGzrFdg012L_ocU2nGDXUTU1isOo7o,2272
103
- web3/beacon/async_beacon.py,sha256=9-V-rfPwj-SbksHKSYs2Quk8frE2AJXjH908cbSM8v0,8098
103
+ web3/beacon/async_beacon.py,sha256=CPzvyZnMibSYsoIJVrjd3XvZ9aB0bgQRtCP0X0Ekp0o,8156
104
104
  web3/beacon/beacon.py,sha256=tPA9ABPm6MyzbzutiphkhFzOAxLresmftG5UjWkuNyY,7236
105
105
  web3/contract/__init__.py,sha256=qeZRtTw9xriwoD82w6vePDuPBZ35-CMVdkzViBSH3Qs,293
106
106
  web3/contract/async_contract.py,sha256=KYB-e1GCTZINTRu0Y1f2IIp4LWg2UvKIRFFSIrsjfUs,20593
107
- web3/contract/base_contract.py,sha256=qfYzMC-PlefkAQVGplXwdYi5I37DwEe5Slbp5-oOc6U,38053
107
+ web3/contract/base_contract.py,sha256=W2O21wODLSkR3AFtairJpPsdnqkWpOVhSBr0ICr5l3A,38001
108
108
  web3/contract/contract.py,sha256=wB5g6H7PoAyp4wN__3GGXMrDCvEYuj6crZL4Q2ipTRE,20174
109
109
  web3/contract/utils.py,sha256=bonHXESnb9xhvMzJoi271qppwpy2D6yaHtUwt56wEJc,17853
110
110
  web3/eth/__init__.py,sha256=qDLxOcHHIzzPD7xzwy6Wcs0lLPQieB7WN0Ax25ctit8,197
@@ -128,10 +128,10 @@ web3/middleware/signing.py,sha256=1DOYxpmCra-Qq5r42237q3b54uDO-QHjMVMulxVpLVQ,58
128
128
  web3/middleware/stalecheck.py,sha256=oWRA69BGIbNGjHSnUVOBnoxOYJZYjzRzlqqL5RRlnzk,2680
129
129
  web3/middleware/validation.py,sha256=QxActrJk_zsXXiwpadP2MUjZBS5E50OJOtUwVrm9XVo,4280
130
130
  web3/providers/__init__.py,sha256=YkcSzE9AubvSp-UfvJjyCrdepvziysbqeq2LT0ImDoc,936
131
- web3/providers/async_base.py,sha256=GXuIkY9ePp5bSJjfRobBN6PWaCSkazm8oi8DTOuEM0c,7401
131
+ web3/providers/async_base.py,sha256=6UON8Ocsif93uqPWIdtubzwg6JpCYHf2JLao-F19LL4,7383
132
132
  web3/providers/auto.py,sha256=Zx3CHKoRkmiw3Jte2BLNPiJAFd8rDXNGfA3XtxZvHgc,3465
133
- web3/providers/base.py,sha256=uFJnqTJal3z8_xpwjj5fVxQrULVo1jtpruKXF09blG0,6431
134
- web3/providers/ipc.py,sha256=wvC8Eq6OZ65ctpUAn9SvoBCLR_x-Hgur390_b3AU100,6355
133
+ web3/providers/base.py,sha256=QtBsOCdYeIBF1d3MzQJG0Vo5LduHgAbdiNDcXs9ZQyo,6425
134
+ web3/providers/ipc.py,sha256=3kO7GE8IxVqwpqgfLdomn-L_SeYG48Qs94FsvSdG-tI,6444
135
135
  web3/providers/legacy_websocket.py,sha256=6mFEQVlVoc71AyDvPGGt3KQudQKdMxoHvokg6Fb4VOw,4767
136
136
  web3/providers/eth_tester/__init__.py,sha256=UggyBQdeAyjy1awATW1933jkJcpqqaUYUQEFAQnA2o0,163
137
137
  web3/providers/eth_tester/defaults.py,sha256=9aPe0x2C5wahdGI_rZjiGR3Fe2LbMjKWH9o6eZPuY-Q,12577
@@ -156,11 +156,11 @@ web3/scripts/release/test_package.py,sha256=DH0AryllcF4zfpWSd0NLPSQGHNoC-Qng5WYY
156
156
  web3/utils/__init__.py,sha256=zwf8bM-Dl2_L9u_cR5K22_krl0vx4QBAANoBssmbDlU,1857
157
157
  web3/utils/abi.py,sha256=iSBaCW41UxB1q1UHDPwJ1QJbdiuYmTWNu8m6E28DqlY,18672
158
158
  web3/utils/address.py,sha256=KC_IpEbixSCuMhaW6V2QCyyJTYKYGS9c8QtI9_aH7zQ,967
159
- web3/utils/async_exception_handling.py,sha256=GZWSBFC0-Wmwz1tpTie-1AKRbIQH7JkmBpf5bXrUTzY,3320
159
+ web3/utils/async_exception_handling.py,sha256=OoKbLNwWcY9dxLCbOfxcQPSB1OxWraNqcw8V0ZX-JaQ,3173
160
160
  web3/utils/caching.py,sha256=Rkt5IN8A7YBZYXlCRaWa64FiDhTXsxzTGGQdGBB4Nzw,2514
161
- web3/utils/exception_handling.py,sha256=k31JROfUyKIm9PoEWOtYSkIq9wL8SOBwQfnSLNQyfnM,3097
162
- web3-7.3.0.dist-info/LICENSE,sha256=ScEyLx1vWrB0ybKiZKKTXm5QhVksHCEUtTp4lwYV45I,1095
163
- web3-7.3.0.dist-info/METADATA,sha256=rUvDeXl5wdquUWhIzLbAv0Vnd4HT5xwh1v-FSe1typY,5317
164
- web3-7.3.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
165
- web3-7.3.0.dist-info/top_level.txt,sha256=iwupuJh7wgypXrpk_awszyri3TahRr5vxSphNyvt1bU,9
166
- web3-7.3.0.dist-info/RECORD,,
161
+ web3/utils/exception_handling.py,sha256=n-MtO5LNzJDVzHTzO6olzfb2_qEVtVRvink0ixswg-Y,2917
162
+ web3-7.4.0.dist-info/LICENSE,sha256=ScEyLx1vWrB0ybKiZKKTXm5QhVksHCEUtTp4lwYV45I,1095
163
+ web3-7.4.0.dist-info/METADATA,sha256=UorW1bAPlnfCwiyOsBE-3cOVYoetp_PC32ABTvpCijE,5317
164
+ web3-7.4.0.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
165
+ web3-7.4.0.dist-info/top_level.txt,sha256=iwupuJh7wgypXrpk_awszyri3TahRr5vxSphNyvt1bU,9
166
+ web3-7.4.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
File without changes