今天由于需要同时验证新版本solidity已废弃的方法“callcode”,以及新版本才支持的方法“staticcall”,所以需要编写两个版本的合约,可以修改hardhat config,支持多个版本的编译器,类似如下

const config: HardhatUserConfig = {
  solidity: {
    compilers: [
      {
        version: "0.8.4"
      },
      {
        version: "0.4.26",
      }
    ]
  },
  ...