Skip to content

Commit 5ab3ed3

Browse files
committed
Stop passing the whole web3 object around
1 parent 3c1c76d commit 5ab3ed3

File tree

8 files changed

+23
-23
lines changed

8 files changed

+23
-23
lines changed

tests/core/utilities/test_construct_event_data_set.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,5 @@ def hex_and_pad(i):
6969
)
7070
)
7171
def test_construct_event_data_set(web3, event_abi, arguments, expected):
72-
actual = construct_event_data_set(event_abi, web3, arguments)
72+
actual = construct_event_data_set(event_abi, web3.codec, arguments)
7373
assert actual == expected

tests/core/utilities/test_construct_event_filter_params.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
),
4848
)
4949
def test_construct_event_filter_params(web3, event_abi, fn_kwargs, expected):
50-
_, actual = construct_event_filter_params(event_abi, web3, **fn_kwargs)
50+
_, actual = construct_event_filter_params(event_abi, web3.codec, **fn_kwargs)
5151
assert actual == expected
5252

5353

@@ -70,5 +70,5 @@ def hex_and_pad(i):
7070
)
7171
def test_construct_event_filter_params_for_data_filters(event_abi, web3, fn_kwargs,
7272
expected):
73-
actual, _ = construct_event_filter_params(event_abi, web3, **fn_kwargs)
73+
actual, _ = construct_event_filter_params(event_abi, web3.codec, **fn_kwargs)
7474
assert actual == expected

tests/core/utilities/test_construct_event_topics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,5 @@ def hex_and_pad(i):
7676
)
7777
)
7878
def test_construct_event_topics(web3, event_abi, arguments, expected):
79-
actual = construct_event_topic_set(event_abi, web3, arguments)
79+
actual = construct_event_topic_set(event_abi, web3.codec, arguments)
8080
assert actual == expected

web3/_utils/abi.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -287,16 +287,16 @@ def from_type_str(cls, abi_type, registry):
287287
)
288288

289289

290-
def filter_by_encodability(w3, args, kwargs, contract_abi):
290+
def filter_by_encodability(abi_encoder, args, kwargs, contract_abi):
291291
return [
292292
function_abi
293293
for function_abi
294294
in contract_abi
295-
if check_if_arguments_can_be_encoded(function_abi, w3, args, kwargs)
295+
if check_if_arguments_can_be_encoded(function_abi, abi_encoder, args, kwargs)
296296
]
297297

298298

299-
def check_if_arguments_can_be_encoded(function_abi, w3, args, kwargs):
299+
def check_if_arguments_can_be_encoded(function_abi, abi_encoder, args, kwargs):
300300
try:
301301
arguments = merge_args_and_kwargs(function_abi, args, kwargs)
302302
except TypeError:
@@ -311,7 +311,7 @@ def check_if_arguments_can_be_encoded(function_abi, w3, args, kwargs):
311311
return False
312312

313313
return all(
314-
w3.codec.is_encodable(_type, arg)
314+
abi_encoder.is_encodable(_type, arg)
315315
for _type, arg in zip(types, aligned_args)
316316
)
317317

web3/_utils/contracts.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def find_matching_event_abi(abi, event_name=None, argument_names=None):
6969
raise ValueError("Multiple events found")
7070

7171

72-
def find_matching_fn_abi(abi, w3, fn_identifier=None, args=None, kwargs=None):
72+
def find_matching_fn_abi(abi, abi_encoder, fn_identifier=None, args=None, kwargs=None):
7373
args = args or tuple()
7474
kwargs = kwargs or dict()
7575
num_arguments = len(args) + len(kwargs)
@@ -82,7 +82,7 @@ def find_matching_fn_abi(abi, w3, fn_identifier=None, args=None, kwargs=None):
8282

8383
name_filter = functools.partial(filter_by_name, fn_identifier)
8484
arg_count_filter = functools.partial(filter_by_argument_count, num_arguments)
85-
encoding_filter = functools.partial(filter_by_encodability, w3, args, kwargs)
85+
encoding_filter = functools.partial(filter_by_encodability, abi_encoder, args, kwargs)
8686

8787
function_candidates = pipe(abi, name_filter, arg_count_filter, encoding_filter)
8888

@@ -126,7 +126,7 @@ def find_matching_fn_abi(abi, w3, fn_identifier=None, args=None, kwargs=None):
126126
def encode_abi(web3, abi, arguments, data=None):
127127
argument_types = get_abi_input_types(abi)
128128

129-
if not check_if_arguments_can_be_encoded(abi, web3, arguments, {}):
129+
if not check_if_arguments_can_be_encoded(abi, web3.codec, arguments, {}):
130130
raise TypeError(
131131
"One or more arguments could not be encoded to the necessary "
132132
"ABI type. Expected types are: {0}".format(
@@ -209,7 +209,7 @@ def encode_transaction_data(
209209
fn_abi, fn_selector, fn_arguments = get_fallback_function_info(contract_abi, fn_abi)
210210
elif is_text(fn_identifier):
211211
fn_abi, fn_selector, fn_arguments = get_function_info(
212-
fn_identifier, web3, contract_abi, fn_abi, args, kwargs,
212+
fn_identifier, web3.codec, contract_abi, fn_abi, args, kwargs,
213213
)
214214
else:
215215
raise TypeError("Unsupported function identifier")
@@ -225,14 +225,14 @@ def get_fallback_function_info(contract_abi=None, fn_abi=None):
225225
return fn_abi, fn_selector, fn_arguments
226226

227227

228-
def get_function_info(fn_name, web3, contract_abi=None, fn_abi=None, args=None, kwargs=None):
228+
def get_function_info(fn_name, abi_encoder, contract_abi=None, fn_abi=None, args=None, kwargs=None):
229229
if args is None:
230230
args = tuple()
231231
if kwargs is None:
232232
kwargs = {}
233233

234234
if fn_abi is None:
235-
fn_abi = find_matching_fn_abi(contract_abi, web3, fn_name, args, kwargs)
235+
fn_abi = find_matching_fn_abi(contract_abi, abi_encoder, fn_name, args, kwargs)
236236

237237
fn_selector = encode_hex(function_abi_to_4byte_selector(fn_abi))
238238

web3/_utils/events.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
)
6262

6363

64-
def construct_event_topic_set(event_abi, web3, arguments=None):
64+
def construct_event_topic_set(event_abi, abi_encoder, arguments=None):
6565
if arguments is None:
6666
arguments = {}
6767
if isinstance(arguments, (list, tuple)):
@@ -89,7 +89,7 @@ def construct_event_topic_set(event_abi, web3, arguments=None):
8989
]
9090
encoded_args = [
9191
[
92-
None if option is None else encode_hex(web3.codec.encode_single(arg['type'], option))
92+
None if option is None else encode_hex(abi_encoder.encode_single(arg['type'], option))
9393
for option in arg_options]
9494
for arg, arg_options in zipped_abi_and_args
9595
]
@@ -98,7 +98,7 @@ def construct_event_topic_set(event_abi, web3, arguments=None):
9898
return topics
9999

100100

101-
def construct_event_data_set(event_abi, web3, arguments=None):
101+
def construct_event_data_set(event_abi, abi_encoder, arguments=None):
102102
if arguments is None:
103103
arguments = {}
104104
if isinstance(arguments, (list, tuple)):
@@ -125,7 +125,7 @@ def construct_event_data_set(event_abi, web3, arguments=None):
125125
]
126126
encoded_args = [
127127
[
128-
None if option is None else encode_hex(web3.codec.encode_single(arg['type'], option))
128+
None if option is None else encode_hex(abi_encoder.encode_single(arg['type'], option))
129129
for option in arg_options]
130130
for arg, arg_options in zipped_abi_and_args
131131
]

web3/_utils/filters.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@
3131

3232

3333
def construct_event_filter_params(event_abi,
34-
web3,
34+
abi_encoder,
3535
contract_address=None,
3636
argument_filters=None,
3737
topics=None,
3838
fromBlock=None,
3939
toBlock=None,
4040
address=None):
4141
filter_params = {}
42-
topic_set = construct_event_topic_set(event_abi, web3, argument_filters)
42+
topic_set = construct_event_topic_set(event_abi, abi_encoder, argument_filters)
4343

4444
if topics is not None:
4545
if len(topic_set) > 1:
@@ -81,7 +81,7 @@ def construct_event_filter_params(event_abi,
8181
if toBlock is not None:
8282
filter_params['toBlock'] = toBlock
8383

84-
data_filters_set = construct_event_data_set(event_abi, web3, argument_filters)
84+
data_filters_set = construct_event_data_set(event_abi, abi_encoder, argument_filters)
8585

8686
return data_filters_set, filter_params
8787

web3/contract.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ def encodeABI(cls, fn_name, args=None, kwargs=None, data=None):
351351
:param data: defaults to function selector
352352
"""
353353
fn_abi, fn_selector, fn_arguments = get_function_info(
354-
fn_name, cls.web3, contract_abi=cls.abi, args=args, kwargs=kwargs,
354+
fn_name, cls.web3.codec, contract_abi=cls.abi, args=args, kwargs=kwargs,
355355
)
356356

357357
if data is None:
@@ -1066,7 +1066,7 @@ def createFilter(
10661066

10671067
_, event_filter_params = construct_event_filter_params(
10681068
self._get_event_abi(),
1069-
self.web3,
1069+
self.web3.codec,
10701070
contract_address=self.address,
10711071
argument_filters=_filters,
10721072
fromBlock=fromBlock,

0 commit comments

Comments
 (0)