BlockCatIO / solidity-flattener

A python utility to flatten Solidity code with imports into a single file.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Import files not found even with path specified, Error Error: Source "introspection/SupportsInterfaceWithLookup.sol" not found: File not found.

nickjuntilla opened this issue · comments

Using a command like solidity_flattener mySource.sol gets an error like:

Plouton.sol:5:1: Error: Source "introspection/SupportsInterfaceWithLookup.sol" not found: File not found.
import "../../introspection/SupportsInterfaceWithLookup.sol";
^-----------------------------------------------------------^
ERC721BasicToken.sol:5:1: Error: Source "math/SafeMath.sol" not found: File not found.
import "../../math/SafeMath.sol";
^-------------------------------^
ERC721BasicToken.sol:6:1: Error: Source "AddressUtils.sol" not found: File not found.
import "../../AddressUtils.sol";
^------------------------------^
ERC721BasicToken.sol:7:1: Error: Source "introspection/SupportsInterfaceWithLookup.sol" not found: File not found.
import "../../introspection/SupportsInterfaceWithLookup.sol";
^-----------------------------------------------------------^
ERC721Basic.sol:3:1: Error: Source "introspection/ERC165.sol" not found: File not found.
import "../../introspection/ERC165.sol";
^--------------------------------------^

If I specify the path like solidity_flattener --solc-paths=./ mySource.sol I get:

$ solidity_flattener --solc-paths=./ mySource.sol
""./"" is not a valid file
Traceback (most recent call last):
  File "/usr/local/bin/solidity_flattener", line 4, in <module>
    flattener.core.main()
  File "/usr/local/lib/python3.6/site-packages/flattener/core.py", line 97, in main
    solc_proc.check_returncode()
  File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 369, in check_returncode
    self.stderr)

I used to be able to just run this on the with one argument. Now it's complaining about paths and nothing I write in --solc-paths seems to satisfy it. It also seems to think --solc-paths is specifying a file. Do you know what is wrong?

Same problem here.