import { HardhatUserConfig } from "hardhat/config"; // import "@nomicfoundation/hardhat-toolbox"; import "hardhat-preprocessor"; import * as fs from "fs"; // import '@typechain/hardhat' import '@nomiclabs/hardhat-ethers' import '@nomiclabs/hardhat-waffle' import "hardhat-typechain"; function getRemappings() { return fs .readFileSync("remappings.txt", "utf8") .split("\n") .filter(Boolean) // remove empty lines .map((line) => line.trim().split("=")); } const config: HardhatUserConfig = { preprocess: { eachLine: (hre) => ({ transform: (line: string) => { if (line.match(/^\s*import /i)) { for (const [from, to] of getRemappings()) { if (line.includes(from)) { line = line.replace(from, to); break; } } } return line; }, }), }, networks:{ maticMumbai: { live: true, url: "https://rpc-mumbai.maticvigil.com/v1/d955b11199dbfd5871c21bdc750c994edfa52abd", chainId: 80001, confirmations: 2, accounts: ['5505f9ddf81b3aa83661c849fe8d56ea7a02dd3ede636f47296d85a7fc4e3bd6', 'f7c11910f42a6cab4436bffea7dca20fed310bd794b7c37a930cc013ae6392d2'], gas: 1000000000, gasPrice: 10000000000, allowUnlimitedContractSize: true }, }, paths: { sources: "./src", cache: "./cache_hardhat", }, solidity: { compilers: [ { version: "0.8.4", settings: { optimizer: { enabled: true, runs: 200 } } }, { version: "0.8.10", settings: { optimizer: { enabled: true, runs: 200 } } }, { version: "0.8.9", settings: { optimizer: { enabled: true, runs: 200 } } }, ], }, }; export default config;