web3 7.3.1__py3-none-any.whl → 7.5.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.
Files changed (48) hide show
  1. web3/_utils/caching/caching_utils.py +125 -24
  2. web3/_utils/caching/request_caching_validation.py +204 -47
  3. web3/_utils/contract_sources/contract_data/arrays_contract.py +3 -3
  4. web3/_utils/contract_sources/contract_data/bytes_contracts.py +5 -5
  5. web3/_utils/contract_sources/contract_data/constructor_contracts.py +7 -7
  6. web3/_utils/contract_sources/contract_data/contract_caller_tester.py +3 -3
  7. web3/_utils/contract_sources/contract_data/emitter_contract.py +3 -3
  8. web3/_utils/contract_sources/contract_data/event_contracts.py +5 -5
  9. web3/_utils/contract_sources/contract_data/extended_resolver.py +3 -3
  10. web3/_utils/contract_sources/contract_data/fallback_function_contract.py +3 -3
  11. web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +3 -3
  12. web3/_utils/contract_sources/contract_data/math_contract.py +3 -3
  13. web3/_utils/contract_sources/contract_data/offchain_lookup.py +3 -3
  14. web3/_utils/contract_sources/contract_data/offchain_resolver.py +3 -3
  15. web3/_utils/contract_sources/contract_data/panic_errors_contract.py +3 -3
  16. web3/_utils/contract_sources/contract_data/payable_tester.py +3 -3
  17. web3/_utils/contract_sources/contract_data/receive_function_contracts.py +5 -5
  18. web3/_utils/contract_sources/contract_data/reflector_contracts.py +3 -3
  19. web3/_utils/contract_sources/contract_data/revert_contract.py +3 -3
  20. web3/_utils/contract_sources/contract_data/simple_resolver.py +3 -3
  21. web3/_utils/contract_sources/contract_data/storage_contract.py +3 -3
  22. web3/_utils/contract_sources/contract_data/string_contract.py +3 -3
  23. web3/_utils/contract_sources/contract_data/tuple_contracts.py +5 -5
  24. web3/_utils/method_formatters.py +108 -1
  25. web3/_utils/module_testing/__init__.py +4 -0
  26. web3/_utils/module_testing/eth_module.py +3 -3
  27. web3/_utils/module_testing/go_ethereum_debug_module.py +128 -0
  28. web3/_utils/module_testing/module_testing_utils.py +3 -3
  29. web3/_utils/module_testing/utils.py +11 -3
  30. web3/_utils/rpc_abi.py +3 -0
  31. web3/contract/async_contract.py +45 -2
  32. web3/contract/base_contract.py +248 -63
  33. web3/contract/contract.py +41 -0
  34. web3/contract/utils.py +48 -0
  35. web3/geth.py +59 -0
  36. web3/main.py +4 -0
  37. web3/manager.py +10 -0
  38. web3/providers/async_base.py +7 -4
  39. web3/providers/base.py +7 -4
  40. web3/providers/ipc.py +4 -0
  41. web3/types.py +87 -2
  42. web3/utils/async_exception_handling.py +2 -5
  43. web3/utils/exception_handling.py +2 -7
  44. {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/METADATA +2 -1
  45. {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/RECORD +48 -47
  46. {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/WHEEL +1 -1
  47. {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/LICENSE +0 -0
  48. {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/top_level.txt +0 -0
web3/geth.py CHANGED
@@ -5,6 +5,7 @@ from typing import (
5
5
  Optional,
6
6
  Protocol,
7
7
  Tuple,
8
+ Union,
8
9
  )
9
10
 
10
11
  from eth_typing.evm import (
@@ -22,12 +23,19 @@ from web3.module import (
22
23
  Module,
23
24
  )
24
25
  from web3.types import (
26
+ CallTrace,
27
+ DiffModeTrace,
25
28
  EnodeURI,
29
+ FourByteTrace,
26
30
  NodeInfo,
31
+ OpcodeTrace,
27
32
  Peer,
33
+ PrestateTrace,
34
+ TraceConfig,
28
35
  TxPoolContent,
29
36
  TxPoolInspect,
30
37
  TxPoolStatus,
38
+ _Hash32,
31
39
  )
32
40
 
33
41
 
@@ -133,9 +141,33 @@ class GethAdmin(Module):
133
141
  )
134
142
 
135
143
 
144
+ class GethDebug(Module):
145
+ """
146
+ https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug
147
+ """
148
+
149
+ def trace_transaction_munger(
150
+ self,
151
+ transaction_hash: _Hash32,
152
+ trace_config: Optional[TraceConfig] = None,
153
+ ) -> Tuple[_Hash32, TraceConfig]:
154
+ return (transaction_hash, trace_config)
155
+
156
+ trace_transaction: Method[
157
+ Callable[
158
+ ...,
159
+ Union[CallTrace, PrestateTrace, OpcodeTrace, DiffModeTrace, FourByteTrace],
160
+ ]
161
+ ] = Method(
162
+ RPC.debug_traceTransaction,
163
+ mungers=[trace_transaction_munger],
164
+ )
165
+
166
+
136
167
  class Geth(Module):
137
168
  admin: GethAdmin
138
169
  txpool: GethTxPool
170
+ debug: GethDebug
139
171
 
140
172
 
141
173
  # --- async --- #
@@ -261,8 +293,35 @@ class AsyncGethAdmin(Module):
261
293
  return await self._stop_ws()
262
294
 
263
295
 
296
+ class AsyncGethDebug(Module):
297
+ """
298
+ https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug
299
+ """
300
+
301
+ is_async = True
302
+
303
+ _trace_transaction: Method[
304
+ Callable[
305
+ ...,
306
+ Awaitable[
307
+ Union[
308
+ CallTrace, PrestateTrace, OpcodeTrace, FourByteTrace, DiffModeTrace
309
+ ]
310
+ ],
311
+ ]
312
+ ] = Method(RPC.debug_traceTransaction)
313
+
314
+ async def trace_transaction(
315
+ self,
316
+ transaction_hash: _Hash32,
317
+ trace_config: Optional[TraceConfig] = None,
318
+ ) -> Union[CallTrace, PrestateTrace, OpcodeTrace, FourByteTrace, DiffModeTrace]:
319
+ return await self._trace_transaction(transaction_hash, trace_config)
320
+
321
+
264
322
  class AsyncGeth(Module):
265
323
  is_async = True
266
324
 
267
325
  admin: AsyncGethAdmin
268
326
  txpool: AsyncGethTxPool
327
+ debug: AsyncGethDebug
web3/main.py CHANGED
@@ -93,9 +93,11 @@ from web3.exceptions import (
93
93
  from web3.geth import (
94
94
  AsyncGeth,
95
95
  AsyncGethAdmin,
96
+ AsyncGethDebug,
96
97
  AsyncGethTxPool,
97
98
  Geth,
98
99
  GethAdmin,
100
+ GethDebug,
99
101
  GethTxPool,
100
102
  )
101
103
  from web3.manager import (
@@ -162,6 +164,7 @@ def get_async_default_modules() -> Dict[str, Union[Type[Module], Sequence[Any]]]
162
164
  {
163
165
  "admin": AsyncGethAdmin,
164
166
  "txpool": AsyncGethTxPool,
167
+ "debug": AsyncGethDebug,
165
168
  },
166
169
  ),
167
170
  }
@@ -176,6 +179,7 @@ def get_default_modules() -> Dict[str, Union[Type[Module], Sequence[Any]]]:
176
179
  {
177
180
  "admin": GethAdmin,
178
181
  "txpool": GethTxPool,
182
+ "debug": GethDebug,
179
183
  },
180
184
  ),
181
185
  "tracing": Tracing,
web3/manager.py CHANGED
@@ -39,6 +39,7 @@ from web3.exceptions import (
39
39
  ProviderConnectionError,
40
40
  RequestTimedOut,
41
41
  TaskNotRunning,
42
+ TransactionNotFound,
42
43
  Web3RPCError,
43
44
  Web3TypeError,
44
45
  )
@@ -150,6 +151,7 @@ def _validate_response(
150
151
  error_formatters: Optional[Callable[..., Any]],
151
152
  is_subscription_response: bool = False,
152
153
  logger: Optional[logging.Logger] = None,
154
+ params: Optional[Any] = None,
153
155
  ) -> None:
154
156
  if "jsonrpc" not in response or response["jsonrpc"] != "2.0":
155
157
  _raise_bad_response_format(
@@ -210,6 +212,13 @@ def _validate_response(
210
212
  _raise_bad_response_format(
211
213
  response, 'error["message"] is required and must be a string value.'
212
214
  )
215
+ elif error_message == "transaction not found":
216
+ transaction_hash = params[0]
217
+ web3_rpc_error = TransactionNotFound(
218
+ repr(error),
219
+ rpc_response=response,
220
+ user_message=(f"Transaction with hash {transaction_hash!r} not found."),
221
+ )
213
222
 
214
223
  # errors must include an integer code
215
224
  code = error.get("code")
@@ -360,6 +369,7 @@ class RequestManager:
360
369
  error_formatters,
361
370
  is_subscription_response=is_subscription_response,
362
371
  logger=self.logger,
372
+ params=params,
363
373
  )
364
374
 
365
375
  # format results
@@ -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}"
web3/types.py CHANGED
@@ -36,8 +36,14 @@ from web3._utils.compat import (
36
36
  )
37
37
 
38
38
  if TYPE_CHECKING:
39
- from web3.contract.async_contract import AsyncContractFunction # noqa: F401
40
- from web3.contract.contract import ContractFunction # noqa: F401
39
+ from web3.contract.async_contract import ( # noqa: F401
40
+ AsyncContractEvent,
41
+ AsyncContractFunction,
42
+ )
43
+ from web3.contract.contract import ( # noqa: F401
44
+ ContractEvent,
45
+ ContractFunction,
46
+ )
41
47
  from web3.main import ( # noqa: F401
42
48
  AsyncWeb3,
43
49
  Web3,
@@ -469,6 +475,84 @@ class TxPoolStatus(TypedDict, total=False):
469
475
  queued: int
470
476
 
471
477
 
478
+ #
479
+ # debug types
480
+ #
481
+ class TraceConfig(TypedDict, total=False):
482
+ disableStorage: bool
483
+ disableStack: bool
484
+ enableMemory: bool
485
+ enableReturnData: bool
486
+ tracer: str
487
+ tracerConfig: Dict[str, Any]
488
+ timeout: int
489
+
490
+
491
+ class CallTraceLog(TypedDict):
492
+ address: ChecksumAddress
493
+ data: HexBytes
494
+ topics: Sequence[HexBytes]
495
+ position: int
496
+
497
+
498
+ # syntax b/c "from" keyword not allowed w/ class construction
499
+ CallTrace = TypedDict(
500
+ "CallTrace",
501
+ {
502
+ "type": str,
503
+ "from": ChecksumAddress,
504
+ "to": ChecksumAddress,
505
+ "value": Wei,
506
+ "gas": int,
507
+ "gasUsed": int,
508
+ "input": HexBytes,
509
+ "output": HexBytes,
510
+ "error": str,
511
+ "revertReason": str,
512
+ "calls": Sequence["CallTrace"],
513
+ "logs": Sequence[CallTraceLog],
514
+ },
515
+ total=False,
516
+ )
517
+
518
+
519
+ class TraceData(TypedDict, total=False):
520
+ balance: int
521
+ nonce: int
522
+ code: str
523
+ storage: Dict[str, str]
524
+
525
+
526
+ class DiffModeTrace(TypedDict):
527
+ post: Dict[ChecksumAddress, TraceData]
528
+ pre: Dict[ChecksumAddress, TraceData]
529
+
530
+
531
+ PrestateTrace = Dict[ChecksumAddress, TraceData]
532
+
533
+
534
+ # 4byte tracer returns something like:
535
+ # { '0x27dc297e-128' : 1 }
536
+ # which is: { 4byte signature - calldata size : # of occurrences of key }
537
+ FourByteTrace = Dict[str, int]
538
+
539
+
540
+ class StructLog(TypedDict):
541
+ pc: int
542
+ op: str
543
+ gas: int
544
+ gasCost: int
545
+ depth: int
546
+ stack: List[HexStr]
547
+
548
+
549
+ class OpcodeTrace(TypedDict, total=False):
550
+ gas: int
551
+ failed: bool
552
+ returnValue: str
553
+ structLogs: List[StructLog]
554
+
555
+
472
556
  #
473
557
  # web3.geth types
474
558
  #
@@ -483,6 +567,7 @@ class GethWallet(TypedDict):
483
567
  # Contract types
484
568
 
485
569
  TContractFn = TypeVar("TContractFn", "ContractFunction", "AsyncContractFunction")
570
+ TContractEvent = TypeVar("TContractEvent", "ContractEvent", "AsyncContractEvent")
486
571
 
487
572
 
488
573
  # Tracing types
@@ -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.1
3
+ Version: 7.5.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
@@ -17,6 +17,7 @@ Classifier: Programming Language :: Python :: 3.9
17
17
  Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
20
21
  Requires-Python: >=3.8, <4
21
22
  Description-Content-Type: text/markdown
22
23
  License-File: LICENSE
@@ -15,17 +15,17 @@ 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
17
17
  web3/exceptions.py,sha256=MH4W0eLG4TNQXRCpVY18BshnVpnSZgV1Gz9HBH3UpH4,9413
18
- web3/geth.py,sha256=IQYeqiVSqcskuXWgDR35UBuVsD-whhvTpDltO4vvCvE,5867
18
+ web3/geth.py,sha256=xVBZWSksBo2ipesAN9V5hzDc_te7kU8ueicFdvpkSO4,7370
19
19
  web3/logs.py,sha256=ROs-mDMH_ZOecE7hfbWA5yp27G38FbLjX4lO_WtlZxQ,198
20
- web3/main.py,sha256=NTbE9J3nbrgbXNFP676Pi-JfZjfkQXI_PRiC6xn3htk,15146
21
- web3/manager.py,sha256=_3Ox2IdGh0iOCGF7e2NFK3-kp3esZ-KUkZDrNTNFLqY,22905
20
+ web3/main.py,sha256=ljTnDybNncoVtgnCCJlfZuqhH7jNEU1_-_XjGZre91Y,15258
21
+ web3/manager.py,sha256=0hQEJAhRMhREW0jJarADhCnDj_uVJV1OT8gmyApMIVM,23308
22
22
  web3/method.py,sha256=Uv29Vng93VC5-HHeRok30PUbGCg42SNA2YsxiweTgWA,8593
23
23
  web3/module.py,sha256=rz_cqGNlzLGCHLE8zDf-hW4SpDfLgzVEW8pgDxM45Y0,6006
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=u_GhL4B5VVyhAydizlOG8GWf1PL_EMnadme-L1HpS2E,11922
28
+ web3/types.py,sha256=IKrsUzc-w1nhTQLVW_G43VZJMOxyd_LA1AGPu8DvY-k,13630
29
29
  web3/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  web3/_utils/abi.py,sha256=faBdiPgPrS__Nh5tGruGFzLzVwNxoooXVsOeGPgGH4s,25540
31
31
  web3/_utils/abi_element_identifiers.py,sha256=m305lsvUZk-jkPixT0IJd9P5sXqMvmwlwlLeBgEAnBQ,55
@@ -48,10 +48,10 @@ web3/_utils/http.py,sha256=2R3UOeZmwiQGc3ladf78R9AnufbGaTXAntqf-ZQlZPI,230
48
48
  web3/_utils/http_session_manager.py,sha256=Q5K9qJVOAjpO6490McC5kdO4lgjt-c-zxkp0kyDY2pI,11520
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=tbCGX2JcU_8FEZ0Fjk5BrtgV949nsJ4TKZ938clglSI,34169
51
+ web3/_utils/method_formatters.py,sha256=s13BbZ1AjD5O7NJ1dnMcj3i1l2Gr91PrQGvJ_QzJmh0,36858
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=ey3rw3j2jC9ybs1FZpyCPReA0Mra7TwRX1a7GTtOPeE,8392
54
+ web3/_utils/rpc_abi.py,sha256=ZilBhxXock_3EAnkHPdBcdkaVJfu1TFdxru1cS2AG8Y,8472
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
@@ -59,42 +59,43 @@ 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
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/arrays_contract.py,sha256=2l6vZvudUnM9W-vB2ihKpz4cnjbRv6BBXZ6vXHSEGV0,18626
70
- web3/_utils/contract_sources/contract_data/bytes_contracts.py,sha256=IZrTiZWzzslzI6NPDkDVWNGk8VeaqcHXr_ACdGaWufQ,14351
71
- web3/_utils/contract_sources/contract_data/constructor_contracts.py,sha256=GI3LaXX-VfTPk2XgHXfE6Z-tlF_4UakTgStrHXvPsPg,6051
72
- web3/_utils/contract_sources/contract_data/contract_caller_tester.py,sha256=E2T3OyaOxXuhX_8KLpo7WAQwpvMVdZ6niQdfmxPLICs,6228
73
- web3/_utils/contract_sources/contract_data/emitter_contract.py,sha256=Kr1JQKkXQJWEfvE4VnPJ2MU4txu1pKetLrRCtp8cmOw,40861
74
- web3/_utils/contract_sources/contract_data/event_contracts.py,sha256=fTUmOnmJrZagSbNHU8rAi9OKMzkdPy3F4YzCq3rpeGg,5569
75
- web3/_utils/contract_sources/contract_data/extended_resolver.py,sha256=tY1mcWTI2aaCKHLCMg-dkRKnKRsZAzPoNEHBDlDX514,15720
76
- web3/_utils/contract_sources/contract_data/fallback_function_contract.py,sha256=1weuAAyUYH_loLlTiC-R3CsodsI95k5Dn5NJqGlI8qQ,1649
77
- web3/_utils/contract_sources/contract_data/function_name_tester_contract.py,sha256=qQwJK54vprpBapkWqPfBI3YXpdfDtI9W73b04x19IkU,1894
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
80
- web3/_utils/contract_sources/contract_data/offchain_resolver.py,sha256=O_Xl5rfnRXGaOy5TXK25Ch-r7JhA4n-jYAsQi-EPKGI,31829
81
- web3/_utils/contract_sources/contract_data/panic_errors_contract.py,sha256=tOLQHKGuD0pgJC9lC_94DEbf0ERxYsxMeRgugMDI4Ic,15263
82
- web3/_utils/contract_sources/contract_data/payable_tester.py,sha256=0LWImIizIiiX8c6x-A8NOsov_837RD8WUzfJ-RybaoA,1827
83
- web3/_utils/contract_sources/contract_data/receive_function_contracts.py,sha256=OXZBw7qk8QW23QzeceojhNPSLWT_v_z7_r3QM4mRetg,17102
84
- web3/_utils/contract_sources/contract_data/reflector_contracts.py,sha256=15IMxkKJnK2w3vwA3nUXrfmrJnJvxuXbTXAFgKNUilk,5262
85
- web3/_utils/contract_sources/contract_data/revert_contract.py,sha256=pBc6TVknT5_a70gRyZTyM0n07igmtbTZluZVRI92Nw0,4262
86
- web3/_utils/contract_sources/contract_data/simple_resolver.py,sha256=czfP4CxBwPOnklZzEEa6Ylw3oRxArBJvewua4hpvAxA,3553
87
- web3/_utils/contract_sources/contract_data/storage_contract.py,sha256=VrIyFZ6gPp_pGSpWQ0gMLtFwfim_ps4jVCr1he_YXOE,7938
88
- web3/_utils/contract_sources/contract_data/string_contract.py,sha256=wuNXF7O6Y_FP178b5YeBSZdBwrDGJdrv43GxtHs2AMA,11228
89
- web3/_utils/contract_sources/contract_data/tuple_contracts.py,sha256=wy_blOQtNL6ipn-sxDGhi5MgUQW7s_8JW5DkcMeQdbk,23176
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
69
+ web3/_utils/contract_sources/contract_data/arrays_contract.py,sha256=DDAwvEhOFNLVDxq73Vg3mCVBfpl9laGCGsFGHqsVCH8,18626
70
+ web3/_utils/contract_sources/contract_data/bytes_contracts.py,sha256=jx2zkR9yqRniBWRTP-wg7I7tvWkYqTuMLveFBomThpE,14351
71
+ web3/_utils/contract_sources/contract_data/constructor_contracts.py,sha256=Z0meZqRuvc2eNO_K1OMruRdfMO2Wavf8KE-NSnKtjtQ,6051
72
+ web3/_utils/contract_sources/contract_data/contract_caller_tester.py,sha256=9oeRnNpdbh2M8hNJTuqcxC3dTs3g-MWOz05fgPuB7dk,6228
73
+ web3/_utils/contract_sources/contract_data/emitter_contract.py,sha256=skuuQAXTO57HNERqf2FYwyzoL6_1JOjwx0Z2cvdVopc,40861
74
+ web3/_utils/contract_sources/contract_data/event_contracts.py,sha256=3sX_Yg5imXinwoD6pbNygYtC5m5tpl0-pMl0gQqb12E,5569
75
+ web3/_utils/contract_sources/contract_data/extended_resolver.py,sha256=Jq9S24aNGhLaGXXRrcwW6fC9RwthHDcHg_4YDebAwSo,15720
76
+ web3/_utils/contract_sources/contract_data/fallback_function_contract.py,sha256=W3bnypanJDHbPaxvAglMJb3apK3RAMlU0TtPT5Gqxyg,1649
77
+ web3/_utils/contract_sources/contract_data/function_name_tester_contract.py,sha256=kshI47e64GdSTV2nLmhkGgeZrH0cbjobs1bekEXdYdE,1894
78
+ web3/_utils/contract_sources/contract_data/math_contract.py,sha256=MFLcndXyQ7efzFY-7hZeJWU7CW4D2ZlQEucskiEtBMA,7635
79
+ web3/_utils/contract_sources/contract_data/offchain_lookup.py,sha256=bxVOCrEAGchwQQt0Rib2GZ5-ma18EDA0eUyodM5vkLk,16424
80
+ web3/_utils/contract_sources/contract_data/offchain_resolver.py,sha256=FbO7-eOK-uU0W24QxrCP28kJe7CJpRne0wiQYWwe0jc,31829
81
+ web3/_utils/contract_sources/contract_data/panic_errors_contract.py,sha256=FTUaxUTDVl6RcmNIIStjTr1JZLePwCKt29skBXS5hME,15263
82
+ web3/_utils/contract_sources/contract_data/payable_tester.py,sha256=jgoCGPfQAhd90EwgUUq1rKeaSA2P1ncHb3vmS4XHcys,1827
83
+ web3/_utils/contract_sources/contract_data/receive_function_contracts.py,sha256=3Z7ZSaXqFKCStbA25u263agoXuv0rRfVSYYPn-Ipar4,17102
84
+ web3/_utils/contract_sources/contract_data/reflector_contracts.py,sha256=51U32alPSlc6x4pbo55Mno-g4yn3FfePh7j6ISNLWz0,5262
85
+ web3/_utils/contract_sources/contract_data/revert_contract.py,sha256=LIaJ0V3oT4tX94dtsSDnvhrPPWb2t9zROERiz-hamfo,4262
86
+ web3/_utils/contract_sources/contract_data/simple_resolver.py,sha256=ysj1_yzT54eXO0nNaNfo7lsDL3eObIDOeCK5_lxOpFQ,3553
87
+ web3/_utils/contract_sources/contract_data/storage_contract.py,sha256=fZ-4ho-fbVgPvFP_wpwHeoz8G45tqpqo1RZvntudqHI,7938
88
+ web3/_utils/contract_sources/contract_data/string_contract.py,sha256=fJHQg_CxzOt7Ojp5Af067M46tyY6CARkzycS0fL6reQ,11228
89
+ web3/_utils/contract_sources/contract_data/tuple_contracts.py,sha256=PPzVF67kRpeNLXGjUGjpIowGyD3F6fMzqYLuOwXRZbE,23176
90
+ web3/_utils/module_testing/__init__.py,sha256=Xr_S46cjr0mypD_Y4ZbeF1EJ-XWfNxWUks5ykhzN10c,485
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
+ web3/_utils/module_testing/go_ethereum_debug_module.py,sha256=BP1UjK-5ewkYMilvW9jtZX5Mc9BGh3QlJWPXqDNWizU,4144
93
94
  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
95
+ web3/_utils/module_testing/module_testing_utils.py,sha256=cYkvrgrtJJ8Tsu61S1jQGfCOadc6GuYZOuADL_J91DE,7304
95
96
  web3/_utils/module_testing/net_module.py,sha256=ifUTC-5fTcQbwpm0X09OdD5RSPnn00T8klFeYe8tTm4,1272
96
97
  web3/_utils/module_testing/persistent_connection_provider.py,sha256=SPj5PKS9_1OncT2_Zx8x75Xj2hl22r4ciKqqsjxoS1w,17885
97
- web3/_utils/module_testing/utils.py,sha256=7jYtIKfOdrQnj1pDB0gLyoN_b8U3ZyEYbMU4dxaLljs,10023
98
+ web3/_utils/module_testing/utils.py,sha256=uFHV36vfp1DFlweXxFZ2lsi8VjkxxDCqLpIJ0HDNFoU,10403
98
99
  web3/_utils/module_testing/web3_module.py,sha256=7c6penGbHn381fPTYY6DsXKv56xGQpYkHljOsr2gbaw,25413
99
100
  web3/auto/__init__.py,sha256=ZbzAiCZMdt_tCTTPvH6t8NCVNroKKkt7TSVBBNR74Is,44
100
101
  web3/auto/gethdev.py,sha256=MuWD2gxv0xDv_SzPsp9mSkS1oG4P54xFK83qw9NvswA,438
@@ -103,10 +104,10 @@ web3/beacon/api_endpoints.py,sha256=0mHrYFYAWHfF9OGzrFdg012L_ocU2nGDXUTU1isOo7o,
103
104
  web3/beacon/async_beacon.py,sha256=CPzvyZnMibSYsoIJVrjd3XvZ9aB0bgQRtCP0X0Ekp0o,8156
104
105
  web3/beacon/beacon.py,sha256=tPA9ABPm6MyzbzutiphkhFzOAxLresmftG5UjWkuNyY,7236
105
106
  web3/contract/__init__.py,sha256=qeZRtTw9xriwoD82w6vePDuPBZ35-CMVdkzViBSH3Qs,293
106
- web3/contract/async_contract.py,sha256=KYB-e1GCTZINTRu0Y1f2IIp4LWg2UvKIRFFSIrsjfUs,20593
107
- web3/contract/base_contract.py,sha256=W2O21wODLSkR3AFtairJpPsdnqkWpOVhSBr0ICr5l3A,38001
108
- web3/contract/contract.py,sha256=wB5g6H7PoAyp4wN__3GGXMrDCvEYuj6crZL4Q2ipTRE,20174
109
- web3/contract/utils.py,sha256=bonHXESnb9xhvMzJoi271qppwpy2D6yaHtUwt56wEJc,17853
107
+ web3/contract/async_contract.py,sha256=DB4c7Pz0kZtEhwBwWP41swizVFzk_CwxDU80GDD8X2c,21893
108
+ web3/contract/base_contract.py,sha256=vVomwlM4zfRSB9BN4ss4y0Rc8Szs4howwVushKrio7U,44025
109
+ web3/contract/contract.py,sha256=JqxrJCq5cYGAe50RcabLXjhQab03mmJ0ykQkivYnY_Y,21298
110
+ web3/contract/utils.py,sha256=WfheuUshKK6u1dzIL_rYT44Wv1__gFfs2VxSkw_Xxnc,19234
110
111
  web3/eth/__init__.py,sha256=qDLxOcHHIzzPD7xzwy6Wcs0lLPQieB7WN0Ax25ctit8,197
111
112
  web3/eth/async_eth.py,sha256=elPH3Atkayk3afwepDRP3ibB7EK8MziK0fPikpKCLxI,23176
112
113
  web3/eth/base_eth.py,sha256=UUH0Fw0HVa_mBEQ_CbCDO01yCVDsj33d8yOv7Oe-QD0,6905
@@ -128,10 +129,10 @@ web3/middleware/signing.py,sha256=1DOYxpmCra-Qq5r42237q3b54uDO-QHjMVMulxVpLVQ,58
128
129
  web3/middleware/stalecheck.py,sha256=oWRA69BGIbNGjHSnUVOBnoxOYJZYjzRzlqqL5RRlnzk,2680
129
130
  web3/middleware/validation.py,sha256=QxActrJk_zsXXiwpadP2MUjZBS5E50OJOtUwVrm9XVo,4280
130
131
  web3/providers/__init__.py,sha256=YkcSzE9AubvSp-UfvJjyCrdepvziysbqeq2LT0ImDoc,936
131
- web3/providers/async_base.py,sha256=GXuIkY9ePp5bSJjfRobBN6PWaCSkazm8oi8DTOuEM0c,7401
132
+ web3/providers/async_base.py,sha256=6UON8Ocsif93uqPWIdtubzwg6JpCYHf2JLao-F19LL4,7383
132
133
  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
134
+ web3/providers/base.py,sha256=QtBsOCdYeIBF1d3MzQJG0Vo5LduHgAbdiNDcXs9ZQyo,6425
135
+ web3/providers/ipc.py,sha256=3kO7GE8IxVqwpqgfLdomn-L_SeYG48Qs94FsvSdG-tI,6444
135
136
  web3/providers/legacy_websocket.py,sha256=6mFEQVlVoc71AyDvPGGt3KQudQKdMxoHvokg6Fb4VOw,4767
136
137
  web3/providers/eth_tester/__init__.py,sha256=UggyBQdeAyjy1awATW1933jkJcpqqaUYUQEFAQnA2o0,163
137
138
  web3/providers/eth_tester/defaults.py,sha256=9aPe0x2C5wahdGI_rZjiGR3Fe2LbMjKWH9o6eZPuY-Q,12577
@@ -156,11 +157,11 @@ web3/scripts/release/test_package.py,sha256=DH0AryllcF4zfpWSd0NLPSQGHNoC-Qng5WYY
156
157
  web3/utils/__init__.py,sha256=zwf8bM-Dl2_L9u_cR5K22_krl0vx4QBAANoBssmbDlU,1857
157
158
  web3/utils/abi.py,sha256=iSBaCW41UxB1q1UHDPwJ1QJbdiuYmTWNu8m6E28DqlY,18672
158
159
  web3/utils/address.py,sha256=KC_IpEbixSCuMhaW6V2QCyyJTYKYGS9c8QtI9_aH7zQ,967
159
- web3/utils/async_exception_handling.py,sha256=GZWSBFC0-Wmwz1tpTie-1AKRbIQH7JkmBpf5bXrUTzY,3320
160
+ web3/utils/async_exception_handling.py,sha256=OoKbLNwWcY9dxLCbOfxcQPSB1OxWraNqcw8V0ZX-JaQ,3173
160
161
  web3/utils/caching.py,sha256=Rkt5IN8A7YBZYXlCRaWa64FiDhTXsxzTGGQdGBB4Nzw,2514
161
- web3/utils/exception_handling.py,sha256=k31JROfUyKIm9PoEWOtYSkIq9wL8SOBwQfnSLNQyfnM,3097
162
- web3-7.3.1.dist-info/LICENSE,sha256=ScEyLx1vWrB0ybKiZKKTXm5QhVksHCEUtTp4lwYV45I,1095
163
- web3-7.3.1.dist-info/METADATA,sha256=Rd45qnxKH_1i_JcqUWx2mNee7pFsE3rxN43T0OJ6FLM,5317
164
- web3-7.3.1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
165
- web3-7.3.1.dist-info/top_level.txt,sha256=iwupuJh7wgypXrpk_awszyri3TahRr5vxSphNyvt1bU,9
166
- web3-7.3.1.dist-info/RECORD,,
162
+ web3/utils/exception_handling.py,sha256=n-MtO5LNzJDVzHTzO6olzfb2_qEVtVRvink0ixswg-Y,2917
163
+ web3-7.5.0.dist-info/LICENSE,sha256=ScEyLx1vWrB0ybKiZKKTXm5QhVksHCEUtTp4lwYV45I,1095
164
+ web3-7.5.0.dist-info/METADATA,sha256=eO2d-NpcO3F0orh5yam8ZVyXbELVZzWBfLLShYKDlhQ,5368
165
+ web3-7.5.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
166
+ web3-7.5.0.dist-info/top_level.txt,sha256=iwupuJh7wgypXrpk_awszyri3TahRr5vxSphNyvt1bU,9
167
+ web3-7.5.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
File without changes