Skip to content

fix(bss,dtl): correctly submit and parse timestamp information for L1 to L2 txs#2090

Merged
mslipper merged 6 commits intodevelopfrom
feat/verifier-itests-patch-ctx
Feb 1, 2022
Merged

fix(bss,dtl): correctly submit and parse timestamp information for L1 to L2 txs#2090
mslipper merged 6 commits intodevelopfrom
feat/verifier-itests-patch-ctx

Conversation

@smartcontracts
Copy link
Contributor

Description
This PR includes a series of fixes that makes sure the batch submitter is correctly submitting all transaction information required to sync from L1. It also includes a patch for the DTL that makes it able to sync from this slightly modified batch submission format. For sanity, we also include tests for running a verifier from L1 and checking that it correctly syncs as part of this PR.

@github-actions github-actions bot added 2-reviewers A-op-batcher Area: op-batcher A-integration Area: integration tests A-cannon Area: cannon A-ops Area: ops labels Jan 27, 2022
@codecov-commenter
Copy link

codecov-commenter commented Jan 27, 2022

Codecov Report

Merging #2090 (1741d88) into develop (f8d62ac) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff            @@
##           develop    #2090   +/-   ##
========================================
  Coverage    75.37%   75.37%           
========================================
  Files           81       81           
  Lines         2705     2705           
  Branches       436      436           
========================================
  Hits          2039     2039           
  Misses         666      666           
Flag Coverage Δ
batch-submitter 62.63% <ø> (ø)
contracts 90.48% <ø> (ø)
core-utils 59.94% <ø> (ø)
data-transport-layer 38.64% <ø> (ø)
message-relayer 70.86% <ø> (ø)
sdk 86.34% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
.../l1-ingestion/handlers/sequencer-batch-appended.ts 21.53% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f8d62ac...1741d88. Read the comment docs.

@smartcontracts smartcontracts force-pushed the feat/verifier-itests-patch-ctx branch from 1edf47b to 4cd0a1f Compare January 27, 2022 21:42
@changeset-bot
Copy link

changeset-bot bot commented Jan 27, 2022

🦋 Changeset detected

Latest commit: b022c49

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
@eth-optimism/data-transport-layer Patch
@eth-optimism/integration-tests Patch
@eth-optimism/l2geth Patch
@eth-optimism/batch-submitter Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@smartcontracts smartcontracts marked this pull request as ready for review January 27, 2022 21:42
@tynes
Copy link
Contributor

tynes commented Jan 31, 2022

This looks like its going to need a rebase

tynes added 5 commits January 31, 2022 11:59
Add verifier integration tests behind the env var
`RUN_VERIFIER_TESTS`. Note that this depends on the
batch submitter correctly submitting batches because
the verifier syncs from the batches submitted by the
batch submitter.

The verifier is not enabled by default with the
`docker-compose.yml` file. To enable it, the replicas
field must be updated from `0` to `1`.
This commit fixes a bug in the batch submitter where not all timestamp
information was being correctly rolled up. This has temporarily caused
certain L1 syncing nodes to generate an incorrect state root. This PR
will be followed by a second PR with an update to the DTL to guarantee
that incorrect timestampd data can be corrected.
.env files were not being ignored by docker. This meant that any local
environment variable changes you placed into an .env file would be
pulled into docker images built inside of the ops package. Docker images
should only be using environment variables as specified in their
respective environment folders and should not copy over .env files.
Monotonicity violations were being reported in two locations, once in
the sync service and then later in the worker. Because of recent updates
in the sync service, there's never a case where monotonicity violations
would not be caught first within the sync service. This code path only
triggered within L1 syncing verifiers and caused issues with unintended
timestamp manipulation.
This commit makes sure that the DTL correctly returns timestamps using
the new scheme when the first batch submitter hardfork block is
activated. If the block is not activated, the DTL will operate as it
previously did.
@tynes tynes force-pushed the feat/verifier-itests-patch-ctx branch from 4cd0a1f to 1741d88 Compare January 31, 2022 20:02
@github-actions github-actions bot removed the A-op-batcher Area: op-batcher label Jan 31, 2022
@tynes
Copy link
Contributor

tynes commented Jan 31, 2022

I think this PR is good to merge, cc @smartcontracts @mslipper

@mslipper mslipper merged commit 30ada8e into develop Feb 1, 2022
@mslipper mslipper deleted the feat/verifier-itests-patch-ctx branch February 1, 2022 17:05
theochap pushed a commit that referenced this pull request Dec 10, 2025
theochap pushed a commit that referenced this pull request Jan 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-cannon Area: cannon A-integration Area: integration tests A-ops Area: ops

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants