I have to flatten two contracts. Both depend on node_modules/openzeppelin-solidity. One of them additionally depends on installed_contracts/oraclize-api.
While the first works with
--solc-paths="openzeppelin-solidity/=$(pwd)/node_modules/openzeppelin-solidity/"
the second one can't fine any files. I tried several formats without success:
contracts/MyContract.sol:7:1: Error: Source "/home/.../node_modules/openzeppelin-solidity/,oraclize-api/=/home/.../installed_contracts/oraclize-api/,contracts/math/SafeMath.sol" not found: File not found.
import "openzeppelin-solidity/contracts/math/SafeMath.sol";
^---------------------------------------------------------^
contracts/MyContract.sol:8:1: Error: Source "oraclize-api/contracts/usingOraclize.sol" not found: File outside of allowed directories.
import "oraclize-api/contracts/usingOraclize.sol";
^------------------------------------------------^
Traceback (most recent call last):
File "/home/.../.local/bin/solidity_flattener", line 4, in <module>
flattener.core.main()
File "/home/.../.local/lib/python3.5/site-packages/flattener/core.py", line 97, in main
solc_proc.check_returncode()
File "/usr/lib/python3.5/subprocess.py", line 659, in check_returncode
self.stderr)
subprocess.CalledProcessError: Command '['solc', 'openzeppelin-solidity/=/home/.../node_modules/openzeppelin-solidity/,oraclize-api/=/home/.../installed_contracts/oraclize-api/,', '--ast', 'contracts/MyContract.sol']' returned non-zero exit status 1
I have to flatten two contracts. Both depend on
node_modules/openzeppelin-solidity
. One of them additionally depends oninstalled_contracts/oraclize-api
.While the first works with
--solc-paths="openzeppelin-solidity/=$(pwd)/node_modules/openzeppelin-solidity/"
the second one can't fine any files. I tried several formats without success:--solc-paths="openzeppelin-solidity/=$(pwd)/node_modules/openzeppelin-solidity/,oraclize-api/=$(pwd)/installed_contracts/oraclize-api/"
--solc-paths="openzeppelin-solidity/=$(pwd)/node_modules/openzeppelin-solidity/ oraclize-api/=$(pwd)/installed_contracts/oraclize-api/"
--solc-paths="openzeppelin-solidity/=$(pwd)/node_modules/openzeppelin-solidity/,$(pwd)/installed_contracts/oraclize-api/"
--solc-paths="solc --allow-paths $(pwd)/node_modules/openzeppelin-solidity/ $(pwd)/installed_contracts/"
Error:
Imports:
Any idea what could be wrong?