crytic / crytic/crytic-compile
[Bug-Candidate]: Slither Vyper feature fails if custom interfaces are imported
- Dominant language
- Python
- Stars
- 197
- Forks
- 97
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the issue:
Hey @0xalpharush great job with the Vyper feature! I'm currently testing the functionalities and I encountered parsing errors if the Vyper contract imports custom interfaces, as I do a lot in [🐍 snekmate](https://github.com/pcaversaccio/snekmate). For example, take a look at [`AccessControl.vy`](https://github.com/pcaversaccio/snekmate/blob/main/src/auth/AccessControl.vy), where I import the custom interface `IAccessControl`:
```vyper
import interfaces.IAccessControl as IAccessControl
implements: IAccessControl
```
Running `slither AccessControl.vy` will lead to the following error:
```console
Traceback (most recent call last):
...
raise InvalidCompilation(vyper_standard_output["errors"])
crytic_compile.platform.exceptions.InvalidCompilation: [{'component': 'parser', 'message': "Cannot locate interface 'interfaces/IAccessControl{.vy,.json}'", 'severity': 'error', 'sourceLocation': {'file': 'AccessControl.vy'}, 'type': 'FileNotFoundError'}]
```
### Code example to reproduce the issue:
See above. Or any other contract in [🐍 snekmate](https://github.com/pcaversaccio/snekmate) that uses custom interface imports.
### Version:
`0.10.0`
### Relevant log output:
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.