embarklabs / embark

Framework for serverless Decentralized Applications using Ethereum, IPFS and other platforms

Home Page:https://framework.embarklabs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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