forked from 9mmPro/9mm-v3-contracts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
hardhat.config.ts
90 lines (86 loc) · 1.74 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import type { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox-viem";
import '@nomicfoundation/hardhat-verify'
const chains = {
369: {
hardforkHistory: {
merge: 17_233_000,
shanghai: 17_233_001,
},
},
943: {
hardforkHistory: {
merge: 15_537_394,
shanghai: 15_537_395,
},
},
11155111: {
hardforkHistory: {
merge: 1_000_000,
shanghai: 1_000_001,
},
},
}
const hardhatConfigs = {
pulsechain: {
chainId: 369,
forking: {
url: 'https://rpc-pulsechain.g4mm4.io', // same with rpc.pulsechain.com
blockNumber: 19_969_002,
},
},
pulsechainV4: {
chainId: 943,
forking: {
url: 'https://rpc-testnet-pulsechain.g4mm4.io', // same with rpc.pulsechain.com
blockNumber: 19_969_002,
},
},
} as Record<string, {
chainId: number;
forking: {
url: string;
}
}>
const config: HardhatUserConfig = {
solidity: {
version: "0.7.6",
settings: {
optimizer: {
enabled: true,
runs: 10,
},
},
},
networks: {
pulsechain: {
url: hardhatConfigs.pulsechain.forking.url,
},
},
sourcify: {
enabled: true,
},
etherscan: {
enabled: true,
customChains: [{
network: 'pulsechain',
chainId: 369,
urls: {
apiURL: 'https://api.scan.pulsechain.com/api',
browserURL: 'https://scan.pulsechain.com/#',
},
}, {
network: 'pulsechainV4',
chainId: 943,
urls: {
apiURL: 'https://api.scan.v4.testnet.pulsechain.com/api',
browserURL: 'https://scan.v4.testnet.pulsechain.com/#',
},
}],
apiKey: {
pulsechainV4: 'abc',
pulsechain: 'abc',
},
},
};
export default config;