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
77aaf2e9
Unverified
Commit
77aaf2e9
authored
Dec 04, 2023
by
Roberto Bayardo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix l2 block timestamp contraint for genesis block
parent
72292790
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
5 deletions
+6
-5
derivation.md
specs/derivation.md
+6
-5
No files found.
specs/derivation.md
View file @
77aaf2e9
...
...
@@ -126,12 +126,13 @@ starting at the first L1 block following [L2 chain inception][g-l2-chain-incepti
The L2 chain may contain pre-Bedrock history, but the L2 genesis here refers to the Bedrock L2
genesis block.
Each L2
`block`
with origin
`l1_origin`
is subject to the following constraints (whose values
are
denominated in seconds):
Each L2
`block`
with origin
`l1_origin`
is subject to the following constraints (whose values
are
denominated in seconds):
-
`block.timestamp = prev_l2_timestamp + l2_block_time`
-
`prev_l2_timestamp`
is the timestamp of the L2 block immediately preceeding this one, or
`l1_origin.timestamp`
if this is the first L2 block in the first epoch.
-
`prev_l2_timestamp`
is the timestamp of the L2 block immediately preceeding this one. If there
is no preceeding block, then this is the genesis block, and its timestamp is explicitly
specified.
-
`l2_block_time`
is a configurable parameter of the time between L2 blocks (2s on Optimism).
-
`l1_origin.timestamp <= block.timestamp <= max_l2_timestamp`
, where
...
...
@@ -146,7 +147,7 @@ chain inception.
The second constraint ensures that an L2 block timestamp never precedes its L1 origin timestamp,
and is never more than
`max_sequencer_drift`
ahead of it, except only in the unusual case where it
might prohibit an L2 block from being produced ever l2_block_time seconds. (Such cases might arise
might prohibit an L2 block from being produced ever
y
l2_block_time seconds. (Such cases might arise
for example under a proof-of-work L1 that sees a period of rapid L1 block production.) In either
case, the sequencer enforces
`len(batch.transactions) == 0`
while
`max_sequencer_drift`
is
exceeded. See
[
Batch Queue
](
#batch-queue
)
for more details.
...
...
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