Hello,
that solidity compiling is a mess
I’m trying hours to find out why my contracts sometime compile and sometimes not …
Now I got it …
Environment
ganache
remix.ethereum.org
Details
Want to compile that file:
pragma solidity >=0.6.12;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";
And get this error:
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/GSN/Context.sol:1:1: ParserError: Source file requires different compiler version (current compiler is 0.6.12+commit.27d51765.Emscripten.clang) - note that nightly builds are considered to be strictly less than the released version pragma solidity ^0.5.0; ^---------------------^
When I look into the Context.sol (clicking in remix on the error popup):
pragma solidity ^0.5.0;
At github is it the version:
pragma solidity >=0.6.0 <0.8.0;
Shouldn’t my import import the .sol from its own path? What is going on? Is it possible to “refresh” the compiled files in remix after deploying? - I guess thats the point, because I have another contract that use the older version.
Code to reproduce
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";
Thanks