⬆️ This is a strongly recommended release of op-batcher for all chain operators.
op-batcher changes
Multi-blob support in op-batcher
See release notes for v1.7.2-rc.3 for details on how to configure a multi-blob batcher.
Improved channel duration tracking
The batcher now tracks channel durations relative to the last L1 origin in a previous channel. The last channel's L1 origin is restored at startup and during reorgs.
This ensures that the desired channel duration survives restarts of the batcher, which is particularly important for low-throughput chains that use channel durations of a few hours.
There's a known quirk in the new tracking design, which leads to a slightly lower effective channel duration (~1min lower), related to how a channel timeout is determined relative to the current L1 head, not current channel's newest L1 origin. This will be improved in a future release.
Breaking compressor configuration change
The channel and compressor configuration got simplified by removal of the target-frame-size flag. The only configuration parameters left to configure the channel size are
max-l1-tx-size - default of 120k for calldata; for blobs this is overwritten to the max blob size
taget-num-frames - default of 1 for calldata; for multi-blob txs, set this to the desired amount of blobs per blob-tx (e.g. 6)
The default compressor is the shadow compressor, which is recommended in production.
Overflow frames bug fix
The batcher now correctly estimates a channel's output size, fixing a rarely but regularly occurring bug that produced overflow frames, leading for example to a 7th blob that was sent in a second batcher transaction.
op-node changes
Improved peering behavior
Per-chain hardfork activation times via superchain-registry
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/ethereum-optimism/optimism from 1.2.0 to 1.7.2.
Release notes
Sourced from github.com/ethereum-optimism/optimism's releases.
... (truncated)
Commits
99a5338
op-batcher: fix "handle receipt" log message to properly log id (#9918)34e7450
dependabot(npm): bump abitype from 1.0.0 to 1.0.2 (#9914)c157350
dependabot(npm): bump nx from 18.0.4 to 18.1.2 (#9910)96a269b
chore(op-dispute-mon): bind enrichers (#9908)6322c02
feat(ct): update readme to prepare for audit (#9867)5fe797f
feat(sdk): improve SDK handling of DisputeGameFactory (#9907)8829be9
FPACOPS edits (#9903)f3d0102
op-plasma: track challenges when pipeline is stalled (#9856)d7afde1
op-batcher: rework channel & compressor config, fix overhead bug (#9887)06b4876
maint(ct): misc comment cleanup (#9902)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show