web3 7.11.0__py3-none-any.whl → 7.12.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.
- ens/async_ens.py +2 -2
- ens/ens.py +2 -2
- ens/utils.py +14 -3
- web3/_utils/abi.py +24 -20
- web3/_utils/batching.py +22 -68
- web3/_utils/caching/request_caching_validation.py +8 -4
- web3/_utils/contract_sources/contract_data/ambiguous_function_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/arrays_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/bytes_contracts.py +5 -5
- web3/_utils/contract_sources/contract_data/constructor_contracts.py +7 -7
- web3/_utils/contract_sources/contract_data/contract_caller_tester.py +3 -3
- web3/_utils/contract_sources/contract_data/emitter_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/event_contracts.py +7 -7
- web3/_utils/contract_sources/contract_data/extended_resolver.py +3 -3
- web3/_utils/contract_sources/contract_data/fallback_function_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/math_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/offchain_lookup.py +3 -3
- web3/_utils/contract_sources/contract_data/offchain_resolver.py +3 -3
- web3/_utils/contract_sources/contract_data/panic_errors_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/payable_tester.py +3 -3
- web3/_utils/contract_sources/contract_data/receive_function_contracts.py +5 -5
- web3/_utils/contract_sources/contract_data/reflector_contracts.py +3 -3
- web3/_utils/contract_sources/contract_data/revert_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/simple_resolver.py +3 -3
- web3/_utils/contract_sources/contract_data/storage_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/string_contract.py +3 -3
- web3/_utils/contract_sources/contract_data/tuple_contracts.py +5 -5
- web3/_utils/decorators.py +14 -11
- web3/_utils/error_formatters_utils.py +17 -0
- web3/_utils/filters.py +39 -28
- web3/_utils/http_session_manager.py +18 -15
- web3/_utils/method_formatters.py +19 -24
- web3/_utils/module_testing/eth_module.py +107 -47
- web3/_utils/module_testing/web3_module.py +78 -4
- web3/_utils/validation.py +1 -1
- web3/contract/utils.py +20 -35
- web3/eth/async_eth.py +4 -0
- web3/eth/eth.py +15 -2
- web3/manager.py +105 -23
- web3/method.py +17 -9
- web3/providers/async_base.py +15 -1
- web3/providers/base.py +18 -5
- web3/providers/ipc.py +2 -4
- web3/providers/legacy_websocket.py +4 -5
- web3/providers/persistent/async_ipc.py +3 -1
- web3/providers/persistent/persistent.py +110 -40
- web3/providers/persistent/request_processor.py +34 -51
- web3/providers/persistent/subscription_manager.py +13 -7
- web3/providers/rpc/async_rpc.py +7 -7
- web3/providers/rpc/rpc.py +6 -6
- web3/utils/abi.py +1 -1
- web3/utils/subscriptions.py +7 -4
- {web3-7.11.0.dist-info → web3-7.12.0.dist-info}/METADATA +1 -1
- {web3-7.11.0.dist-info → web3-7.12.0.dist-info}/RECORD +58 -58
- {web3-7.11.0.dist-info → web3-7.12.0.dist-info}/WHEEL +1 -1
- {web3-7.11.0.dist-info → web3-7.12.0.dist-info}/licenses/LICENSE +0 -0
- {web3-7.11.0.dist-info → web3-7.12.0.dist-info}/top_level.txt +0 -0
ens/async_ens.py
CHANGED
|
@@ -57,7 +57,7 @@ from ens.utils import (
|
|
|
57
57
|
address_in,
|
|
58
58
|
address_to_reverse_domain,
|
|
59
59
|
default,
|
|
60
|
-
|
|
60
|
+
dns_encode_name,
|
|
61
61
|
init_async_web3,
|
|
62
62
|
is_empty_name,
|
|
63
63
|
is_none_or_zero_address,
|
|
@@ -500,7 +500,7 @@ class AsyncENS(BaseENS):
|
|
|
500
500
|
|
|
501
501
|
calldata = resolver.encode_abi(*contract_func_with_args)
|
|
502
502
|
contract_call_result = await resolver.caller.resolve(
|
|
503
|
-
|
|
503
|
+
dns_encode_name(normal_name),
|
|
504
504
|
calldata,
|
|
505
505
|
)
|
|
506
506
|
result = self._decode_ensip10_resolve_data(
|
ens/ens.py
CHANGED
|
@@ -56,7 +56,7 @@ from .utils import (
|
|
|
56
56
|
address_in,
|
|
57
57
|
address_to_reverse_domain,
|
|
58
58
|
default,
|
|
59
|
-
|
|
59
|
+
dns_encode_name,
|
|
60
60
|
init_web3,
|
|
61
61
|
is_empty_name,
|
|
62
62
|
is_none_or_zero_address,
|
|
@@ -482,7 +482,7 @@ class ENS(BaseENS):
|
|
|
482
482
|
|
|
483
483
|
calldata = resolver.encode_abi(*contract_func_with_args)
|
|
484
484
|
contract_call_result = resolver.caller.resolve(
|
|
485
|
-
|
|
485
|
+
dns_encode_name(normal_name),
|
|
486
486
|
calldata,
|
|
487
487
|
)
|
|
488
488
|
result = self._decode_ensip10_resolve_data(
|
ens/utils.py
CHANGED
|
@@ -13,6 +13,7 @@ from typing import (
|
|
|
13
13
|
Union,
|
|
14
14
|
cast,
|
|
15
15
|
)
|
|
16
|
+
import warnings
|
|
16
17
|
|
|
17
18
|
from eth_typing import (
|
|
18
19
|
Address,
|
|
@@ -132,7 +133,7 @@ def normalize_name(name: str) -> str:
|
|
|
132
133
|
return normalize_name_ensip15(name).as_text
|
|
133
134
|
|
|
134
135
|
|
|
135
|
-
def
|
|
136
|
+
def dns_encode_name(name: str) -> HexBytes:
|
|
136
137
|
r"""
|
|
137
138
|
Encode a name according to DNS standards specified in section 3.1
|
|
138
139
|
of RFC1035 with the following validations:
|
|
@@ -145,7 +146,7 @@ def ens_encode_name(name: str) -> bytes:
|
|
|
145
146
|
:param str name: the dot-separated ENS name
|
|
146
147
|
"""
|
|
147
148
|
if is_empty_name(name):
|
|
148
|
-
return b"\x00"
|
|
149
|
+
return HexBytes(b"\x00")
|
|
149
150
|
|
|
150
151
|
normalized_name = normalize_name(name)
|
|
151
152
|
|
|
@@ -163,7 +164,17 @@ def ens_encode_name(name: str) -> bytes:
|
|
|
163
164
|
dns_prepped_labels = [to_bytes(len(label)) + label for label in labels_as_bytes]
|
|
164
165
|
|
|
165
166
|
# return the joined prepped labels in order and append the zero byte at the end:
|
|
166
|
-
return b"".join(dns_prepped_labels) + b"\x00"
|
|
167
|
+
return HexBytes(b"".join(dns_prepped_labels) + b"\x00")
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def ens_encode_name(name: str) -> bytes:
|
|
171
|
+
warnings.warn(
|
|
172
|
+
"``ens_encode_name`` is deprecated and will be removed in the next "
|
|
173
|
+
"major version. Use ``dns_encode_name`` instead.",
|
|
174
|
+
DeprecationWarning,
|
|
175
|
+
stacklevel=2,
|
|
176
|
+
)
|
|
177
|
+
return bytes(dns_encode_name(name))
|
|
167
178
|
|
|
168
179
|
|
|
169
180
|
def is_valid_name(name: str) -> bool:
|
web3/_utils/abi.py
CHANGED
|
@@ -73,7 +73,6 @@ from eth_utils import (
|
|
|
73
73
|
)
|
|
74
74
|
from eth_utils.toolz import (
|
|
75
75
|
curry,
|
|
76
|
-
partial,
|
|
77
76
|
pipe,
|
|
78
77
|
)
|
|
79
78
|
|
|
@@ -115,21 +114,21 @@ def receive_func_abi_exists(contract_abi: ABI) -> Sequence[ABIReceive]:
|
|
|
115
114
|
return filter_abi_by_type("receive", contract_abi)
|
|
116
115
|
|
|
117
116
|
|
|
118
|
-
def get_indexed_event_inputs(event_abi: ABIEvent) ->
|
|
117
|
+
def get_indexed_event_inputs(event_abi: ABIEvent) -> List[ABIComponentIndexed]:
|
|
119
118
|
return [arg for arg in event_abi["inputs"] if arg["indexed"] is True]
|
|
120
119
|
|
|
121
120
|
|
|
122
|
-
def exclude_indexed_event_inputs(event_abi: ABIEvent) ->
|
|
121
|
+
def exclude_indexed_event_inputs(event_abi: ABIEvent) -> List[ABIComponentIndexed]:
|
|
123
122
|
return [arg for arg in event_abi["inputs"] if arg["indexed"] is False]
|
|
124
123
|
|
|
125
124
|
|
|
126
|
-
def filter_by_types(types: Collection[str], contract_abi: ABI) ->
|
|
125
|
+
def filter_by_types(types: Collection[str], contract_abi: ABI) -> List[ABIElement]:
|
|
127
126
|
return [abi_element for abi_element in contract_abi if abi_element["type"] in types]
|
|
128
127
|
|
|
129
128
|
|
|
130
129
|
def filter_by_argument_name(
|
|
131
130
|
argument_names: Collection[str], contract_abi: ABI
|
|
132
|
-
) ->
|
|
131
|
+
) -> List[ABIElement]:
|
|
133
132
|
"""
|
|
134
133
|
Return a list of each ``ABIElement`` which contains arguments matching provided
|
|
135
134
|
names.
|
|
@@ -186,7 +185,7 @@ def get_name_from_abi_element_identifier(
|
|
|
186
185
|
|
|
187
186
|
def get_abi_element_signature(
|
|
188
187
|
abi_element_identifier: ABIElementIdentifier,
|
|
189
|
-
abi_element_argument_types: Optional[
|
|
188
|
+
abi_element_argument_types: Optional[Iterable[str]] = None,
|
|
190
189
|
) -> str:
|
|
191
190
|
element_name = get_name_from_abi_element_identifier(abi_element_identifier)
|
|
192
191
|
argument_types = ",".join(abi_element_argument_types or [])
|
|
@@ -585,9 +584,9 @@ def normalize_event_input_types(
|
|
|
585
584
|
|
|
586
585
|
@curry
|
|
587
586
|
def map_abi_data(
|
|
588
|
-
normalizers:
|
|
589
|
-
types:
|
|
590
|
-
data:
|
|
587
|
+
normalizers: Iterable[Callable[[TypeStr, Any], Tuple[TypeStr, Any]]],
|
|
588
|
+
types: Iterable[TypeStr],
|
|
589
|
+
data: Iterable[Any],
|
|
591
590
|
) -> Any:
|
|
592
591
|
"""
|
|
593
592
|
Applies normalizers to your data, in the context of the relevant types.
|
|
@@ -611,17 +610,21 @@ def map_abi_data(
|
|
|
611
610
|
2. Recursively mapping each of the normalizers to the data
|
|
612
611
|
3. Stripping the types back out of the tree
|
|
613
612
|
"""
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
613
|
+
return pipe(
|
|
614
|
+
data,
|
|
615
|
+
# 1. Decorating the data tree with types
|
|
616
|
+
abi_data_tree(types),
|
|
617
|
+
# 2. Recursively mapping each of the normalizers to the data
|
|
618
|
+
*map(data_tree_map, normalizers),
|
|
619
|
+
# 3. Stripping the types back out of the tree
|
|
620
|
+
strip_abi_types,
|
|
618
621
|
)
|
|
619
622
|
|
|
620
|
-
return pipe(data, *pipeline)
|
|
621
|
-
|
|
622
623
|
|
|
623
624
|
@curry
|
|
624
|
-
def abi_data_tree(
|
|
625
|
+
def abi_data_tree(
|
|
626
|
+
types: Iterable[TypeStr], data: Iterable[Any]
|
|
627
|
+
) -> List["ABITypedData"]:
|
|
625
628
|
"""
|
|
626
629
|
Decorate the data tree with pairs of (type, data). The pair tuple is actually an
|
|
627
630
|
ABITypedData, but can be accessed as a tuple.
|
|
@@ -631,10 +634,7 @@ def abi_data_tree(types: Sequence[TypeStr], data: Sequence[Any]) -> List[Any]:
|
|
|
631
634
|
>>> abi_data_tree(types=["bool[2]", "uint"], data=[[True, False], 0])
|
|
632
635
|
[("bool[2]", [("bool", True), ("bool", False)]), ("uint256", 0)]
|
|
633
636
|
"""
|
|
634
|
-
return
|
|
635
|
-
abi_sub_tree(data_type, data_value)
|
|
636
|
-
for data_type, data_value in zip(types, data)
|
|
637
|
-
]
|
|
637
|
+
return list(map(abi_sub_tree, types, data))
|
|
638
638
|
|
|
639
639
|
|
|
640
640
|
@curry
|
|
@@ -723,6 +723,10 @@ def strip_abi_type(elements: Any) -> Any:
|
|
|
723
723
|
return elements
|
|
724
724
|
|
|
725
725
|
|
|
726
|
+
def strip_abi_types(elements: Any) -> Any:
|
|
727
|
+
return recursive_map(strip_abi_type, elements)
|
|
728
|
+
|
|
729
|
+
|
|
726
730
|
def build_non_strict_registry() -> ABIRegistry:
|
|
727
731
|
# We make a copy here just to make sure that eth-abi's default registry is not
|
|
728
732
|
# affected by our custom encoder subclasses
|
web3/_utils/batching.py
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
from copy import (
|
|
2
|
-
copy,
|
|
3
|
-
)
|
|
4
|
-
from functools import (
|
|
5
|
-
wraps,
|
|
6
|
-
)
|
|
7
1
|
from types import (
|
|
8
2
|
TracebackType,
|
|
9
3
|
)
|
|
@@ -15,11 +9,8 @@ from typing import (
|
|
|
15
9
|
Dict,
|
|
16
10
|
Generic,
|
|
17
11
|
List,
|
|
18
|
-
Protocol,
|
|
19
|
-
Sequence,
|
|
20
12
|
Tuple,
|
|
21
13
|
Type,
|
|
22
|
-
TypeVar,
|
|
23
14
|
Union,
|
|
24
15
|
cast,
|
|
25
16
|
)
|
|
@@ -28,17 +19,10 @@ import warnings
|
|
|
28
19
|
from web3._utils.compat import (
|
|
29
20
|
Self,
|
|
30
21
|
)
|
|
31
|
-
from web3.contract.async_contract import (
|
|
32
|
-
AsyncContractFunction,
|
|
33
|
-
)
|
|
34
|
-
from web3.contract.contract import (
|
|
35
|
-
ContractFunction,
|
|
36
|
-
)
|
|
37
22
|
from web3.exceptions import (
|
|
38
23
|
Web3ValueError,
|
|
39
24
|
)
|
|
40
25
|
from web3.types import (
|
|
41
|
-
RPCEndpoint,
|
|
42
26
|
TFunc,
|
|
43
27
|
TReturn,
|
|
44
28
|
)
|
|
@@ -48,6 +32,12 @@ if TYPE_CHECKING:
|
|
|
48
32
|
AsyncWeb3,
|
|
49
33
|
Web3,
|
|
50
34
|
)
|
|
35
|
+
from web3.contract.async_contract import (
|
|
36
|
+
AsyncContractFunction,
|
|
37
|
+
)
|
|
38
|
+
from web3.contract.contract import (
|
|
39
|
+
ContractFunction,
|
|
40
|
+
)
|
|
51
41
|
from web3.method import ( # noqa: F401
|
|
52
42
|
Method,
|
|
53
43
|
)
|
|
@@ -61,13 +51,14 @@ if TYPE_CHECKING:
|
|
|
61
51
|
JSONBaseProvider,
|
|
62
52
|
)
|
|
63
53
|
from web3.types import ( # noqa: F401
|
|
54
|
+
RPCEndpoint,
|
|
64
55
|
RPCResponse,
|
|
65
56
|
)
|
|
66
57
|
|
|
67
58
|
|
|
68
59
|
BATCH_REQUEST_ID = "batch_request" # for use as the cache key for batch requests
|
|
69
60
|
|
|
70
|
-
BatchRequestInformation = Tuple[Tuple["RPCEndpoint", Any],
|
|
61
|
+
BatchRequestInformation = Tuple[Tuple["RPCEndpoint", Any], Tuple[Any, ...]]
|
|
71
62
|
RPC_METHODS_UNSUPPORTED_DURING_BATCH = {
|
|
72
63
|
"eth_subscribe",
|
|
73
64
|
"eth_unsubscribe",
|
|
@@ -104,21 +95,18 @@ class RequestBatcher(Generic[TFunc]):
|
|
|
104
95
|
)
|
|
105
96
|
|
|
106
97
|
def _initialize_batching(self) -> None:
|
|
107
|
-
self._provider.
|
|
98
|
+
self._provider._batching_context.set(self)
|
|
108
99
|
self.clear()
|
|
109
100
|
|
|
110
101
|
def _end_batching(self) -> None:
|
|
111
102
|
self.clear()
|
|
112
|
-
self._provider.
|
|
113
|
-
if self._provider.has_persistent_connection:
|
|
114
|
-
provider = cast("PersistentConnectionProvider", self._provider)
|
|
115
|
-
provider._batch_request_counter = None
|
|
103
|
+
self._provider._batching_context.set(None)
|
|
116
104
|
|
|
117
105
|
def add(self, batch_payload: TReturn) -> None:
|
|
118
106
|
self._validate_is_batching()
|
|
119
107
|
|
|
120
|
-
if
|
|
121
|
-
batch_payload = batch_payload.call()
|
|
108
|
+
if hasattr(batch_payload, "call"):
|
|
109
|
+
batch_payload = batch_payload.call()
|
|
122
110
|
|
|
123
111
|
# When batching, we don't make a request. Instead, we will get the request
|
|
124
112
|
# information and store it in the `_requests_info` list. So we have to cast the
|
|
@@ -136,8 +124,8 @@ class RequestBatcher(Generic[TFunc]):
|
|
|
136
124
|
Union[
|
|
137
125
|
"Method[Callable[..., Any]]",
|
|
138
126
|
Callable[..., Any],
|
|
139
|
-
ContractFunction,
|
|
140
|
-
AsyncContractFunction,
|
|
127
|
+
"ContractFunction",
|
|
128
|
+
"AsyncContractFunction",
|
|
141
129
|
],
|
|
142
130
|
List[Any],
|
|
143
131
|
],
|
|
@@ -156,9 +144,6 @@ class RequestBatcher(Generic[TFunc]):
|
|
|
156
144
|
def clear(self) -> None:
|
|
157
145
|
self._requests_info = []
|
|
158
146
|
self._async_requests_info = []
|
|
159
|
-
if self._provider.has_persistent_connection:
|
|
160
|
-
provider = cast("PersistentConnectionProvider", self._provider)
|
|
161
|
-
provider._batch_request_counter = next(copy(provider.request_counter))
|
|
162
147
|
|
|
163
148
|
def cancel(self) -> None:
|
|
164
149
|
self._end_batching()
|
|
@@ -181,9 +166,14 @@ class RequestBatcher(Generic[TFunc]):
|
|
|
181
166
|
|
|
182
167
|
async def async_execute(self) -> List["RPCResponse"]:
|
|
183
168
|
self._validate_is_batching()
|
|
184
|
-
|
|
185
|
-
self.
|
|
186
|
-
|
|
169
|
+
if self._provider.has_persistent_connection:
|
|
170
|
+
responses = await self.web3.manager._async_make_socket_batch_request(
|
|
171
|
+
self._async_requests_info
|
|
172
|
+
)
|
|
173
|
+
else:
|
|
174
|
+
responses = await self.web3.manager._async_make_batch_request(
|
|
175
|
+
self._async_requests_info
|
|
176
|
+
)
|
|
187
177
|
self._end_batching()
|
|
188
178
|
return responses
|
|
189
179
|
|
|
@@ -220,39 +210,3 @@ def sort_batch_response_by_response_ids(
|
|
|
220
210
|
stacklevel=2,
|
|
221
211
|
)
|
|
222
212
|
return responses
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
class SupportsBatching(Protocol):
|
|
226
|
-
_is_batching: bool
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
R = TypeVar("R")
|
|
230
|
-
T = TypeVar("T", bound=SupportsBatching)
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
def async_batching_context(
|
|
234
|
-
method: Callable[[T, List[Tuple[RPCEndpoint, Any]]], Coroutine[Any, Any, R]]
|
|
235
|
-
) -> Callable[[T, List[Tuple[RPCEndpoint, Any]]], Coroutine[Any, Any, R]]:
|
|
236
|
-
@wraps(method)
|
|
237
|
-
async def wrapper(self: T, requests: List[Tuple[RPCEndpoint, Any]]) -> R:
|
|
238
|
-
self._is_batching = True
|
|
239
|
-
try:
|
|
240
|
-
return await method(self, requests)
|
|
241
|
-
finally:
|
|
242
|
-
self._is_batching = False
|
|
243
|
-
|
|
244
|
-
return wrapper
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
def batching_context(
|
|
248
|
-
method: Callable[[T, List[Tuple[RPCEndpoint, Any]]], R]
|
|
249
|
-
) -> Callable[[T, List[Tuple[RPCEndpoint, Any]]], R]:
|
|
250
|
-
@wraps(method)
|
|
251
|
-
def wrapper(self: T, requests: List[Tuple[RPCEndpoint, Any]]) -> R:
|
|
252
|
-
self._is_batching = True
|
|
253
|
-
try:
|
|
254
|
-
return method(self, requests)
|
|
255
|
-
finally:
|
|
256
|
-
self._is_batching = False
|
|
257
|
-
|
|
258
|
-
return wrapper
|
|
@@ -73,7 +73,8 @@ def is_beyond_validation_threshold(
|
|
|
73
73
|
else:
|
|
74
74
|
provider.logger.error(
|
|
75
75
|
"Invalid request_cache_validation_threshold value. This should not "
|
|
76
|
-
|
|
76
|
+
"have happened. Request not cached.\n threshold: %s",
|
|
77
|
+
threshold,
|
|
77
78
|
)
|
|
78
79
|
return False
|
|
79
80
|
except Exception as e:
|
|
@@ -128,7 +129,8 @@ def validate_from_blocknum_in_result(
|
|
|
128
129
|
else:
|
|
129
130
|
provider.logger.error(
|
|
130
131
|
"Could not find block number in result. This should not have happened. "
|
|
131
|
-
|
|
132
|
+
"Request not cached.\n result: %s",
|
|
133
|
+
result,
|
|
132
134
|
)
|
|
133
135
|
return False
|
|
134
136
|
except Exception as e:
|
|
@@ -198,7 +200,8 @@ async def async_is_beyond_validation_threshold(
|
|
|
198
200
|
else:
|
|
199
201
|
provider.logger.error(
|
|
200
202
|
"Invalid request_cache_validation_threshold value. This should not "
|
|
201
|
-
|
|
203
|
+
"have happened. Request not cached.\n threshold: %s",
|
|
204
|
+
threshold,
|
|
202
205
|
)
|
|
203
206
|
return False
|
|
204
207
|
except Exception as e:
|
|
@@ -253,7 +256,8 @@ async def async_validate_from_blocknum_in_result(
|
|
|
253
256
|
else:
|
|
254
257
|
provider.logger.error(
|
|
255
258
|
"Could not find block number in result. This should not have happened. "
|
|
256
|
-
|
|
259
|
+
"Request not cached.\n result: %s",
|
|
260
|
+
result,
|
|
257
261
|
)
|
|
258
262
|
return False
|
|
259
263
|
except Exception as e:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Generated by `compile_contracts.py` script.
|
|
3
|
-
Compiled with Solidity v0.8.
|
|
3
|
+
Compiled with Solidity v0.8.30.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
# source: web3/_utils/contract_sources/AmbiguousFunctionContract.sol:AmbiguousFunctionContract # noqa: E501
|
|
7
|
-
AMBIGUOUS_FUNCTION_CONTRACT_BYTECODE = "
|
|
8
|
-
AMBIGUOUS_FUNCTION_CONTRACT_RUNTIME = "
|
|
7
|
+
AMBIGUOUS_FUNCTION_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061044a8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80631626ba7e1461004357806320c13b0b14610073578063d482bb47146100a3575b5f5ffd5b61005d60048036038101906100589190610293565b6100c1565b60405161006a9190610305565b60405180910390f35b61008d6004803603810190610088919061031e565b6100cb565b60405161009a9190610305565b60405180910390f35b6100ab6100d6565b6040516100b891906103f4565b60405180910390f35b5f5f905092915050565b5f6001905092915050565b60606040518060400160405280600581526020017f76616c6964000000000000000000000000000000000000000000000000000000815250905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61013681610124565b8114610140575f5ffd5b50565b5f813590506101518161012d565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101a58261015f565b810181811067ffffffffffffffff821117156101c4576101c361016f565b5b80604052505050565b5f6101d6610113565b90506101e2828261019c565b919050565b5f67ffffffffffffffff8211156102015761020061016f565b5b61020a8261015f565b9050602081019050919050565b828183375f83830152505050565b5f610237610232846101e7565b6101cd565b9050828152602081018484840111156102535761025261015b565b5b61025e848285610217565b509392505050565b5f82601f83011261027a57610279610157565b5b813561028a848260208601610225565b91505092915050565b5f5f604083850312156102a9576102a861011c565b5b5f6102b685828601610143565b925050602083013567ffffffffffffffff8111156102d7576102d6610120565b5b6102e385828601610266565b9150509250929050565b5f819050919050565b6102ff816102ed565b82525050565b5f6020820190506103185f8301846102f6565b92915050565b5f5f604083850312156103345761033361011c565b5b5f83013567ffffffffffffffff81111561035157610350610120565b5b61035d85828601610266565b925050602083013567ffffffffffffffff81111561037e5761037d610120565b5b61038a85828601610266565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6103c682610394565b6103d0818561039e565b93506103e08185602086016103ae565b6103e98161015f565b840191505092915050565b5f6020820190508181035f83015261040c81846103bc565b90509291505056fea26469706673582212207771e80e03817222551c15a244685f02dd958991f78b46e6373f839b286c0be264736f6c634300081e0033" # noqa: E501
|
|
8
|
+
AMBIGUOUS_FUNCTION_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80631626ba7e1461004357806320c13b0b14610073578063d482bb47146100a3575b5f5ffd5b61005d60048036038101906100589190610293565b6100c1565b60405161006a9190610305565b60405180910390f35b61008d6004803603810190610088919061031e565b6100cb565b60405161009a9190610305565b60405180910390f35b6100ab6100d6565b6040516100b891906103f4565b60405180910390f35b5f5f905092915050565b5f6001905092915050565b60606040518060400160405280600581526020017f76616c6964000000000000000000000000000000000000000000000000000000815250905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61013681610124565b8114610140575f5ffd5b50565b5f813590506101518161012d565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101a58261015f565b810181811067ffffffffffffffff821117156101c4576101c361016f565b5b80604052505050565b5f6101d6610113565b90506101e2828261019c565b919050565b5f67ffffffffffffffff8211156102015761020061016f565b5b61020a8261015f565b9050602081019050919050565b828183375f83830152505050565b5f610237610232846101e7565b6101cd565b9050828152602081018484840111156102535761025261015b565b5b61025e848285610217565b509392505050565b5f82601f83011261027a57610279610157565b5b813561028a848260208601610225565b91505092915050565b5f5f604083850312156102a9576102a861011c565b5b5f6102b685828601610143565b925050602083013567ffffffffffffffff8111156102d7576102d6610120565b5b6102e385828601610266565b9150509250929050565b5f819050919050565b6102ff816102ed565b82525050565b5f6020820190506103185f8301846102f6565b92915050565b5f5f604083850312156103345761033361011c565b5b5f83013567ffffffffffffffff81111561035157610350610120565b5b61035d85828601610266565b925050602083013567ffffffffffffffff81111561037e5761037d610120565b5b61038a85828601610266565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6103c682610394565b6103d0818561039e565b93506103e08185602086016103ae565b6103e98161015f565b840191505092915050565b5f6020820190508181035f83015261040c81846103bc565b90509291505056fea26469706673582212207771e80e03817222551c15a244685f02dd958991f78b46e6373f839b286c0be264736f6c634300081e0033" # noqa: E501
|
|
9
9
|
AMBIGUOUS_FUNCTION_CONTRACT_ABI = [
|
|
10
10
|
{
|
|
11
11
|
"inputs": [
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Generated by `compile_contracts.py` script.
|
|
3
|
-
Compiled with Solidity v0.8.
|
|
3
|
+
Compiled with Solidity v0.8.30.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
# source: web3/_utils/contract_sources/ArraysContract.sol:ArraysContract
|
|
7
|
-
ARRAYS_CONTRACT_BYTECODE = "
|
|
8
|
-
ARRAYS_CONTRACT_RUNTIME = "
|
|
7
|
+
ARRAYS_CONTRACT_BYTECODE = "0x608060405260405180604001604052807f03783fac2efed8fbc9ad443e592ee30e61d65f471140c10ca155e937b435b76081526020017f1f675bff07515f5df96737194ea945c36c41e7b4fcef307b7cd4d0e602a691118152506001906002610069929190610199565b5060405180604001604052805f7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020017f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681525060039060026101379291906101e4565b50348015610143575f5ffd5b5060405161128238038061128283398181016040528101906101659190610652565b815f908051906020019061017a929190610286565b5080600290805190602001906101919291906102d1565b5050506106c8565b828054828255905f5260205f209081019282156101d3579160200282015b828111156101d25782518255916020019190600101906101b7565b5b5090506101e09190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610275579160200282015f5b8382111561024757835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f0104928301926001030261020a565b80156102735782816101000a81549060ff02191690556001016020815f01049283019260010302610247565b505b509050610282919061038e565b5090565b828054828255905f5260205f209081019282156102c0579160200282015b828111156102bf5782518255916020019190600101906102a4565b5b5090506102cd9190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610362579160200282015f5b8382111561033457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026102f7565b80156103605782816101000a81549060ff02191690556001016020815f01049283019260010302610334565b505b50905061036f919061038e565b5090565b5b8082111561038a575f815f905550600101610374565b5090565b5b808211156103a5575f815f90555060010161038f565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610404826103be565b810181811067ffffffffffffffff82111715610423576104226103ce565b5b80604052505050565b5f6104356103a9565b905061044182826103fb565b919050565b5f67ffffffffffffffff8211156104605761045f6103ce565b5b602082029050602081019050919050565b5f5ffd5b5f819050919050565b61048781610475565b8114610491575f5ffd5b50565b5f815190506104a28161047e565b92915050565b5f6104ba6104b584610446565b61042c565b905080838252602082019050602084028301858111156104dd576104dc610471565b5b835b8181101561050657806104f28882610494565b8452602084019350506020810190506104df565b5050509392505050565b5f82601f830112610524576105236103ba565b5b81516105348482602086016104a8565b91505092915050565b5f67ffffffffffffffff821115610557576105566103ce565b5b602082029050602081019050919050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61059c81610568565b81146105a6575f5ffd5b50565b5f815190506105b781610593565b92915050565b5f6105cf6105ca8461053d565b61042c565b905080838252602082019050602084028301858111156105f2576105f1610471565b5b835b8181101561061b578061060788826105a9565b8452602084019350506020810190506105f4565b5050509392505050565b5f82601f830112610639576106386103ba565b5b81516106498482602086016105bd565b91505092915050565b5f5f60408385031215610668576106676103b2565b5b5f83015167ffffffffffffffff811115610685576106846103b6565b5b61069185828601610510565b925050602083015167ffffffffffffffff8111156106b2576106b16103b6565b5b6106be85828601610625565b9150509250929050565b610bad806106d55f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea2646970667358221220431273480cf814ef924a15a89462b6fa62e00497b1ee4630c92f33676f5b227264736f6c634300081e0033" # noqa: E501
|
|
8
|
+
ARRAYS_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea2646970667358221220431273480cf814ef924a15a89462b6fa62e00497b1ee4630c92f33676f5b227264736f6c634300081e0033" # noqa: E501
|
|
9
9
|
ARRAYS_CONTRACT_ABI = [
|
|
10
10
|
{
|
|
11
11
|
"inputs": [
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Generated by `compile_contracts.py` script.
|
|
3
|
-
Compiled with Solidity v0.8.
|
|
3
|
+
Compiled with Solidity v0.8.30.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
# source: web3/_utils/contract_sources/BytesContracts.sol:BytesContract
|
|
7
|
-
BYTES_CONTRACT_BYTECODE = "
|
|
8
|
-
BYTES_CONTRACT_RUNTIME = "
|
|
7
|
+
BYTES_CONTRACT_BYTECODE = "0x60806040526040518060400160405280600281526020017f01230000000000000000000000000000000000000000000000000000000000008152505f908161004791906102c8565b50348015610053575f5ffd5b50604051610cd0380380610cd0833981810160405281019061007591906104b7565b80600190816100849190610508565b50506105d7565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061010657607f821691505b602082108103610119576101186100c2565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261017b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610140565b6101858683610140565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101c96101c46101bf8461019d565b6101a6565b61019d565b9050919050565b5f819050919050565b6101e2836101af565b6101f66101ee826101d0565b84845461014c565b825550505050565b5f5f905090565b61020d6101fe565b6102188184846101d9565b505050565b5b8181101561023b576102305f82610205565b60018101905061021e565b5050565b601f821115610280576102518161011f565b61025a84610131565b81016020851015610269578190505b61027d61027585610131565b83018261021d565b50505b505050565b5f82821c905092915050565b5f6102a05f1984600802610285565b1980831691505092915050565b5f6102b88383610291565b9150826002028217905092915050565b6102d18261008b565b67ffffffffffffffff8111156102ea576102e9610095565b5b6102f482546100ef565b6102ff82828561023f565b5f60209050601f831160018114610330575f841561031e578287015190505b61032885826102ad565b86555061038f565b601f19841661033e8661011f565b5f5b8281101561036557848901518255600182019150602085019450602081019050610340565b86831015610382578489015161037e601f891682610291565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b6103c9826103b0565b810181811067ffffffffffffffff821117156103e8576103e7610095565b5b80604052505050565b5f6103fa610397565b905061040682826103c0565b919050565b5f67ffffffffffffffff82111561042557610424610095565b5b61042e826103b0565b9050602081019050919050565b8281835e5f83830152505050565b5f61045b6104568461040b565b6103f1565b905082815260208101848484011115610477576104766103ac565b5b61048284828561043b565b509392505050565b5f82601f83011261049e5761049d6103a8565b5b81516104ae848260208601610449565b91505092915050565b5f602082840312156104cc576104cb6103a0565b5b5f82015167ffffffffffffffff8111156104e9576104e86103a4565b5b6104f58482850161048a565b91505092915050565b5f81519050919050565b610511826104fe565b67ffffffffffffffff81111561052a57610529610095565b5b61053482546100ef565b61053f82828561023f565b5f60209050601f831160018114610570575f841561055e578287015190505b61056885826102ad565b8655506105cf565b601f19841661057e8661011f565b5f5b828110156105a557848901518255600182019150602085019450602081019050610580565b868310156105c257848901516105be601f891682610291565b8355505b6001600288020188555050505b505050505050565b6106ec806105e45f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f5ffd5b61004b61009b565b604051610058919061023d565b60405180910390f35b61006961012b565b604051610076919061023d565b60405180910390f35b6100996004803603810190610094919061039a565b6101ba565b005b6060600180546100aa9061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546100d69061040e565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f80546101399061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546101659061040e565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105e7565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61020f826101cd565b61021981856101d7565b93506102298185602086016101e7565b610232816101f5565b840191505092915050565b5f6020820190508181035f8301526102558184610205565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102ac826101f5565b810181811067ffffffffffffffff821117156102cb576102ca610276565b5b80604052505050565b5f6102dd61025d565b90506102e982826102a3565b919050565b5f67ffffffffffffffff82111561030857610307610276565b5b610311826101f5565b9050602081019050919050565b828183375f83830152505050565b5f61033e610339846102ee565b6102d4565b90508281526020810184848401111561035a57610359610272565b5b61036584828561031e565b509392505050565b5f82601f8301126103815761038061026e565b5b813561039184826020860161032c565b91505092915050565b5f602082840312156103af576103ae610266565b5b5f82013567ffffffffffffffff8111156103cc576103cb61026a565b5b6103d88482850161036d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061042557607f821691505b602082108103610438576104376103e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261049a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261045f565b6104a4868361045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104e86104e36104de846104bc565b6104c5565b6104bc565b9050919050565b5f819050919050565b610501836104ce565b61051561050d826104ef565b84845461046b565b825550505050565b5f5f905090565b61052c61051d565b6105378184846104f8565b505050565b5b8181101561055a5761054f5f82610524565b60018101905061053d565b5050565b601f82111561059f576105708161043e565b61057984610450565b81016020851015610588578190505b61059c61059485610450565b83018261053c565b50505b505050565b5f82821c905092915050565b5f6105bf5f19846008026105a4565b1980831691505092915050565b5f6105d783836105b0565b9150826002028217905092915050565b6105f0826101cd565b67ffffffffffffffff81111561060957610608610276565b5b610613825461040e565b61061e82828561055e565b5f60209050601f83116001811461064f575f841561063d578287015190505b61064785826105cc565b8655506106ae565b601f19841661065d8661043e565b5f5b828110156106845784890151825560018201915060208501945060208101905061065f565b868310156106a1578489015161069d601f8916826105b0565b8355505b6001600288020188555050505b50505050505056fea264697066735822122016f03ea646f744b37e74f32f6ca48b4a1b46030eb5d31dd562f4b2e8caf3e05a64736f6c634300081e0033" # noqa: E501
|
|
8
|
+
BYTES_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f5ffd5b61004b61009b565b604051610058919061023d565b60405180910390f35b61006961012b565b604051610076919061023d565b60405180910390f35b6100996004803603810190610094919061039a565b6101ba565b005b6060600180546100aa9061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546100d69061040e565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f80546101399061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546101659061040e565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105e7565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61020f826101cd565b61021981856101d7565b93506102298185602086016101e7565b610232816101f5565b840191505092915050565b5f6020820190508181035f8301526102558184610205565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102ac826101f5565b810181811067ffffffffffffffff821117156102cb576102ca610276565b5b80604052505050565b5f6102dd61025d565b90506102e982826102a3565b919050565b5f67ffffffffffffffff82111561030857610307610276565b5b610311826101f5565b9050602081019050919050565b828183375f83830152505050565b5f61033e610339846102ee565b6102d4565b90508281526020810184848401111561035a57610359610272565b5b61036584828561031e565b509392505050565b5f82601f8301126103815761038061026e565b5b813561039184826020860161032c565b91505092915050565b5f602082840312156103af576103ae610266565b5b5f82013567ffffffffffffffff8111156103cc576103cb61026a565b5b6103d88482850161036d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061042557607f821691505b602082108103610438576104376103e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261049a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261045f565b6104a4868361045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104e86104e36104de846104bc565b6104c5565b6104bc565b9050919050565b5f819050919050565b610501836104ce565b61051561050d826104ef565b84845461046b565b825550505050565b5f5f905090565b61052c61051d565b6105378184846104f8565b505050565b5b8181101561055a5761054f5f82610524565b60018101905061053d565b5050565b601f82111561059f576105708161043e565b61057984610450565b81016020851015610588578190505b61059c61059485610450565b83018261053c565b50505b505050565b5f82821c905092915050565b5f6105bf5f19846008026105a4565b1980831691505092915050565b5f6105d783836105b0565b9150826002028217905092915050565b6105f0826101cd565b67ffffffffffffffff81111561060957610608610276565b5b610613825461040e565b61061e82828561055e565b5f60209050601f83116001811461064f575f841561063d578287015190505b61064785826105cc565b8655506106ae565b601f19841661065d8661043e565b5f5b828110156106845784890151825560018201915060208501945060208101905061065f565b868310156106a1578489015161069d601f8916826105b0565b8355505b6001600288020188555050505b50505050505056fea264697066735822122016f03ea646f744b37e74f32f6ca48b4a1b46030eb5d31dd562f4b2e8caf3e05a64736f6c634300081e0033" # noqa: E501
|
|
9
9
|
BYTES_CONTRACT_ABI = [
|
|
10
10
|
{
|
|
11
11
|
"inputs": [{"internalType": "bytes", "name": "_value", "type": "bytes"}],
|
|
@@ -42,8 +42,8 @@ BYTES_CONTRACT_DATA = {
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
# source: web3/_utils/contract_sources/BytesContracts.sol:Bytes32Contract
|
|
45
|
-
BYTES32_CONTRACT_BYTECODE = "
|
|
46
|
-
BYTES32_CONTRACT_RUNTIME = "
|
|
45
|
+
BYTES32_CONTRACT_BYTECODE = "0x60806040527f01230123012301230123012301230123012301230123012301230123012301235f553480156031575f5ffd5b50604051610238380380610238833981810160405281019060519190608f565b806001819055505060b5565b5f5ffd5b5f819050919050565b6071816061565b8114607a575f5ffd5b50565b5f81519050608981606a565b92915050565b5f6020828403121560a15760a0605d565b5b5f60ac84828501607d565b91505092915050565b610176806100c25f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f5ffd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f5f54905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f5ffd5b6100f4816100b6565b81146100fe575f5ffd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea2646970667358221220c158440d9344fca45315eee01e851c4a2624e94a37ca3b0012b31b3b2c85dd6364736f6c634300081e0033" # noqa: E501
|
|
46
|
+
BYTES32_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f5ffd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f5f54905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f5ffd5b6100f4816100b6565b81146100fe575f5ffd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea2646970667358221220c158440d9344fca45315eee01e851c4a2624e94a37ca3b0012b31b3b2c85dd6364736f6c634300081e0033" # noqa: E501
|
|
47
47
|
BYTES32_CONTRACT_ABI = [
|
|
48
48
|
{
|
|
49
49
|
"inputs": [{"internalType": "bytes32", "name": "_value", "type": "bytes32"}],
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Generated by `compile_contracts.py` script.
|
|
3
|
-
Compiled with Solidity v0.8.
|
|
3
|
+
Compiled with Solidity v0.8.30.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
# source: web3/_utils/contract_sources/ConstructorContracts.sol:SimpleConstructorContract # noqa: E501
|
|
7
|
-
SIMPLE_CONSTRUCTOR_CONTRACT_BYTECODE = "
|
|
8
|
-
SIMPLE_CONSTRUCTOR_CONTRACT_RUNTIME = "
|
|
7
|
+
SIMPLE_CONSTRUCTOR_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b50603e80601a5f395ff3fe60806040525f5ffdfea26469706673582212209e191fa382f12b19b6452b5f4a2aa0219b128737733ec839fa9a00044a51a5b264736f6c634300081e0033" # noqa: E501
|
|
8
|
+
SIMPLE_CONSTRUCTOR_CONTRACT_RUNTIME = "0x60806040525f5ffdfea26469706673582212209e191fa382f12b19b6452b5f4a2aa0219b128737733ec839fa9a00044a51a5b264736f6c634300081e0033" # noqa: E501
|
|
9
9
|
SIMPLE_CONSTRUCTOR_CONTRACT_ABI = [
|
|
10
10
|
{"inputs": [], "stateMutability": "nonpayable", "type": "constructor"}
|
|
11
11
|
]
|
|
@@ -17,8 +17,8 @@ SIMPLE_CONSTRUCTOR_CONTRACT_DATA = {
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
# source: web3/_utils/contract_sources/ConstructorContracts.sol:ConstructorWithArgumentsContract # noqa: E501
|
|
20
|
-
CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_BYTECODE = "
|
|
21
|
-
CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_RUNTIME = "
|
|
20
|
+
CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506040516101e83803806101e88339818101604052810190602e919060a1565b815f8190555080600181905550505060d8565b5f5ffd5b5f819050919050565b6055816045565b8114605e575f5ffd5b50565b5f81519050606d81604e565b92915050565b5f819050919050565b6083816073565b8114608c575f5ffd5b50565b5f81519050609b81607c565b92915050565b5f5f6040838503121560b45760b36041565b5b5f60bf858286016061565b925050602060ce85828601608f565b9150509250929050565b610103806100e55f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f5ffd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea26469706673582212207d403d1908a2cf17f2230e67186cf271a4264a5fa23cebf6bb111ac4ff68fb4964736f6c634300081e0033" # noqa: E501
|
|
21
|
+
CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f5ffd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea26469706673582212207d403d1908a2cf17f2230e67186cf271a4264a5fa23cebf6bb111ac4ff68fb4964736f6c634300081e0033" # noqa: E501
|
|
22
22
|
CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_ABI = [
|
|
23
23
|
{
|
|
24
24
|
"inputs": [
|
|
@@ -51,8 +51,8 @@ CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_DATA = {
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
# source: web3/_utils/contract_sources/ConstructorContracts.sol:ConstructorWithAddressArgumentContract # noqa: E501
|
|
54
|
-
CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_BYTECODE = "
|
|
55
|
-
CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_RUNTIME = "
|
|
54
|
+
CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_BYTECODE = "0x608060405234801561000f575f5ffd5b506040516101fb3803806101fb833981810160405281019061003191906100d4565b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100a38261007a565b9050919050565b6100b381610099565b81146100bd575f5ffd5b50565b5f815190506100ce816100aa565b92915050565b5f602082840312156100e9576100e8610076565b5b5f6100f6848285016100c0565b91505092915050565b60f08061010b5f395ff3fe6080604052348015600e575f5ffd5b50600436106026575f3560e01c806334664e3a14602a575b5f5ffd5b60306044565b604051603b919060a3565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608f826068565b9050919050565b609d816087565b82525050565b5f60208201905060b45f8301846096565b9291505056fea2646970667358221220d29806ab73246c53e77ade19f47279948e66b8efb71c14084c98c3d059ea35ee64736f6c634300081e0033" # noqa: E501
|
|
55
|
+
CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106026575f3560e01c806334664e3a14602a575b5f5ffd5b60306044565b604051603b919060a3565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608f826068565b9050919050565b609d816087565b82525050565b5f60208201905060b45f8301846096565b9291505056fea2646970667358221220d29806ab73246c53e77ade19f47279948e66b8efb71c14084c98c3d059ea35ee64736f6c634300081e0033" # noqa: E501
|
|
56
56
|
CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_ABI = [
|
|
57
57
|
{
|
|
58
58
|
"inputs": [{"internalType": "address", "name": "_testAddr", "type": "address"}],
|