Error on non-standard argument type in functino signature
pipermerriam opened this issue · 0 comments
pipermerriam commented
What is wrong?
Traceback (most recent call last):
File "/home/web/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python3.7/contextlib.py", line 74, in inner
return func(*args, **kwds)
File "/home/web/venv/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
File "/home/web/venv/lib/python3.7/site-packages/django/views/generic/base.py", line 68, in view
return self.dispatch(request, *args, **kwargs)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/views.py", line 466, in dispatch
response = self.handle_exception(exc)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/views.py", line 463, in dispatch
response = handler(request, *args, **kwargs)
File "./func_sig_registry/registry/views.py", line 87, in post
if not serializer.is_valid():
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/serializers.py", line 213, in is_valid
self._validated_data = self.run_validation(self.initial_data)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/serializers.py", line 407, in run_validation
value = self.to_internal_value(data)
File "/home/web/venv/lib/python3.7/site-packages/rest_framework/serializers.py", line 439, in to_internal_value
validated_value = validate_method(validated_value)
File "./func_sig_registry/registry/forms.py", line 34, in validate_text_signature
return normalize_function_signature(value)
File "./func_sig_registry/utils/solidity.py", line 204, in normalize_function_signature
raise ValueError('function args contain non-standard types') from e
ValueError: function args contain non-standard typesTraceback (most recent call last):
File "./func_sig_registry/utils/solidity.py", line 200, in normalize_function_signature
validate_standard_type(args_tuple_type)
File "./func_sig_registry/utils/solidity.py", line 156, in validate_standard_type
validate_standard_type(t)
File "./func_sig_registry/utils/solidity.py", line 151, in validate_standard_type
f'type "{abi_type.to_type_str()}" '
ABITypeError: type "byte32" has invalid base "byte"
How can it be fixed
Catch this exception and translate it into a friendly user facing error message on the form.