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
dee66db6
Unverified
Commit
dee66db6
authored
Nov 23, 2023
by
protolambda
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
op-chain-ops,op-node: l2GenesisInteropTimeOffset deploy-config, interop_time rollup config
parent
82b21d27
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
32 additions
and
3 deletions
+32
-3
go.mod
go.mod
+1
-1
go.sum
go.sum
+2
-2
config.go
op-chain-ops/genesis/config.go
+15
-0
genesis.go
op-chain-ops/genesis/genesis.go
+1
-0
setup.go
op-e2e/e2eutils/setup.go
+1
-0
setup.go
op-e2e/setup.go
+1
-0
types.go
op-node/rollup/types.go
+11
-0
No files found.
go.mod
View file @
dee66db6
...
@@ -210,7 +210,7 @@ require (
...
@@ -210,7 +210,7 @@ require (
rsc.io/tmplfunc v0.0.3 // indirect
rsc.io/tmplfunc v0.0.3 // indirect
)
)
replace github.com/ethereum/go-ethereum v1.13.5 => github.com/ethereum-optimism/op-geth v1.101304.2-0.202311232
04650-32ddd8bd7cfe
replace github.com/ethereum/go-ethereum v1.13.5 => github.com/ethereum-optimism/op-geth v1.101304.2-0.202311232
11905-25fd986a27b2
//replace github.com/ethereum-optimism/superchain-registry/superchain => ../superchain-registry/superchain
//replace github.com/ethereum-optimism/superchain-registry/superchain => ../superchain-registry/superchain
//replace github.com/ethereum/go-ethereum v1.13.5 => ../go-ethereum
//replace github.com/ethereum/go-ethereum v1.13.5 => ../go-ethereum
go.sum
View file @
dee66db6
...
@@ -149,8 +149,8 @@ github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/
...
@@ -149,8 +149,8 @@ github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/
github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs=
github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs=
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3 h1:RWHKLhCrQThMfch+QJ1Z8veEq5ZO3DfIhZ7xgRP9WTc=
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3 h1:RWHKLhCrQThMfch+QJ1Z8veEq5ZO3DfIhZ7xgRP9WTc=
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3/go.mod h1:QziizLAiF0KqyLdNJYD7O5cpDlaFMNZzlxYNcWsJUxs=
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3/go.mod h1:QziizLAiF0KqyLdNJYD7O5cpDlaFMNZzlxYNcWsJUxs=
github.com/ethereum-optimism/op-geth v1.101304.2-0.202311232
04650-32ddd8bd7cfe h1:fh0BJoqdlp2CY9gPNrc/xM6nrwb84j82dFzIyq42cBM
=
github.com/ethereum-optimism/op-geth v1.101304.2-0.202311232
11905-25fd986a27b2 h1:OMlKPzhepobr+KcdkxcfVwR9gKU+jeRrFweWtkzG7Xg
=
github.com/ethereum-optimism/op-geth v1.101304.2-0.202311232
04650-32ddd8bd7cfe
/go.mod h1:KyXcYdAJTSm8tvOmd+KPeOygiA+FEE5VX3vs2WwjwQ4=
github.com/ethereum-optimism/op-geth v1.101304.2-0.202311232
11905-25fd986a27b2
/go.mod h1:KyXcYdAJTSm8tvOmd+KPeOygiA+FEE5VX3vs2WwjwQ4=
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20231030223232-e16eae11e492 h1:FyzLzMLKMc9zcDYcSxbrLDglIRrGQJE9juFzIO35RmE=
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20231030223232-e16eae11e492 h1:FyzLzMLKMc9zcDYcSxbrLDglIRrGQJE9juFzIO35RmE=
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20231030223232-e16eae11e492/go.mod h1:/70H/KqrtKcvWvNGVj6S3rAcLC+kUPr3t2aDmYIS+Xk=
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20231030223232-e16eae11e492/go.mod h1:/70H/KqrtKcvWvNGVj6S3rAcLC+kUPr3t2aDmYIS+Xk=
github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY=
github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY=
...
...
op-chain-ops/genesis/config.go
View file @
dee66db6
...
@@ -115,6 +115,9 @@ type DeployConfig struct {
...
@@ -115,6 +115,9 @@ type DeployConfig struct {
// L2GenesisDeltaTimeOffset is the number of seconds after genesis block that Delta hard fork activates.
// L2GenesisDeltaTimeOffset is the number of seconds after genesis block that Delta hard fork activates.
// Set it to 0 to activate at genesis. Nil to disable Delta.
// Set it to 0 to activate at genesis. Nil to disable Delta.
L2GenesisDeltaTimeOffset
*
hexutil
.
Uint64
`json:"l2GenesisDeltaTimeOffset,omitempty"`
L2GenesisDeltaTimeOffset
*
hexutil
.
Uint64
`json:"l2GenesisDeltaTimeOffset,omitempty"`
// L2GenesisInteropTimeOffset is the number of seconds after genesis block that the Interop hard fork activates.
// Set it to 0 to activate at genesis. Nil to disable Interop.
L2GenesisInteropTimeOffset
*
hexutil
.
Uint64
`json:"l2GenesisInteropTimeOffset,omitempty"`
// L2GenesisBlockExtraData is configurable extradata. Will default to []byte("BEDROCK") if left unspecified.
// L2GenesisBlockExtraData is configurable extradata. Will default to []byte("BEDROCK") if left unspecified.
L2GenesisBlockExtraData
[]
byte
`json:"l2GenesisBlockExtraData"`
L2GenesisBlockExtraData
[]
byte
`json:"l2GenesisBlockExtraData"`
// ProxyAdminOwner represents the owner of the ProxyAdmin predeploy on L2.
// ProxyAdminOwner represents the owner of the ProxyAdmin predeploy on L2.
...
@@ -474,6 +477,17 @@ func (d *DeployConfig) DeltaTime(genesisTime uint64) *uint64 {
...
@@ -474,6 +477,17 @@ func (d *DeployConfig) DeltaTime(genesisTime uint64) *uint64 {
return
&
v
return
&
v
}
}
func
(
d
*
DeployConfig
)
InteropTime
(
genesisTime
uint64
)
*
uint64
{
if
d
.
L2GenesisInteropTimeOffset
==
nil
{
return
nil
}
v
:=
uint64
(
0
)
if
offset
:=
*
d
.
L2GenesisInteropTimeOffset
;
offset
>
0
{
v
=
genesisTime
+
uint64
(
offset
)
}
return
&
v
}
// RollupConfig converts a DeployConfig to a rollup.Config
// RollupConfig converts a DeployConfig to a rollup.Config
func
(
d
*
DeployConfig
)
RollupConfig
(
l1StartBlock
*
types
.
Block
,
l2GenesisBlockHash
common
.
Hash
,
l2GenesisBlockNumber
uint64
)
(
*
rollup
.
Config
,
error
)
{
func
(
d
*
DeployConfig
)
RollupConfig
(
l1StartBlock
*
types
.
Block
,
l2GenesisBlockHash
common
.
Hash
,
l2GenesisBlockNumber
uint64
)
(
*
rollup
.
Config
,
error
)
{
if
d
.
OptimismPortalProxy
==
(
common
.
Address
{})
{
if
d
.
OptimismPortalProxy
==
(
common
.
Address
{})
{
...
@@ -513,6 +527,7 @@ func (d *DeployConfig) RollupConfig(l1StartBlock *types.Block, l2GenesisBlockHas
...
@@ -513,6 +527,7 @@ func (d *DeployConfig) RollupConfig(l1StartBlock *types.Block, l2GenesisBlockHas
RegolithTime
:
d
.
RegolithTime
(
l1StartBlock
.
Time
()),
RegolithTime
:
d
.
RegolithTime
(
l1StartBlock
.
Time
()),
CanyonTime
:
d
.
CanyonTime
(
l1StartBlock
.
Time
()),
CanyonTime
:
d
.
CanyonTime
(
l1StartBlock
.
Time
()),
DeltaTime
:
d
.
DeltaTime
(
l1StartBlock
.
Time
()),
DeltaTime
:
d
.
DeltaTime
(
l1StartBlock
.
Time
()),
InteropTime
:
d
.
InteropTime
(
l1StartBlock
.
Time
()),
},
nil
},
nil
}
}
...
...
op-chain-ops/genesis/genesis.go
View file @
dee66db6
...
@@ -65,6 +65,7 @@ func NewL2Genesis(config *DeployConfig, block *types.Block) (*core.Genesis, erro
...
@@ -65,6 +65,7 @@ func NewL2Genesis(config *DeployConfig, block *types.Block) (*core.Genesis, erro
CanyonTime
:
config
.
CanyonTime
(
block
.
Time
()),
CanyonTime
:
config
.
CanyonTime
(
block
.
Time
()),
ShanghaiTime
:
config
.
CanyonTime
(
block
.
Time
()),
ShanghaiTime
:
config
.
CanyonTime
(
block
.
Time
()),
CancunTime
:
nil
,
// no Dencun on L2 yet.
CancunTime
:
nil
,
// no Dencun on L2 yet.
InteropTime
:
config
.
InteropTime
(
block
.
Time
()),
Optimism
:
&
params
.
OptimismConfig
{
Optimism
:
&
params
.
OptimismConfig
{
EIP1559Denominator
:
eip1559Denom
,
EIP1559Denominator
:
eip1559Denom
,
EIP1559Elasticity
:
eip1559Elasticity
,
EIP1559Elasticity
:
eip1559Elasticity
,
...
...
op-e2e/e2eutils/setup.go
View file @
dee66db6
...
@@ -159,6 +159,7 @@ func Setup(t require.TestingT, deployParams *DeployParams, alloc *AllocParams) *
...
@@ -159,6 +159,7 @@ func Setup(t require.TestingT, deployParams *DeployParams, alloc *AllocParams) *
RegolithTime
:
deployConf
.
RegolithTime
(
uint64
(
deployConf
.
L1GenesisBlockTimestamp
)),
RegolithTime
:
deployConf
.
RegolithTime
(
uint64
(
deployConf
.
L1GenesisBlockTimestamp
)),
CanyonTime
:
deployConf
.
CanyonTime
(
uint64
(
deployConf
.
L1GenesisBlockTimestamp
)),
CanyonTime
:
deployConf
.
CanyonTime
(
uint64
(
deployConf
.
L1GenesisBlockTimestamp
)),
DeltaTime
:
deployConf
.
DeltaTime
(
uint64
(
deployConf
.
L1GenesisBlockTimestamp
)),
DeltaTime
:
deployConf
.
DeltaTime
(
uint64
(
deployConf
.
L1GenesisBlockTimestamp
)),
InteropTime
:
deployConf
.
InteropTime
(
uint64
(
deployConf
.
L1GenesisBlockTimestamp
)),
}
}
require
.
NoError
(
t
,
rollupCfg
.
Check
())
require
.
NoError
(
t
,
rollupCfg
.
Check
())
...
...
op-e2e/setup.go
View file @
dee66db6
...
@@ -434,6 +434,7 @@ func (cfg SystemConfig) Start(t *testing.T, _opts ...SystemConfigOption) (*Syste
...
@@ -434,6 +434,7 @@ func (cfg SystemConfig) Start(t *testing.T, _opts ...SystemConfigOption) (*Syste
RegolithTime
:
cfg
.
DeployConfig
.
RegolithTime
(
uint64
(
cfg
.
DeployConfig
.
L1GenesisBlockTimestamp
)),
RegolithTime
:
cfg
.
DeployConfig
.
RegolithTime
(
uint64
(
cfg
.
DeployConfig
.
L1GenesisBlockTimestamp
)),
CanyonTime
:
cfg
.
DeployConfig
.
CanyonTime
(
uint64
(
cfg
.
DeployConfig
.
L1GenesisBlockTimestamp
)),
CanyonTime
:
cfg
.
DeployConfig
.
CanyonTime
(
uint64
(
cfg
.
DeployConfig
.
L1GenesisBlockTimestamp
)),
DeltaTime
:
cfg
.
DeployConfig
.
DeltaTime
(
uint64
(
cfg
.
DeployConfig
.
L1GenesisBlockTimestamp
)),
DeltaTime
:
cfg
.
DeployConfig
.
DeltaTime
(
uint64
(
cfg
.
DeployConfig
.
L1GenesisBlockTimestamp
)),
InteropTime
:
cfg
.
DeployConfig
.
InteropTime
(
uint64
(
cfg
.
DeployConfig
.
L1GenesisBlockTimestamp
)),
ProtocolVersionsAddress
:
cfg
.
L1Deployments
.
ProtocolVersionsProxy
,
ProtocolVersionsAddress
:
cfg
.
L1Deployments
.
ProtocolVersionsProxy
,
}
}
}
}
...
...
op-node/rollup/types.go
View file @
dee66db6
...
@@ -83,6 +83,10 @@ type Config struct {
...
@@ -83,6 +83,10 @@ type Config struct {
// Active if DeltaTime != nil && L2 block timestamp >= *DeltaTime, inactive otherwise.
// Active if DeltaTime != nil && L2 block timestamp >= *DeltaTime, inactive otherwise.
DeltaTime
*
uint64
`json:"delta_time,omitempty"`
DeltaTime
*
uint64
`json:"delta_time,omitempty"`
// InteropTime sets the activation time for an experimental feature-set, activated like a hardfork.
// Active if InteropTime != nil && L2 block timestamp >= *InteropTime, inactive otherwise.
InteropTime
*
uint64
`json:"interop_time,omitempty"`
// Note: below addresses are part of the block-derivation process,
// Note: below addresses are part of the block-derivation process,
// and required to be the same network-wide to stay in consensus.
// and required to be the same network-wide to stay in consensus.
...
@@ -281,6 +285,11 @@ func (c *Config) IsDelta(timestamp uint64) bool {
...
@@ -281,6 +285,11 @@ func (c *Config) IsDelta(timestamp uint64) bool {
return
c
.
DeltaTime
!=
nil
&&
timestamp
>=
*
c
.
DeltaTime
return
c
.
DeltaTime
!=
nil
&&
timestamp
>=
*
c
.
DeltaTime
}
}
// IsInterop returns true if the Interop hardfork is active at or past the given timestamp.
func
(
c
*
Config
)
IsInterop
(
timestamp
uint64
)
bool
{
return
c
.
InteropTime
!=
nil
&&
timestamp
>=
*
c
.
InteropTime
}
// Description outputs a banner describing the important parts of rollup configuration in a human-readable form.
// Description outputs a banner describing the important parts of rollup configuration in a human-readable form.
// Optionally provide a mapping of L2 chain IDs to network names to label the L2 chain with if not unknown.
// Optionally provide a mapping of L2 chain IDs to network names to label the L2 chain with if not unknown.
// The config should be config.Check()-ed before creating a description.
// The config should be config.Check()-ed before creating a description.
...
@@ -310,6 +319,7 @@ func (c *Config) Description(l2Chains map[string]string) string {
...
@@ -310,6 +319,7 @@ func (c *Config) Description(l2Chains map[string]string) string {
banner
+=
fmt
.
Sprintf
(
" - Regolith: %s
\n
"
,
fmtForkTimeOrUnset
(
c
.
RegolithTime
))
banner
+=
fmt
.
Sprintf
(
" - Regolith: %s
\n
"
,
fmtForkTimeOrUnset
(
c
.
RegolithTime
))
banner
+=
fmt
.
Sprintf
(
" - Canyon: %s
\n
"
,
fmtForkTimeOrUnset
(
c
.
CanyonTime
))
banner
+=
fmt
.
Sprintf
(
" - Canyon: %s
\n
"
,
fmtForkTimeOrUnset
(
c
.
CanyonTime
))
banner
+=
fmt
.
Sprintf
(
" - Delta: %s
\n
"
,
fmtForkTimeOrUnset
(
c
.
DeltaTime
))
banner
+=
fmt
.
Sprintf
(
" - Delta: %s
\n
"
,
fmtForkTimeOrUnset
(
c
.
DeltaTime
))
banner
+=
fmt
.
Sprintf
(
" - Interop: %s
\n
"
,
fmtForkTimeOrUnset
(
c
.
InteropTime
))
// Report the protocol version
// Report the protocol version
banner
+=
fmt
.
Sprintf
(
"Node supports up to OP-Stack Protocol Version: %s
\n
"
,
OPStackSupport
)
banner
+=
fmt
.
Sprintf
(
"Node supports up to OP-Stack Protocol Version: %s
\n
"
,
OPStackSupport
)
return
banner
return
banner
...
@@ -337,6 +347,7 @@ func (c *Config) LogDescription(log log.Logger, l2Chains map[string]string) {
...
@@ -337,6 +347,7 @@ func (c *Config) LogDescription(log log.Logger, l2Chains map[string]string) {
"l1_block_number"
,
c
.
Genesis
.
L1
.
Number
,
"regolith_time"
,
fmtForkTimeOrUnset
(
c
.
RegolithTime
),
"l1_block_number"
,
c
.
Genesis
.
L1
.
Number
,
"regolith_time"
,
fmtForkTimeOrUnset
(
c
.
RegolithTime
),
"canyon_time"
,
fmtForkTimeOrUnset
(
c
.
CanyonTime
),
"canyon_time"
,
fmtForkTimeOrUnset
(
c
.
CanyonTime
),
"delta_time"
,
fmtForkTimeOrUnset
(
c
.
DeltaTime
),
"delta_time"
,
fmtForkTimeOrUnset
(
c
.
DeltaTime
),
"interop_time"
,
fmtForkTimeOrUnset
(
c
.
InteropTime
),
)
)
}
}
...
...
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