Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
45eeef38
Unverified
Commit
45eeef38
authored
Feb 22, 2023
by
mergify[bot]
Committed by
GitHub
Feb 22, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #4915 from ethereum-optimism/sc/ctb-l2oo-init-early
fix(ctb): initialize L2OO in dictator step 1
parents
b3ec2877
830163ef
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
26 deletions
+26
-26
SystemDictator.sol
...contracts-bedrock/contracts/deployment/SystemDictator.sol
+13
-13
020-SystemDictatorSteps-1.ts
...ges/contracts-bedrock/deploy/020-SystemDictatorSteps-1.ts
+13
-0
021-SystemDictatorSteps-2.ts
...ges/contracts-bedrock/deploy/021-SystemDictatorSteps-2.ts
+0
-13
No files found.
packages/contracts-bedrock/contracts/deployment/SystemDictator.sol
View file @
45eeef38
...
@@ -205,6 +205,19 @@ contract SystemDictator is OwnableUpgradeable {
...
@@ -205,6 +205,19 @@ contract SystemDictator is OwnableUpgradeable {
)
)
)
)
);
);
// Upgrade and initialize the L2OutputOracle so the Proposer can start up.
config.globalConfig.proxyAdmin.upgradeAndCall(
payable(config.proxyAddressConfig.l2OutputOracleProxy),
address(config.implementationAddressConfig.l2OutputOracleImpl),
abi.encodeCall(
L2OutputOracle.initialize,
(
l2OutputOracleDynamicConfig.l2OutputOracleStartingBlockNumber,
l2OutputOracleDynamicConfig.l2OutputOracleStartingTimestamp
)
)
);
}
}
/**
/**
...
@@ -290,19 +303,6 @@ contract SystemDictator is OwnableUpgradeable {
...
@@ -290,19 +303,6 @@ contract SystemDictator is OwnableUpgradeable {
// Dynamic config must be set before we can initialize the L2OutputOracle.
// Dynamic config must be set before we can initialize the L2OutputOracle.
require(dynamicConfigSet, "SystemDictator: dynamic oracle config is not yet initialized");
require(dynamicConfigSet, "SystemDictator: dynamic oracle config is not yet initialized");
// Upgrade and initialize the L2OutputOracle.
config.globalConfig.proxyAdmin.upgradeAndCall(
payable(config.proxyAddressConfig.l2OutputOracleProxy),
address(config.implementationAddressConfig.l2OutputOracleImpl),
abi.encodeCall(
L2OutputOracle.initialize,
(
l2OutputOracleDynamicConfig.l2OutputOracleStartingBlockNumber,
l2OutputOracleDynamicConfig.l2OutputOracleStartingTimestamp
)
)
);
// Upgrade and initialize the OptimismPortal.
// Upgrade and initialize the OptimismPortal.
config.globalConfig.proxyAdmin.upgradeAndCall(
config.globalConfig.proxyAdmin.upgradeAndCall(
payable(config.proxyAddressConfig.optimismPortalProxy),
payable(config.proxyAddressConfig.optimismPortalProxy),
...
...
packages/contracts-bedrock/deploy/020-SystemDictatorSteps-1.ts
View file @
45eeef38
...
@@ -29,6 +29,7 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -29,6 +29,7 @@ const deployFn: DeployFunction = async (hre) => {
L1ERC721BridgeProxy
,
L1ERC721BridgeProxy
,
L1ERC721BridgeProxyWithSigner
,
L1ERC721BridgeProxyWithSigner
,
SystemConfigProxy
,
SystemConfigProxy
,
L2OutputOracleProxy
,
]
=
await
getContractsFromArtifacts
(
hre
,
[
]
=
await
getContractsFromArtifacts
(
hre
,
[
{
{
name
:
'
SystemDictatorProxy
'
,
name
:
'
SystemDictatorProxy
'
,
...
@@ -67,6 +68,11 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -67,6 +68,11 @@ const deployFn: DeployFunction = async (hre) => {
iface
:
'
SystemConfig
'
,
iface
:
'
SystemConfig
'
,
signerOrProvider
:
deployer
,
signerOrProvider
:
deployer
,
},
},
{
name
:
'
L2OutputOracleProxy
'
,
iface
:
'
L2OutputOracle
'
,
signerOrProvider
:
deployer
,
},
])
])
// If we have the key for the controller then we don't need to wait for external txns.
// If we have the key for the controller then we don't need to wait for external txns.
...
@@ -287,6 +293,13 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -287,6 +293,13 @@ const deployFn: DeployFunction = async (hre) => {
'
gasLimit
'
,
'
gasLimit
'
,
hre
.
deployConfig
.
l2GenesisBlockGasLimit
hre
.
deployConfig
.
l2GenesisBlockGasLimit
)
)
// Check L2OutputOracle was initialized properly.
await
assertContractVariable
(
L2OutputOracleProxy
,
'
latestBlockNumber
'
,
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
)
},
},
})
})
...
...
packages/contracts-bedrock/deploy/021-SystemDictatorSteps-2.ts
View file @
45eeef38
...
@@ -26,7 +26,6 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -26,7 +26,6 @@ const deployFn: DeployFunction = async (hre) => {
L1CrossDomainMessenger
,
L1CrossDomainMessenger
,
L1StandardBridgeProxy
,
L1StandardBridgeProxy
,
L1StandardBridge
,
L1StandardBridge
,
L2OutputOracle
,
OptimismPortal
,
OptimismPortal
,
OptimismMintableERC20Factory
,
OptimismMintableERC20Factory
,
L1ERC721Bridge
,
L1ERC721Bridge
,
...
@@ -57,11 +56,6 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -57,11 +56,6 @@ const deployFn: DeployFunction = async (hre) => {
iface
:
'
L1StandardBridge
'
,
iface
:
'
L1StandardBridge
'
,
signerOrProvider
:
deployer
,
signerOrProvider
:
deployer
,
},
},
{
name
:
'
L2OutputOracleProxy
'
,
iface
:
'
L2OutputOracle
'
,
signerOrProvider
:
deployer
,
},
{
{
name
:
'
OptimismPortalProxy
'
,
name
:
'
OptimismPortalProxy
'
,
iface
:
'
OptimismPortal
'
,
iface
:
'
OptimismPortal
'
,
...
@@ -213,13 +207,6 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -213,13 +207,6 @@ const deployFn: DeployFunction = async (hre) => {
submit L2 outputs to the L2OutputOracle.
submit L2 outputs to the L2OutputOracle.
`
,
`
,
checks
:
async
()
=>
{
checks
:
async
()
=>
{
// Check L2OutputOracle was initialized properly.
await
assertContractVariable
(
L2OutputOracle
,
'
latestBlockNumber
'
,
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
)
// Check OptimismPortal was initialized properly.
// Check OptimismPortal was initialized properly.
await
assertContractVariable
(
await
assertContractVariable
(
OptimismPortal
,
OptimismPortal
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment