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.
- web3/_utils/caching/caching_utils.py +125 -24
- web3/_utils/caching/request_caching_validation.py +204 -47
- 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 +5 -5
- 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/method_formatters.py +108 -1
- web3/_utils/module_testing/__init__.py +4 -0
- web3/_utils/module_testing/eth_module.py +3 -3
- web3/_utils/module_testing/go_ethereum_debug_module.py +128 -0
- web3/_utils/module_testing/module_testing_utils.py +3 -3
- web3/_utils/module_testing/utils.py +11 -3
- web3/_utils/rpc_abi.py +3 -0
- web3/contract/async_contract.py +45 -2
- web3/contract/base_contract.py +248 -63
- web3/contract/contract.py +41 -0
- web3/contract/utils.py +48 -0
- web3/geth.py +59 -0
- web3/main.py +4 -0
- web3/manager.py +10 -0
- web3/providers/async_base.py +7 -4
- web3/providers/base.py +7 -4
- web3/providers/ipc.py +4 -0
- web3/types.py +87 -2
- web3/utils/async_exception_handling.py +2 -5
- web3/utils/exception_handling.py +2 -7
- {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/METADATA +2 -1
- {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/RECORD +48 -47
- {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/WHEEL +1 -1
- {web3-7.3.1.dist-info → web3-7.5.0.dist-info}/LICENSE +0 -0
- {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
|
web3/providers/async_base.py
CHANGED
|
@@ -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
|
-
|
|
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
|
-
] =
|
|
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
|
-
|
|
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
|
-
] =
|
|
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
|
|
40
|
-
|
|
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
|
-
|
|
59
|
+
else:
|
|
60
60
|
response = await session.post(
|
|
61
61
|
formatted_url,
|
|
62
|
-
|
|
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
|
|
web3/utils/exception_handling.py
CHANGED
|
@@ -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
|
-
|
|
54
|
+
else:
|
|
55
55
|
response = session.post(
|
|
56
56
|
formatted_url,
|
|
57
|
-
|
|
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
|
+
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=
|
|
18
|
+
web3/geth.py,sha256=xVBZWSksBo2ipesAN9V5hzDc_te7kU8ueicFdvpkSO4,7370
|
|
19
19
|
web3/logs.py,sha256=ROs-mDMH_ZOecE7hfbWA5yp27G38FbLjX4lO_WtlZxQ,198
|
|
20
|
-
web3/main.py,sha256=
|
|
21
|
-
web3/manager.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
63
|
-
web3/_utils/caching/request_caching_validation.py,sha256=
|
|
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=
|
|
70
|
-
web3/_utils/contract_sources/contract_data/bytes_contracts.py,sha256=
|
|
71
|
-
web3/_utils/contract_sources/contract_data/constructor_contracts.py,sha256=
|
|
72
|
-
web3/_utils/contract_sources/contract_data/contract_caller_tester.py,sha256=
|
|
73
|
-
web3/_utils/contract_sources/contract_data/emitter_contract.py,sha256=
|
|
74
|
-
web3/_utils/contract_sources/contract_data/event_contracts.py,sha256=
|
|
75
|
-
web3/_utils/contract_sources/contract_data/extended_resolver.py,sha256=
|
|
76
|
-
web3/_utils/contract_sources/contract_data/fallback_function_contract.py,sha256=
|
|
77
|
-
web3/_utils/contract_sources/contract_data/function_name_tester_contract.py,sha256=
|
|
78
|
-
web3/_utils/contract_sources/contract_data/math_contract.py,sha256=
|
|
79
|
-
web3/_utils/contract_sources/contract_data/offchain_lookup.py,sha256=
|
|
80
|
-
web3/_utils/contract_sources/contract_data/offchain_resolver.py,sha256=
|
|
81
|
-
web3/_utils/contract_sources/contract_data/panic_errors_contract.py,sha256=
|
|
82
|
-
web3/_utils/contract_sources/contract_data/payable_tester.py,sha256=
|
|
83
|
-
web3/_utils/contract_sources/contract_data/receive_function_contracts.py,sha256=
|
|
84
|
-
web3/_utils/contract_sources/contract_data/reflector_contracts.py,sha256=
|
|
85
|
-
web3/_utils/contract_sources/contract_data/revert_contract.py,sha256=
|
|
86
|
-
web3/_utils/contract_sources/contract_data/simple_resolver.py,sha256=
|
|
87
|
-
web3/_utils/contract_sources/contract_data/storage_contract.py,sha256=
|
|
88
|
-
web3/_utils/contract_sources/contract_data/string_contract.py,sha256=
|
|
89
|
-
web3/_utils/contract_sources/contract_data/tuple_contracts.py,sha256=
|
|
90
|
-
web3/_utils/module_testing/__init__.py,sha256=
|
|
91
|
-
web3/_utils/module_testing/eth_module.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
107
|
-
web3/contract/base_contract.py,sha256=
|
|
108
|
-
web3/contract/contract.py,sha256=
|
|
109
|
-
web3/contract/utils.py,sha256=
|
|
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=
|
|
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=
|
|
134
|
-
web3/providers/ipc.py,sha256=
|
|
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=
|
|
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=
|
|
162
|
-
web3-7.
|
|
163
|
-
web3-7.
|
|
164
|
-
web3-7.
|
|
165
|
-
web3-7.
|
|
166
|
-
web3-7.
|
|
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,,
|
|
File without changes
|
|
File without changes
|