Add support for multiple versions of solidity in a project
bgits opened this issue · comments
Feature Request
Support compiling contracts in different versions of solidity in under one project.
Summary
With smart contracts interacting with other smart contracts more often it's common to see multiple contracts with different versions in one project. The most common case would be as often seen in DeFi where contracts will interact with contracts written by multiple teams. It order to create an accurate test environment with Embark it would be ideal for multiple solidity versions to be supported. There are work arounds for a project, but they are time consuming and error prone. The best developer experience would be if Embark can support multiple versions of solidity under one project.
Even within the same project there could be multiple contracts written in different versions:
https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/UniswapV2Router01.sol is written in 0.6.6 but relies on a factory written in 0.5.15 https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Factory.sol