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
fdf6e8d9
Unverified
Commit
fdf6e8d9
authored
Feb 22, 2023
by
mergify[bot]
Committed by
GitHub
Feb 22, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into michael/remove-duplicate-signer
parents
06c85961
0c3493e2
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
27 deletions
+27
-27
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
deposits.md
specs/deposits.md
+1
-1
No files found.
packages/contracts-bedrock/contracts/deployment/SystemDictator.sol
View file @
fdf6e8d9
...
...
@@ -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 {
// Dynamic config must be set before we can initialize the L2OutputOracle.
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.
config.globalConfig.proxyAdmin.upgradeAndCall(
payable(config.proxyAddressConfig.optimismPortalProxy),
...
...
packages/contracts-bedrock/deploy/020-SystemDictatorSteps-1.ts
View file @
fdf6e8d9
...
...
@@ -29,6 +29,7 @@ const deployFn: DeployFunction = async (hre) => {
L1ERC721BridgeProxy
,
L1ERC721BridgeProxyWithSigner
,
SystemConfigProxy
,
L2OutputOracleProxy
,
]
=
await
getContractsFromArtifacts
(
hre
,
[
{
name
:
'
SystemDictatorProxy
'
,
...
...
@@ -67,6 +68,11 @@ const deployFn: DeployFunction = async (hre) => {
iface
:
'
SystemConfig
'
,
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.
...
...
@@ -287,6 +293,13 @@ const deployFn: DeployFunction = async (hre) => {
'
gasLimit
'
,
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 @
fdf6e8d9
...
...
@@ -26,7 +26,6 @@ const deployFn: DeployFunction = async (hre) => {
L1CrossDomainMessenger
,
L1StandardBridgeProxy
,
L1StandardBridge
,
L2OutputOracle
,
OptimismPortal
,
OptimismMintableERC20Factory
,
L1ERC721Bridge
,
...
...
@@ -57,11 +56,6 @@ const deployFn: DeployFunction = async (hre) => {
iface
:
'
L1StandardBridge
'
,
signerOrProvider
:
deployer
,
},
{
name
:
'
L2OutputOracleProxy
'
,
iface
:
'
L2OutputOracle
'
,
signerOrProvider
:
deployer
,
},
{
name
:
'
OptimismPortalProxy
'
,
iface
:
'
OptimismPortal
'
,
...
...
@@ -213,13 +207,6 @@ const deployFn: DeployFunction = async (hre) => {
submit L2 outputs to the L2OutputOracle.
`
,
checks
:
async
()
=>
{
// Check L2OutputOracle was initialized properly.
await
assertContractVariable
(
L2OutputOracle
,
'
latestBlockNumber
'
,
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
)
// Check OptimismPortal was initialized properly.
await
assertContractVariable
(
OptimismPortal
,
...
...
specs/deposits.md
View file @
fdf6e8d9
...
...
@@ -89,7 +89,7 @@ The `sourceHash` of a deposit transaction is computed based on the origin:
Where the
`l1BlockHash`
, and
`l1LogIndex`
all refer to the inclusion of the deposit log event on L1.
`l1LogIndex`
is the index of the deposit event log in the combined list of log events of the block.
-
L1 attributes deposited:
`keccak256(bytes32(uint256(1)), keccak256(l1BlockHash
), bytes32(uint256(seqNumber
)))`
.
`keccak256(bytes32(uint256(1)), keccak256(l1BlockHash
, bytes32(uint256(seqNumber)
)))`
.
Where
`l1BlockHash`
refers to the L1 block hash of which the info attributes are deposited.
And
`seqNumber = l2BlockNum - l2EpochStartBlockNum`
,
where
`l2BlockNum`
is the L2 block number of the inclusion of the deposit tx in L2,
...
...
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