[Ethereum] File outside of allowed directories on brownie compile command

browniechainlinkerc-721openzeppelin-contracts

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.

some-folder
 | -project-folder
 |  | -src
 |  | -contracts
 |  | -...
brownie-config.yaml

once I move the .yaml file into the project folder it all works fine

Related Topic