Skip to content

Develop -> Master Release PR#1858

Merged
tynes merged 2 commits intomasterfrom
develop
Dec 4, 2021
Merged

Develop -> Master Release PR#1858
tynes merged 2 commits intomasterfrom
develop

Conversation

@tynes
Copy link
Contributor

@tynes tynes commented Dec 4, 2021

Description
Trigger releases

@changeset-bot
Copy link

changeset-bot bot commented Dec 4, 2021

⚠️ No Changeset found

Latest commit: 927bf96

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@tynes tynes merged commit 6aeb10d into master Dec 4, 2021
@github-actions github-actions bot added 2-reviewers A-op-batcher Area: op-batcher A-integration Area: integration tests A-ops Area: ops labels Dec 4, 2021
theochap pushed a commit that referenced this pull request Dec 10, 2025
## Overview

Adds a path for finalizing L2 blocks, based off of the L1 block they
were derived from. To accomplish this:
1. The derivation pipeline now attaches the L1 block that the L2 block
was derived from, within `OpAttributesWithParent`.
2. The DA watcher actor now watches a stream of finalized L1 blocks,
polled every 1m.
3. The engine actor now holds onto a map of `l1_block_number =>
highest_l2_block_in_epoch`, saturated when it receives attributes from
the derivation actor.
- When a new finalized L1 block is observed by the engine actor, it will
find the highest L2 block whose batch data is contained within the
finalized L1 chain, and finalize it (if it knows of any.)

This approach is different than suggested by the tickets, but results in
a more slim outcome that takes advantage of existing actors.

### Periphery changes

- Some refactoring of the `OpAttributesWithParent` type.
- The sync start algorithm now stops safe block traversal at the
finalized head, to ensure it never assigns a safe block past it.
- The `L1WatcherRpc` now uses a custom `BlockStream`, since alloy's
`watch_blocks` stream doesn't dedup nor allow for observing anything
other than head block updates.

### Result

Finalized blocks are correctly streaming in 😄 

<img width="1228" alt="Screenshot 2025-05-24 at 5 09 01 PM"
src="https://github.com/user-attachments/assets/609184a5-35b8-4b04-a124-eeece8ef53e4"
/>

### Meta

closes #1693 
closes #1694 
closes #1695 
closes #1696 
closes #1698
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-integration Area: integration tests A-op-batcher Area: op-batcher A-ops Area: ops

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant