第4节:多版本编译

小白入门:https://github.com/dukedaily/solidity-expert ,欢迎star转发,文末加V入群。

职场进阶: https://dukeweb3.com

解决多版本编译:https://hardhat.org/hardhat-runner/docs/advanced/multiple-solidity-versions

如果指定多个版本,当合约中未指定明确版本时,hardhat会默认使用最高的版本编译,此时会出现问题;解决办法是对特定的文件明确编译器版本号,即下文中的overrides部分:

solidity: {
        overrides: {
            '@uniswap/v3-core/contracts/libraries/FullMath.sol': {
                version: '0.7.6'
            },
            '@uniswap/v3-core/contracts/libraries/TickMath.sol': {
                version: '0.7.6'
            }
        },
        compilers: [
            {
                version: '0.8.10',
                settings: {
                    optimizer: {
                        enabled: true,
                        runs: 200
                    }
                }
            },
            {
                version: '0.6.12'
            }
        ]
    },