-
Notifications
You must be signed in to change notification settings - Fork 569
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
Name collision for interfaces in Compound finance contracts prevents brownie
from compiling
#729
Comments
This is a high priority for |
No problem @iamdefinitelyahuman - that makes sense and thanks for clarifying! |
Do you know if there is any viable work-around, perhaps a way to select a subset of contracts for compilation? |
Looking at the compound repo, it seems the collision is between an interface and an abstract contract. I think - might be able to apply a workaround without a major release, where collisions are OK so long as neither thing is a compilable contract. I'll try to give it some bandwidth tomorrow, I have a new minor release almost ready anyway so can try to get this in as well. In the mean time, it's quick and dirty but you could just rename |
Fingers crossed that does it, I'll try and confirm if this would work tomorrow with the rename. |
@iamdefinitelyahuman thanks and confirming that this update solves it for me ✅. |
Glad to hear! Sorry it took me so long. |
Environment information
brownie
Version: 1.10.6ganache-cli
Version: n/asolc
Version: 0.5.16What was wrong?
I ran:
Then in a separate directory, I first initialised brownie:
After that, I simlinked the contracts folder:
And tried to compile:
Getting the following error:
How can it be fixed?
It seems like
brownie
doesn't support contracts with the same names, I wonder if it should be more permissive, perhaps namespacing contracts that appear in different files by prefixing with the filename (certainly for interfaces). In thecompound
example, these interfaces actually have different source code and are meant to be deployed as part of another contract.The text was updated successfully, but these errors were encountered: