op-stack v1.7.4
⚠️ Strongly recommended maintenance release
🐞 op-node blob reorg bug fix (#10210)
If an L1 block got reorg'd out during blob retrieval, an op-node might get stuck in a loop retrieving a blob that will never exist, requiring a restart. This got fixed by internally signaling the right error types, forcing a derivation pipeline reset in such cases.
✨ op-batcher & op-proposer node sync start (#10116 #10193 #10262 #10273)
op-batcher and op-proposer can now wait for the sequencer to sync to the current L1 head before starting their work.
This fixes an issue where a restart of op-batcher/proposer and op-node at the same time might cause to resend duplicate batches from the last finalized L2 block, because a freshly restarted op-node resyncs from the finalized head, potentially signaling a too early safe head in its sync status.
🏳️ This feature is off by default, so we recommend testing it by using the new batcher and proposer flag --wait-node-sync
(or its corresponding env vars).
Enabling this will cause op-batcher and op-proposer to wait for the sequencer's verifier confirmation depth for typically 4 L1 blocks, or ~1 min, at startup.
🏳️ To speed up this process in case that no recent batcher transaction have happened, there's another optional new batcher flag --check-recent-txs-depth
that lets the batcher check for recent batcher transactions to determine a potentially earlier sync target. This feature is off by default (0) and should be set to the sequencer's verifier confirmation depth to get enabled.
Partial changelog
op-node
- fix: set version during build process for op-node,batcher,proposer by @bitwiseguy in #10087
- fix: Fix the error judgment when obtaining the finalized/safe block o… by @anonymousGiga in #10127
- chore: Update dependency on
superchain
package by @geoknee in #10204 - op-service: Return ethereum.NotFound on 404 by @trianglesphere in #10210
- op-node: remove dependency on bindings by @tynes in #10213
- op-node: prevent spamming of reqs for blocks triggered by
checkForGapInUnsafeQueue
by @bitwiseguy in #10063
op-batcher & op-proposer
- op-service/dial: Add WaitRollupSync by @sebastianst in #10116
- op-proposer: remove dep on op-bindings by @tynes in #10218
- op-batcher: wait for node sync & check recent L1 txs at startup to avoid duplicate txs by @bitwiseguy in #10193
- op-proposer: Add option to wait for rollup sync during startup by @bitwiseguy in #10262
- op-batcher: Always use recent block from startup tx check by @sebastianst in #10273
New Contributors (all monorepo)
- @sellskin made their first contribution in #9963
- @bitwiseguy made their first contribution in #10087
- @0xyjk made their first contribution in #10101
- @anonymousGiga made their first contribution in #10127
- @iczc made their first contribution in #10131
- @brucexc made their first contribution in #9874
- @dome made their first contribution in #10165
- @testwill made their first contribution in #10203
- @dajuguan made their first contribution in #9986
Full Changelog: v1.7.3...v1.7.4
🚢 Docker Images: