-
-
Notifications
You must be signed in to change notification settings - Fork 887
Display of interfaces in errors show full path #4237
Copy link
Copy link
Open
Description
Version Information
- vyper Version (output of
vyper --version): 0.4.0 - OS: linux
- Python Version (output of
python --version): 3.11.9
What's your issue about?
When I have a compile issue with an function whose signature contains an interface, it shows the full path to the interface:
ERROR: (VyperCompileError) contracts/test/TestValidator.vy
InterfaceViolation:Contract does not implement all interface functions: validate(address,interface [...]/site-packages/vyper/builtins/interfaces/IERC20.vyi,uint256,Bytes[65535])This is kind of noisy and too much information that muddles the display of the error
How can it be fixed?
It should display the module it came from instead:
ERROR: (VyperCompileError) contracts/test/TestValidator.vy
InterfaceViolation:Contract does not implement all interface functions: validate(address,interface ethereum.ercs.IERC20,uint256,Bytes[65535])Additionally, it may be useful to have some sort of debug flag to call the compiler that contains the mapping of all root modules to their locations on disk (if that doesn't exist already)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bug - UXa bug related to UXa bug related to UX