Repository navigation
v0.6.0
| type | value |
|---|---|
VKEY |
0x00d14f977a6ec393014f300ad78d0761dc29435d3fa1e2626fa466bd3343578e |
VKEY_SELECTOR |
0x0000000e |
Changes since v0.5.1, through d0258b88ad4fa54f2079a1673eb119851ee7a0a8 (same commit as v0.6.0-rc.11).
The pessimistic-proof vkey and selector are unchanged since v0.5.1.
🚀 What's New
- Nonce-based settlement service. Settlement is now driven by persisted settlement jobs and attempts: attempts are built per nonce, bumped on retry, tracked to their L1 result, and pending jobs are resumed on startup (#1549, #1550, #1551, #1569, #1570, #1571, #1572, #1576, #1578, #1580, #1582, #1585, #1393).
- Settlement admin surface.
admin_listSettlementJobs/admin_getSettlementJobfor inspection;admin_abortSettlementTask/admin_reloadSettlementTaskfor task control;admin_insertSettlementAttempt,admin_markSettlementAttemptDefinitelyFailed,admin_removeSettlementAttemptResult,admin_forceRemoveSettlementJobResultfor stored-state corrections; andadmin_unlinkCertificateSettlementJobto recover a certificate whose settlement reverted on L1 (#1695, #1705, #1711, #1713, #1721, #1722, #1727, #1729, #1797). Seedocs/knowledge-base/src/settlement-operations.md. - Observability. Certificate stage histograms, per-network pending/proven/settled height metrics, settlement attempt/duration metrics and jobs gauge, backup metrics, a Grafana dashboard, and the software version in
/health(#1619, #1633, #1662, #1674, #1679, #1717, #1785). - Storage backups hardened. Epoch backups are never dropped, newly accepted pending certificates are backed up immediately, and the backup lifecycle is logged truthfully (#1777, #1783, #1787).
- RPC and configuration.
interop_sendTxis disabled (#1637),interop_getNetworkInfogains minimal certificate identifiers (#1740), the default settlement gas-limit multiplier is 1.3 (#1719), and a legacy[outbound.rpc]settlement config now warns when ignored (#1683).
✅ Testing & Validation
v0.6.0-rc.1throughv0.6.0-rc.11ran on the bali (dev) environment between 2026-07-03 and 2026-09-14;v0.6.0-rc.11has been settling certificates on bali since 2026-09-14.- This commit is the tip of
release-0.6.0(PR #1797, CI green):v0.6.0-rc.10plus theadmin_unlinkCertificateSettlementJobhotfix.
⚠️ Breaking Changes
- Renames the settlement job mapping column family type
from CertificateSettlementJobColumn to
SettlementJobIdPerCertificateIdColumn. No migration version is added
because the settlement CF is not expected to be present in persistent
deployments.
Original commit: (storage)add settlement job reverse mapping CF (#1599) interop_sendTxno longer settles proofs; it always
returns JSON-RPC error -10009 ("The interop_sendTx method is
disabled").
Original commit: (rpc)disable the interop_sendTx method (#1637)admin_forceEditCertificaterejects
set-settlement-tx-hash
withINVALID_PARAMSfor every certificate, instead of writing the
header
field. This includes certificates with no settlement job, where the
operation
previously pinned the L1 block used when reprocessing aProven
certificate;
there is no replacement for that use.
Original commit: (settlement)error-log job build failures, deprecate set-settlement-tx-hash (#1715)
📋 Configuration Changes
- The default settlement gas-limit multiplier increases from 1.0 to 1.3.
Explicitly configured values remain unchanged.
Original commit: (settlement)increase default gas-limit headroom (#1719)
📦 Full Changelog
🚀 Features
- (settlement) Persist terminal result metadata (#1549)
- Verify whether address is owned (#1564)
- (settlement) Persist settlement attempts (#1550)
- (settlement) Persist settlement jobs (#1551)
- (settlement) Submit settlement attempt to L1 (#1570)
- (settlement) Build a signed settlement attempt with new nonce (#1569)
- Wait for any new expected
(wallet, nonce)to be on L1 (#1571) - (storage) Store certificate settlement job ids (#1578)
- Impl next attempt deadline for nonce (#1576)
- Get L1 result of a given settlement hash (#1572)
- (settlement) Bump gas over previous attempt on nonce retry (#1580)
- (settlement) Record certificate job ids before jobs (#1582)
- (settlement) Resume pending jobs on startup (#1585)
- (storage) Add settlement job reverse mapping CF (#1599)
- Bind settlement service with certificate/network tasks (#1393)
- Include software version in /health endpoint (#1619)
- (rpc) Disable the interop_sendTx method (#1637)
- Add histogram on certificate stages (#1662)
- Add per-network pending/proven/settled height metrics (#1633)
- Add grafana dashboard (#1674)
- (telemetry) Add settlement metrics module (#1679)
- (config) Warn on ignored legacy [outbound.rpc] settlement config (#1683)
- (settlement) Classify task-control admin errors with RpcErrorCode (#1695)
- (settlement) Expose abort/reload task controls on the admin RPC (#1705)
- (types) Add ClientErrorType::AbandonedByAdmin (#1706)
- (storage) Admin mutations for settlement attempts (#1711)
- (settlement) Mark-definitely-failed and remove-attempt-result admin mutations (#1713)
- (settlement) Insert-settlement-attempt admin mutation (#1721)
- (settlement) Force-remove settlement job result (#1722)
- (storage) Expose settlement job certificate reader (#1726)
- (settlement) Respawn-capable reload and task liveness accessor (#1727)
- (settlement) Admin RPC reads for settlement jobs (#1729)
- (settlement) Emit attempt and duration metrics, add the jobs gauge (#1717)
- (ci) Track requested PR reviews in issues and Project 47 (#1739)
- (network-info) Add minimal certificate identifiers (#1740)
- (storage) Add backup metrics (#1785)
🐛 Bug Fixes
- (settlement) Load persisted settlement attempts (#1552)
- (config) Accept bare filename config paths (#1553)
- (contracts) Query aggchain hash at pre-settlement block (#1563)
- (storage) Enforce proof acceptance policy (#1554)
- (build) Stamp agglayer version in docker images via build-arg (#1568)
- Back off before reorg new loop (#1581)
- (settlement) Assign nonces from local queue (#1596)
- (settlement) Handle task resumption invariants (#1601)
- Prevent panic-loop on conflicting attempt results (#1617)
- (rpc) Refuse certificate replacement while its settlement job has not reverted (#1616)
- (settlement) Map Tenderly's -32001 "not found" to an absent tx (#1628)
- Log expected settlement polling retries at debug level (#1627)
- (storage) Apply declared column options when reopening the database (#1630)
- (settlement) Serialize same-wallet nonce assignment across jobs (#1680)
- Pin rust nightly version (#1686)
- (deps) Switch insta to crates.io (#1689)
- (settlement) Write reverse job mapping and harden startup recovery (#1682)
- (settlement) Persist settlement job and certificate link atomically (#1712)
- (settlement) Increase default gas-limit headroom (#1719)
- (settlement) Avoid control allocation for completed recovery jobs (#1631)
- (settlement) Reject notifications to cancelled tasks (#1730)
- (storage) Back up the state DB when a certificate is proven (#1714)
- (settlement) Error-log job build failures, deprecate set-settlement-tx-hash (#1715)
- (settlement) Retry request timeout errors (#1741)
- (settlement) Retry gateway timeout errors (#1746)
- (deps) Address RUSTSEC-2026-0253/0258 and CI toolchain drift (#1772)
- (storage) Split the backup queue so epoch backups are never dropped (#1777)
- (storage) Log the backup lifecycle truthfully and time engine opens (#1783)
- (storage) Back up newly accepted pending certificates (#1787)
- (admin) Unlink a certificate from its reverted settlement job (#1797)
📚 Documentation
- Remove stale PR-number references from comments (#1566)
- (settlement) Settlement admin mutations runbook (#1725)
- (settlement) Complete the settlement admin runbook (#1731)
🚜 Refactor
- (agglayer-types) Route SP1 access through agglayer-sp1 facade (#1567)
- (settlement) Isolate attempt hydration (#1560)
- (storage) Reopen the database with declared column options in finalize (#1635)
- (telemetry) Expose the metrics test harness via testutils (#1673)
- (rpc) Centralize application error codes (#1703)
- (settlement) Remove dead settlement client code (#1709)
- (settlement) Promise only queued semantics for admin live-task notification (#1716)
- (settlement) Use RAII teardown for settlement task registrations (#1724)
- Remove Error derive from GenerationType (#1346)
🎨 Styling
- Fix clippy 1.97 lints before CI runners update (#1670)
🧪 Testing
- (integrations) Speed up and stabilize integration suite (#1473)
- (settlement) Harden flaky tx-hash-by-nonce Anvil test (#1589)
- (integrations) Assert stage histograms emit on settlement path (#1678)
- (settlement) Strengthen settlement service coverage (#1733)
🤖 CI
- Skip merge queue docker cache export (#1593)
- Move docker build cache to a registry and split circuits stage (#1667)
- Target agglayer v0.6.0 e2e stack (#1690)
- Unpin nightly (#1691)
⚙️ Miscellaneous Tasks
- Remove unused README variable (#1527)
- Bump quinn-proto (#1588)
- (settlement) Move inline test modules to sibling files (#1694)
- Remove SonarQube/SonarCloud integration (#1672)
- Bump ruint to 1.20.0 (#1723)
⏪ Reverts
- Remove per-epoch certificate rate limiting (#1615)