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
/* Imports: External */
import { DeployFunction } from 'hardhat-deploy/dist/types'
/* Imports: Internal */
import {
deployAndRegister,
getDeployedContract,
registerAddress,
} from '../src/hardhat-deploy-ethers'
const deployFn: DeployFunction = async (hre) => {
const Lib_AddressManager = await getDeployedContract(
hre,
'Lib_AddressManager'
)
await deployAndRegister({
hre,
name: 'OVM_L1MultiMessageRelayer',
args: [Lib_AddressManager.address],
})
// OVM_L2MessageRelayer *must* be set to multi message relayer address on mainnet.
if (hre.network.name.includes('mainnet')) {
const OVM_L1MultiMessageRelayer = await getDeployedContract(
hre,
'OVM_L1MultiMessageRelayer'
)
await registerAddress({
hre,
name: 'OVM_L2MessageRelayer',
address: OVM_L1MultiMessageRelayer.address
})
}
}
deployFn.dependencies = ['Lib_AddressManager']
deployFn.tags = ['OVM_L1MultiMessageRelayer']
export default deployFn