-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug-Candidate]: Slither Vyper feature fails if custom interfaces are imported #507
Comments
Right now, crytic-compile isn't taking into account imports when it creates that standard json input, but this is definitely something we want to improve (for solidity as well). Ideally, we'd be able to delegate to something like Ape... In the meantime, I believe it should work if you do |
Well, it doesn't because |
My mistake. The ability to standalone compile with a glob target the recurses into subfolders isn't yet implemented. It caused issues with projects that mix Solidity and Vyper as it requires us to be able to compile an arbitrary code base (resolving imports, dependencies, version conflicts, etc). Some projects also mixed vyper versions and we only added support for 0.3.7 crytic-compile/crytic_compile/crytic_compile.py Lines 741 to 744 in 3a4b0de
|
For reference here is the issue on getting ape to support what other compilation frameworks provide ApeWorX/ape#1590 |
Just as a heads-up, @charles-cooper plans to remove standard json input in a future release. The issue is that the standard json input basically defines an embedded filesystem which is confusing to interpret, especially in the presence of imports. But most probably there will another way to specify compiler settings using json. |
Thinking about it, have not committed to a decision here yet. |
I experimented with automatically resolving the imports but crytic-compile/ slither both expect absolute paths while Vyper seems to expect the standard json to have something like |
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. For example, take a look at
AccessControl.vy
, where I import the custom interfaceIAccessControl
:Running
slither AccessControl.vy
will lead to the following error:Code example to reproduce the issue:
See above. Or any other contract in 🐍 snekmate that uses custom interface imports.
Version:
0.10.0
Relevant log output:
No response
The text was updated successfully, but these errors were encountered: