Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
9e0aebe
docs(notices): warn op-reth operators on OP Sepolia about SCR loading…
sbvegan Jun 15, 2026
423d93e
docs(ai): note canonical OP→L1 fork mapping in rust-dev (#21384)
sebastianst Jun 15, 2026
a4982ff
op-deployer: fix live sepolia upgrade tests (#21400)
Inphi Jun 16, 2026
f56a625
docs(notices): replace genesis.json Drive link with GCS artifact link…
sbvegan Jun 16, 2026
23dd2bb
refactor(sdm): gate SDM directly on Lagoon hardfork (#21379)
nonsense Jun 16, 2026
bf91917
fix(op-wheel): record block base fee on its own gauge (#21127)
pjdurden Jun 16, 2026
781654f
fix(op-chain-ops): match any revision id in script revert-panic guard…
sebastianst Jun 16, 2026
a450cd8
refactor(contracts): model predeploy impls as proxy variants (#21346)
lumoswiz Jun 16, 2026
5cdeaaf
feat(op-chain-ops): validate L2 genesis allocs in production generati…
lumoswiz Jun 16, 2026
40d8cf2
fix(kona/mpt): guard against panic when prefix longer than path in Ex…
einar-oplabs Jun 16, 2026
4c8b174
feat(op-supernode): honor explicit per-chain p2p key path (#21436)
jelias2 Jun 16, 2026
a5cfcc2
refactor(kona): move Predeploys to kona-genesis to break hardforks->p…
sebastianst Jun 16, 2026
2b1a407
fix(alloy-op-evm): roll back SDM block-warming for declined op-rbuild…
nonsense Jun 17, 2026
1f2e59f
fix(ctb): skip interop L2 genesis upgrade tests under custom gas toke…
maurelian Jun 17, 2026
b4b8b45
feat(op-chain-ops): interop bridge/failsafe test tools (check-lagoon,…
jelias2 Jun 17, 2026
f3706fc
docs: add notice about Sepolia estimateGas issue (#21456)
joshklop Jun 17, 2026
9c0f351
docs: add OPCMv2 Cantina audit report (#21458)
smartcontracts Jun 17, 2026
5697532
feat(op-reth): gate payload builder on interop failsafe (#21448)
ajsutton Jun 17, 2026
1eaa418
fix(alloy-op-evm): skip SDM warming rebates for never-cold accesses; …
nonsense Jun 18, 2026
bfd9fef
op-core/types: add DepositTx, PostExecTx and Receipt types (#21356)
sebastianst Jun 18, 2026
2d09e6c
test(alloy-op-evm): cover included-but-reverted tx warming a later tx…
nonsense Jun 18, 2026
a6debdd
docs(ai): add branch CI-failure diagnosis to ci-ops (#21468)
sebastianst Jun 18, 2026
5ee26e4
docs(ai): clarify OP Stack Rust crates are migrated, not vendored (#2…
sebastianst Jun 18, 2026
cfbc098
fix(op-rbuilder): append trailing SDM PostExec tx in the standard bui…
nonsense Jun 18, 2026
f587075
fix: interop l2 contracts audit findings (#21306)
0xOneTony Jun 18, 2026
ecf4f2e
feat(op-reth): load OP Mainnet/Sepolia from superchain-registry, drop…
sebastianst Jun 18, 2026
f612b8f
superchain: couple registry via hoisted root submodule (#21474)
sebastianst Jun 19, 2026
d0272fc
docs: add permissioned fault proof chains note to Upgrade 19 notice (…
donoso-eth Jun 19, 2026
212bfa2
docs: add 2026-06 Interop L2 Contracts Cantina security review (#21472)
pauldowman Jun 19, 2026
b624543
feat: Super ZK Dispute Game (#21011)
0xarktos Jun 19, 2026
8849811
feat: decouple nut activation test from git head state (#21298)
0xCoati Jun 19, 2026
0379420
chore: rename Interop hardfork to Lagoon (#21370)
digorithm Jun 19, 2026
fc2b95f
docs(ai): list dev workflow guide in AGENTS (#21480)
haoshengzhen Jun 19, 2026
61cc303
superchain: wire op-core/superchain across the monorepo (decouple fro…
sebastianst Jun 22, 2026
881b555
docs(ai): document the op-core/superchain bundle build/CI prerequisit…
sebastianst Jun 22, 2026
950f3c3
test(op-reth): add OP_DEV transaction execution test (#21204)
einar-oplabs Jun 22, 2026
d1f91d6
fix(op-reth): enable superchain-configs for reth-optimism-evm tests (…
einar-oplabs Jun 22, 2026
3e52e00
fix(contracts): verify super games through runSingle (#21393)
Inphi Jun 22, 2026
ad29082
chore: bump Go to 1.26.4 for image CVE fixes (#21452)
falcorocks Jun 22, 2026
d16008d
docs: refresh release notes for kona-client, kona-host, proxyd (#21509)
mintlify[bot] Jun 22, 2026
973d925
op-reth: generate superchain-configs.tar via build.rs, decommit it (#…
sebastianst Jun 22, 2026
f9da654
fix(kona/protocol): bump brotli-decompressor to 5.0.1 (#21505)
sebastianst Jun 22, 2026
1a20367
docs(releases): mark only the newest release per component as Latest …
sbvegan Jun 22, 2026
38c4c40
feat(kona): integrate kona-sp1 into the monorepo (#21489)
wwared Jun 22, 2026
e5fed65
chore(docker): retry package installs and network fetches in CI build…
ajsutton Jun 23, 2026
bdcf49a
fix(op-reth): evict definitively-invalid interop txs on revalidation …
ajsutton Jun 23, 2026
62b788d
feat(op-reth): make chainspec reth-codec opt-in (#21483)
einar-oplabs Jun 23, 2026
e546bf7
fix(ci): stop fuzz jobs from oversubscribing the CPU (#21517)
wwared Jun 23, 2026
b9fbe71
feat(op-devstack): support op-reth-premium as a drop-in sequencer EL …
nonsense Jun 23, 2026
14234ff
fix(op-reth): surface pruned block bodies as a typed error instead of…
dhyaniarun1993 Jun 23, 2026
a7ab3fd
fix(sdm): stabilize PostExec consensus surface (Verify 0x7D guard + o…
nonsense Jun 23, 2026
52191bf
docs(security-reviews): attribute 2026-03 Kona audit to Cantina (#21519)
ajsutton Jun 23, 2026
c3b2332
op-core: wire op-node onto op-core/eip1559 and txinclude onto op-core…
sebastianst Jun 23, 2026
830cf04
chore(deps): bump Go vulnerability deps (#21450)
falcorocks Jun 23, 2026
52f603b
cleanup(contracts): rename super permissioned game type (#21513)
Inphi Jun 23, 2026
2bb37eb
fix(op-rbuilder): gate interop txs during failsafe (#21494)
ajsutton Jun 23, 2026
1c79a98
derive: fix sticky upgrade gas for Karst (but keep it for select chai…
sebastianst Jun 23, 2026
fe01e38
ci: pin protobuf-equipped ci-base-clang image, drop per-job protoc in…
wwared Jun 23, 2026
25239df
feat(op-node): remove deprecated Req/Resp CL P2P sync client (#21498)
nonsense Jun 24, 2026
e3b0693
fix(op-reth): anchor op-proofs init post-init backfill on `latest`, n…
dhyaniarun1993 Jun 24, 2026
4af0dbe
karst: acceptance test for upgrade-gas revert across activation (#21533)
sebastianst Jun 24, 2026
b888325
docs: migrate protocol explainers + network design to op-reth/kona (#…
donoso-eth Jun 24, 2026
ac9b226
feat(kona): add kona-sp1 range-executor + SP1 execute action test (#2…
Inphi Jun 24, 2026
31a3f1d
feat: add FeeVault withdrawal route setter (#20982)
maurelian Jun 24, 2026
cf2ce09
docs(SDM): Add Sequencer Defined Metering (SDM) chain-operator guide …
einar-oplabs Jun 24, 2026
8fd06d3
ci: remove cannon image builds (#21556)
falcorocks Jun 25, 2026
2570126
superchain: load keep_karst_upgrade_gas from registry into op-node (#…
geoknee Jun 25, 2026
64fe694
refactor(kona): make sp1 range core natively testable (#21554)
Inphi Jun 25, 2026
8eed21e
fix(kona-sp1): make BlobStore soundness self-contained (#21561)
digorithm Jun 25, 2026
d62e4a1
op-devstack: add controlled lifecycle support (#21286)
Inphi Jun 25, 2026
aaeb6c0
docs: Upgrade 19 notice — SCR fix, component versions, gas-limit acti…
donoso-eth Jun 26, 2026
2063657
fix(op-reth): set tx_gas_limit_cap for Osaka so eth_estimateGas works…
joshklop Jun 26, 2026
225b0f2
Merge tag 'op-reth/v2.3.3' into firehose/2.x
sduchesneau Jun 29, 2026
72ef524
Fix Dockerfile.sf build: provide superchain-registry context
sduchesneau Jun 29, 2026
1dc02b6
Add v2.3.3-fh release notes
sduchesneau Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ parameters:
default_docker_image:
type: string
default: cimg/base:2026.03
# Pinned ci-base-clang image (cimg/base + clang/llvm-dev/libclang-dev) for Rust jobs.
# Pinned ci-base-clang image (cimg/base + clang/llvm-dev/libclang-dev + protobuf-compiler) for Rust jobs.
# Provenance is verified by .github/workflows/security.yml.
rust_base_image:
type: string
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-base-clang@sha256:d79c625a042269c64b2444ef1edf9bb4a399d1c892caee57f9021be067da5617
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-base-clang@sha256:873a6709dd48d7706b0baee139300f18ab7babf4a66f982b2383fe51ce2e5489
base_image:
type: string
default: default
Expand Down Expand Up @@ -80,7 +80,7 @@ parameters:
# go-cache-version can be used as a cache buster when making breaking changes to caching strategy
go-cache-version:
type: string
default: "v0.0"
default: "v0.1"

orbs:
continuation: circleci/continuation@2.0.1
Expand Down
10 changes: 10 additions & 0 deletions .circleci/continue/helpers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,16 @@ commands:
- run:
name: Ensure clang available
command: 'command -v clang >/dev/null 2>&1 || { echo "ERROR: clang is required but was not found in PATH" >&2; exit 1; }'
# protoc + libprotobuf-dev well-known types (sp1-sdk prost/tonic build
# dep) are preinstalled in ci-base-clang, so just assert their presence.
- run:
name: Ensure protobuf compiler available
command: |
if ! command -v protoc >/dev/null 2>&1 || [ ! -f /usr/include/google/protobuf/empty.proto ]; then
echo "ERROR: protoc and the protobuf well-known type includes are required but were not found in PATH (expected in the ci-base-clang image)" >&2
exit 1
fi
protoc --version
# Shared GCS compile cache (op-rust-sccache).
- rust-sccache-setup:
enabled: << parameters.enable_sccache >>
66 changes: 54 additions & 12 deletions .circleci/continue/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ parameters:
default: cimg/base:2026.03
c-rust_base_image:
type: string
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-base-clang@sha256:758f67c7212e7d05c3d02c34f26766ef86f657d3bb811da07cc01e37b736ebef
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-base-clang@sha256:873a6709dd48d7706b0baee139300f18ab7babf4a66f982b2383fe51ce2e5489
c-base_image:
type: string
default: default
Expand All @@ -16,7 +16,7 @@ parameters:
# go-cache-version can be used as a cache buster when making breaking changes to caching strategy
c-go-cache-version:
type: string
default: "v0.0"
default: "v0.1"
c-publish_contract_artifacts_ref:
type: string
default: ""
Expand All @@ -28,7 +28,7 @@ parameters:
default: cimg/base:2026.03
rust_base_image:
type: string
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-base-clang@sha256:d79c625a042269c64b2444ef1edf9bb4a399d1c892caee57f9021be067da5617
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-base-clang@sha256:873a6709dd48d7706b0baee139300f18ab7babf4a66f982b2383fe51ce2e5489
base_image:
type: string
default: default
Expand Down Expand Up @@ -85,7 +85,7 @@ parameters:
default: "__not_set__"
go-cache-version:
type: string
default: "v0.0"
default: "v0.1"
# Workflow activation flags (set by the decision tree in config.yml)
c-run_main:
type: boolean
Expand Down Expand Up @@ -505,6 +505,13 @@ commands:
description: "Prefix to add to the cache key"
type: string
default: "rust-build"
init_superchain_submodule:
# Unused by this command. Declared so a job can pass one shared YAML anchor
# to both rust-prepare-and-restore-cache (which acts on it) and this command
# without CircleCI rejecting an undeclared parameter.
description: "Unused; accepted for shared-anchor compatibility."
type: boolean
default: false
steps:
# Surface sccache hit/write stats at job end. Harmless no-op when sccache
# is absent; confirms the GCS cache is hit rather than silently failing.
Expand Down Expand Up @@ -555,10 +562,23 @@ commands:
description: "Whether to set up the sccache GCS compile cache (see rust-prepare)."
type: boolean
default: true
init_superchain_submodule:
# Default true: most rust jobs build op-reth's chainspec, whose build.rs
# regenerates the gitignored superchain archive from this submodule. Only
# no-build lint jobs (fmt/typos/deny/zepter/no-std) opt out with false.
description: "Init the superchain-registry submodule (op-reth chainspec's build.rs reads it)."
type: boolean
default: true
steps:
- rust-prepare:
needs_clang: << parameters.needs_clang >>
enable_sccache: << parameters.enable_sccache >>
- when:
condition: << parameters.init_superchain_submodule >>
steps:
- run:
name: Initialize superchain-registry submodule
command: just update-superchain-registry-submodule
- rust-restore-build-cache:
version: << parameters.version >>
directory: << parameters.directory >>
Expand Down Expand Up @@ -755,6 +775,15 @@ jobs:
steps:
- utils/checkout-with-mise:
checkout-method: blobless
# These vendored workspaces path-depend on op-reth, whose chainspec build.rs
# regenerates the gitignored superchain archive from this submodule. Unlike
# rust-build (which goes through rust-prepare-and-restore-cache), this command
# never restores it, so on a binary cache miss the build below panics with
# "superchain-registry submodule not found". Init it up front; idempotent and
# cheap on a cache hit (the build short-circuits before touching it).
- run:
name: Initialize superchain-registry submodule
command: just update-superchain-registry-submodule
# Wrap the cargo build with sccache (sets RUSTC_WRAPPER). Fail-open: if the
# cache is unavailable the build just runs uncached. Only helps on a binary
# cache miss (a hit short-circuits the build below).
Expand Down Expand Up @@ -881,10 +910,6 @@ jobs:
command: |
mkdir -p ./tmp/test-results
mkdir -p ./tmp/testlogs
- run:
name: build Cannon example binaries
command: just elf # only compile ELF binaries with Go, we do not have MIPS GCC for creating the debug-dumps.
working_directory: cannon/testdata
- run:
name: Cannon Go lint
command: |
Expand Down Expand Up @@ -1666,15 +1691,17 @@ jobs:
checkout-method: blobless
enable-mise-cache: true
- run:
# sync-superchain-go runs in refresh mode: it regenerates the bundle AND
# rewrites the .sha256, so the diff check below is meaningful.
name: build superchain bundle
command: just sync-superchain
command: just sync-superchain-go
- run:
# Catches non-deterministic builds and stale .sha256 commits: if the
# rebuilt zip differs from what was approved in review, the .sha256
# file written by sync-superchain.sh will diverge from the committed
# one and this fails. The init.go runtime checks (SHA256 of embedded
# zip, COMMIT entry, op-geth cross-commit) run as part of go-tests
# downstream — no need to repeat them here.
# one and this fails. The init.go runtime check (SHA256 of the embedded
# zip against the committed .sha256) runs as part of go-tests
# downstream — no need to repeat it here.
name: verify rebuilt bundle matches committed .sha256
command: git diff --exit-code op-core/superchain/superchain-configs.zip.sha256
- persist_to_workspace:
Expand Down Expand Up @@ -1849,6 +1876,10 @@ jobs:
at: .
- go-restore-cache:
namespace: go-tests-with-fault-proof-deps
# Build the superchain-configs.zip op-e2e/faultproofs //go:embeds (no prep-superchain job here).
- run:
name: Build superchain bundle
command: just build-superchain-go
- run:
name: build cannon
command: just cannon
Expand Down Expand Up @@ -2447,6 +2478,8 @@ workflows:
- fuzz-golang:
name: fuzz-golang-<<matrix.package_name>>
on_changes: <<matrix.package_name>>
# attaches prep-superchain's superchain-configs.zip, which several of these packages //go:embed.
uses_artifacts: true
matrix:
parameters:
package_name:
Expand All @@ -2456,6 +2489,7 @@ workflows:
- op-chain-ops
requires:
- prep-go-modules
- prep-superchain
context:
- circleci-repo-readonly-authenticated-github-token
- fuzz-golang:
Expand All @@ -2479,6 +2513,8 @@ workflows:
- contracts-bedrock-build
- cannon-prestate
- prep-go-modules
# for the gitignored superchain-configs.zip op-e2e //go:embeds
- prep-superchain
- go-tests:
name: go-tests-short
parallelism: 12
Expand Down Expand Up @@ -2614,6 +2650,8 @@ workflows:
- rust-binaries-for-sysgo
- go-binaries-for-sysgo
- prep-go-modules
# for the gitignored superchain-configs.zip op-acceptance-tests //go:embeds
- prep-superchain
# IN-MEMORY - op-node/op-reth
- op-acceptance-tests:
name: memory-all-opn-op-reth
Expand All @@ -2631,6 +2669,8 @@ workflows:
- rust-binaries-for-sysgo
- go-binaries-for-sysgo
- prep-go-modules
# for the gitignored superchain-configs.zip op-acceptance-tests //go:embeds
- prep-superchain
# IN-MEMORY - kona/op-reth
- op-acceptance-tests:
name: memory-all-kona-op-reth
Expand All @@ -2649,6 +2689,8 @@ workflows:
- rust-binaries-for-sysgo
- go-binaries-for-sysgo
- prep-go-modules
# for the gitignored superchain-configs.zip op-acceptance-tests //go:embeds
- prep-superchain
# Gate job - single stable job used as GitHub required status check for develop.
# Uses terminal requires so it always runs (even when deps fail), giving the
# merge queue an immediate failure signal instead of a timeout.
Expand Down
Loading
Loading