web3 7.0.0b2__py3-none-any.whl → 7.7.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 (144) hide show
  1. ens/__init__.py +13 -2
  2. ens/_normalization.py +4 -4
  3. ens/async_ens.py +27 -15
  4. ens/base_ens.py +3 -1
  5. ens/contract_data.py +2 -2
  6. ens/ens.py +10 -7
  7. ens/exceptions.py +16 -29
  8. ens/specs/nf.json +1 -1
  9. ens/specs/normalization_spec.json +1 -1
  10. ens/utils.py +24 -32
  11. web3/__init__.py +23 -12
  12. web3/_utils/abi.py +157 -263
  13. web3/_utils/async_transactions.py +34 -20
  14. web3/_utils/batching.py +217 -0
  15. web3/_utils/blocks.py +6 -2
  16. web3/_utils/caching/__init__.py +12 -0
  17. web3/_utils/caching/caching_utils.py +433 -0
  18. web3/_utils/caching/request_caching_validation.py +287 -0
  19. web3/_utils/compat/__init__.py +2 -3
  20. web3/_utils/contract_sources/compile_contracts.py +1 -1
  21. web3/_utils/contract_sources/contract_data/ambiguous_function_contract.py +42 -0
  22. web3/_utils/contract_sources/contract_data/arrays_contract.py +3 -3
  23. web3/_utils/contract_sources/contract_data/bytes_contracts.py +5 -5
  24. web3/_utils/contract_sources/contract_data/constructor_contracts.py +7 -7
  25. web3/_utils/contract_sources/contract_data/contract_caller_tester.py +3 -3
  26. web3/_utils/contract_sources/contract_data/emitter_contract.py +3 -3
  27. web3/_utils/contract_sources/contract_data/event_contracts.py +50 -5
  28. web3/_utils/contract_sources/contract_data/extended_resolver.py +3 -3
  29. web3/_utils/contract_sources/contract_data/fallback_function_contract.py +3 -3
  30. web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +3 -3
  31. web3/_utils/contract_sources/contract_data/math_contract.py +3 -3
  32. web3/_utils/contract_sources/contract_data/offchain_lookup.py +3 -3
  33. web3/_utils/contract_sources/contract_data/offchain_resolver.py +3 -3
  34. web3/_utils/contract_sources/contract_data/panic_errors_contract.py +3 -3
  35. web3/_utils/contract_sources/contract_data/payable_tester.py +3 -3
  36. web3/_utils/contract_sources/contract_data/receive_function_contracts.py +5 -5
  37. web3/_utils/contract_sources/contract_data/reflector_contracts.py +3 -3
  38. web3/_utils/contract_sources/contract_data/revert_contract.py +3 -3
  39. web3/_utils/contract_sources/contract_data/simple_resolver.py +3 -3
  40. web3/_utils/contract_sources/contract_data/storage_contract.py +3 -3
  41. web3/_utils/contract_sources/contract_data/string_contract.py +3 -3
  42. web3/_utils/contract_sources/contract_data/tuple_contracts.py +5 -5
  43. web3/_utils/contracts.py +172 -220
  44. web3/_utils/datatypes.py +5 -1
  45. web3/_utils/decorators.py +6 -1
  46. web3/_utils/empty.py +1 -1
  47. web3/_utils/encoding.py +16 -12
  48. web3/_utils/error_formatters_utils.py +5 -3
  49. web3/_utils/events.py +78 -72
  50. web3/_utils/fee_utils.py +1 -3
  51. web3/_utils/filters.py +24 -22
  52. web3/_utils/formatters.py +2 -2
  53. web3/_utils/http.py +8 -2
  54. web3/_utils/http_session_manager.py +314 -0
  55. web3/_utils/math.py +14 -15
  56. web3/_utils/method_formatters.py +161 -34
  57. web3/_utils/module.py +2 -1
  58. web3/_utils/module_testing/__init__.py +3 -2
  59. web3/_utils/module_testing/eth_module.py +736 -583
  60. web3/_utils/module_testing/go_ethereum_debug_module.py +128 -0
  61. web3/_utils/module_testing/module_testing_utils.py +81 -24
  62. web3/_utils/module_testing/persistent_connection_provider.py +702 -220
  63. web3/_utils/module_testing/utils.py +114 -33
  64. web3/_utils/module_testing/web3_module.py +438 -17
  65. web3/_utils/normalizers.py +13 -11
  66. web3/_utils/rpc_abi.py +10 -22
  67. web3/_utils/threads.py +8 -7
  68. web3/_utils/transactions.py +32 -25
  69. web3/_utils/type_conversion.py +5 -1
  70. web3/_utils/validation.py +20 -17
  71. web3/beacon/__init__.py +5 -0
  72. web3/beacon/api_endpoints.py +3 -0
  73. web3/beacon/async_beacon.py +29 -6
  74. web3/beacon/beacon.py +24 -6
  75. web3/contract/__init__.py +7 -0
  76. web3/contract/async_contract.py +285 -82
  77. web3/contract/base_contract.py +556 -258
  78. web3/contract/contract.py +295 -84
  79. web3/contract/utils.py +251 -55
  80. web3/datastructures.py +49 -34
  81. web3/eth/__init__.py +7 -0
  82. web3/eth/async_eth.py +89 -69
  83. web3/eth/base_eth.py +7 -3
  84. web3/eth/eth.py +43 -66
  85. web3/exceptions.py +158 -83
  86. web3/gas_strategies/time_based.py +8 -6
  87. web3/geth.py +53 -184
  88. web3/main.py +77 -17
  89. web3/manager.py +362 -95
  90. web3/method.py +43 -15
  91. web3/middleware/__init__.py +17 -0
  92. web3/middleware/attrdict.py +12 -22
  93. web3/middleware/base.py +55 -2
  94. web3/middleware/filter.py +45 -23
  95. web3/middleware/formatting.py +6 -3
  96. web3/middleware/names.py +4 -1
  97. web3/middleware/signing.py +15 -6
  98. web3/middleware/stalecheck.py +2 -1
  99. web3/module.py +61 -25
  100. web3/providers/__init__.py +21 -0
  101. web3/providers/async_base.py +87 -32
  102. web3/providers/base.py +77 -32
  103. web3/providers/eth_tester/__init__.py +5 -0
  104. web3/providers/eth_tester/defaults.py +2 -55
  105. web3/providers/eth_tester/main.py +41 -15
  106. web3/providers/eth_tester/middleware.py +16 -17
  107. web3/providers/ipc.py +41 -17
  108. web3/providers/legacy_websocket.py +26 -1
  109. web3/providers/persistent/__init__.py +7 -0
  110. web3/providers/persistent/async_ipc.py +61 -121
  111. web3/providers/persistent/persistent.py +323 -16
  112. web3/providers/persistent/persistent_connection.py +54 -5
  113. web3/providers/persistent/request_processor.py +136 -56
  114. web3/providers/persistent/subscription_container.py +56 -0
  115. web3/providers/persistent/subscription_manager.py +233 -0
  116. web3/providers/persistent/websocket.py +29 -92
  117. web3/providers/rpc/__init__.py +5 -0
  118. web3/providers/rpc/async_rpc.py +73 -18
  119. web3/providers/rpc/rpc.py +73 -30
  120. web3/providers/rpc/utils.py +1 -13
  121. web3/scripts/install_pre_releases.py +33 -0
  122. web3/scripts/parse_pygeth_version.py +16 -0
  123. web3/testing.py +4 -4
  124. web3/tracing.py +9 -5
  125. web3/types.py +141 -74
  126. web3/utils/__init__.py +64 -5
  127. web3/utils/abi.py +790 -10
  128. web3/utils/address.py +8 -0
  129. web3/utils/async_exception_handling.py +20 -11
  130. web3/utils/caching.py +34 -4
  131. web3/utils/exception_handling.py +9 -12
  132. web3/utils/subscriptions.py +285 -0
  133. {web3-7.0.0b2.dist-info → web3-7.7.0.dist-info}/LICENSE +1 -1
  134. web3-7.7.0.dist-info/METADATA +130 -0
  135. web3-7.7.0.dist-info/RECORD +171 -0
  136. {web3-7.0.0b2.dist-info → web3-7.7.0.dist-info}/WHEEL +1 -1
  137. web3/_utils/caching.py +0 -155
  138. web3/_utils/contract_sources/contract_data/address_reflector.py +0 -29
  139. web3/_utils/module_testing/go_ethereum_personal_module.py +0 -300
  140. web3/_utils/request.py +0 -265
  141. web3-7.0.0b2.dist-info/METADATA +0 -106
  142. web3-7.0.0b2.dist-info/RECORD +0 -163
  143. /web3/_utils/{function_identifiers.py → abi_element_identifiers.py} +0 -0
  144. {web3-7.0.0b2.dist-info → web3-7.7.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,287 @@
1
+ import time
2
+ from typing import (
3
+ TYPE_CHECKING,
4
+ Any,
5
+ Dict,
6
+ Sequence,
7
+ TypeVar,
8
+ Union,
9
+ )
10
+
11
+ from web3.types import (
12
+ RPCEndpoint,
13
+ )
14
+ from web3.utils import (
15
+ RequestCacheValidationThreshold,
16
+ )
17
+
18
+ if TYPE_CHECKING:
19
+ from web3.providers import ( # noqa: F401
20
+ AsyncBaseProvider,
21
+ BaseProvider,
22
+ PersistentConnectionProvider,
23
+ )
24
+
25
+ UNCACHEABLE_BLOCK_IDS = {"finalized", "safe", "latest", "pending"}
26
+
27
+ ASYNC_PROVIDER_TYPE = TypeVar("ASYNC_PROVIDER_TYPE", bound="AsyncBaseProvider")
28
+ SYNC_PROVIDER_TYPE = TypeVar("SYNC_PROVIDER_TYPE", bound="BaseProvider")
29
+
30
+
31
+ def _error_log(
32
+ provider: Union[ASYNC_PROVIDER_TYPE, SYNC_PROVIDER_TYPE], e: Exception
33
+ ) -> None:
34
+ provider.logger.error(
35
+ "There was an exception while caching the request.", exc_info=e
36
+ )
37
+
38
+
39
+ def always_cache_request(*_args: Any, **_kwargs: Any) -> bool:
40
+ return True
41
+
42
+
43
+ def is_beyond_validation_threshold(
44
+ provider: SYNC_PROVIDER_TYPE,
45
+ blocknum: int = None,
46
+ block_timestamp: int = None,
47
+ ) -> bool:
48
+ cache_allowed_requests = provider.cache_allowed_requests
49
+ try:
50
+ threshold = provider.request_cache_validation_threshold
51
+
52
+ # turn off caching to prevent recursion
53
+ provider.cache_allowed_requests = False
54
+ if isinstance(threshold, RequestCacheValidationThreshold):
55
+ # if mainnet and threshold is "finalized" or "safe"
56
+ threshold_block = provider.make_request(
57
+ RPCEndpoint("eth_getBlockByNumber"), [threshold.value, False]
58
+ )["result"]
59
+ # we should have a `blocknum` to compare against
60
+ return blocknum <= int(threshold_block["number"], 16)
61
+ elif isinstance(threshold, int):
62
+ if not block_timestamp:
63
+ # if validating via `blocknum` from params, we need to get the timestamp
64
+ # for the block with `blocknum`.
65
+ block = provider.make_request(
66
+ RPCEndpoint("eth_getBlockByNumber"), [hex(blocknum), False]
67
+ )["result"]
68
+ block_timestamp = int(block["timestamp"], 16)
69
+
70
+ # if validating via `block_timestamp` from result, we should have a
71
+ # `block_timestamp` to compare against
72
+ return block_timestamp <= time.time() - threshold
73
+ else:
74
+ provider.logger.error(
75
+ "Invalid request_cache_validation_threshold value. This should not "
76
+ f"have happened. Request not cached.\n threshold: {threshold}"
77
+ )
78
+ return False
79
+ except Exception as e:
80
+ _error_log(provider, e)
81
+ return False
82
+ finally:
83
+ provider.cache_allowed_requests = cache_allowed_requests
84
+
85
+
86
+ def validate_from_block_id_in_params(
87
+ provider: SYNC_PROVIDER_TYPE,
88
+ params: Sequence[Any],
89
+ _result: Dict[str, Any],
90
+ ) -> bool:
91
+ block_id = params[0]
92
+ if block_id == "earliest":
93
+ # `earliest` should always be cacheable
94
+ return True
95
+
96
+ blocknum = int(block_id, 16)
97
+ return is_beyond_validation_threshold(provider, blocknum=blocknum)
98
+
99
+
100
+ def validate_from_blocknum_in_result(
101
+ provider: SYNC_PROVIDER_TYPE,
102
+ _params: Sequence[Any],
103
+ result: Dict[str, Any],
104
+ ) -> bool:
105
+ cache_allowed_requests = provider.cache_allowed_requests
106
+ try:
107
+ # turn off caching to prevent recursion
108
+ provider.cache_allowed_requests = False
109
+
110
+ # transaction results
111
+ if "blockNumber" in result:
112
+ blocknum = result.get("blockNumber")
113
+ # make an extra call to get the block values
114
+ block = provider.make_request(
115
+ RPCEndpoint("eth_getBlockByNumber"), [blocknum, False]
116
+ )["result"]
117
+ return is_beyond_validation_threshold(
118
+ provider,
119
+ blocknum=int(blocknum, 16),
120
+ block_timestamp=int(block["timestamp"], 16),
121
+ )
122
+ elif "number" in result:
123
+ return is_beyond_validation_threshold(
124
+ provider,
125
+ blocknum=int(result["number"], 16),
126
+ block_timestamp=int(result["timestamp"], 16),
127
+ )
128
+ else:
129
+ provider.logger.error(
130
+ "Could not find block number in result. This should not have happened. "
131
+ f"Request not cached.\n result: {result}",
132
+ )
133
+ return False
134
+ except Exception as e:
135
+ _error_log(provider, e)
136
+ return False
137
+ finally:
138
+ provider.cache_allowed_requests = cache_allowed_requests
139
+
140
+
141
+ def validate_from_blockhash_in_params(
142
+ provider: SYNC_PROVIDER_TYPE,
143
+ params: Sequence[Any],
144
+ _result: Dict[str, Any],
145
+ ) -> bool:
146
+ cache_allowed_requests = provider.cache_allowed_requests
147
+ try:
148
+ # turn off caching to prevent recursion
149
+ provider.cache_allowed_requests = False
150
+
151
+ # make an extra call to get the block number from the hash
152
+ block = provider.make_request(
153
+ RPCEndpoint("eth_getBlockByHash"), [params[0], False]
154
+ )["result"]
155
+ return is_beyond_validation_threshold(
156
+ provider,
157
+ blocknum=int(block["number"], 16),
158
+ block_timestamp=int(block["timestamp"], 16),
159
+ )
160
+ except Exception as e:
161
+ _error_log(provider, e)
162
+ return False
163
+ finally:
164
+ provider.cache_allowed_requests = cache_allowed_requests
165
+
166
+
167
+ # -- async -- #
168
+
169
+
170
+ async def async_is_beyond_validation_threshold(
171
+ provider: ASYNC_PROVIDER_TYPE,
172
+ blocknum: int = None,
173
+ block_timestamp: int = None,
174
+ ) -> bool:
175
+ cache_allowed_requests = provider.cache_allowed_requests
176
+ try:
177
+ threshold = provider.request_cache_validation_threshold
178
+
179
+ # turn off caching to prevent recursion
180
+ provider.cache_allowed_requests = False
181
+ if isinstance(threshold, RequestCacheValidationThreshold):
182
+ # if mainnet and threshold is "finalized" or "safe"
183
+ threshold_block = await provider.make_request(
184
+ RPCEndpoint("eth_getBlockByNumber"), [threshold.value, False]
185
+ )
186
+ # we should have a `blocknum` to compare against
187
+ return blocknum <= int(threshold_block["result"]["number"], 16)
188
+ elif isinstance(threshold, int):
189
+ if not block_timestamp:
190
+ block = await provider.make_request(
191
+ RPCEndpoint("eth_getBlockByNumber"), [hex(blocknum), False]
192
+ )
193
+ block_timestamp = int(block["result"]["timestamp"], 16)
194
+
195
+ # if validating via `block_timestamp` from result, we should have a
196
+ # `block_timestamp` to compare against
197
+ return block_timestamp <= time.time() - threshold
198
+ else:
199
+ provider.logger.error(
200
+ "Invalid request_cache_validation_threshold value. This should not "
201
+ f"have happened. Request not cached.\n threshold: {threshold}"
202
+ )
203
+ return False
204
+ except Exception as e:
205
+ _error_log(provider, e)
206
+ return False
207
+ finally:
208
+ provider.cache_allowed_requests = cache_allowed_requests
209
+
210
+
211
+ async def async_validate_from_block_id_in_params(
212
+ provider: ASYNC_PROVIDER_TYPE,
213
+ params: Sequence[Any],
214
+ _result: Dict[str, Any],
215
+ ) -> bool:
216
+ block_id = params[0]
217
+ if block_id == "earliest":
218
+ # `earliest` should always be cacheable
219
+ return True
220
+
221
+ blocknum = int(block_id, 16)
222
+ return await async_is_beyond_validation_threshold(provider, blocknum=blocknum)
223
+
224
+
225
+ async def async_validate_from_blocknum_in_result(
226
+ provider: ASYNC_PROVIDER_TYPE,
227
+ _params: Sequence[Any],
228
+ result: Dict[str, Any],
229
+ ) -> bool:
230
+ cache_allowed_requests = provider.cache_allowed_requests
231
+ try:
232
+ # turn off caching to prevent recursion
233
+ provider.cache_allowed_requests = False
234
+
235
+ # transaction results
236
+ if "blockNumber" in result:
237
+ blocknum = result.get("blockNumber")
238
+ # make an extra call to get the block values
239
+ block = await provider.make_request(
240
+ RPCEndpoint("eth_getBlockByNumber"), [blocknum, False]
241
+ )
242
+ return await async_is_beyond_validation_threshold(
243
+ provider,
244
+ blocknum=int(blocknum, 16),
245
+ block_timestamp=int(block["result"]["timestamp"], 16),
246
+ )
247
+ elif "number" in result:
248
+ return await async_is_beyond_validation_threshold(
249
+ provider,
250
+ blocknum=int(result["number"], 16),
251
+ block_timestamp=int(result["timestamp"], 16),
252
+ )
253
+ else:
254
+ provider.logger.error(
255
+ "Could not find block number in result. This should not have happened. "
256
+ f"Request not cached.\n result: {result}",
257
+ )
258
+ return False
259
+ except Exception as e:
260
+ _error_log(provider, e)
261
+ return False
262
+ finally:
263
+ provider.cache_allowed_requests = cache_allowed_requests
264
+
265
+
266
+ async def async_validate_from_blockhash_in_params(
267
+ provider: ASYNC_PROVIDER_TYPE, params: Sequence[Any], _result: Dict[str, Any]
268
+ ) -> bool:
269
+ cache_allowed_requests = provider.cache_allowed_requests
270
+ try:
271
+ # turn off caching to prevent recursion
272
+ provider.cache_allowed_requests = False
273
+
274
+ # make an extra call to get the block number from the hash
275
+ response = await provider.make_request(
276
+ RPCEndpoint("eth_getBlockByHash"), [params[0], False]
277
+ )
278
+ return await async_is_beyond_validation_threshold(
279
+ provider,
280
+ blocknum=int(response["result"]["number"], 16),
281
+ block_timestamp=int(response["result"]["timestamp"], 16),
282
+ )
283
+ except Exception as e:
284
+ _error_log(provider, e)
285
+ return False
286
+ finally:
287
+ provider.cache_allowed_requests = cache_allowed_requests
@@ -9,9 +9,8 @@
9
9
  # imported from `typing`
10
10
 
11
11
  from typing_extensions import (
12
- Literal, # py38
13
12
  NotRequired, # py311
14
- Protocol, # py38
15
- TypedDict, # py38
16
13
  Self, # py311
14
+ Unpack, # py311
15
+ TypeAlias, # py310
17
16
  )
@@ -116,7 +116,7 @@ contracts_in_file = {}
116
116
 
117
117
  def compile_files(file_list: List[str]) -> None:
118
118
  for filename in file_list:
119
- with open(os.path.join(os.getcwd(), filename), "r") as f:
119
+ with open(os.path.join(os.getcwd(), filename)) as f:
120
120
  dot_sol_file = f.readlines()
121
121
 
122
122
  contract_names = []
@@ -0,0 +1,42 @@
1
+ """
2
+ Generated by `compile_contracts.py` script.
3
+ Compiled with Solidity v0.8.28.
4
+ """
5
+
6
+ # source: web3/_utils/contract_sources/AmbiguousFunctionContract.sol:AmbiguousFunctionContract # noqa: E501
7
+ AMBIGUOUS_FUNCTION_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061044a8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80631626ba7e1461004357806320c13b0b14610073578063d482bb47146100a3575b5f5ffd5b61005d60048036038101906100589190610293565b6100c1565b60405161006a9190610305565b60405180910390f35b61008d6004803603810190610088919061031e565b6100cb565b60405161009a9190610305565b60405180910390f35b6100ab6100d6565b6040516100b891906103f4565b60405180910390f35b5f5f905092915050565b5f6001905092915050565b60606040518060400160405280600581526020017f76616c6964000000000000000000000000000000000000000000000000000000815250905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61013681610124565b8114610140575f5ffd5b50565b5f813590506101518161012d565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101a58261015f565b810181811067ffffffffffffffff821117156101c4576101c361016f565b5b80604052505050565b5f6101d6610113565b90506101e2828261019c565b919050565b5f67ffffffffffffffff8211156102015761020061016f565b5b61020a8261015f565b9050602081019050919050565b828183375f83830152505050565b5f610237610232846101e7565b6101cd565b9050828152602081018484840111156102535761025261015b565b5b61025e848285610217565b509392505050565b5f82601f83011261027a57610279610157565b5b813561028a848260208601610225565b91505092915050565b5f5f604083850312156102a9576102a861011c565b5b5f6102b685828601610143565b925050602083013567ffffffffffffffff8111156102d7576102d6610120565b5b6102e385828601610266565b9150509250929050565b5f819050919050565b6102ff816102ed565b82525050565b5f6020820190506103185f8301846102f6565b92915050565b5f5f604083850312156103345761033361011c565b5b5f83013567ffffffffffffffff81111561035157610350610120565b5b61035d85828601610266565b925050602083013567ffffffffffffffff81111561037e5761037d610120565b5b61038a85828601610266565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6103c682610394565b6103d0818561039e565b93506103e08185602086016103ae565b6103e98161015f565b840191505092915050565b5f6020820190508181035f83015261040c81846103bc565b90509291505056fea2646970667358221220baaf91e0e0589f566caa06e4f8fa283b865412d3e3c1dc1eca705cc8ad7f393764736f6c634300081c0033" # noqa: E501
8
+ AMBIGUOUS_FUNCTION_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80631626ba7e1461004357806320c13b0b14610073578063d482bb47146100a3575b5f5ffd5b61005d60048036038101906100589190610293565b6100c1565b60405161006a9190610305565b60405180910390f35b61008d6004803603810190610088919061031e565b6100cb565b60405161009a9190610305565b60405180910390f35b6100ab6100d6565b6040516100b891906103f4565b60405180910390f35b5f5f905092915050565b5f6001905092915050565b60606040518060400160405280600581526020017f76616c6964000000000000000000000000000000000000000000000000000000815250905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61013681610124565b8114610140575f5ffd5b50565b5f813590506101518161012d565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101a58261015f565b810181811067ffffffffffffffff821117156101c4576101c361016f565b5b80604052505050565b5f6101d6610113565b90506101e2828261019c565b919050565b5f67ffffffffffffffff8211156102015761020061016f565b5b61020a8261015f565b9050602081019050919050565b828183375f83830152505050565b5f610237610232846101e7565b6101cd565b9050828152602081018484840111156102535761025261015b565b5b61025e848285610217565b509392505050565b5f82601f83011261027a57610279610157565b5b813561028a848260208601610225565b91505092915050565b5f5f604083850312156102a9576102a861011c565b5b5f6102b685828601610143565b925050602083013567ffffffffffffffff8111156102d7576102d6610120565b5b6102e385828601610266565b9150509250929050565b5f819050919050565b6102ff816102ed565b82525050565b5f6020820190506103185f8301846102f6565b92915050565b5f5f604083850312156103345761033361011c565b5b5f83013567ffffffffffffffff81111561035157610350610120565b5b61035d85828601610266565b925050602083013567ffffffffffffffff81111561037e5761037d610120565b5b61038a85828601610266565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6103c682610394565b6103d0818561039e565b93506103e08185602086016103ae565b6103e98161015f565b840191505092915050565b5f6020820190508181035f83015261040c81846103bc565b90509291505056fea2646970667358221220baaf91e0e0589f566caa06e4f8fa283b865412d3e3c1dc1eca705cc8ad7f393764736f6c634300081c0033" # noqa: E501
9
+ AMBIGUOUS_FUNCTION_CONTRACT_ABI = [
10
+ {
11
+ "inputs": [
12
+ {"internalType": "bytes32", "name": "message", "type": "bytes32"},
13
+ {"internalType": "bytes", "name": "signature", "type": "bytes"},
14
+ ],
15
+ "name": "isValidSignature",
16
+ "outputs": [{"internalType": "uint256", "name": "result", "type": "uint256"}],
17
+ "stateMutability": "view",
18
+ "type": "function",
19
+ },
20
+ {
21
+ "inputs": [
22
+ {"internalType": "bytes", "name": "message", "type": "bytes"},
23
+ {"internalType": "bytes", "name": "signature", "type": "bytes"},
24
+ ],
25
+ "name": "isValidSignature",
26
+ "outputs": [{"internalType": "uint256", "name": "result", "type": "uint256"}],
27
+ "stateMutability": "view",
28
+ "type": "function",
29
+ },
30
+ {
31
+ "inputs": [],
32
+ "name": "isValidSignature",
33
+ "outputs": [{"internalType": "string", "name": "result", "type": "string"}],
34
+ "stateMutability": "view",
35
+ "type": "function",
36
+ },
37
+ ]
38
+ AMBIGUOUS_FUNCTION_CONTRACT_DATA = {
39
+ "bytecode": AMBIGUOUS_FUNCTION_CONTRACT_BYTECODE,
40
+ "bytecode_runtime": AMBIGUOUS_FUNCTION_CONTRACT_RUNTIME,
41
+ "abi": AMBIGUOUS_FUNCTION_CONTRACT_ABI,
42
+ }
@@ -1,11 +1,11 @@
1
1
  """
2
2
  Generated by `compile_contracts.py` script.
3
- Compiled with Solidity v0.8.24.
3
+ Compiled with Solidity v0.8.28.
4
4
  """
5
5
 
6
6
  # source: web3/_utils/contract_sources/ArraysContract.sol:ArraysContract
7
- ARRAYS_CONTRACT_BYTECODE = "0x608060405260405180604001604052807f03783fac2efed8fbc9ad443e592ee30e61d65f471140c10ca155e937b435b76081526020017f1f675bff07515f5df96737194ea945c36c41e7b4fcef307b7cd4d0e602a6911181525060019060026200006b929190620001a7565b5060405180604001604052805f7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020017f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681525060039060026200013b929190620001f7565b5034801562000148575f80fd5b50604051620012f3380380620012f383398181016040528101906200016e9190620006b5565b815f908051906020019062000185929190620002a0565b5080600290805190602001906200019e929190620002f0565b50505062000738565b828054828255905f5260205f20908101928215620001e4579160200282015b82811115620001e3578251825591602001919060010190620001c6565b5b509050620001f3919062000399565b5090565b828054828255905f5260205f2090601f016020900481019282156200028d579160200282015f5b838211156200025d57835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026200021e565b80156200028b5782816101000a81549060ff02191690556001016020815f010492830192600103026200025d565b505b5090506200029c9190620003b6565b5090565b828054828255905f5260205f20908101928215620002dd579160200282015b82811115620002dc578251825591602001919060010190620002bf565b5b509050620002ec919062000399565b5090565b828054828255905f5260205f2090601f0160209004810192821562000386579160200282015f5b838211156200035657835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f0104928301926001030262000317565b8015620003845782816101000a81549060ff02191690556001016020815f0104928301926001030262000356565b505b509050620003959190620003b6565b5090565b5b80821115620003b2575f815f9055506001016200039a565b5090565b5b80821115620003cf575f815f905550600101620003b7565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200043082620003e8565b810181811067ffffffffffffffff82111715620004525762000451620003f8565b5b80604052505050565b5f62000466620003d3565b905062000474828262000425565b919050565b5f67ffffffffffffffff821115620004965762000495620003f8565b5b602082029050602081019050919050565b5f80fd5b5f819050919050565b620004bf81620004ab565b8114620004ca575f80fd5b50565b5f81519050620004dd81620004b4565b92915050565b5f620004f9620004f38462000479565b6200045b565b905080838252602082019050602084028301858111156200051f576200051e620004a7565b5b835b818110156200054c5780620005378882620004cd565b84526020840193505060208101905062000521565b5050509392505050565b5f82601f8301126200056d576200056c620003e4565b5b81516200057f848260208601620004e3565b91505092915050565b5f67ffffffffffffffff821115620005a557620005a4620003f8565b5b602082029050602081019050919050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b620005ec81620005b6565b8114620005f7575f80fd5b50565b5f815190506200060a81620005e1565b92915050565b5f62000626620006208462000588565b6200045b565b905080838252602082019050602084028301858111156200064c576200064b620004a7565b5b835b81811015620006795780620006648882620005fa565b8452602084019350506020810190506200064e565b5050509392505050565b5f82601f8301126200069a5762000699620003e4565b5b8151620006ac84826020860162000610565b91505092915050565b5f8060408385031215620006ce57620006cd620003dc565b5b5f83015167ffffffffffffffff811115620006ee57620006ed620003e0565b5b620006fc8582860162000556565b925050602083015167ffffffffffffffff81111562000720576200071f620003e0565b5b6200072e8582860162000683565b9150509250929050565b610bad80620007465f395ff3fe608060405234801561000f575f80fd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f80fd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6106e7816106d5565b81146106f1575f80fd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f80fd5b61092181610733565b811461092b575f80fd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f80fd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea2646970667358221220f43fe389152574474ee89001ad6290afddc9e0eca398f8e70729e52db13c77ec64736f6c63430008180033" # noqa: E501
8
- ARRAYS_CONTRACT_RUNTIME = "0x608060405234801561000f575f80fd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f80fd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6106e7816106d5565b81146106f1575f80fd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f80fd5b61092181610733565b811461092b575f80fd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f80fd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea2646970667358221220f43fe389152574474ee89001ad6290afddc9e0eca398f8e70729e52db13c77ec64736f6c63430008180033" # noqa: E501
7
+ ARRAYS_CONTRACT_BYTECODE = "0x608060405260405180604001604052807f03783fac2efed8fbc9ad443e592ee30e61d65f471140c10ca155e937b435b76081526020017f1f675bff07515f5df96737194ea945c36c41e7b4fcef307b7cd4d0e602a691118152506001906002610069929190610199565b5060405180604001604052805f7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020017f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681525060039060026101379291906101e4565b50348015610143575f5ffd5b5060405161128238038061128283398181016040528101906101659190610652565b815f908051906020019061017a929190610286565b5080600290805190602001906101919291906102d1565b5050506106c8565b828054828255905f5260205f209081019282156101d3579160200282015b828111156101d25782518255916020019190600101906101b7565b5b5090506101e09190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610275579160200282015f5b8382111561024757835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f0104928301926001030261020a565b80156102735782816101000a81549060ff02191690556001016020815f01049283019260010302610247565b505b509050610282919061038e565b5090565b828054828255905f5260205f209081019282156102c0579160200282015b828111156102bf5782518255916020019190600101906102a4565b5b5090506102cd9190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610362579160200282015f5b8382111561033457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026102f7565b80156103605782816101000a81549060ff02191690556001016020815f01049283019260010302610334565b505b50905061036f919061038e565b5090565b5b8082111561038a575f815f905550600101610374565b5090565b5b808211156103a5575f815f90555060010161038f565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610404826103be565b810181811067ffffffffffffffff82111715610423576104226103ce565b5b80604052505050565b5f6104356103a9565b905061044182826103fb565b919050565b5f67ffffffffffffffff8211156104605761045f6103ce565b5b602082029050602081019050919050565b5f5ffd5b5f819050919050565b61048781610475565b8114610491575f5ffd5b50565b5f815190506104a28161047e565b92915050565b5f6104ba6104b584610446565b61042c565b905080838252602082019050602084028301858111156104dd576104dc610471565b5b835b8181101561050657806104f28882610494565b8452602084019350506020810190506104df565b5050509392505050565b5f82601f830112610524576105236103ba565b5b81516105348482602086016104a8565b91505092915050565b5f67ffffffffffffffff821115610557576105566103ce565b5b602082029050602081019050919050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61059c81610568565b81146105a6575f5ffd5b50565b5f815190506105b781610593565b92915050565b5f6105cf6105ca8461053d565b61042c565b905080838252602082019050602084028301858111156105f2576105f1610471565b5b835b8181101561061b578061060788826105a9565b8452602084019350506020810190506105f4565b5050509392505050565b5f82601f830112610639576106386103ba565b5b81516106498482602086016105bd565b91505092915050565b5f5f60408385031215610668576106676103b2565b5b5f83015167ffffffffffffffff811115610685576106846103b6565b5b61069185828601610510565b925050602083015167ffffffffffffffff8111156106b2576106b16103b6565b5b6106be85828601610625565b9150509250929050565b610bad806106d55f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea264697066735822122066c1b5aca68c975c1e8dc691b119fd4a13f4d38e08e8e1cfc16164b958dfe6a964736f6c634300081c0033" # noqa: E501
8
+ ARRAYS_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea264697066735822122066c1b5aca68c975c1e8dc691b119fd4a13f4d38e08e8e1cfc16164b958dfe6a964736f6c634300081c0033" # 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.24.
3
+ Compiled with Solidity v0.8.28.
4
4
  """
5
5
 
6
6
  # source: web3/_utils/contract_sources/BytesContracts.sol:BytesContract
7
- BYTES_CONTRACT_BYTECODE = "0x60806040526040518060400160405280600281526020017f01230000000000000000000000000000000000000000000000000000000000008152505f9081620000499190620002f9565b5034801562000056575f80fd5b5060405162000d8338038062000d8383398181016040528101906200007c919062000535565b80600190816200008d91906200058e565b505062000672565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200011157607f821691505b602082108103620001275762000126620000cc565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200018b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200014e565b6200019786836200014e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620001e1620001db620001d584620001af565b620001b8565b620001af565b9050919050565b5f819050919050565b620001fc83620001c1565b620002146200020b82620001e8565b8484546200015a565b825550505050565b5f90565b6200022a6200021c565b62000237818484620001f1565b505050565b5b818110156200025e57620002525f8262000220565b6001810190506200023d565b5050565b601f821115620002ad5762000277816200012d565b62000282846200013f565b8101602085101562000292578190505b620002aa620002a1856200013f565b8301826200023c565b50505b505050565b5f82821c905092915050565b5f620002cf5f1984600802620002b2565b1980831691505092915050565b5f620002e98383620002be565b9150826002028217905092915050565b620003048262000095565b67ffffffffffffffff81111562000320576200031f6200009f565b5b6200032c8254620000f9565b6200033982828562000262565b5f60209050601f8311600181146200036f575f84156200035a578287015190505b620003668582620002dc565b865550620003d5565b601f1984166200037f866200012d565b5f5b82811015620003a85784890151825560018201915060208501945060208101905062000381565b86831015620003c85784890151620003c4601f891682620002be565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b6200041182620003f6565b810181811067ffffffffffffffff821117156200043357620004326200009f565b5b80604052505050565b5f62000447620003dd565b905062000455828262000406565b919050565b5f67ffffffffffffffff8211156200047757620004766200009f565b5b6200048282620003f6565b9050602081019050919050565b5f5b83811015620004ae57808201518184015260208101905062000491565b5f8484015250505050565b5f620004cf620004c9846200045a565b6200043c565b905082815260208101848484011115620004ee57620004ed620003f2565b5b620004fb8482856200048f565b509392505050565b5f82601f8301126200051a5762000519620003ee565b5b81516200052c848260208601620004b9565b91505092915050565b5f602082840312156200054d576200054c620003e6565b5b5f82015167ffffffffffffffff8111156200056d576200056c620003ea565b5b6200057b8482850162000503565b91505092915050565b5f81519050919050565b620005998262000584565b67ffffffffffffffff811115620005b557620005b46200009f565b5b620005c18254620000f9565b620005ce82828562000262565b5f60209050601f83116001811462000604575f8415620005ef578287015190505b620005fb8582620002dc565b8655506200066a565b601f19841662000614866200012d565b5f5b828110156200063d5784890151825560018201915060208501945060208101905062000616565b868310156200065d578489015162000659601f891682620002be565b8355505b6001600288020188555050505b505050505050565b61070380620006805f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f80fd5b61004b61009b565b6040516100589190610257565b60405180910390f35b61006961012b565b6040516100769190610257565b60405180910390f35b610099600480360381019061009491906103b4565b6101ba565b005b6060600180546100aa90610428565b80601f01602080910402602001604051908101604052809291908181526020018280546100d690610428565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f805461013990610428565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610428565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105fe565b5050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156102045780820151818401526020810190506101e9565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610229826101cd565b61023381856101d7565b93506102438185602086016101e7565b61024c8161020f565b840191505092915050565b5f6020820190508181035f83015261026f818461021f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102c68261020f565b810181811067ffffffffffffffff821117156102e5576102e4610290565b5b80604052505050565b5f6102f7610277565b905061030382826102bd565b919050565b5f67ffffffffffffffff82111561032257610321610290565b5b61032b8261020f565b9050602081019050919050565b828183375f83830152505050565b5f61035861035384610308565b6102ee565b9050828152602081018484840111156103745761037361028c565b5b61037f848285610338565b509392505050565b5f82601f83011261039b5761039a610288565b5b81356103ab848260208601610346565b91505092915050565b5f602082840312156103c9576103c8610280565b5b5f82013567ffffffffffffffff8111156103e6576103e5610284565b5b6103f284828501610387565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061043f57607f821691505b602082108103610452576104516103fb565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610479565b6104be8683610479565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6105026104fd6104f8846104d6565b6104df565b6104d6565b9050919050565b5f819050919050565b61051b836104e8565b61052f61052782610509565b848454610485565b825550505050565b5f90565b610543610537565b61054e818484610512565b505050565b5b81811015610571576105665f8261053b565b600181019050610554565b5050565b601f8211156105b65761058781610458565b6105908461046a565b8101602085101561059f578190505b6105b36105ab8561046a565b830182610553565b50505b505050565b5f82821c905092915050565b5f6105d65f19846008026105bb565b1980831691505092915050565b5f6105ee83836105c7565b9150826002028217905092915050565b610607826101cd565b67ffffffffffffffff8111156106205761061f610290565b5b61062a8254610428565b610635828285610575565b5f60209050601f831160018114610666575f8415610654578287015190505b61065e85826105e3565b8655506106c5565b601f19841661067486610458565b5f5b8281101561069b57848901518255600182019150602085019450602081019050610676565b868310156106b857848901516106b4601f8916826105c7565b8355505b6001600288020188555050505b50505050505056fea26469706673582212203e33460c4a0c84654ac3abec3c0f7d00b29e884c93a366845baca13fefb303a464736f6c63430008180033" # noqa: E501
8
- BYTES_CONTRACT_RUNTIME = "0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f80fd5b61004b61009b565b6040516100589190610257565b60405180910390f35b61006961012b565b6040516100769190610257565b60405180910390f35b610099600480360381019061009491906103b4565b6101ba565b005b6060600180546100aa90610428565b80601f01602080910402602001604051908101604052809291908181526020018280546100d690610428565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f805461013990610428565b80601f016020809104026020016040519081016040528092919081815260200182805461016590610428565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105fe565b5050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156102045780820151818401526020810190506101e9565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610229826101cd565b61023381856101d7565b93506102438185602086016101e7565b61024c8161020f565b840191505092915050565b5f6020820190508181035f83015261026f818461021f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102c68261020f565b810181811067ffffffffffffffff821117156102e5576102e4610290565b5b80604052505050565b5f6102f7610277565b905061030382826102bd565b919050565b5f67ffffffffffffffff82111561032257610321610290565b5b61032b8261020f565b9050602081019050919050565b828183375f83830152505050565b5f61035861035384610308565b6102ee565b9050828152602081018484840111156103745761037361028c565b5b61037f848285610338565b509392505050565b5f82601f83011261039b5761039a610288565b5b81356103ab848260208601610346565b91505092915050565b5f602082840312156103c9576103c8610280565b5b5f82013567ffffffffffffffff8111156103e6576103e5610284565b5b6103f284828501610387565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061043f57607f821691505b602082108103610452576104516103fb565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610479565b6104be8683610479565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6105026104fd6104f8846104d6565b6104df565b6104d6565b9050919050565b5f819050919050565b61051b836104e8565b61052f61052782610509565b848454610485565b825550505050565b5f90565b610543610537565b61054e818484610512565b505050565b5b81811015610571576105665f8261053b565b600181019050610554565b5050565b601f8211156105b65761058781610458565b6105908461046a565b8101602085101561059f578190505b6105b36105ab8561046a565b830182610553565b50505b505050565b5f82821c905092915050565b5f6105d65f19846008026105bb565b1980831691505092915050565b5f6105ee83836105c7565b9150826002028217905092915050565b610607826101cd565b67ffffffffffffffff8111156106205761061f610290565b5b61062a8254610428565b610635828285610575565b5f60209050601f831160018114610666575f8415610654578287015190505b61065e85826105e3565b8655506106c5565b601f19841661067486610458565b5f5b8281101561069b57848901518255600182019150602085019450602081019050610676565b868310156106b857848901516106b4601f8916826105c7565b8355505b6001600288020188555050505b50505050505056fea26469706673582212203e33460c4a0c84654ac3abec3c0f7d00b29e884c93a366845baca13fefb303a464736f6c63430008180033" # noqa: E501
7
+ BYTES_CONTRACT_BYTECODE = "0x60806040526040518060400160405280600281526020017f01230000000000000000000000000000000000000000000000000000000000008152505f908161004791906102c8565b50348015610053575f5ffd5b50604051610cd0380380610cd0833981810160405281019061007591906104b7565b80600190816100849190610508565b50506105d7565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061010657607f821691505b602082108103610119576101186100c2565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261017b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610140565b6101858683610140565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101c96101c46101bf8461019d565b6101a6565b61019d565b9050919050565b5f819050919050565b6101e2836101af565b6101f66101ee826101d0565b84845461014c565b825550505050565b5f5f905090565b61020d6101fe565b6102188184846101d9565b505050565b5b8181101561023b576102305f82610205565b60018101905061021e565b5050565b601f821115610280576102518161011f565b61025a84610131565b81016020851015610269578190505b61027d61027585610131565b83018261021d565b50505b505050565b5f82821c905092915050565b5f6102a05f1984600802610285565b1980831691505092915050565b5f6102b88383610291565b9150826002028217905092915050565b6102d18261008b565b67ffffffffffffffff8111156102ea576102e9610095565b5b6102f482546100ef565b6102ff82828561023f565b5f60209050601f831160018114610330575f841561031e578287015190505b61032885826102ad565b86555061038f565b601f19841661033e8661011f565b5f5b8281101561036557848901518255600182019150602085019450602081019050610340565b86831015610382578489015161037e601f891682610291565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b6103c9826103b0565b810181811067ffffffffffffffff821117156103e8576103e7610095565b5b80604052505050565b5f6103fa610397565b905061040682826103c0565b919050565b5f67ffffffffffffffff82111561042557610424610095565b5b61042e826103b0565b9050602081019050919050565b8281835e5f83830152505050565b5f61045b6104568461040b565b6103f1565b905082815260208101848484011115610477576104766103ac565b5b61048284828561043b565b509392505050565b5f82601f83011261049e5761049d6103a8565b5b81516104ae848260208601610449565b91505092915050565b5f602082840312156104cc576104cb6103a0565b5b5f82015167ffffffffffffffff8111156104e9576104e86103a4565b5b6104f58482850161048a565b91505092915050565b5f81519050919050565b610511826104fe565b67ffffffffffffffff81111561052a57610529610095565b5b61053482546100ef565b61053f82828561023f565b5f60209050601f831160018114610570575f841561055e578287015190505b61056885826102ad565b8655506105cf565b601f19841661057e8661011f565b5f5b828110156105a557848901518255600182019150602085019450602081019050610580565b868310156105c257848901516105be601f891682610291565b8355505b6001600288020188555050505b505050505050565b6106ec806105e45f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f5ffd5b61004b61009b565b604051610058919061023d565b60405180910390f35b61006961012b565b604051610076919061023d565b60405180910390f35b6100996004803603810190610094919061039a565b6101ba565b005b6060600180546100aa9061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546100d69061040e565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f80546101399061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546101659061040e565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105e7565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61020f826101cd565b61021981856101d7565b93506102298185602086016101e7565b610232816101f5565b840191505092915050565b5f6020820190508181035f8301526102558184610205565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102ac826101f5565b810181811067ffffffffffffffff821117156102cb576102ca610276565b5b80604052505050565b5f6102dd61025d565b90506102e982826102a3565b919050565b5f67ffffffffffffffff82111561030857610307610276565b5b610311826101f5565b9050602081019050919050565b828183375f83830152505050565b5f61033e610339846102ee565b6102d4565b90508281526020810184848401111561035a57610359610272565b5b61036584828561031e565b509392505050565b5f82601f8301126103815761038061026e565b5b813561039184826020860161032c565b91505092915050565b5f602082840312156103af576103ae610266565b5b5f82013567ffffffffffffffff8111156103cc576103cb61026a565b5b6103d88482850161036d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061042557607f821691505b602082108103610438576104376103e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261049a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261045f565b6104a4868361045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104e86104e36104de846104bc565b6104c5565b6104bc565b9050919050565b5f819050919050565b610501836104ce565b61051561050d826104ef565b84845461046b565b825550505050565b5f5f905090565b61052c61051d565b6105378184846104f8565b505050565b5b8181101561055a5761054f5f82610524565b60018101905061053d565b5050565b601f82111561059f576105708161043e565b61057984610450565b81016020851015610588578190505b61059c61059485610450565b83018261053c565b50505b505050565b5f82821c905092915050565b5f6105bf5f19846008026105a4565b1980831691505092915050565b5f6105d783836105b0565b9150826002028217905092915050565b6105f0826101cd565b67ffffffffffffffff81111561060957610608610276565b5b610613825461040e565b61061e82828561055e565b5f60209050601f83116001811461064f575f841561063d578287015190505b61064785826105cc565b8655506106ae565b601f19841661065d8661043e565b5f5b828110156106845784890151825560018201915060208501945060208101905061065f565b868310156106a1578489015161069d601f8916826105b0565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220d7fc84ca75eba4ce54021b404daca027fbd3005316e3bcf2828111114d037e4464736f6c634300081c0033" # noqa: E501
8
+ BYTES_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f5ffd5b61004b61009b565b604051610058919061023d565b60405180910390f35b61006961012b565b604051610076919061023d565b60405180910390f35b6100996004803603810190610094919061039a565b6101ba565b005b6060600180546100aa9061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546100d69061040e565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f80546101399061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546101659061040e565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105e7565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61020f826101cd565b61021981856101d7565b93506102298185602086016101e7565b610232816101f5565b840191505092915050565b5f6020820190508181035f8301526102558184610205565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102ac826101f5565b810181811067ffffffffffffffff821117156102cb576102ca610276565b5b80604052505050565b5f6102dd61025d565b90506102e982826102a3565b919050565b5f67ffffffffffffffff82111561030857610307610276565b5b610311826101f5565b9050602081019050919050565b828183375f83830152505050565b5f61033e610339846102ee565b6102d4565b90508281526020810184848401111561035a57610359610272565b5b61036584828561031e565b509392505050565b5f82601f8301126103815761038061026e565b5b813561039184826020860161032c565b91505092915050565b5f602082840312156103af576103ae610266565b5b5f82013567ffffffffffffffff8111156103cc576103cb61026a565b5b6103d88482850161036d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061042557607f821691505b602082108103610438576104376103e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261049a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261045f565b6104a4868361045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104e86104e36104de846104bc565b6104c5565b6104bc565b9050919050565b5f819050919050565b610501836104ce565b61051561050d826104ef565b84845461046b565b825550505050565b5f5f905090565b61052c61051d565b6105378184846104f8565b505050565b5b8181101561055a5761054f5f82610524565b60018101905061053d565b5050565b601f82111561059f576105708161043e565b61057984610450565b81016020851015610588578190505b61059c61059485610450565b83018261053c565b50505b505050565b5f82821c905092915050565b5f6105bf5f19846008026105a4565b1980831691505092915050565b5f6105d783836105b0565b9150826002028217905092915050565b6105f0826101cd565b67ffffffffffffffff81111561060957610608610276565b5b610613825461040e565b61061e82828561055e565b5f60209050601f83116001811461064f575f841561063d578287015190505b61064785826105cc565b8655506106ae565b601f19841661065d8661043e565b5f5b828110156106845784890151825560018201915060208501945060208101905061065f565b868310156106a1578489015161069d601f8916826105b0565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220d7fc84ca75eba4ce54021b404daca027fbd3005316e3bcf2828111114d037e4464736f6c634300081c0033" # 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 = "0x60806040527f01230123012301230123012301230123012301230123012301230123012301235f55348015610032575f80fd5b5060405161024638038061024683398181016040528101906100549190610098565b80600181905550506100c3565b5f80fd5b5f819050919050565b61007781610065565b8114610081575f80fd5b50565b5f815190506100928161006e565b92915050565b5f602082840312156100ad576100ac610061565b5b5f6100ba84828501610084565b91505092915050565b610176806100d05f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f80fd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f8054905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f80fd5b6100f4816100b6565b81146100fe575f80fd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea26469706673582212205dfe3119566bdd5d0a8ae37b9c7bcebf5cf2fe91882841511f7d181cbd269fc864736f6c63430008180033" # noqa: E501
46
- BYTES32_CONTRACT_RUNTIME = "0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f80fd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f8054905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f80fd5b6100f4816100b6565b81146100fe575f80fd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea26469706673582212205dfe3119566bdd5d0a8ae37b9c7bcebf5cf2fe91882841511f7d181cbd269fc864736f6c63430008180033" # noqa: E501
45
+ BYTES32_CONTRACT_BYTECODE = "0x60806040527f01230123012301230123012301230123012301230123012301230123012301235f553480156031575f5ffd5b50604051610238380380610238833981810160405281019060519190608f565b806001819055505060b5565b5f5ffd5b5f819050919050565b6071816061565b8114607a575f5ffd5b50565b5f81519050608981606a565b92915050565b5f6020828403121560a15760a0605d565b5b5f60ac84828501607d565b91505092915050565b610176806100c25f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f5ffd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f5f54905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f5ffd5b6100f4816100b6565b81146100fe575f5ffd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea2646970667358221220a2aa7e81098ae49b2165786f55c8c20ac2a05cfe97bae9716c7231d35b8ba0aa64736f6c634300081c0033" # noqa: E501
46
+ BYTES32_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f5ffd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f5f54905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f5ffd5b6100f4816100b6565b81146100fe575f5ffd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea2646970667358221220a2aa7e81098ae49b2165786f55c8c20ac2a05cfe97bae9716c7231d35b8ba0aa64736f6c634300081c0033" # 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.24.
3
+ Compiled with Solidity v0.8.28.
4
4
  """
5
5
 
6
6
  # source: web3/_utils/contract_sources/ConstructorContracts.sol:SimpleConstructorContract # noqa: E501
7
- SIMPLE_CONSTRUCTOR_CONTRACT_BYTECODE = "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212200a1d40c9e75d7b341da1c508f56a232fa2bbbe6a82a50556221ba5139df747fe64736f6c63430008180033" # noqa: E501
8
- SIMPLE_CONSTRUCTOR_CONTRACT_RUNTIME = "0x60806040525f80fdfea26469706673582212200a1d40c9e75d7b341da1c508f56a232fa2bbbe6a82a50556221ba5139df747fe64736f6c63430008180033" # noqa: E501
7
+ SIMPLE_CONSTRUCTOR_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b50603e80601a5f395ff3fe60806040525f5ffdfea2646970667358221220df01c9a31fc18a19ea719e1d18fc4d66344d5c756e88f9299bd5149c4796b32164736f6c634300081c0033" # noqa: E501
8
+ SIMPLE_CONSTRUCTOR_CONTRACT_RUNTIME = "0x60806040525f5ffdfea2646970667358221220df01c9a31fc18a19ea719e1d18fc4d66344d5c756e88f9299bd5149c4796b32164736f6c634300081c0033" # 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 = "0x608060405234801561000f575f80fd5b506040516101fd3803806101fd833981810160405281019061003191906100af565b815f819055508060018190555050506100ed565b5f80fd5b5f819050919050565b61005b81610049565b8114610065575f80fd5b50565b5f8151905061007681610052565b92915050565b5f819050919050565b61008e8161007c565b8114610098575f80fd5b50565b5f815190506100a981610085565b92915050565b5f80604083850312156100c5576100c4610045565b5b5f6100d285828601610068565b92505060206100e38582860161009b565b9150509250929050565b610103806100fa5f395ff3fe6080604052348015600e575f80fd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f80fd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea2646970667358221220e8a44f5524ca2769ffd3a6148a42379a1537ac427f92ce61e9be9f2a9216b45964736f6c63430008180033" # noqa: E501
21
- CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_RUNTIME = "0x6080604052348015600e575f80fd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f80fd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea2646970667358221220e8a44f5524ca2769ffd3a6148a42379a1537ac427f92ce61e9be9f2a9216b45964736f6c63430008180033" # noqa: E501
20
+ CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506040516101e83803806101e88339818101604052810190602e919060a1565b815f8190555080600181905550505060d8565b5f5ffd5b5f819050919050565b6055816045565b8114605e575f5ffd5b50565b5f81519050606d81604e565b92915050565b5f819050919050565b6083816073565b8114608c575f5ffd5b50565b5f81519050609b81607c565b92915050565b5f5f6040838503121560b45760b36041565b5b5f60bf858286016061565b925050602060ce85828601608f565b9150509250929050565b610103806100e55f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f5ffd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea26469706673582212201f46d54b04393fed54ec949ca12e1cb40ae64c516fd6a2389eaddfd9f5b44a7764736f6c634300081c0033" # noqa: E501
21
+ CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f5ffd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea26469706673582212201f46d54b04393fed54ec949ca12e1cb40ae64c516fd6a2389eaddfd9f5b44a7764736f6c634300081c0033" # 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 = "0x608060405234801561000f575f80fd5b506040516101fa3803806101fa833981810160405281019061003191906100d4565b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100a38261007a565b9050919050565b6100b381610099565b81146100bd575f80fd5b50565b5f815190506100ce816100aa565b92915050565b5f602082840312156100e9576100e8610076565b5b5f6100f6848285016100c0565b91505092915050565b60ef8061010b5f395ff3fe6080604052348015600e575f80fd5b50600436106026575f3560e01c806334664e3a14602a575b5f80fd5b60306044565b604051603b919060a2565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608e826067565b9050919050565b609c816086565b82525050565b5f60208201905060b35f8301846095565b9291505056fea26469706673582212200e7170ae8ca52a832bd7b98dc25509df48ea83cce1e300a4b8fd4a7c1a6edfee64736f6c63430008180033" # noqa: E501
55
- CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_RUNTIME = "0x6080604052348015600e575f80fd5b50600436106026575f3560e01c806334664e3a14602a575b5f80fd5b60306044565b604051603b919060a2565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608e826067565b9050919050565b609c816086565b82525050565b5f60208201905060b35f8301846095565b9291505056fea26469706673582212200e7170ae8ca52a832bd7b98dc25509df48ea83cce1e300a4b8fd4a7c1a6edfee64736f6c63430008180033" # noqa: E501
54
+ CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_BYTECODE = "0x608060405234801561000f575f5ffd5b506040516101fb3803806101fb833981810160405281019061003191906100d4565b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100a38261007a565b9050919050565b6100b381610099565b81146100bd575f5ffd5b50565b5f815190506100ce816100aa565b92915050565b5f602082840312156100e9576100e8610076565b5b5f6100f6848285016100c0565b91505092915050565b60f08061010b5f395ff3fe6080604052348015600e575f5ffd5b50600436106026575f3560e01c806334664e3a14602a575b5f5ffd5b60306044565b604051603b919060a3565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608f826068565b9050919050565b609d816087565b82525050565b5f60208201905060b45f8301846096565b9291505056fea26469706673582212200a9aedb6784310dc7b4f8c2c0097e16d4a1e84b6de3acacc7384858a4e705e3f64736f6c634300081c0033" # noqa: E501
55
+ CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106026575f3560e01c806334664e3a14602a575b5f5ffd5b60306044565b604051603b919060a3565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608f826068565b9050919050565b609d816087565b82525050565b5f60208201905060b45f8301846096565b9291505056fea26469706673582212200a9aedb6784310dc7b4f8c2c0097e16d4a1e84b6de3acacc7384858a4e705e3f64736f6c634300081c0033" # noqa: E501
56
56
  CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_ABI = [
57
57
  {
58
58
  "inputs": [{"internalType": "address", "name": "_testAddr", "type": "address"}],
@@ -1,11 +1,11 @@
1
1
  """
2
2
  Generated by `compile_contracts.py` script.
3
- Compiled with Solidity v0.8.24.
3
+ Compiled with Solidity v0.8.28.
4
4
  """
5
5
 
6
6
  # source: web3/_utils/contract_sources/ContractCallerTester.sol:ContractCallerTester
7
- CONTRACT_CALLER_TESTER_BYTECODE = "0x608060405234801561000f575f80fd5b506104328061001d5f395ff3fe608060405260043610610049575f3560e01c806306661abd1461004d57806361bc221a14610077578063a5f3c23b14610095578063c7fa7d66146100c5578063d09de08a146100e7575b5f80fd5b348015610058575f80fd5b50610061610111565b60405161006e91906101d0565b60405180910390f35b61007f610116565b60405161008c91906101d0565b60405180910390f35b6100af60048036038101906100aa9190610217565b61011e565b6040516100bc91906101d0565b60405180910390f35b6100cd610133565b6040516100de959493929190610336565b60405180910390f35b3480156100f2575f80fd5b506100fb61019b565b60405161010891906101d0565b60405180910390f35b5f5481565b5f8054905090565b5f818361012b91906103bb565b905092915050565b5f60605f805f335f365a344384848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505093509091929350945094509450945094509091929394565b5f60015f808282546101ad91906103bb565b925050819055905090565b5f819050919050565b6101ca816101b8565b82525050565b5f6020820190506101e35f8301846101c1565b92915050565b5f80fd5b6101f6816101b8565b8114610200575f80fd5b50565b5f81359050610211816101ed565b92915050565b5f806040838503121561022d5761022c6101e9565b5b5f61023a85828601610203565b925050602061024b85828601610203565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027e82610255565b9050919050565b61028e81610274565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156102cb5780820151818401526020810190506102b0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6102f082610294565b6102fa818561029e565b935061030a8185602086016102ae565b610313816102d6565b840191505092915050565b5f819050919050565b6103308161031e565b82525050565b5f60a0820190506103495f830188610285565b818103602083015261035b81876102e6565b905061036a6040830186610327565b6103776060830185610327565b6103846080830184610327565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103c5826101b8565b91506103d0836101b8565b92508282019050828112155f8312168382125f8412151617156103f6576103f561038e565b5b9291505056fea26469706673582212202cf12469403d272a17f422fc9dd643b272766c6434366366b2f793d416afba1664736f6c63430008180033" # noqa: E501
8
- CONTRACT_CALLER_TESTER_RUNTIME = "0x608060405260043610610049575f3560e01c806306661abd1461004d57806361bc221a14610077578063a5f3c23b14610095578063c7fa7d66146100c5578063d09de08a146100e7575b5f80fd5b348015610058575f80fd5b50610061610111565b60405161006e91906101d0565b60405180910390f35b61007f610116565b60405161008c91906101d0565b60405180910390f35b6100af60048036038101906100aa9190610217565b61011e565b6040516100bc91906101d0565b60405180910390f35b6100cd610133565b6040516100de959493929190610336565b60405180910390f35b3480156100f2575f80fd5b506100fb61019b565b60405161010891906101d0565b60405180910390f35b5f5481565b5f8054905090565b5f818361012b91906103bb565b905092915050565b5f60605f805f335f365a344384848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505093509091929350945094509450945094509091929394565b5f60015f808282546101ad91906103bb565b925050819055905090565b5f819050919050565b6101ca816101b8565b82525050565b5f6020820190506101e35f8301846101c1565b92915050565b5f80fd5b6101f6816101b8565b8114610200575f80fd5b50565b5f81359050610211816101ed565b92915050565b5f806040838503121561022d5761022c6101e9565b5b5f61023a85828601610203565b925050602061024b85828601610203565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027e82610255565b9050919050565b61028e81610274565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156102cb5780820151818401526020810190506102b0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6102f082610294565b6102fa818561029e565b935061030a8185602086016102ae565b610313816102d6565b840191505092915050565b5f819050919050565b6103308161031e565b82525050565b5f60a0820190506103495f830188610285565b818103602083015261035b81876102e6565b905061036a6040830186610327565b6103776060830185610327565b6103846080830184610327565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103c5826101b8565b91506103d0836101b8565b92508282019050828112155f8312168382125f8412151617156103f6576103f561038e565b5b9291505056fea26469706673582212202cf12469403d272a17f422fc9dd643b272766c6434366366b2f793d416afba1664736f6c63430008180033" # noqa: E501
7
+ CONTRACT_CALLER_TESTER_BYTECODE = "0x6080604052348015600e575f5ffd5b506104188061001c5f395ff3fe608060405260043610610049575f3560e01c806306661abd1461004d57806361bc221a14610077578063a5f3c23b14610095578063c7fa7d66146100c5578063d09de08a146100e7575b5f5ffd5b348015610058575f5ffd5b50610061610111565b60405161006e91906101d0565b60405180910390f35b61007f610116565b60405161008c91906101d0565b60405180910390f35b6100af60048036038101906100aa9190610217565b61011e565b6040516100bc91906101d0565b60405180910390f35b6100cd610133565b6040516100de95949392919061031c565b60405180910390f35b3480156100f2575f5ffd5b506100fb61019b565b60405161010891906101d0565b60405180910390f35b5f5481565b5f5f54905090565b5f818361012b91906103a1565b905092915050565b5f60605f5f5f335f365a344384848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505093509091929350945094509450945094509091929394565b5f60015f5f8282546101ad91906103a1565b925050819055905090565b5f819050919050565b6101ca816101b8565b82525050565b5f6020820190506101e35f8301846101c1565b92915050565b5f5ffd5b6101f6816101b8565b8114610200575f5ffd5b50565b5f81359050610211816101ed565b92915050565b5f5f6040838503121561022d5761022c6101e9565b5b5f61023a85828601610203565b925050602061024b85828601610203565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027e82610255565b9050919050565b61028e81610274565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102d682610294565b6102e0818561029e565b93506102f08185602086016102ae565b6102f9816102bc565b840191505092915050565b5f819050919050565b61031681610304565b82525050565b5f60a08201905061032f5f830188610285565b818103602083015261034181876102cc565b9050610350604083018661030d565b61035d606083018561030d565b61036a608083018461030d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103ab826101b8565b91506103b6836101b8565b92508282019050828112155f8312168382125f8412151617156103dc576103db610374565b5b9291505056fea264697066735822122079d294f0dc4c3954f1b11d8ff5d1ef2fb23568ba91a62eeb87304f29eedf6b1c64736f6c634300081c0033" # noqa: E501
8
+ CONTRACT_CALLER_TESTER_RUNTIME = "0x608060405260043610610049575f3560e01c806306661abd1461004d57806361bc221a14610077578063a5f3c23b14610095578063c7fa7d66146100c5578063d09de08a146100e7575b5f5ffd5b348015610058575f5ffd5b50610061610111565b60405161006e91906101d0565b60405180910390f35b61007f610116565b60405161008c91906101d0565b60405180910390f35b6100af60048036038101906100aa9190610217565b61011e565b6040516100bc91906101d0565b60405180910390f35b6100cd610133565b6040516100de95949392919061031c565b60405180910390f35b3480156100f2575f5ffd5b506100fb61019b565b60405161010891906101d0565b60405180910390f35b5f5481565b5f5f54905090565b5f818361012b91906103a1565b905092915050565b5f60605f5f5f335f365a344384848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505093509091929350945094509450945094509091929394565b5f60015f5f8282546101ad91906103a1565b925050819055905090565b5f819050919050565b6101ca816101b8565b82525050565b5f6020820190506101e35f8301846101c1565b92915050565b5f5ffd5b6101f6816101b8565b8114610200575f5ffd5b50565b5f81359050610211816101ed565b92915050565b5f5f6040838503121561022d5761022c6101e9565b5b5f61023a85828601610203565b925050602061024b85828601610203565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027e82610255565b9050919050565b61028e81610274565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102d682610294565b6102e0818561029e565b93506102f08185602086016102ae565b6102f9816102bc565b840191505092915050565b5f819050919050565b61031681610304565b82525050565b5f60a08201905061032f5f830188610285565b818103602083015261034181876102cc565b9050610350604083018661030d565b61035d606083018561030d565b61036a608083018461030d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103ab826101b8565b91506103b6836101b8565b92508282019050828112155f8312168382125f8412151617156103dc576103db610374565b5b9291505056fea264697066735822122079d294f0dc4c3954f1b11d8ff5d1ef2fb23568ba91a62eeb87304f29eedf6b1c64736f6c634300081c0033" # noqa: E501
9
9
  CONTRACT_CALLER_TESTER_ABI = [
10
10
  {
11
11
  "inputs": [