trying to import to files from openzeppelin and chainlink in my contract file like so:
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@chainlink/contracts/src/v0.6/VRFConsumerBase.sol";
and i have a brownie-config.yaml file that looks like:
dependencies:
- OpenZeppelin/openzeppelin-contracts@3.4.0
- smartcontractkit/chainlink-brownie-contracts@1.0.2
compiler:
solc:
remappings:
- '@openzeppelin=OpenZepplin/openzeppelin-contracts@3.4.0'
- '@chainlink=smartcontractkit/chainlink-brownie-contracts@1.0.2'
when i run 'brownie compile' command i get:
CompilerError: solc returned the following errors:
contracts/AdvancedCollectible.sol:4:1: ParserError: Source "https:\github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.4/contracts/token/ERC721/ERC721.sol" not found: File outside of allowed directories.
import "https:\\github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.4/contracts/token/ERC721/ERC721.sol";
^------------------------------------------------------------------------------------------------------------------^
contracts/AdvancedCollectible.sol:6:1: ParserError: Source "https:\github.com/smartcontractkit/chainlink-brownie-contracts/blob/release-v1.0.2/contracts/src/v0.6/VRFConsumerBase.sol" not found: File outside of allowed directories.
import "https:\\github.com/smartcontractkit/chainlink-brownie-contracts/blob/release-v1.0.2/contracts/src/v0.6/VRFConsumerBase.sol";
^----------------------------------------------------------------------------------------------------------------------------------^
i also tried importing like below but no luck:
import "https:\\github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.4/contracts/token/ERC721/ERC721.sol";
import "https:\\github.com/smartcontractkit/chainlink-brownie-contracts/blob/release-v1.0.2/contracts/src/v0.6/VRFConsumerBase.sol";
Best Answer
So basically i accidentally created the brownie-yaml.config file outside of the project folder.
once I move the
.yaml
file into the project folder it all works fine