Skip to content
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

Support circular dependencies #27

Closed
rkalis opened this issue Jan 6, 2020 · 3 comments · Fixed by #29
Closed

Support circular dependencies #27

rkalis opened this issue Jan 6, 2020 · 3 comments · Fixed by #29

Comments

@rkalis
Copy link

rkalis commented Jan 6, 2020

Several people reported issues with circular dependencies on truffle-plugin-verify (#14, #17). It appears that sol-merger gets stuck in an infinite loop and runs out of memory eventually. @nklipa13 added a very small example that shows this in truffle-plugin-verify#14. I believe @ferittuncer also has more complex contract examples.

@rkalis
Copy link
Author

rkalis commented Feb 6, 2020

It looks like it might still not completely work (at least for the repository I tested it with - ethroulette).

Steps to reproduce:

git clone [email protected]:rkalis/ethroulette.git && cd ethroulette
npm i -g [email protected]
sol-merger "./contract/Roulette.sol"

It then gets stuck.

The repo has a UML diagram of the structure of the Roulette contracts, but basically BackingContract and BackedToken depend on each other, and Roulette extends BackingContract.

@RyuuGan
Copy link
Owner

RyuuGan commented Feb 6, 2020

@rkalis I found the issue and it is not about circular dependencies, so I'll fix it asap.

@rkalis
Copy link
Author

rkalis commented Feb 7, 2020

Oh awesome! Thanks for looking into it. I'd just assumed it was due to circular dependencies. Thanks for fixing the issues!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants