-
Notifications
You must be signed in to change notification settings - Fork 0
/
hardhat.config.ts
44 lines (41 loc) · 1.11 KB
/
hardhat.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import fs from "fs";
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import "hardhat-preprocessor";
import "@nomicfoundation/hardhat-chai-matchers";
import "@nomiclabs/hardhat-ethers";
function getRemappings() {
return fs
.readFileSync("remappings.txt", "utf8")
.split("\n")
.filter(Boolean)
.map((line: string) => line.trim().split("="));
}
const config: HardhatUserConfig = {
solidity: {
version: "0.8.15",
settings: { optimizer: { enabled: true, runs: 2_000_000 } },
},
// networks: {
// hardhat: {
// allowUnlimitedContractSize: true,
// },
// },
paths: { cache: "cache/hardhat", sources: "src", artifacts: "out/hardhat" },
preprocess: {
eachLine: () => ({
transform: (line: string) => {
if (line.match(/^\s*import /i) || line.match(/} from /i)) {
for (const [from, to] of getRemappings()) {
if (line.includes(from)) {
line = line.replace(from, to);
break;
}
}
}
return line;
},
}),
},
};
export default config;