Commit 6db6676f authored by Maurelian's avatar Maurelian

feat(ctb): Add type safety to deploy-config

parent 2e06e54e
{ import { DeployConfig } from '../src/deploy-config'
const config: DeployConfig = {
"finalSystemOwner": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "finalSystemOwner": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"controller": "0x78339d822c23d943e4a2d4c3dd5408f66e6d662d", "controller": "0x78339d822c23d943e4a2d4c3dd5408f66e6d662d",
"portalGuardian": "0x78339d822c23d943e4a2d4c3dd5408f66e6d662d", "portalGuardian": "0x78339d822c23d943e4a2d4c3dd5408f66e6d662d",
...@@ -43,3 +45,5 @@ ...@@ -43,3 +45,5 @@
"l2GenesisRegolithTimeOffset": "0x0" "l2GenesisRegolithTimeOffset": "0x0"
} }
export default config
...@@ -22,7 +22,7 @@ const config: HardhatUserConfig = { ...@@ -22,7 +22,7 @@ const config: HardhatUserConfig = {
hardhat: { hardhat: {
live: false, live: false,
}, },
mainnet: { mainnet-rehearsal: {
url: process.env.L1_RPC || 'https://mainnet-l1-rehearsal.optimism.io', url: process.env.L1_RPC || 'https://mainnet-l1-rehearsal.optimism.io',
accounts: [process.env.PRIVATE_KEY_DEPLOYER || ethers.constants.HashZero] accounts: [process.env.PRIVATE_KEY_DEPLOYER || ethers.constants.HashZero]
}, },
......
...@@ -129,6 +129,26 @@ interface RequiredDeployConfig { ...@@ -129,6 +129,26 @@ interface RequiredDeployConfig {
* Output finalization period in seconds. * Output finalization period in seconds.
*/ */
finalizationPeriodSeconds: number finalizationPeriodSeconds: number
/**
* Owner of the ProxyAdmin contract.
*/
proxyAdminOwner: string
/**
* L1 address which receives the base fee for the L2 network.
*/
baseFeeVaultRecipient: string
/**
* L1 address which receives data fees for the L2 network.
*/
l1FeeVaultRecipient: string
/**
* L1 address which receives tip fees for the L2 network.
*/
sequencerFeeVaultRecipient: string
} }
/** /**
...@@ -243,6 +263,18 @@ export const deployConfigSpec: { ...@@ -243,6 +263,18 @@ export const deployConfigSpec: {
type: 'number', type: 'number',
default: 2, default: 2,
}, },
proxyAdminOwner: {
type: 'address',
},
baseFeeVaultRecipient: {
type: 'address',
},
l1FeeVaultRecipient: {
type: 'address',
},
sequencerFeeVaultRecipient: {
type: 'address',
},
cliqueSignerAddress: { cliqueSignerAddress: {
type: 'address', type: 'address',
default: ethers.constants.AddressZero, default: ethers.constants.AddressZero,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment