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
f8697a60
Unverified
Commit
f8697a60
authored
Nov 10, 2022
by
Kelvin Fichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(ctb): remove historicalTotalBlocks
Removes historicalTotalBlocks from the L2OutputOracle.
parent
89526c42
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
61 additions
and
122 deletions
+61
-122
blue-hornets-jam.md
.changeset/blue-hornets-jam.md
+5
-0
l2outputoracle.go
op-bindings/bindings/l2outputoracle.go
+4
-35
layer_one.go
op-chain-ops/genesis/layer_one.go
+1
-3
layer_one_test.go
op-chain-ops/genesis/layer_one_test.go
+0
-4
setup.go
op-e2e/setup.go
+0
-5
.gas-snapshot
packages/contracts-bedrock/.gas-snapshot
+51
-51
L2OutputOracle.sol
packages/contracts-bedrock/contracts/L1/L2OutputOracle.sol
+0
-8
CommonTest.t.sol
packages/contracts-bedrock/contracts/test/CommonTest.t.sol
+0
-2
L2OutputOracle.t.sol
...ges/contracts-bedrock/contracts/test/L2OutputOracle.t.sol
+0
-3
009-L2OutputOracleImpl.ts
packages/contracts-bedrock/deploy/009-L2OutputOracleImpl.ts
+0
-6
hardhat.config.ts
packages/contracts-bedrock/hardhat.config.ts
+0
-5
No files found.
.changeset/blue-hornets-jam.md
0 → 100644
View file @
f8697a60
---
'
@eth-optimism/contracts-bedrock'
:
patch
---
Removes historicalTotalBlocks from the L2OutputOracle
op-bindings/bindings/l2outputoracle.go
View file @
f8697a60
...
@@ -36,8 +36,8 @@ type TypesOutputProposal struct {
...
@@ -36,8 +36,8 @@ type TypesOutputProposal struct {
// L2OutputOracleMetaData contains all meta data concerning the L2OutputOracle contract.
// L2OutputOracleMetaData contains all meta data concerning the L2OutputOracle contract.
var
L2OutputOracleMetaData
=
&
bind
.
MetaData
{
var
L2OutputOracleMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_submissionInterval
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_genesisL2Output
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_
historicalTotalBlocks
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_startingBlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_startingTimestamp
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l2BlockTime
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_proposer
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_owner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
l1Timestamp
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
OutputDeleted
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
l1Timestamp
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
OutputProposed
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
previousOwner
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
OwnershipTransferred
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
previousProposer
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newProposer
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
ProposerChanged
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
HISTORICAL_TOTAL_BLOCKS
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
L2_BLOCK_TIME
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
STARTING_BLOCK_NUMBER
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
STARTING_TIMESTAMP
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
SUBMISSION_INTERVAL
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_newProposer
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
changeProposer
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
computeL2Timestamp
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
components
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
timestamp
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
internalType
\"
:
\"
structTypes.OutputProposal
\"
,
\"
name
\"
:
\"
_proposal
\"
,
\"
type
\"
:
\"
tuple
\"
}],
\"
name
\"
:
\"
deleteL2Output
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
getL2Output
\"
,
\"
outputs
\"
:[{
\"
components
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
timestamp
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
internalType
\"
:
\"
structTypes.OutputProposal
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
tuple
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_genesisL2Output
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_proposer
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_owner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
latestBlockNumber
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
nextBlockNumber
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
owner
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_l1Blockhash
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l1BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
proposeL2Output
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
proposer
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
renounceOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
transferOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_submissionInterval
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_genesisL2Output
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_
startingBlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_startingTimestamp
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l2BlockTime
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_proposer
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_owner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
l1Timestamp
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
OutputDeleted
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
l1Timestamp
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
OutputProposed
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
previousOwner
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
OwnershipTransferred
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
previousProposer
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newProposer
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
ProposerChanged
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
L2_BLOCK_TIME
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
STARTING_BLOCK_NUMBER
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
STARTING_TIMESTAMP
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
SUBMISSION_INTERVAL
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_newProposer
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
changeProposer
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
computeL2Timestamp
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
components
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
timestamp
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
internalType
\"
:
\"
structTypes.OutputProposal
\"
,
\"
name
\"
:
\"
_proposal
\"
,
\"
type
\"
:
\"
tuple
\"
}],
\"
name
\"
:
\"
deleteL2Output
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
getL2Output
\"
,
\"
outputs
\"
:[{
\"
components
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
timestamp
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
internalType
\"
:
\"
structTypes.OutputProposal
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
tuple
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_genesisL2Output
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_proposer
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_owner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
latestBlockNumber
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
nextBlockNumber
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
owner
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_outputRoot
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_l1Blockhash
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_l1BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
proposeL2Output
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
proposer
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
renounceOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
transferOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
Bin
:
"0x6101
806040523480156200001257600080fd5b506040516200237038038062002370833981016040819052620000359162000609565b6000608081905260a052600160c05242841115620000ce5760405162461bcd60e51b8152602060048201526044602482018190527f4c324f75747075744f7261636c653a207374617274696e67204c322074696d65908201527f7374616d70206d757374206265206c657373207468616e2063757272656e742060648201526374696d6560e01b608482015260a4015b60405180910390fd5b60e0889052610100869052610120859052610140849052610160839052620000f887838362000106565b50505050505050506200067b565b600054610100900460ff1615808015620001275750600054600160ff909116105b806200015757506200014430620002f960201b620013f61760201c565b15801562000157575060005460ff166001145b620001bc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000c5565b6000805460ff191660011790558015620001e0576000805461ff0019166101001790555b816001600160a01b0316836001600160a01b031603620002585760405162461bcd60e51b815260206004820152603860248201526000805160206200235083398151915260448201527f6265207468652073616d6520617320746865206f776e657200000000000000006064820152608401620000c5565b604080518082018252858152426020808301918252610120516000818152606790925293902091518255516001909101556066556200029662000308565b620002a18362000370565b620002ac82620004d7565b8015620002f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6001600160a01b03163b151590565b600054610100900460ff16620003645760405162461bcd60e51b815260206004820152602b60248201526000805160206200233083398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000c5565b6200036e62000529565b565b6200037a62000590565b6001600160a01b038116620003f85760405162461bcd60e51b815260206004820152603760248201527f4c324f75747075744f7261636c653a206e65772070726f706f7365722063616e60448201527f6e6f7420626520746865207a65726f20616464726573730000000000000000006064820152608401620000c5565b6033546001600160a01b03166001600160a01b0316816001600160a01b0316036200047b5760405162461bcd60e51b815260206004820152603860248201526000805160206200235083398151915260448201527f6265207468652073616d6520617320746865206f776e657200000000000000006064820152608401620000c5565b6065546040516001600160a01b038084169216907f3d7728dc2838bb794606bd89f5a37930830b32060f69ee929bbfc59b669024dd90600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620005855760405162461bcd60e51b815260206004820152602b60248201526000805160206200233083398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000c5565b6200036e33620004d7565b6033546001600160a01b031633146200036e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620000c5565b80516001600160a01b03811681146200060457600080fd5b919050565b600080600080600080600080610100898b0312156200062757600080fd5b885197506020890151965060408901519550606089015194506080890151935060a089015192506200065c60c08a01620005ec565b91506200066c60e08a01620005ec565b90509295985092959890939650565b60805160a05160c05160e05161010051610120516101405161016051611c026200072e6000396000818161013f015261127f0152600081816101a801526112d80152600081816101f201528181610af501528181610f710152818161106d015281816111a901526112a30152600061036b0152600081816102260152818161061001528181611049015281816110ac0152611306015260006106950152600061066c015260006106430152611c026000f3fe6080604052600436106101285760003560e01c806388b117b3116100a5578063a4771aad11610074578063d1de856c11610059578063d1de856c146103ba578063dcec3348146103da578063f2fde38b146103ef57600080fd5b8063a4771aad14610359578063a8e4fb901461038d57600080fd5b806388b117b31461029f5780638da5cb5b146102bf5780639aaab6481461030b578063a25ae5571461031e57600080fd5b80634ab65d73116100fc57806354fd4d50116100e157806354fd4d5014610248578063715018a61461026a57806372d5fe211461027f57600080fd5b80634ab65d73146101e0578063529933df1461021457600080fd5b80622134cc1461012d578063093b3d901461017457806320e9fcd4146101965780634599c788146101ca575b600080fd5b34801561013957600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b34801561018057600080fd5b5061019461018f366004611861565b61040f565b005b3480156101a257600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b3480156101d657600080fd5b5061016160665481565b3480156101ec57600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b34801561022057600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b34801561025457600080fd5b5061025d61063c565b60405161016b9190611903565b34801561027657600080fd5b506101946106df565b34801561028b57600080fd5b5061019461029a36600461197d565b6106f3565b3480156102ab57600080fd5b506101946102ba36600461199f565b6108ff565b3480156102cb57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b6101946103193660046119db565b610bb2565b34801561032a57600080fd5b5061033e610339366004611a0d565b610f5b565b6040805182518152602092830151928101929092520161016b565b34801561036557600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b34801561039957600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103c657600080fd5b506101616103d5366004611a0d565b6111a5565b3480156103e657600080fd5b50610161611302565b3480156103fb57600080fd5b5061019461040a36600461197d565b611337565b610417611412565b6066546000908152606760209081526040918290208251808401909352805480845260019091015491830191909152825114610500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604f60248201527f4c324f75747075744f7261636c653a206f757470757420726f6f7420746f206460448201527f656c65746520646f6573206e6f74206d6174636820746865206c61746573742060648201527f6f75747075742070726f706f73616c0000000000000000000000000000000000608482015260a4015b60405180910390fd5b80602001518260200151146105bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f4c324f75747075744f7261636c653a2074696d657374616d7020746f2064656c60448201527f65746520646f6573206e6f74206d6174636820746865206c6174657374206f7560648201527f747075742070726f706f73616c00000000000000000000000000000000000000608482015260a4016104f7565b606654602082015182516040517f11e942315215fbc11bf574b22ca610d001e704d870a2307833c188d31600b5c690600090a46066805460009081526067602052604081208181556001015554610635907f000000000000000000000000000000000000000000000000000000000000000090611a55565b6066555050565b60606106677f0000000000000000000000000000000000000000000000000000000000000000611493565b6106907f0000000000000000000000000000000000000000000000000000000000000000611493565b6106b97f0000000000000000000000000000000000000000000000000000000000000000611493565b6040516020016106cb93929190611a6c565b604051602081830303815290604052905090565b6106e7611412565b6106f160006115c8565b565b6106fb611412565b73ffffffffffffffffffffffffffffffffffffffff811661079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c324f75747075744f7261636c653a206e65772070726f706f7365722063616e60448201527f6e6f7420626520746865207a65726f206164647265737300000000000000000060648201526084016104f7565b60335473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c324f75747075744f7261636c653a2070726f706f7365722063616e6e6f742060448201527f6265207468652073616d6520617320746865206f776e6572000000000000000060648201526084016104f7565b60655460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3d7728dc2838bb794606bd89f5a37930830b32060f69ee929bbfc59b669024dd90600090a3606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff161580801561091f5750600054600160ff909116105b806109395750303b158015610939575060005460ff166001145b6109c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104f7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610a2357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ade576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c324f75747075744f7261636c653a2070726f706f7365722063616e6e6f742060448201527f6265207468652073616d6520617320746865206f776e6572000000000000000060648201526084016104f7565b6040805180820182528581524260208083019182527f0000000000000000000000000000000000000000000000000000000000000000600081815260679092529390209151825551600190910155606655610b3761163f565b610b40836106f3565b610b49826115c8565b8015610bac57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610c59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c324f75747075744f7261636c653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642062792070726f706f73657200000000000000000060648201526084016104f7565b610c61611302565b8314610d15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d626572206d757360448201527f7420626520657175616c20746f206e65787420657870656374656420626c6f6360648201527f6b206e756d626572000000000000000000000000000000000000000000000000608482015260a4016104f7565b42610d1f846111a5565b10610dac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324f75747075744f7261636c653a2063616e6e6f742070726f706f7365204c60448201527f32206f757470757420696e20746865206675747572650000000000000000000060648201526084016104f7565b83610e39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4c324f75747075744f7261636c653a204c32206f75747075742070726f706f7360448201527f616c2063616e6e6f7420626520746865207a65726f206861736800000000000060648201526084016104f7565b8115610ef55781814014610ef5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a20626c6f636b6861736820646f6573206e60448201527f6f74206d6174636820746865206861736820617420746865206578706563746560648201527f6420686569676874000000000000000000000000000000000000000000000000608482015260a4016104f7565b6040805180820182528581524260208083018281526000888152606790925284822093518455516001909301929092556066869055915185929187917fc120f5e881491e6e212befa39e36b8f57d5eca31915f2e5d60a420f418caa6df9190a450505050565b60408051808201909152600080825260208201527f0000000000000000000000000000000000000000000000000000000000000000821015611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d6265722063616e60448201527f6e6f74206265206c657373207468616e20746865207374617274696e6720626c60648201527f6f636b206e756d6265722e000000000000000000000000000000000000000000608482015260a4016104f7565b60007f00000000000000000000000000000000000000000000000000000000000000006110927f000000000000000000000000000000000000000000000000000000000000000085611a55565b61109c9190611b11565b9050600081156110df576110d0827f0000000000000000000000000000000000000000000000000000000000000000611a55565b6110da9085611b25565b6110e1565b835b60008181526067602090815260409182902082518084019093528054808452600190910154918301919091529192509061119d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324f75747075744f7261636c653a204e6f206f757470757420666f756e642060448201527f666f72207468617420626c6f636b206e756d6265722e0000000000000000000060648201526084016104f7565b949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000082101561127d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605360248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d626572206d757360448201527f742062652067726561746572207468616e206f7220657175616c20746f20737460648201527f617274696e6720626c6f636b206e756d62657200000000000000000000000000608482015260a4016104f7565b7f00000000000000000000000000000000000000000000000000000000000000006112c87f000000000000000000000000000000000000000000000000000000000000000084611a55565b6112d29190611b3d565b6112fc907f0000000000000000000000000000000000000000000000000000000000000000611b25565b92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006066546113329190611b25565b905090565b61133f611412565b60655473ffffffffffffffffffffffffffffffffffffffff908116908216036113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c324f75747075744f7261636c653a206f776e65722063616e6e6f742062652060448201527f7468652073616d65206173207468652070726f706f736572000000000000000060648201526084016104f7565b6113f3816116de565b50565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f7565b6060816000036114d657505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561150057806114ea81611b7a565b91506114f99050600a83611bb2565b91506114da565b60008167ffffffffffffffff81111561151b5761151b611832565b6040519080825280601f01601f191660200182016040528015611545576020820181803683370190505b5090505b841561119d5761155a600183611a55565b9150611567600a86611b11565b611572906030611b25565b60f81b81838151811061158757611587611bc6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506115c1600a86611bb2565b9450611549565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166116d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104f7565b6106f1611792565b6116e6611412565b73ffffffffffffffffffffffffffffffffffffffff8116611789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104f7565b6113f3816115c8565b600054610100900460ff16611829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104f7565b6106f1336115c8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006040828403121561187357600080fd5b6040516040810181811067ffffffffffffffff821117156118bd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b60005b838110156118f25781810151838201526020016118da565b83811115610bac5750506000910152565b60208152600082518060208401526119228160408501602087016118d7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461197857600080fd5b919050565b60006020828403121561198f57600080fd5b61199882611954565b9392505050565b6000806000606084860312156119b457600080fd5b833592506119c460208501611954565b91506119d260408501611954565b90509250925092565b600080600080608085870312156119f157600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611a1f57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611a6757611a67611a26565b500390565b60008451611a7e8184602089016118d7565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611aba816001850160208a016118d7565b60019201918201528351611ad58160028401602088016118d7565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611b2057611b20611ae2565b500690565b60008219821115611b3857611b38611a26565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611b7557611b75611a26565b500290565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bab57611bab611a26565b5060010190565b600082611bc157611bc1611ae2
565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420694c324f75747075744f7261636c653a2070726f706f7365722063616e6e6f7420"
,
Bin
:
"0x6101
606040523480156200001257600080fd5b506040516200230538038062002305833981016040819052620000359162000602565b6000608081905260a052600160c05242841115620000ce5760405162461bcd60e51b8152602060048201526044602482018190527f4c324f75747075744f7261636c653a207374617274696e67204c322074696d65908201527f7374616d70206d757374206265206c657373207468616e2063757272656e742060648201526374696d6560e01b608482015260a4015b60405180910390fd5b60e0879052610100859052610120849052610140839052620000f2868383620000ff565b505050505050506200066a565b600054610100900460ff1615808015620001205750600054600160ff909116105b806200015057506200013d30620002f260201b620013a71760201c565b15801562000150575060005460ff166001145b620001b55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000c5565b6000805460ff191660011790558015620001d9576000805461ff0019166101001790555b816001600160a01b0316836001600160a01b031603620002515760405162461bcd60e51b81526020600482015260386024820152600080516020620022e583398151915260448201527f6265207468652073616d6520617320746865206f776e657200000000000000006064820152608401620000c5565b604080518082018252858152426020808301918252610100516000818152606790925293902091518255516001909101556066556200028f62000301565b6200029a8362000369565b620002a582620004d0565b8015620002ec576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6001600160a01b03163b151590565b600054610100900460ff166200035d5760405162461bcd60e51b815260206004820152602b6024820152600080516020620022c583398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000c5565b6200036762000522565b565b6200037362000589565b6001600160a01b038116620003f15760405162461bcd60e51b815260206004820152603760248201527f4c324f75747075744f7261636c653a206e65772070726f706f7365722063616e60448201527f6e6f7420626520746865207a65726f20616464726573730000000000000000006064820152608401620000c5565b6033546001600160a01b03166001600160a01b0316816001600160a01b031603620004745760405162461bcd60e51b81526020600482015260386024820152600080516020620022e583398151915260448201527f6265207468652073616d6520617320746865206f776e657200000000000000006064820152608401620000c5565b6065546040516001600160a01b038084169216907f3d7728dc2838bb794606bd89f5a37930830b32060f69ee929bbfc59b669024dd90600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166200057e5760405162461bcd60e51b815260206004820152602b6024820152600080516020620022c583398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000c5565b6200036733620004d0565b6033546001600160a01b03163314620003675760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620000c5565b80516001600160a01b0381168114620005fd57600080fd5b919050565b600080600080600080600060e0888a0312156200061e57600080fd5b87519650602088015195506040880151945060608801519350608088015192506200064c60a08901620005e5565b91506200065c60c08901620005e5565b905092959891949750929550565b60805160a05160c05160e051610100516101205161014051611bb36200071260003960008181610124015261123001526000818161018d01526112890152600081816101d701528181610aa601528181610f220152818161101e0152818161115a015261125401526000818161020b015281816105c101528181610ffa0152818161105d01526112b7015260006106460152600061061d015260006105f40152611bb36000f3fe60806040526004361061010d5760003560e01c806372d5fe21116100a5578063a25ae55711610074578063d1de856c11610059578063d1de856c1461036b578063dcec33481461038b578063f2fde38b146103a057600080fd5b8063a25ae55714610303578063a8e4fb901461033e57600080fd5b806372d5fe211461026457806388b117b3146102845780638da5cb5b146102a45780639aaab648146102f057600080fd5b80634ab65d73116100e15780634ab65d73146101c5578063529933df146101f957806354fd4d501461022d578063715018a61461024f57600080fd5b80622134cc14610112578063093b3d901461015957806320e9fcd41461017b5780634599c788146101af575b600080fd5b34801561011e57600080fd5b506101467f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b34801561016557600080fd5b50610179610174366004611812565b6103c0565b005b34801561018757600080fd5b506101467f000000000000000000000000000000000000000000000000000000000000000081565b3480156101bb57600080fd5b5061014660665481565b3480156101d157600080fd5b506101467f000000000000000000000000000000000000000000000000000000000000000081565b34801561020557600080fd5b506101467f000000000000000000000000000000000000000000000000000000000000000081565b34801561023957600080fd5b506102426105ed565b60405161015091906118b4565b34801561025b57600080fd5b50610179610690565b34801561027057600080fd5b5061017961027f36600461192e565b6106a4565b34801561029057600080fd5b5061017961029f366004611950565b6108b0565b3480156102b057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610150565b6101796102fe36600461198c565b610b63565b34801561030f57600080fd5b5061032361031e3660046119be565b610f0c565b60408051825181526020928301519281019290925201610150565b34801561034a57600080fd5b506065546102cb9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561037757600080fd5b506101466103863660046119be565b611156565b34801561039757600080fd5b506101466112b3565b3480156103ac57600080fd5b506101796103bb36600461192e565b6112e8565b6103c86113c3565b60665460009081526067602090815260409182902082518084019093528054808452600190910154918301919091528251146104b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604f60248201527f4c324f75747075744f7261636c653a206f757470757420726f6f7420746f206460448201527f656c65746520646f6573206e6f74206d6174636820746865206c61746573742060648201527f6f75747075742070726f706f73616c0000000000000000000000000000000000608482015260a4015b60405180910390fd5b806020015182602001511461056e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f4c324f75747075744f7261636c653a2074696d657374616d7020746f2064656c60448201527f65746520646f6573206e6f74206d6174636820746865206c6174657374206f7560648201527f747075742070726f706f73616c00000000000000000000000000000000000000608482015260a4016104a8565b606654602082015182516040517f11e942315215fbc11bf574b22ca610d001e704d870a2307833c188d31600b5c690600090a460668054600090815260676020526040812081815560010155546105e6907f000000000000000000000000000000000000000000000000000000000000000090611a06565b6066555050565b60606106187f0000000000000000000000000000000000000000000000000000000000000000611444565b6106417f0000000000000000000000000000000000000000000000000000000000000000611444565b61066a7f0000000000000000000000000000000000000000000000000000000000000000611444565b60405160200161067c93929190611a1d565b604051602081830303815290604052905090565b6106986113c3565b6106a26000611579565b565b6106ac6113c3565b73ffffffffffffffffffffffffffffffffffffffff811661074f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c324f75747075744f7261636c653a206e65772070726f706f7365722063616e60448201527f6e6f7420626520746865207a65726f206164647265737300000000000000000060648201526084016104a8565b60335473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c324f75747075744f7261636c653a2070726f706f7365722063616e6e6f742060448201527f6265207468652073616d6520617320746865206f776e6572000000000000000060648201526084016104a8565b60655460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3d7728dc2838bb794606bd89f5a37930830b32060f69ee929bbfc59b669024dd90600090a3606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16158080156108d05750600054600160ff909116105b806108ea5750303b1580156108ea575060005460ff166001145b610976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156109d457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c324f75747075744f7261636c653a2070726f706f7365722063616e6e6f742060448201527f6265207468652073616d6520617320746865206f776e6572000000000000000060648201526084016104a8565b6040805180820182528581524260208083019182527f0000000000000000000000000000000000000000000000000000000000000000600081815260679092529390209151825551600190910155606655610ae86115f0565b610af1836106a4565b610afa82611579565b8015610b5d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c324f75747075744f7261636c653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642062792070726f706f73657200000000000000000060648201526084016104a8565b610c126112b3565b8314610cc6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d626572206d757360448201527f7420626520657175616c20746f206e65787420657870656374656420626c6f6360648201527f6b206e756d626572000000000000000000000000000000000000000000000000608482015260a4016104a8565b42610cd084611156565b10610d5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324f75747075744f7261636c653a2063616e6e6f742070726f706f7365204c60448201527f32206f757470757420696e20746865206675747572650000000000000000000060648201526084016104a8565b83610dea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4c324f75747075744f7261636c653a204c32206f75747075742070726f706f7360448201527f616c2063616e6e6f7420626520746865207a65726f206861736800000000000060648201526084016104a8565b8115610ea65781814014610ea6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a20626c6f636b6861736820646f6573206e60448201527f6f74206d6174636820746865206861736820617420746865206578706563746560648201527f6420686569676874000000000000000000000000000000000000000000000000608482015260a4016104a8565b6040805180820182528581524260208083018281526000888152606790925284822093518455516001909301929092556066869055915185929187917fc120f5e881491e6e212befa39e36b8f57d5eca31915f2e5d60a420f418caa6df9190a450505050565b60408051808201909152600080825260208201527f0000000000000000000000000000000000000000000000000000000000000000821015610ff6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d6265722063616e60448201527f6e6f74206265206c657373207468616e20746865207374617274696e6720626c60648201527f6f636b206e756d6265722e000000000000000000000000000000000000000000608482015260a4016104a8565b60007f00000000000000000000000000000000000000000000000000000000000000006110437f000000000000000000000000000000000000000000000000000000000000000085611a06565b61104d9190611ac2565b90506000811561109057611081827f0000000000000000000000000000000000000000000000000000000000000000611a06565b61108b9085611ad6565b611092565b835b60008181526067602090815260409182902082518084019093528054808452600190910154918301919091529192509061114e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324f75747075744f7261636c653a204e6f206f757470757420666f756e642060448201527f666f72207468617420626c6f636b206e756d6265722e0000000000000000000060648201526084016104a8565b949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000082101561122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605360248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d626572206d757360448201527f742062652067726561746572207468616e206f7220657175616c20746f20737460648201527f617274696e6720626c6f636b206e756d62657200000000000000000000000000608482015260a4016104a8565b7f00000000000000000000000000000000000000000000000000000000000000006112797f000000000000000000000000000000000000000000000000000000000000000084611a06565b6112839190611aee565b6112ad907f0000000000000000000000000000000000000000000000000000000000000000611ad6565b92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006066546112e39190611ad6565b905090565b6112f06113c3565b60655473ffffffffffffffffffffffffffffffffffffffff9081169082160361139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c324f75747075744f7261636c653a206f776e65722063616e6e6f742062652060448201527f7468652073616d65206173207468652070726f706f736572000000000000000060648201526084016104a8565b6113a48161168f565b50565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a8565b60608160000361148757505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156114b1578061149b81611b2b565b91506114aa9050600a83611b63565b915061148b565b60008167ffffffffffffffff8111156114cc576114cc6117e3565b6040519080825280601f01601f1916602001820160405280156114f6576020820181803683370190505b5090505b841561114e5761150b600183611a06565b9150611518600a86611ac2565b611523906030611ad6565b60f81b81838151811061153857611538611b77565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611572600a86611b63565b94506114fa565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a8565b6106a2611743565b6116976113c3565b73ffffffffffffffffffffffffffffffffffffffff811661173a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104a8565b6113a481611579565b600054610100900460ff166117da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a8565b6106a233611579565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006040828403121561182457600080fd5b6040516040810181811067ffffffffffffffff8211171561186e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b60005b838110156118a357818101518382015260200161188b565b83811115610b5d5750506000910152565b60208152600082518060208401526118d3816040850160208701611888565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461192957600080fd5b919050565b60006020828403121561194057600080fd5b61194982611905565b9392505050565b60008060006060848603121561196557600080fd5b8335925061197560208501611905565b915061198360408501611905565b90509250925092565b600080600080608085870312156119a257600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156119d057600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611a1857611a186119d7565b500390565b60008451611a2f818460208901611888565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611a6b816001850160208a01611888565b60019201918201528351611a86816002840160208801611888565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611ad157611ad1611a93565b500690565b60008219821115611ae957611ae96119d7565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611b2657611b266119d7565b500290565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b5c57611b5c6119d7565b5060010190565b600082611b7257611b72611a93
565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420694c324f75747075744f7261636c653a2070726f706f7365722063616e6e6f7420"
,
}
}
// L2OutputOracleABI is the input ABI used to generate the binding from.
// L2OutputOracleABI is the input ABI used to generate the binding from.
...
@@ -49,7 +49,7 @@ var L2OutputOracleABI = L2OutputOracleMetaData.ABI
...
@@ -49,7 +49,7 @@ var L2OutputOracleABI = L2OutputOracleMetaData.ABI
var
L2OutputOracleBin
=
L2OutputOracleMetaData
.
Bin
var
L2OutputOracleBin
=
L2OutputOracleMetaData
.
Bin
// DeployL2OutputOracle deploys a new Ethereum contract, binding an instance of L2OutputOracle to it.
// DeployL2OutputOracle deploys a new Ethereum contract, binding an instance of L2OutputOracle to it.
func
DeployL2OutputOracle
(
auth
*
bind
.
TransactOpts
,
backend
bind
.
ContractBackend
,
_submissionInterval
*
big
.
Int
,
_genesisL2Output
[
32
]
byte
,
_
historicalTotalBlocks
*
big
.
Int
,
_
startingBlockNumber
*
big
.
Int
,
_startingTimestamp
*
big
.
Int
,
_l2BlockTime
*
big
.
Int
,
_proposer
common
.
Address
,
_owner
common
.
Address
)
(
common
.
Address
,
*
types
.
Transaction
,
*
L2OutputOracle
,
error
)
{
func
DeployL2OutputOracle
(
auth
*
bind
.
TransactOpts
,
backend
bind
.
ContractBackend
,
_submissionInterval
*
big
.
Int
,
_genesisL2Output
[
32
]
byte
,
_startingBlockNumber
*
big
.
Int
,
_startingTimestamp
*
big
.
Int
,
_l2BlockTime
*
big
.
Int
,
_proposer
common
.
Address
,
_owner
common
.
Address
)
(
common
.
Address
,
*
types
.
Transaction
,
*
L2OutputOracle
,
error
)
{
parsed
,
err
:=
L2OutputOracleMetaData
.
GetAbi
()
parsed
,
err
:=
L2OutputOracleMetaData
.
GetAbi
()
if
err
!=
nil
{
if
err
!=
nil
{
return
common
.
Address
{},
nil
,
nil
,
err
return
common
.
Address
{},
nil
,
nil
,
err
...
@@ -58,7 +58,7 @@ func DeployL2OutputOracle(auth *bind.TransactOpts, backend bind.ContractBackend,
...
@@ -58,7 +58,7 @@ func DeployL2OutputOracle(auth *bind.TransactOpts, backend bind.ContractBackend,
return
common
.
Address
{},
nil
,
nil
,
errors
.
New
(
"GetABI returned nil"
)
return
common
.
Address
{},
nil
,
nil
,
errors
.
New
(
"GetABI returned nil"
)
}
}
address
,
tx
,
contract
,
err
:=
bind
.
DeployContract
(
auth
,
*
parsed
,
common
.
FromHex
(
L2OutputOracleBin
),
backend
,
_submissionInterval
,
_genesisL2Output
,
_
historicalTotalBlocks
,
_
startingBlockNumber
,
_startingTimestamp
,
_l2BlockTime
,
_proposer
,
_owner
)
address
,
tx
,
contract
,
err
:=
bind
.
DeployContract
(
auth
,
*
parsed
,
common
.
FromHex
(
L2OutputOracleBin
),
backend
,
_submissionInterval
,
_genesisL2Output
,
_startingBlockNumber
,
_startingTimestamp
,
_l2BlockTime
,
_proposer
,
_owner
)
if
err
!=
nil
{
if
err
!=
nil
{
return
common
.
Address
{},
nil
,
nil
,
err
return
common
.
Address
{},
nil
,
nil
,
err
}
}
...
@@ -207,37 +207,6 @@ func (_L2OutputOracle *L2OutputOracleTransactorRaw) Transact(opts *bind.Transact
...
@@ -207,37 +207,6 @@ func (_L2OutputOracle *L2OutputOracleTransactorRaw) Transact(opts *bind.Transact
return
_L2OutputOracle
.
Contract
.
contract
.
Transact
(
opts
,
method
,
params
...
)
return
_L2OutputOracle
.
Contract
.
contract
.
Transact
(
opts
,
method
,
params
...
)
}
}
// HISTORICALTOTALBLOCKS is a free data retrieval call binding the contract method 0xa4771aad.
//
// Solidity: function HISTORICAL_TOTAL_BLOCKS() view returns(uint256)
func
(
_L2OutputOracle
*
L2OutputOracleCaller
)
HISTORICALTOTALBLOCKS
(
opts
*
bind
.
CallOpts
)
(
*
big
.
Int
,
error
)
{
var
out
[]
interface
{}
err
:=
_L2OutputOracle
.
contract
.
Call
(
opts
,
&
out
,
"HISTORICAL_TOTAL_BLOCKS"
)
if
err
!=
nil
{
return
*
new
(
*
big
.
Int
),
err
}
out0
:=
*
abi
.
ConvertType
(
out
[
0
],
new
(
*
big
.
Int
))
.
(
**
big
.
Int
)
return
out0
,
err
}
// HISTORICALTOTALBLOCKS is a free data retrieval call binding the contract method 0xa4771aad.
//
// Solidity: function HISTORICAL_TOTAL_BLOCKS() view returns(uint256)
func
(
_L2OutputOracle
*
L2OutputOracleSession
)
HISTORICALTOTALBLOCKS
()
(
*
big
.
Int
,
error
)
{
return
_L2OutputOracle
.
Contract
.
HISTORICALTOTALBLOCKS
(
&
_L2OutputOracle
.
CallOpts
)
}
// HISTORICALTOTALBLOCKS is a free data retrieval call binding the contract method 0xa4771aad.
//
// Solidity: function HISTORICAL_TOTAL_BLOCKS() view returns(uint256)
func
(
_L2OutputOracle
*
L2OutputOracleCallerSession
)
HISTORICALTOTALBLOCKS
()
(
*
big
.
Int
,
error
)
{
return
_L2OutputOracle
.
Contract
.
HISTORICALTOTALBLOCKS
(
&
_L2OutputOracle
.
CallOpts
)
}
// L2BLOCKTIME is a free data retrieval call binding the contract method 0x002134cc.
// L2BLOCKTIME is a free data retrieval call binding the contract method 0x002134cc.
//
//
// Solidity: function L2_BLOCK_TIME() view returns(uint256)
// Solidity: function L2_BLOCK_TIME() view returns(uint256)
...
...
op-chain-ops/genesis/layer_one.go
View file @
f8697a60
...
@@ -277,7 +277,6 @@ func deployL1Contracts(config *DeployConfig, backend *backends.SimulatedBackend)
...
@@ -277,7 +277,6 @@ func deployL1Contracts(config *DeployConfig, backend *backends.SimulatedBackend)
uint642Big
(
config
.
L2OutputOracleSubmissionInterval
),
uint642Big
(
config
.
L2OutputOracleSubmissionInterval
),
[
32
]
byte
(
config
.
L2OutputOracleGenesisL2Output
),
[
32
]
byte
(
config
.
L2OutputOracleGenesisL2Output
),
big
.
NewInt
(
0
),
big
.
NewInt
(
0
),
big
.
NewInt
(
0
),
uint642Big
(
uint64
(
config
.
L1GenesisBlockTimestamp
)),
uint642Big
(
uint64
(
config
.
L1GenesisBlockTimestamp
)),
uint642Big
(
config
.
L2BlockTime
),
uint642Big
(
config
.
L2BlockTime
),
config
.
L2OutputOracleProposer
,
config
.
L2OutputOracleProposer
,
...
@@ -342,9 +341,8 @@ func l1Deployer(backend *backends.SimulatedBackend, opts *bind.TransactOpts, dep
...
@@ -342,9 +341,8 @@ func l1Deployer(backend *backends.SimulatedBackend, opts *bind.TransactOpts, dep
deployment
.
Args
[
2
]
.
(
*
big
.
Int
),
deployment
.
Args
[
2
]
.
(
*
big
.
Int
),
deployment
.
Args
[
3
]
.
(
*
big
.
Int
),
deployment
.
Args
[
3
]
.
(
*
big
.
Int
),
deployment
.
Args
[
4
]
.
(
*
big
.
Int
),
deployment
.
Args
[
4
]
.
(
*
big
.
Int
),
deployment
.
Args
[
5
]
.
(
*
big
.
Int
),
deployment
.
Args
[
5
]
.
(
common
.
Address
),
deployment
.
Args
[
6
]
.
(
common
.
Address
),
deployment
.
Args
[
6
]
.
(
common
.
Address
),
deployment
.
Args
[
7
]
.
(
common
.
Address
),
)
)
case
"OptimismPortal"
:
case
"OptimismPortal"
:
_
,
tx
,
_
,
err
=
bindings
.
DeployOptimismPortal
(
_
,
tx
,
_
,
err
=
bindings
.
DeployOptimismPortal
(
...
...
op-chain-ops/genesis/layer_one_test.go
View file @
f8697a60
...
@@ -55,10 +55,6 @@ func TestBuildL1DeveloperGenesis(t *testing.T) {
...
@@ -55,10 +55,6 @@ func TestBuildL1DeveloperGenesis(t *testing.T) {
require
.
NoError
(
t
,
err
)
require
.
NoError
(
t
,
err
)
require
.
EqualValues
(
t
,
config
.
L2OutputOracleSubmissionInterval
,
interval
.
Uint64
())
require
.
EqualValues
(
t
,
config
.
L2OutputOracleSubmissionInterval
,
interval
.
Uint64
())
histBlocks
,
err
:=
oracle
.
HISTORICALTOTALBLOCKS
(
callOpts
)
require
.
NoError
(
t
,
err
)
require
.
EqualValues
(
t
,
0
,
histBlocks
.
Uint64
())
startBlock
,
err
:=
oracle
.
STARTINGBLOCKNUMBER
(
callOpts
)
startBlock
,
err
:=
oracle
.
STARTINGBLOCKNUMBER
(
callOpts
)
require
.
NoError
(
t
,
err
)
require
.
NoError
(
t
,
err
)
require
.
EqualValues
(
t
,
0
,
startBlock
.
Uint64
())
require
.
EqualValues
(
t
,
0
,
startBlock
.
Uint64
())
...
...
op-e2e/setup.go
View file @
f8697a60
...
@@ -160,11 +160,6 @@ func writeDefaultJWT(t *testing.T) string {
...
@@ -160,11 +160,6 @@ func writeDefaultJWT(t *testing.T) string {
return
jwtPath
return
jwtPath
}
}
type
L2OOContractConfig
struct
{
SubmissionFrequency
*
big
.
Int
HistoricalTotalBlocks
*
big
.
Int
}
type
DepositContractConfig
struct
{
type
DepositContractConfig
struct
{
L2Oracle
common
.
Address
L2Oracle
common
.
Address
FinalizationPeriod
*
big
.
Int
FinalizationPeriod
*
big
.
Int
...
...
packages/contracts-bedrock/.gas-snapshot
View file @
f8697a60
...
@@ -6,7 +6,7 @@ GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 1123
...
@@ -6,7 +6,7 @@ GasBenchMark_L1StandardBridge_Deposit:test_depositERC20_benchmark_1() (gas: 1123
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 348176)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_0() (gas: 348176)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 112287)
GasBenchMark_L1StandardBridge_Deposit:test_depositETH_benchmark_1() (gas: 112287)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40569)
GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (gas: 40569)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 68
693
)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 68
715
)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75002)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75002)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35795)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35795)
CrossDomainMessenger_Test:testFuzz_baseGas(uint32) (runs: 256, μ: 20263, ~: 20263)
CrossDomainMessenger_Test:testFuzz_baseGas(uint32) (runs: 256, μ: 20263, ~: 20263)
...
@@ -64,8 +64,8 @@ L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1490486)
...
@@ -64,8 +64,8 @@ L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1490486)
L1CrossDomainMessenger_Test:test_L1MessengerUnpause() (gas: 45233)
L1CrossDomainMessenger_Test:test_L1MessengerUnpause() (gas: 45233)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 24283)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 24283)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 84138)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 84138)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_success() (gas: 575
801
)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_success() (gas: 575
774
)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 5736
69
)
L1StandardBridge_DepositERC20_Test:test_depositERC20_succeeds() (gas: 5736
45
)
L1StandardBridge_DepositERC20_TestFail:test_depositERC20_revert_notEoa() (gas: 22321)
L1StandardBridge_DepositERC20_TestFail:test_depositERC20_revert_notEoa() (gas: 22321)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo() (gas: 324761)
L1StandardBridge_DepositETHTo_Test:test_depositETHTo() (gas: 324761)
L1StandardBridge_DepositETH_Test:test_depositETH_success() (gas: 367608)
L1StandardBridge_DepositETH_Test:test_depositETH_success() (gas: 367608)
...
@@ -73,9 +73,9 @@ L1StandardBridge_DepositETH_TestFail:test_DepositETH_revert_notEoa() (gas: 40781
...
@@ -73,9 +73,9 @@ L1StandardBridge_DepositETH_TestFail:test_DepositETH_revert_notEoa() (gas: 40781
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_revert_incorrectValue() (gas: 34229)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_revert_incorrectValue() (gas: 34229)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_revert_sendToMessenger() (gas: 34312)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_revert_sendToMessenger() (gas: 34312)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_revert_sendToSelf() (gas: 34279)
L1StandardBridge_FinalizeBridgeETH_TestFail:test_finalizeBridgeETH_revert_sendToSelf() (gas: 34279)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal() (gas: 4844
95
)
L1StandardBridge_FinalizeERC20Withdrawal_Test:test_finalizeERC20Withdrawal() (gas: 4844
73
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_revert_notMessenger() (gas: 311
98
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_revert_notMessenger() (gas: 311
83
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_revert_notOtherBridge() (gas: 315
52
)
L1StandardBridge_FinalizeERC20Withdrawal_TestFail:test_finalizeERC20Withdrawal_revert_notOtherBridge() (gas: 315
37
)
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal() (gas: 58708)
L1StandardBridge_FinalizeETHWithdrawal_Test:test_finalizeETHWithdrawal() (gas: 58708)
L1StandardBridge_Getter_Test:test_getters_success() (gas: 31568)
L1StandardBridge_Getter_Test:test_getters_success() (gas: 31568)
L1StandardBridge_Initialize_Test:test_initialize_success() (gas: 22072)
L1StandardBridge_Initialize_Test:test_initialize_success() (gas: 22072)
...
@@ -93,40 +93,40 @@ L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 122445)
...
@@ -93,40 +93,40 @@ L2CrossDomainMessenger_Test:test_L2MessengerSendMessage() (gas: 122445)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 134610)
L2CrossDomainMessenger_Test:test_L2MessengerTwiceSendMessage() (gas: 134610)
L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10576)
L2CrossDomainMessenger_Test:test_L2MessengerXDomainSenderReverts() (gas: 10576)
L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 52673)
L2CrossDomainMessenger_Test:test_L2MessengerxDomainMessageSenderResets() (gas: 52673)
L2OutputOracleTest:testCannot_ProposeWithUnmatchedBlockhash() (gas: 268
28
)
L2OutputOracleTest:testCannot_ProposeWithUnmatchedBlockhash() (gas: 268
50
)
L2OutputOracleTest:testCannot_constructWithBadTimestamp() (gas: 5
2850
)
L2OutputOracleTest:testCannot_constructWithBadTimestamp() (gas: 5
0677
)
L2OutputOracleTest:testCannot_deleteL2Output_ifNotOwner() (gas: 251
45
)
L2OutputOracleTest:testCannot_deleteL2Output_ifNotOwner() (gas: 251
01
)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongRoot() (gas: 914
88
)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongRoot() (gas: 914
66
)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongTime() (gas: 874
71
)
L2OutputOracleTest:testCannot_deleteL2Output_withWrongTime() (gas: 874
49
)
L2OutputOracleTest:testCannot_proposeEmptyOutput() (gas: 241
49
)
L2OutputOracleTest:testCannot_proposeEmptyOutput() (gas: 241
71
)
L2OutputOracleTest:testCannot_proposeFutureTimetamp() (gas: 260
73
)
L2OutputOracleTest:testCannot_proposeFutureTimetamp() (gas: 260
95
)
L2OutputOracleTest:testCannot_proposeL2OutputIfNotProposer() (gas: 235
63
)
L2OutputOracleTest:testCannot_proposeL2OutputIfNotProposer() (gas: 235
85
)
L2OutputOracleTest:testCannot_proposeOnWrongFork() (gas: 26
380
)
L2OutputOracleTest:testCannot_proposeOnWrongFork() (gas: 26
402
)
L2OutputOracleTest:testCannot_proposeUnexpectedBlockNumber() (gas: 260
04
)
L2OutputOracleTest:testCannot_proposeUnexpectedBlockNumber() (gas: 260
26
)
L2OutputOracleTest:test_changeProposer() (gas: 5
6149
)
L2OutputOracleTest:test_changeProposer() (gas: 5
5885
)
L2OutputOracleTest:test_computeL2Timestamp() (gas: 30192)
L2OutputOracleTest:test_computeL2Timestamp() (gas: 30192)
L2OutputOracleTest:test_constructor() (gas: 4
9090
)
L2OutputOracleTest:test_constructor() (gas: 4
5722
)
L2OutputOracleTest:test_deleteOutput() (gas: 77
312
)
L2OutputOracleTest:test_deleteOutput() (gas: 77
224
)
L2OutputOracleTest:test_getL2Output() (gas: 88
610
)
L2OutputOracleTest:test_getL2Output() (gas: 88
456
)
L2OutputOracleTest:test_latestBlockNumber() (gas: 762
41
)
L2OutputOracleTest:test_latestBlockNumber() (gas: 762
63
)
L2OutputOracleTest:test_nextBlockNumber() (gas: 152
54
)
L2OutputOracleTest:test_nextBlockNumber() (gas: 152
31
)
L2OutputOracleTest:test_proposeWithBlockhashAndHeight() (gas: 750
45
)
L2OutputOracleTest:test_proposeWithBlockhashAndHeight() (gas: 750
67
)
L2OutputOracleTest:test_proposingAnotherOutput() (gas: 769
02
)
L2OutputOracleTest:test_proposingAnotherOutput() (gas: 769
24
)
L2OutputOracleTest:test_updateOwner() (gas: 46
161
)
L2OutputOracleTest:test_updateOwner() (gas: 46
227
)
L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 17
381
)
L2OutputOracleUpgradeable_Test:test_cannotInitImpl() (gas: 17
403
)
L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 223
77
)
L2OutputOracleUpgradeable_Test:test_cannotInitProxy() (gas: 223
99
)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 3
910
8)
L2OutputOracleUpgradeable_Test:test_initValuesOnProxy() (gas: 3
619
8)
L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 180632)
L2OutputOracleUpgradeable_Test:test_upgrading() (gas: 180632)
L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 21816)
L2StandardBridge_Test:test_cannotWithdrawEthWithoutSendingIt() (gas: 21816)
L2StandardBridge_Test:test_finalizeBridgeETH_incorrectValueReverts() (gas: 23800)
L2StandardBridge_Test:test_finalizeBridgeETH_incorrectValueReverts() (gas: 23800)
L2StandardBridge_Test:test_finalizeBridgeETH_sendToMessengerReverts() (gas: 23938)
L2StandardBridge_Test:test_finalizeBridgeETH_sendToMessengerReverts() (gas: 23938)
L2StandardBridge_Test:test_finalizeBridgeETH_sendToSelfReverts() (gas: 23838)
L2StandardBridge_Test:test_finalizeBridgeETH_sendToSelfReverts() (gas: 23838)
L2StandardBridge_Test:test_finalizeDeposit() (gas: 93
603
)
L2StandardBridge_Test:test_finalizeDeposit() (gas: 93
588
)
L2StandardBridge_Test:test_initialize() (gas: 10559)
L2StandardBridge_Test:test_initialize() (gas: 10559)
L2StandardBridge_Test:test_receive() (gas: 131887)
L2StandardBridge_Test:test_receive() (gas: 131887)
L2StandardBridge_Test:test_withdraw() (gas: 347
202
)
L2StandardBridge_Test:test_withdraw() (gas: 347
190
)
L2StandardBridge_Test:test_withdrawTo() (gas: 3479
75
)
L2StandardBridge_Test:test_withdrawTo() (gas: 3479
63
)
L2StandardBridge_Test:test_withdraw_onlyEOA() (gas: 2516
56
)
L2StandardBridge_Test:test_withdraw_onlyEOA() (gas: 2516
44
)
L2ToL1MessagePasserTest:test_burn() (gas: 112531)
L2ToL1MessagePasserTest:test_burn() (gas: 112531)
L2ToL1MessagePasserTest:test_fuzz_initiateWithdrawal(address,address,uint256,uint256,bytes) (runs: 256, μ: 74040, ~: 73815)
L2ToL1MessagePasserTest:test_fuzz_initiateWithdrawal(address,address,uint256,uint256,bytes) (runs: 256, μ: 74040, ~: 73815)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract() (gas: 70336)
L2ToL1MessagePasserTest:test_initiateWithdrawal_fromContract() (gas: 70336)
...
@@ -142,13 +142,13 @@ LegacyERC20ETH_Test:test_transfer() (gas: 10829)
...
@@ -142,13 +142,13 @@ LegacyERC20ETH_Test:test_transfer() (gas: 10829)
LegacyERC20ETH_Test:test_transferFrom() (gas: 13008)
LegacyERC20ETH_Test:test_transferFrom() (gas: 13008)
LegacyMessagePasser_Test:test_LegacyMessagePasser_passMessageToL1_Succeeds() (gas: 34593)
LegacyMessagePasser_Test:test_LegacyMessagePasser_passMessageToL1_Succeeds() (gas: 34593)
OptimismMintableERC20_Test:test_bridge() (gas: 9828)
OptimismMintableERC20_Test:test_bridge() (gas: 9828)
OptimismMintableERC20_Test:test_burn() (gas: 527
88
)
OptimismMintableERC20_Test:test_burn() (gas: 527
73
)
OptimismMintableERC20_Test:test_burnRevertsFromNotBridge() (gas: 132
28
)
OptimismMintableERC20_Test:test_burnRevertsFromNotBridge() (gas: 132
19
)
OptimismMintableERC20_Test:test_erc165_supportsInterface() (gas: 7828)
OptimismMintableERC20_Test:test_erc165_supportsInterface() (gas: 7828)
OptimismMintableERC20_Test:test_l1Token() (gas: 9824)
OptimismMintableERC20_Test:test_l1Token() (gas: 9824)
OptimismMintableERC20_Test:test_l2Bridge() (gas: 9746)
OptimismMintableERC20_Test:test_l2Bridge() (gas: 9746)
OptimismMintableERC20_Test:test_mint() (gas: 657
63
)
OptimismMintableERC20_Test:test_mint() (gas: 657
54
)
OptimismMintableERC20_Test:test_mintRevertsFromNotBridge() (gas: 132
52
)
OptimismMintableERC20_Test:test_mintRevertsFromNotBridge() (gas: 132
43
)
OptimismMintableERC20_Test:test_remoteToken() (gas: 9740)
OptimismMintableERC20_Test:test_remoteToken() (gas: 9740)
OptimismMintableTokenFactory_Test:test_bridge() (gas: 7672)
OptimismMintableTokenFactory_Test:test_bridge() (gas: 7672)
OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 1109858)
OptimismMintableTokenFactory_Test:test_createStandardL2Token() (gas: 1109858)
...
@@ -158,22 +158,22 @@ OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10
...
@@ -158,22 +158,22 @@ OptimismPortalUpgradeable_Test:test_initialize_cannotInitImpl_reverts() (gas: 10
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15834)
OptimismPortalUpgradeable_Test:test_initialize_cannotInitProxy_reverts() (gas: 15834)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_success() (gas: 16010)
OptimismPortalUpgradeable_Test:test_params_initValuesOnProxy_success() (gas: 16010)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_success() (gas: 180630)
OptimismPortalUpgradeable_Test:test_upgradeToAndCall_upgrading_success() (gas: 180630)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_differential_success(address,address,uint256,uint256,bytes) (runs: 256, μ: 22045
9, ~: 220292
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_differential_success(address,address,uint256,uint256,bytes) (runs: 256, μ: 22045
5, ~: 220288
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 1928
57
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputRootChanges_reverts() (gas: 1928
13
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 195
122
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_reverts() (gas: 195
081
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 39628)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalNotProven_reverts() (gas: 39628)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 1905
55
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_ifWithdrawalProofNotOldEnough_reverts() (gas: 1905
11
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 193
103
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onInsufficientGas_reverts() (gas: 193
099
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 17303
2
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onRecentWithdrawal_reverts() (gas: 17303
5
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 2334
36
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReentrancy_reverts() (gas: 2334
08
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 232
836
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_onReplay_reverts() (gas: 232
704
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_success() (gas: 224
781
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_provenWithdrawalHash_success() (gas: 224
693
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 327
453
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_targetFails_fails() (gas: 327
365
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 191
332
)
OptimismPortal_FinalizeWithdrawal_Test:test_finalizeWithdrawalTransaction_timestampLessThanL2OracleStart_reverts() (gas: 191
288
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 813
77
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onInvalidOutputRootProof_reverts() (gas: 813
33
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 50821)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_onSelfCall_reverts() (gas: 50821)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_oninvalidWithdrawalProof_reverts() (gas: 1301
70
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_oninvalidWithdrawalProof_reverts() (gas: 1301
34
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_success() (gas: 176
914
)
OptimismPortal_FinalizeWithdrawal_Test:test_proveWithdrawalTransaction_validWithdrawalProof_success() (gas: 176
870
)
OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 17342)
OptimismPortal_Test:test_OptimismPortalConstructor() (gas: 17342)
OptimismPortal_Test:test_OptimismPortalReceiveEth_success() (gas: 127528)
OptimismPortal_Test:test_OptimismPortalReceiveEth_success() (gas: 127528)
OptimismPortal_Test:test_depositTransaction_NoValueContract_success() (gas: 76728)
OptimismPortal_Test:test_depositTransaction_NoValueContract_success() (gas: 76728)
...
@@ -185,7 +185,7 @@ OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreat
...
@@ -185,7 +185,7 @@ OptimismPortal_Test:test_depositTransaction_withEthValueAndContractContractCreat
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation_success() (gas: 75897)
OptimismPortal_Test:test_depositTransaction_withEthValueAndEOAContractCreation_success() (gas: 75897)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract_success() (gas: 83414)
OptimismPortal_Test:test_depositTransaction_withEthValueFromContract_success() (gas: 83414)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA_success() (gas: 84009)
OptimismPortal_Test:test_depositTransaction_withEthValueFromEOA_success() (gas: 84009)
OptimismPortal_Test:test_isBlockFinalized_success() (gas: 113
932
)
OptimismPortal_Test:test_isBlockFinalized_success() (gas: 113
690
)
OptimismPortal_Test:test_simple_isBlockFinalized_success() (gas: 24222)
OptimismPortal_Test:test_simple_isBlockFinalized_success() (gas: 24222)
Proxy_Test:test_clashingFunctionSignatures() (gas: 101427)
Proxy_Test:test_clashingFunctionSignatures() (gas: 101427)
Proxy_Test:test_implementationKey() (gas: 20942)
Proxy_Test:test_implementationKey() (gas: 20942)
...
...
packages/contracts-bedrock/contracts/L1/L2OutputOracle.sol
View file @
f8697a60
...
@@ -21,11 +21,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
...
@@ -21,11 +21,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
*/
*/
uint256 public immutable SUBMISSION_INTERVAL;
uint256 public immutable SUBMISSION_INTERVAL;
/**
* @notice The number of blocks in the chain before the first block in this contract.
*/
uint256 public immutable HISTORICAL_TOTAL_BLOCKS;
/**
/**
* @notice The number of the first L2 block recorded in this contract.
* @notice The number of the first L2 block recorded in this contract.
*/
*/
...
@@ -105,7 +100,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
...
@@ -105,7 +100,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
*
*
* @param _submissionInterval Interval in blocks at which checkpoints must be submitted.
* @param _submissionInterval Interval in blocks at which checkpoints must be submitted.
* @param _genesisL2Output The initial L2 output of the L2 chain.
* @param _genesisL2Output The initial L2 output of the L2 chain.
* @param _historicalTotalBlocks Number of blocks preceding this L2 chain.
* @param _startingBlockNumber The number of the first L2 block.
* @param _startingBlockNumber The number of the first L2 block.
* @param _startingTimestamp The timestamp of the first L2 block.
* @param _startingTimestamp The timestamp of the first L2 block.
* @param _l2BlockTime The time per L2 block, in seconds.
* @param _l2BlockTime The time per L2 block, in seconds.
...
@@ -115,7 +109,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
...
@@ -115,7 +109,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
constructor(
constructor(
uint256 _submissionInterval,
uint256 _submissionInterval,
bytes32 _genesisL2Output,
bytes32 _genesisL2Output,
uint256 _historicalTotalBlocks,
uint256 _startingBlockNumber,
uint256 _startingBlockNumber,
uint256 _startingTimestamp,
uint256 _startingTimestamp,
uint256 _l2BlockTime,
uint256 _l2BlockTime,
...
@@ -128,7 +121,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
...
@@ -128,7 +121,6 @@ contract L2OutputOracle is OwnableUpgradeable, Semver {
);
);
SUBMISSION_INTERVAL = _submissionInterval;
SUBMISSION_INTERVAL = _submissionInterval;
HISTORICAL_TOTAL_BLOCKS = _historicalTotalBlocks;
STARTING_BLOCK_NUMBER = _startingBlockNumber;
STARTING_BLOCK_NUMBER = _startingBlockNumber;
STARTING_TIMESTAMP = _startingTimestamp;
STARTING_TIMESTAMP = _startingTimestamp;
L2_BLOCK_TIME = _l2BlockTime;
L2_BLOCK_TIME = _l2BlockTime;
...
...
packages/contracts-bedrock/contracts/test/CommonTest.t.sol
View file @
f8697a60
...
@@ -98,7 +98,6 @@ contract L2OutputOracle_Initializer is CommonTest {
...
@@ -98,7 +98,6 @@ contract L2OutputOracle_Initializer is CommonTest {
uint256 internal submissionInterval = 1800;
uint256 internal submissionInterval = 1800;
uint256 internal l2BlockTime = 2;
uint256 internal l2BlockTime = 2;
bytes32 internal genesisL2Output = keccak256(abi.encode(0));
bytes32 internal genesisL2Output = keccak256(abi.encode(0));
uint256 internal historicalTotalBlocks = 199;
uint256 internal startingBlockNumber = 200;
uint256 internal startingBlockNumber = 200;
uint256 internal startingTimestamp = 1000;
uint256 internal startingTimestamp = 1000;
...
@@ -122,7 +121,6 @@ contract L2OutputOracle_Initializer is CommonTest {
...
@@ -122,7 +121,6 @@ contract L2OutputOracle_Initializer is CommonTest {
oracleImpl = new L2OutputOracle(
oracleImpl = new L2OutputOracle(
submissionInterval,
submissionInterval,
genesisL2Output,
genesisL2Output,
historicalTotalBlocks,
startingBlockNumber,
startingBlockNumber,
startingTimestamp,
startingTimestamp,
l2BlockTime,
l2BlockTime,
...
...
packages/contracts-bedrock/contracts/test/L2OutputOracle.t.sol
View file @
f8697a60
...
@@ -16,7 +16,6 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
...
@@ -16,7 +16,6 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
function test_constructor() external {
function test_constructor() external {
assertEq(oracle.owner(), owner);
assertEq(oracle.owner(), owner);
assertEq(oracle.SUBMISSION_INTERVAL(), submissionInterval);
assertEq(oracle.SUBMISSION_INTERVAL(), submissionInterval);
assertEq(oracle.HISTORICAL_TOTAL_BLOCKS(), historicalTotalBlocks);
assertEq(oracle.latestBlockNumber(), startingBlockNumber);
assertEq(oracle.latestBlockNumber(), startingBlockNumber);
assertEq(oracle.STARTING_BLOCK_NUMBER(), startingBlockNumber);
assertEq(oracle.STARTING_BLOCK_NUMBER(), startingBlockNumber);
assertEq(oracle.STARTING_TIMESTAMP(), startingTimestamp);
assertEq(oracle.STARTING_TIMESTAMP(), startingTimestamp);
...
@@ -34,7 +33,6 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
...
@@ -34,7 +33,6 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
new L2OutputOracle(
new L2OutputOracle(
submissionInterval,
submissionInterval,
genesisL2Output,
genesisL2Output,
historicalTotalBlocks,
startingBlockNumber,
startingBlockNumber,
// startingTimestamp is in the future
// startingTimestamp is in the future
block.timestamp + 1,
block.timestamp + 1,
...
@@ -367,7 +365,6 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer {
...
@@ -367,7 +365,6 @@ contract L2OutputOracleUpgradeable_Test is L2OutputOracle_Initializer {
function test_initValuesOnProxy() external {
function test_initValuesOnProxy() external {
assertEq(submissionInterval, oracleImpl.SUBMISSION_INTERVAL());
assertEq(submissionInterval, oracleImpl.SUBMISSION_INTERVAL());
assertEq(historicalTotalBlocks, oracleImpl.HISTORICAL_TOTAL_BLOCKS());
assertEq(startingBlockNumber, oracleImpl.STARTING_BLOCK_NUMBER());
assertEq(startingBlockNumber, oracleImpl.STARTING_BLOCK_NUMBER());
assertEq(startingTimestamp, oracleImpl.STARTING_TIMESTAMP());
assertEq(startingTimestamp, oracleImpl.STARTING_TIMESTAMP());
assertEq(l2BlockTime, oracleImpl.L2_BLOCK_TIME());
assertEq(l2BlockTime, oracleImpl.L2_BLOCK_TIME());
...
...
packages/contracts-bedrock/deploy/009-L2OutputOracleImpl.ts
View file @
f8697a60
...
@@ -32,7 +32,6 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -32,7 +32,6 @@ const deployFn: DeployFunction = async (hre) => {
args
:
[
args
:
[
hre
.
deployConfig
.
l2OutputOracleSubmissionInterval
,
hre
.
deployConfig
.
l2OutputOracleSubmissionInterval
,
hre
.
deployConfig
.
l2OutputOracleGenesisL2Output
,
hre
.
deployConfig
.
l2OutputOracleGenesisL2Output
,
hre
.
deployConfig
.
l2OutputOracleHistoricalTotalBlocks
,
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
,
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
,
deployL2StartingTimestamp
,
deployL2StartingTimestamp
,
hre
.
deployConfig
.
l2BlockTime
,
hre
.
deployConfig
.
l2BlockTime
,
...
@@ -50,11 +49,6 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -50,11 +49,6 @@ const deployFn: DeployFunction = async (hre) => {
'
STARTING_BLOCK_NUMBER
'
,
'
STARTING_BLOCK_NUMBER
'
,
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
)
)
await
assertContractVariable
(
contract
,
'
HISTORICAL_TOTAL_BLOCKS
'
,
hre
.
deployConfig
.
l2OutputOracleHistoricalTotalBlocks
)
await
assertContractVariable
(
await
assertContractVariable
(
contract
,
contract
,
'
STARTING_TIMESTAMP
'
,
'
STARTING_TIMESTAMP
'
,
...
...
packages/contracts-bedrock/hardhat.config.ts
View file @
f8697a60
...
@@ -161,11 +161,6 @@ const config: HardhatUserConfig = {
...
@@ -161,11 +161,6 @@ const config: HardhatUserConfig = {
type
:
'
string
'
,
type
:
'
string
'
,
default
:
ethers
.
constants
.
HashZero
,
default
:
ethers
.
constants
.
HashZero
,
},
},
// uint256 - Number of blocks preceding this L2 chain.
l2OutputOracleHistoricalTotalBlocks
:
{
type
:
'
number
'
,
default
:
0
,
},
// uint256 - The number of the first L2 block.
// uint256 - The number of the first L2 block.
l2OutputOracleStartingBlockNumber
:
{
l2OutputOracleStartingBlockNumber
:
{
type
:
'
number
'
,
type
:
'
number
'
,
...
...
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