Skip to content

SDM tracking issue #19779

@nonsense

Description

@nonsense

Productionize SDM from PoC2 and land it safely in develop

Last update: 2026-04-01

This issue tracks the work to take the current SDM PoC2, and merge the production-ready pieces into develop behind a feature flag.

The PoC already covers core SDM accounting, system TxSDM metadata, replay tooling, and benchmarking over historical blocks. The remaining work is to make this safe, configurable, complete, and shippable for Unichain.


Relevant links

SDM design doc at ethereum-optimism/design-docs#361
SDM PoC 2 review doc at https://www.notion.so/oplabs/SDM-PoC-2-Review-330f153ee162801e8fc8e5e79c010e40
SDM Benchmarking of PoC 2 doc at https://www.notion.so/oplabs/SDM-Benchmarking-for-PoC-2-Block-Level-Warming-330f153ee16280d4b2effdf0b3b53eb7
Code for PoC 2, at develop...nonsense/opgas-reth-poc2-tracer (6 commits on top of develop)


What's currently worked on


Tasks

Feature flagging and activation model

This should probably land first so later SDM pieces can merge into develop.

  • Add an explicit SDM feature flag, disabled by default.
  • Add tests for enabled vs disabled behavior.

Core types and plumbing

  • Land TxSDM, receipt typing, and serialization/plumbing changes.
  • Add focused codec / roundtrip tests.
  • Figure out if we can do that without vendoring / upstreaming changes.

Execution accounting

  • Execution-side SDM accounting logic.
  • revm inspector / warm-cache / refund-entry generation.

Payload builder + synthetic metadata tx

  • Payload-builder support for emitting the synthetic TxSDM.
  • Define and test tx ordering / index mapping.
  • Ensure no regressions in normal payload building.

Receipt / RPC / replay surfaces

  • Receipt/RPC surfacing for SDM refund data.
  • Replay/Debug RPC pieces needed for validation.
  • Add integration tests for refund visibility and index mapping.

Replay / benchmark tooling

  • Replay/inspection tooling that should be maintained long-term.
  • Keep PoC-only scripts out unless they are useful beyond the experiment.
  • Make the benchmarking workflow reproducible and documented.

Canonical gas accounting

Not done in the PoC2.

  • Implement actual gas-used modification.
  • Ensure SDM affects gas accounting, not just metadata/replay output.
  • Add tests for receipts, block accounting, and RPC behavior.

Flashblocks integration

Not done in PoC1 or PoC2.

  • Integrate SDM with flashblocks flows.
  • Update rollup-boost.
  • Update op-rbuilder.
  • Add integration tests for flashblocks + SDM.

Performance benchmarking

Not done in the PoC1 or PoC2.

  • Benchmark SDM-aware chain performance vs non-SDM chain.
  • Measure execution / payload-building / tracing / inspector overhead.

Docs and rollout

  • Document activation, behavior, limitations, and rollout guidance.
  • Add operator notes for enabling SDM on Unichain.

Explicit gaps from PoC2

  • Canonical gas-used modification is not implemented

    • Today PoC2 emits refund metadata in TxSDM and uses replay/benchmarking based on it.
    • It does not modify canonical gas accounting.
  • No flashblocks integration

    • rollup-boost
    • op-rbuilder
  • No proper production feature flag / activation tracking

    • This should be the first merge step.
  • No per-chain enablement model

    • Need a reliable way to know whether SDM is enabled on a given chain.
  • No perf benchmark of SDM-aware vs non-SDM chain

    • Need to measure whether the trace/inspector path adds meaningful overhead.

Metadata

Metadata

Assignees

Labels

M-trackingMeta: tracking issue

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions