Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4914 commits
Select commit Hold shift + click to select a range
1e0f52b
feat: handle reorg (op-rs/op-reth#356)
dhyaniarun1993 Nov 13, 2025
8c3c4e6
feat: add target debug logs to reth_optimism_exex (op-rs/op-reth#368)
varun-doshi Nov 13, 2025
fb4ae64
test: basic reorg (op-rs/op-reth#369)
dhyaniarun1993 Nov 14, 2025
621c45d
fix: missing block after reorg (op-rs/op-reth#382)
dhyaniarun1993 Nov 14, 2025
40e31d3
feat: add sync status RPC (op-rs/op-reth#353)
meyer9 Nov 14, 2025
7f5f5ba
feat: replace variant OpProofsStorageError::Other (op-rs/op-reth#355)
varun-doshi Nov 17, 2025
5658673
feat: Implemented `OpProofStoragePruner` (op-rs/op-reth#360)
sadiq1971 Nov 18, 2025
bf7ea49
feat: handle `ChainReverted` notification (op-rs/op-reth#380)
itschaindev Nov 19, 2025
2b1386a
chore: small lint (op-rs/op-reth#390)
mikemillaa Nov 20, 2025
a5a7d7d
test: reorg test scenarios (op-rs/op-reth#384)
dhyaniarun1993 Nov 20, 2025
cf831d0
test: add new devnet for op-reth as sequencer (op-rs/op-reth#391)
itschaindev Nov 21, 2025
78e4129
chore(trie): Simplify cursor interface (op-rs/op-reth#388)
emhane Nov 21, 2025
ee6a499
feat: add panels for `eth_getProof` in grafana dashboard (op-rs/op-re…
itschaindev Nov 24, 2025
79c2e79
fix: add custom TrieType to separate metrics for op proofs storage (o…
itschaindev Nov 25, 2025
db013a5
feat: implement methods for new traits for `inmemory` cursor (op-rs/o…
dhyaniarun1993 Nov 25, 2025
af58c70
fix: use loop instead of recursing in hashed next (op-rs/op-reth#402)
meyer9 Nov 25, 2025
e1c57a5
fix: store block updates metric fixed (op-rs/op-reth#409)
dhyaniarun1993 Nov 26, 2025
224d24b
feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407)
sadiq1971 Nov 26, 2025
b15fb98
feat: add `initialize-op-proofs` command (op-rs/op-reth#377)
meyer9 Dec 1, 2025
ac60ad8
feat: integrate `initialize-op-proofs` to devnet (op-rs/op-reth#412)
dhyaniarun1993 Dec 1, 2025
ff5757d
feat: dashboard for proof history related metrics (op-rs/op-reth#414)
itschaindev Dec 1, 2025
250d87c
fix: update metric on startup (op-rs/op-reth#419)
itschaindev Dec 2, 2025
52b99a4
chore: code coverage for historical proof exex (op-rs/op-reth#415)
dhyaniarun1993 Dec 2, 2025
58ead5f
chore: Add test for Display impl for PrunerOutput (op-rs/op-reth#435)
varun-doshi Dec 3, 2025
00053c5
feat: add exex sync status in grafana (op-rs/op-reth#429)
itschaindev Dec 3, 2025
51e2e65
feat: Consume TrieUpdates and HashedState from notification (op-rs/op…
dhyaniarun1993 Dec 4, 2025
fd70da6
fix: fall back to block execution if state updates missing from notif…
dhyaniarun1993 Dec 8, 2025
7e01bb9
feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375)
sadiq1971 Dec 8, 2025
ab34eed
feat: implemented pruner metrics (op-rs/op-reth#454)
sadiq1971 Dec 8, 2025
f6ea968
fix: new earliest block after pruning (op-rs/op-reth#470)
dhyaniarun1993 Dec 9, 2025
438a004
chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-re…
emhane Dec 9, 2025
a5e2991
fix(trie): Add missing `ValueWithSubkey` impl for `VersionedValue<T>`…
emhane Dec 11, 2025
a8c0cec
chore: add prune e2e test back (op-rs/op-reth#477)
dhyaniarun1993 Dec 11, 2025
03c8807
chore: sysgo integration (op-rs/op-reth#478)
dhyaniarun1993 Dec 12, 2025
d2b99ff
chore: enable code coverage for e2e (op-rs/op-reth#485)
dhyaniarun1993 Dec 15, 2025
dc69b45
chore(chain-state): Receive sorted updates to exex (op-rs/op-reth#464)
emhane Dec 15, 2025
75f723f
feat(trie): Cover error branches of `execute_and_store_block_updates`…
varun-doshi Dec 16, 2025
5c6d5c9
feat: unwind command added (op-rs/op-reth#499)
dhyaniarun1993 Dec 16, 2025
51c4c60
chore(test): use `reth_optimism_chainspec::BASE_SEPOLIA` in tests (op…
emhane Dec 16, 2025
55c9c88
feat: prune cli added (op-rs/op-reth#507)
dhyaniarun1993 Dec 16, 2025
c8d215a
test: add unit test for OpProofsStateProviderRef Debug impl (op-rs/op…
Himess Dec 17, 2025
bc9c65a
test: extended prune e2e with `getProof` consistency (op-rs/op-reth#514)
sadiq1971 Dec 17, 2025
0495c12
feat: used `OpProofsStorageWithMetrics` provider on pruner (op-rs/op-…
sadiq1971 Dec 17, 2025
ee140f2
feat: pruning progress and metrics improvements (op-rs/op-reth#504)
sadiq1971 Dec 18, 2025
79a6b97
feat: implement prune batching (op-rs/op-reth#530)
dhyaniarun1993 Dec 18, 2025
09bcb5d
feat: address lookup table (op-rs/op-reth#509)
dhyaniarun1993 Dec 18, 2025
c68c282
feat: backfill address map (op-rs/op-reth#512)
dhyaniarun1993 Dec 18, 2025
b067e58
fix(trie): Fix broken `Debug` impl unit test (op-rs/op-reth#539)
emhane Dec 22, 2025
34508b5
refactor(trie): return `OpProofsStorageError` from `store_block_updat…
Himess Dec 23, 2025
1f2da6f
feat: metrics panel for debug api ext (op-rs/op-reth#533)
sadiq1971 Jan 5, 2026
480185e
refactor(trie): return `OpProofsStorageError` from `execute_and_store…
Himess Jan 5, 2026
2e8e184
fix: initialize-op-proofs needs chain parameter (op-rs/op-reth#544)
dhyaniarun1993 Jan 5, 2026
f4411a4
fix: support Send in test_op_proofs_state_provider_ref_debug (op-rs/o…
dhyaniarun1993 Jan 5, 2026
1384b8c
chore(trie): return `OpProofsStorageError` from `unwind_history` (op-…
emhane Jan 6, 2026
3b37c28
refactor(trie): return OpProofsStorageError from unwind_and_store_blo…
Himess Jan 6, 2026
6d780a3
feat: integrated storing address mapping (op-rs/op-reth#534)
sadiq1971 Jan 6, 2026
0cfcae2
chore: refactor op-proofs cli (op-rs/op-reth#554)
itschaindev Jan 8, 2026
50617e5
feat: added startup safety check for massive pruning operation (op-rs…
dhyaniarun1993 Jan 8, 2026
996661a
chore: fix reorg e2e (op-rs/op-reth#558)
dhyaniarun1993 Jan 9, 2026
b18bca0
chore: improve `append_or_delete_dup_sorted` (op-rs/op-reth#552)
itschaindev Jan 9, 2026
5156c8c
chore(trie): replace `eyre` with `OpProofsStorageError` (op-rs/op-ret…
itschaindev Jan 9, 2026
7dd3202
chore: revert hybrid storage experiment (op-rs/op-reth#568)
dhyaniarun1993 Jan 12, 2026
937535e
refactor(trie): extract save_hashed_accounts closure to method1 (op-r…
Himess Jan 12, 2026
d9aebe5
feat: optimized history deletions (op-rs/op-reth#565)
sadiq1971 Jan 12, 2026
abcc582
ci: restrict codecov workflows to merge_group and workflow_dispatch (…
Himess Jan 13, 2026
21b1b10
feat: optimised initial state update for pruning (op-rs/op-reth#563)
dhyaniarun1993 Jan 14, 2026
6034621
docs: OpProofStorage DB Schema (op-rs/op-reth#583)
sadiq1971 Jan 14, 2026
f194918
chore: push devstack support for op-reth upstream (op-rs/op-reth#585)
itschaindev Jan 14, 2026
8d70f69
feat: add verification interval for integrity check (op-rs/op-reth#577)
itschaindev Jan 14, 2026
6c2b69a
chore: backfill refactor (op-rs/op-reth#578)
dhyaniarun1993 Jan 15, 2026
6d56aa0
chore: update optimism (op-rs/op-reth#590)
dhyaniarun1993 Jan 15, 2026
10f59a0
chore(tire): Improve test coverage for `OpProofsStorageError` (op-rs/…
emhane Jan 15, 2026
d89527d
fix: db_stat after upstream pull (op-rs/op-reth#601)
dhyaniarun1993 Jan 16, 2026
9b46623
test: unit test for exex (op-rs/op-reth#599)
sadiq1971 Jan 19, 2026
a68195b
fix: `MdbxStorageCursor` non first key issue (op-rs/op-reth#602)
itschaindev Jan 19, 2026
9ae48d0
chore: added exex missing tests (op-rs/op-reth#605)
dhyaniarun1993 Jan 20, 2026
b25eb22
chore: getProof benchmark utility added (op-rs/op-reth#550)
dhyaniarun1993 Jan 20, 2026
19b201f
feat: refactor and optimise pruning (op-rs/op-reth#587)
dhyaniarun1993 Jan 21, 2026
22bc513
fix: prune redundant tombstones at history horizon (op-rs/op-reth#620)
dhyaniarun1993 Jan 21, 2026
09a249f
feat: backfill job restart-safe and idempotent (op-rs/op-reth#594)
sadiq1971 Jan 21, 2026
029e4c1
chore(trie): Use `reth-trie-common` to enable `serde-bincode-compat` …
emhane Jan 22, 2026
3fcfc84
feat: backfill renamed to initialize (op-rs/op-reth#622)
sadiq1971 Jan 22, 2026
e75846f
feat: refactored store (op-rs/op-reth#623)
sadiq1971 Jan 23, 2026
ea0272a
chore: mv proof args to rollup node (op-rs/op-reth#625)
dhyaniarun1993 Jan 23, 2026
b0cb730
chore(trie): Revert redundant diff (op-rs/op-reth#610)
emhane Jan 23, 2026
16234ab
chore: use reth versioned deps (op-rs/op-reth#627)
dhyaniarun1993 Jan 23, 2026
aa5a191
chore(trie): Fix lint (op-rs/op-reth#636)
emhane Jan 26, 2026
4cfa4af
fix: removed unused pruner metrics (op-rs/op-reth#638)
sadiq1971 Jan 27, 2026
34197e5
chore(trie): Remove redundant generic lifetime for `InitializationJob…
emhane Jan 27, 2026
3f30fbe
chore(trie): Make `initialize` a method of `InitializationJob` (op-rs…
emhane Jan 27, 2026
01c0374
refactor(trie): use parking_lot::RwLock in InMemoryProofsStorage (op-…
Himess Jan 27, 2026
c007f59
feat: async notification processing (op-rs/op-reth#614)
dhyaniarun1993 Jan 27, 2026
5d0a4d8
chore: simplify OpProofsStore (op-rs/op-reth#639)
dhyaniarun1993 Jan 27, 2026
63fe697
chore: ExEx config builder (op-rs/op-reth#642)
dhyaniarun1993 Jan 27, 2026
4a8c89f
chore(trie): Fix redundant type annotations (op-rs/op-reth#645)
emhane Jan 27, 2026
221d813
chore(trie): Replace redundant clone of entries in `InitializationJob…
emhane Jan 27, 2026
0b82e72
chore: moved proof initialization to `reth-optimism-node` (op-rs/op-r…
sadiq1971 Jan 28, 2026
8ab4027
chore: separate initial state store trait (op-rs/op-reth#647)
dhyaniarun1993 Jan 28, 2026
4522254
chore(test): support reth as in sequencer and validator (op-rs/op-ret…
dhyaniarun1993 Jan 29, 2026
48240eb
chore: fix flaky e2e test (op-rs/op-reth#653)
dhyaniarun1993 Jan 29, 2026
1f21391
chore(test): dep dump (op-rs/op-reth#654)
dhyaniarun1993 Jan 29, 2026
d194274
ci: Only build the specified rust binary (#19204)
ajsutton Feb 17, 2026
4be9160
feat(op-deployer): remove default l1 and l2 PAOs and move docs (#19166)
serpixel Feb 17, 2026
1fd2b9a
fix(ai-test): pass structured_output_schema to Devin API for structur…
aliersh Feb 17, 2026
b664c90
chore(op-reth/historical-proofs): fix compilation errors
theochap Feb 17, 2026
fb233f1
ci: Fix rust workflow references to prestate builds. (#19228)
ajsutton Feb 18, 2026
39ec1d9
Merge pull request #19191 from ethereum-optimism/theo/port-historical…
sebastianst Feb 18, 2026
2eb7e3c
Merge pull request #19237 from ethereum-optimism/theo/pull-reth-2
sebastianst Feb 18, 2026
eb39df7
op-interop-filter: use dedicated port for admin RPC (#19083)
karlfloersch Feb 18, 2026
ce852f9
proofs: add interop FP trace extension action test to devstack (#19221)
Inphi Feb 18, 2026
a439b46
kona: Remove IndexedBlobHash usage and simplify blob handling (#19081)
geoknee Feb 18, 2026
4d9612e
op-node,supernode: retool "safe" and "local safe" labels in CL and EL…
geoknee Feb 18, 2026
afe708e
refactor(dsl): introduce InitMessage and ExecMessage structs (#19227)
ajsutton Feb 18, 2026
01a0dd2
op-acceptance: Add tests to prove validation of valid interop message…
ajsutton Feb 19, 2026
b7ec194
Update Interop Activation Timestamp to Use Pointer (#19244)
geoknee Feb 19, 2026
9ddfb46
chore: update to Reth 1.11.0 commit (#19240)
meyer9 Feb 19, 2026
3019251
chore(ci/rust): post docker images to gcp for rust binaries (#19246)
theochap Feb 19, 2026
6679f0b
chore(rust/op-reth): op-reth v1.11.0 (#19247)
theochap Feb 19, 2026
7f450c4
feat(flashblocks): implement speculative flashblock building (#18995)
teddyknox Feb 20, 2026
00e13a1
ci: remove kona-client from cross-platform smoke test (#19256)
falcorocks Feb 20, 2026
13fccc1
justfile: add release-notes recipe and helper tag queries (#19258)
sebastianst Feb 20, 2026
c03b87e
op-devstack: add unified Registry for component storage (Phase 2) (#1…
teddyknox Feb 20, 2026
dcc9012
circleci: add readonly-github-token context where checkout-with-mise …
bitwiseguy Feb 20, 2026
72aa180
chore: migrate docker images to oplabs GCP registry and fix prestate …
theochap Feb 20, 2026
4980b92
op-supernode/node: defer to superAuthority about finalized l2 head (#…
geoknee Feb 20, 2026
1ed453f
circleci: add go-binaries-for-sysgo as dep of go-tests-full (#19262)
bitwiseguy Feb 20, 2026
2460e59
feat(flashblocks): add transaction caching to avoid re-executing unch…
teddyknox Feb 20, 2026
3a84e7b
ci: Switch auth used to publish kona prestates. (#19268)
ajsutton Feb 22, 2026
ad28621
ci: fix kona-publish-prestates triggering on scheduled builds (#19270)
ajsutton Feb 23, 2026
608e708
test(contracts): improve DelayedWETH test coverage with fuzz tests (#…
devin-ai-integration[bot] Feb 23, 2026
fbaf0b0
ci: Remove the cannon-kona-host job (#19279)
ajsutton Feb 23, 2026
c60cdb1
ci: disable incremental compilation and bump rust cache version (#19278)
theochap Feb 24, 2026
e5850e5
proofs: Port TestInteropFaultProofs_UnsafeProposal test to devstack (…
Inphi Feb 24, 2026
6067931
sc-feat: policy engine staking ordering (#19192)
ashitakah Feb 24, 2026
94f4d70
op-supernode: prevent hang on shutdown (#19293)
geoknee Feb 24, 2026
a74ab7d
op-devstack: add capability interfaces for polymorphic lookups (Phase…
teddyknox Feb 24, 2026
f6576db
Raise TestSupernodeInteropActivationAfterGenesis timeout to 5min (#19…
axelKingsley Feb 24, 2026
c0a3f23
proofs: Add consolidation step coverage to super fault proof tests (#…
Inphi Feb 24, 2026
4592733
Add Karst hard fork activation (#19250)
maurelian Feb 24, 2026
2edb474
fix: various contracts-bedrock CI issues (#19300)
mds1 Feb 25, 2026
47fafdd
refactor(op-devstack): migrate Orchestrator to unified Registry (Phas…
teddyknox Feb 25, 2026
a7369cf
feat: Add L2CM implementation (#19111)
0xiamflux Feb 25, 2026
46cd1ff
op-devstack, op-supernode: close app context before stopping service …
geoknee Feb 25, 2026
80804af
op-devstack: refactor genesis interop activation to use UseGenesisInt…
ajsutton Feb 26, 2026
a812660
fix(contracts-bedrock): make contracts CI reliable (#19323)
mds1 Feb 27, 2026
a8a2956
supernode: Same Timestamp Verification (#19217)
axelKingsley Feb 28, 2026
ef39b82
fix supernode: Initial Block Seal (#19308)
axelKingsley Mar 2, 2026
be00aaa
fix(supernode): l1 inclusion is the max l1 inclusion over all l2 bloc…
geoknee Mar 2, 2026
870a5c2
drain all goroutines before exiting function (#19337)
geoknee Mar 2, 2026
9ec5482
kona/protocol/derive: handle "blob not found" correctly (#19328)
geoknee Mar 2, 2026
71a5692
fix(contracts-bedrock): remove artifact pulling, use unoptimized buil…
mds1 Mar 2, 2026
e7e0118
op-interop-filter: fix cross-validation perf, public admin endpoint, …
karlfloersch Mar 2, 2026
42f6e3b
ci: add cannon-builder image to Docker CI builds (#19295)
theochap Mar 2, 2026
f51d8aa
proofs: Add single-chain interop and preinterop fault proof smoke tes…
Inphi Mar 2, 2026
ee4d492
fix(kona-node): Map BlockNotFound errors to ResetError for reorg reco…
geoknee Mar 2, 2026
cb87fc5
ci: Remove build rust step (#19280)
ajsutton Mar 2, 2026
0777438
op-node: execute NUT bundles at Karst fork activation (#19220)
maurelian Mar 2, 2026
501451f
op-acceptance-tests: add TestSupernodeInteropActivationAfterGenesis t…
ajsutton Mar 3, 2026
991d66a
Fix stuck pause state causing shutdown hang in chain container (#19365)
geoknee Mar 3, 2026
5161204
contracts: add documentation for audit findings #2, #3, #7, #12, #15,…
smartcontracts Mar 3, 2026
a6310c8
fix(contracts): require interop dev feature for migrate (Finding 21) …
smartcontracts Mar 3, 2026
29acfe5
fix(contracts-bedrock): dedupe unoptimized profile mock logic into Se…
mds1 Mar 3, 2026
a7c732e
chore(contracts): add non-idempotent initializer review rules (#19273)
smartcontracts Mar 3, 2026
7c54d1e
fix(kona/derive): preserve error kind from chain provider in BlobSour…
ajsutton Mar 4, 2026
32bbf86
chore(op-acceptor): v3.9.0 (#19368)
scharissis Mar 4, 2026
f6656ff
refactor(op-devstack): add generic component access to Network/System…
teddyknox Mar 4, 2026
2534f43
op-node: copy LocalSafeL2 in follow source mode (#19330)
axelKingsley Mar 4, 2026
6720bec
op-acceptance-tests: Add tests for L2 light CL follow source mode int…
wwared Mar 4, 2026
88d42e5
op-dispute-mon: Add metrics for multi-supernode support (#19105)
pauldowman Mar 5, 2026
56ee47e
contracts: implement onlyDelegateCall and add tests for audit fixes (…
smartcontracts Mar 5, 2026
87d909e
ci: add @security-oncall mentions to contracts-bedrock CI job failure…
devin-ai-integration[bot] Mar 5, 2026
2312fd9
op-acceptance-tests: disable `supernode/interop/activation` tests (#1…
geoknee Mar 5, 2026
19aef66
test(contracts): reuse ProxyAdmin tests on L2ProxyAdmin for backwards…
aliersh Mar 5, 2026
5353148
chore(op-acceptor): v3.10.1 (#19390)
scharissis Mar 5, 2026
8227477
all: update op-geth (#19414)
joshklop Mar 5, 2026
d1293a5
fix(contracts): forward-compatible OZ v5 Initializable in upgrade (Fi…
smartcontracts Mar 5, 2026
abe047a
chore(op-acceptance-tests): add ELSync stalling tests to flake-shake …
smartcontracts Mar 5, 2026
e41d64f
chore: add make to mise.toml (#19396)
ajsutton Mar 5, 2026
cadb73d
fix(contracts): address audit findings 14, 6, 8, 13, 19 (#19281)
smartcontracts Mar 5, 2026
b04da4c
chore(op-acceptance-tests): add TestSupernodeInteropChainLag to flake…
smartcontracts Mar 6, 2026
3337071
op-acceptance-tests: Add PE MVP tests (#19404)
pcw109550 Mar 6, 2026
ee28d5a
chore(op-acceptance-tests): op-acceptor v3.10.2 (#19430)
scharissis Mar 6, 2026
dfe3ce7
fix(ci): retry L1 archive RPC call in print-pinned-block-number (#19421)
smartcontracts Mar 6, 2026
c489321
op-reth: bump reth/op-reth to v1.11.1 and MSRV to 1.92 (#19292)
theochap Mar 6, 2026
5416d68
refactor(op-devstack): remove backward compatibility type aliases to …
teddyknox Mar 6, 2026
a3a933a
fix(op-service): increase Anvil startup timeout from 5s to 30s (#19424)
smartcontracts Mar 6, 2026
968a92e
fix(depreqres): stabilize L2CLB snapshot after disconnect to fix ELSy…
smartcontracts Mar 6, 2026
8be6fa7
test(contracts): fix testFuzz_params_validValues_succeeds rejection r…
smartcontracts Mar 6, 2026
f002a63
docs(contracts): move l2 upgrade contracts spec from specs repo (#19409)
aliersh Mar 6, 2026
c14cd1e
chore(contracts-bedrock): deduplicate test helpers (#19434)
mds1 Mar 6, 2026
81d57ae
fix(op-supernode): early return in VerifiedBlockAtL1 for zero l1Block…
karlfloersch Mar 8, 2026
cb794fb
op-e2e: Simplify output game creation by auto-deriving rootClaim (#19…
esorense Mar 8, 2026
a4bfa26
feat: register zk proofs feature flag (#19388)
0xChin Mar 8, 2026
470ae6e
chore(ci): add op to chain-specific upgrade test matrix, remove base …
smartcontracts Mar 9, 2026
c694b04
feat(op-program): add vm-compat-triage skill (#19444)
ajsutton Mar 9, 2026
fe24eb3
chore(kona): remove deprecated supervisor crates (#19290)
theochap Mar 9, 2026
319a1a3
feat(kona): add Karst hardfork support (#19372)
maurelian Mar 9, 2026
62a55e1
feat: add NUT Bundle generation (#19248)
0xniha Mar 9, 2026
a535847
Revert "op-e2e: Simplify output game creation by auto-deriving rootCl…
ajsutton Mar 9, 2026
caeef61
supernode: Return whatever optimistic blocks are available (#19348)
ajsutton Mar 9, 2026
22faa75
fix(supernode): consider verifier L1 progress in superroot CurrentL1 …
ajsutton Mar 9, 2026
f5dc949
op-devstack: fix flashblocks preset sequencer EL selection (#19458)
teddyknox Mar 9, 2026
f7650d5
fix(ci): capture vm-compat findings JSON as CI artifact (#19442)
ajsutton Mar 10, 2026
b894aa1
chore(ci): skip kona-build-release on PRs that don't touch Rust (#19459)
smartcontracts Mar 10, 2026
855027e
chore(ci): gate acceptance-tests in rust. add jovian in base acceptan…
theochap Mar 10, 2026
2601115
fix(ci): fix SIGPIPE exit code 141 in kona-build-release skip logic (…
ajsutton Mar 10, 2026
4b692e4
feat(ci): add required gate jobs for Rust CI (#19453)
theochap Mar 10, 2026
ce74ec8
feat: enable setting CANNON_KONA as respected game type (#19117)
stevennevins Mar 10, 2026
9d34793
chore: Remove remnants of kona-supervisor (#19470)
wwared Mar 10, 2026
504232c
kona(derive): remove dead EthereumDataSourceVariant file (#19341)
ajsutton Mar 10, 2026
8b8639b
chore: bump just to 1.46.0 (#19469)
maurelian Mar 10, 2026
d25685c
fix(kona/derive): accept EIP-4844 type-3 batcher txs in CalldataSourc…
ajsutton Mar 10, 2026
37c9892
fix(kona/protocol): add bounds checks in span batch decode to prevent…
ajsutton Mar 10, 2026
7da4055
fix(kona/derive): copy origin field during Holocene BatchQueue→BatchV…
ajsutton Mar 11, 2026
9f3b909
fix(kona/derive): return Reset instead of Critical on blob under-fill…
ajsutton Mar 11, 2026
4444277
fix(ci): add passthrough parameter declarations to continuation confi…
ajsutton Mar 11, 2026
ebb6bae
op-challenger: Replace supervisor with supernode in vm runner (#19438)
wwared Mar 11, 2026
d40fb20
chore(rust/op-reth): bump op-reth to 1.11.2 (#19472)
theochap Mar 11, 2026
0c675ce
op-devstack: Add P2P config for supernode follow mode CLs (#19439)
wwared Mar 11, 2026
86f1d29
README: Document monorepo downloading & shallow cloning (#19485)
sebastianst Mar 11, 2026
648778d
fix(kona/derive): make syscfg update failure non-fatal in L1Traversal…
ajsutton Mar 11, 2026
6eb557f
feat(teams): rename core team (#19436)
serpixel Mar 11, 2026
38f07c5
refactor(op-devstack): simplify acceptance testing around direct pres…
teddyknox Mar 11, 2026
7f9662a
fix(kona/derive): add over-fill check in BlobSource::load_blobs (#19364)
ajsutton Mar 12, 2026
8cfb89f
chore(linter): migrate Makefile to justfile (#19473)
ajsutton Mar 12, 2026
7f9c2ae
test(contracts): convert GovernanceToken tests to fuzz tests (#19490)
devin-ai-integration[bot] Mar 12, 2026
f67fd6c
Remove accidental `PR.md` from repository root (#19497)
Copilot Mar 12, 2026
9aabfc5
chore: add fix-rust-fmt Claude Code skill (#19488)
ajsutton Mar 12, 2026
7149381
chore(rust/op-reth): bump reth to v1.11.3 (#19498)
theochap Mar 12, 2026
54ab84a
chore(cannon): migrate Makefile to justfile (#19474)
ajsutton Mar 12, 2026
32fe33b
chore: remove devnet-sdk and kurtosis-devnet (#19506)
teddyknox Mar 12, 2026
48b31f0
docs: add default branch and build system info to AGENTS.md (#19508)
sebastianst Mar 12, 2026
c6ff4f9
op-node/derive: drop pre-Delta span batch as NotEnoughData (#19500)
sebastianst Mar 12, 2026
218bff0
op-node/derive: drop malformed span batch tx data as NotEnoughData (#…
sebastianst Mar 12, 2026
b80de52
op-node/derive: return CriticalError when beacon endpoint not configu…
sebastianst Mar 12, 2026
286f5ad
op-node/derive: drop bad channel decompression as NotEnoughData (#19499)
sebastianst Mar 12, 2026
60a811c
chore(op-e2e): migrate Makefile to justfile (#19475)
ajsutton Mar 12, 2026
9a50c60
chore(op-program): migrate Makefile to justfile (#19476)
ajsutton Mar 12, 2026
74c6df4
chore: migrate root Makefile to justfile (#19477)
ajsutton Mar 13, 2026
e78a35e
ci: update CircleCI config to use just instead of make (#19482)
ajsutton Mar 13, 2026
ccb6aa1
chore(cannon): migrate testdata Makefiles to justfiles (#19483)
ajsutton Mar 13, 2026
681867a
chore(rust/op-reth): port historical proofs binary change (#19252)
theochap Mar 13, 2026
92336ef
docs(ai): add Go and Rust development guidance (#19518)
ajsutton Mar 13, 2026
ecb8211
fix(cannon): install just from releases in Dockerfile.diff (#19521)
ajsutton Mar 13, 2026
7d567d1
fix(ci): restore compute-git-versions as native make target (#19523)
ajsutton Mar 13, 2026
fb6dc21
op-devstack: add explicit local contract artifacts override (#19516)
teddyknox Mar 13, 2026
672bbe8
fix(ci): add rust/op-reth/tests/ to .semgrepignore (#19522)
ajsutton Mar 13, 2026
4032e30
fix(flake-shake): reviewers (#19507)
serpixel Mar 13, 2026
aadf0fc
chore: add nut bundle check to just pr (#19486)
0xiamflux Mar 13, 2026
487c4a1
rebuild op-reth
InoMurko Apr 3, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
3,211 changes: 61 additions & 3,150 deletions .circleci/config.yml

Large diffs are not rendered by default.

3,660 changes: 3,660 additions & 0 deletions .circleci/continue/main.yml

Large diffs are not rendered by default.

1,359 changes: 1,359 additions & 0 deletions .circleci/continue/rust-ci.yml

Large diffs are not rendered by default.

400 changes: 400 additions & 0 deletions .circleci/continue/rust-e2e.yml

Large diffs are not rendered by default.

63 changes: 63 additions & 0 deletions .circleci/rust-nightly-bump.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
version: 2.1

# Scheduled workflow to bump the pinned nightly Rust toolchain version.
# Runs daily and opens a PR if the pin in rust/justfile is out of date.

jobs:
bump-nightly:
docker:
- image: cimg/base:2026.03
steps:
- checkout

- run:
name: Compute nightly versions
command: |
TODAY=$(date -u +%Y-%m-%d)
LATEST="nightly-${TODAY}"
CURRENT=$(grep -oE 'nightly-[0-9]{4}-[0-9]{2}-[0-9]{2}' rust/justfile | head -1)

echo "Latest nightly: $LATEST"
echo "Current pin: $CURRENT"

echo "export LATEST=$LATEST" >> "$BASH_ENV"
echo "export CURRENT=$CURRENT" >> "$BASH_ENV"

- run:
name: Open PR if pin is outdated
command: |
if [ "$LATEST" = "$CURRENT" ]; then
echo "Pin is already up to date ($CURRENT). Nothing to do."
exit 0
fi

BRANCH="ci/bump-rust-nightly-${LATEST}"

# Authenticate git push via GITHUB_TOKEN_GOVERNANCE
git remote set-url origin "https://x-access-token:${GITHUB_TOKEN_GOVERNANCE}@github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}.git"
git checkout -b "$BRANCH"

sed -i "s/NIGHTLY := \"${CURRENT}\"/NIGHTLY := \"${LATEST}\"/" rust/justfile
git add rust/justfile
git commit -m "ci: bump rust nightly pin to ${LATEST}"
git push origin "$BRANCH"

GH_TOKEN="$GITHUB_TOKEN_GOVERNANCE" gh pr create \
--title "ci: bump rust nightly pin to ${LATEST}" \
--body "Automated daily bump of the pinned nightly Rust toolchain from \`${CURRENT}\` to \`${LATEST}\`. CI on this PR will validate the new toolchain compiles cleanly." \
--base main \
--label "ci" || echo "PR may already exist for this branch."

workflows:
scheduled-rust-nightly-bump:
triggers:
- schedule:
cron: "0 9 * * *" # 09:00 UTC daily
filters:
branches:
only:
- main
jobs:
- bump-nightly:
context:
- circleci-repo-optimism
55 changes: 55 additions & 0 deletions .claude/skills/fix-rust-fmt/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# fix-rust-fmt

Fix Rust formatting issues in the optimism monorepo which would cause the `rust-fmt` CI job to fail.

## When to Use

Use this skill when the `rust-fmt` CI job fails on a PR that touches Rust code.

### Trigger Phrases

- "Fix rust formatting"
- "rust-fmt is failing"
- "Fix the rust-fmt CI job"

## Prerequisites

- `mise` must be trusted and installed for this repo (`mise trust && mise install`)

## Workflow

### Step 1: Ensure mise tools are installed

From the repo root (or worktree root):

```bash
cd <REPO_ROOT> && mise install
```

This installs `rust`, `just`, and all other tools pinned in `mise.toml`.

### Step 2: Install the nightly toolchain with rustfmt

The justfile pins a specific nightly (see `NIGHTLY` variable in `rust/justfile`).
Install it:

```bash
cd <REPO_ROOT>/rust && mise exec -- just install-nightly
```

### Step 3: Run the formatter

```bash
cd <REPO_ROOT>/rust && mise exec -- just fmt-fix
```

Any files that change are the reason the CI job failed. Stage and commit them.

## Notes

- `mise exec --` activates the mise environment so `cargo`, `just`, and
`rustup` resolve to the versions pinned in `mise.toml`.
- The nightly toolchain is required because the workspace uses unstable
`rustfmt` options (see `rust/rustfmt.toml`).
- There is no need to inspect `rust-fmt` CI errors — if the job failed, running
`just fmt-fix` and committing the result is the complete fix.
200 changes: 200 additions & 0 deletions .claude/skills/fix-todo/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
# fix-todo

Resolve TODO checker CI failures by reopening GitHub issues that still have active TODOs in the codebase.

## When to Use

Use this skill when the scheduled TODO checker CI job fails. The TODO checker validates that TODO comments in the codebase don't reference closed GitHub issues.

### Trigger Phrases

- "Fix the latest TODO checker failure"
- "Resolve the TODO checker CI failure"
- "Handle the TODO checker issue"
- "Reopen issues from TODO checker"

## Background

The repository runs a scheduled CircleCI workflow (`scheduled-todo-issues`) every 4 hours that validates TODO comments. TODO comments can reference issues in formats like:
- `TODO(#1234)` - references ethereum-optimism/optimism
- `TODO(repo#1234)` - references ethereum-optimism/repo
- `TODO(org/repo#1234)` - full reference

When an issue is closed but TODOs still reference it, the job fails and issues need to be reopened to track the remaining work.

## Prerequisites

- `gh` CLI authenticated with GitHub
- Note: CircleCI API is publicly accessible for this repository, no token required

## Workflow

### Step 1: Find the latest scheduled TODO checker job

```bash
LATEST_PIPELINE=$(curl -s "https://circleci.com/api/v2/project/gh/ethereum-optimism/optimism/pipeline?branch=develop" | \
jq -r '.items[] | select(.trigger.type == "scheduled_pipeline") | {id, number, created_at} | @json' | head -1)

PIPELINE_ID=$(echo "$LATEST_PIPELINE" | jq -r '.id')
PIPELINE_NUMBER=$(echo "$LATEST_PIPELINE" | jq -r '.number')
```

### Step 2: Get the workflow and job details

Note: The latest scheduled pipeline may only contain a "setup" workflow. Search through recent scheduled pipelines to find one with the "scheduled-todo-issues" workflow.

```bash
# Find a pipeline with the TODO workflow
PIPELINE_WITH_TODO=$(curl -s "https://circleci.com/api/v2/project/gh/ethereum-optimism/optimism/pipeline?branch=develop" | \
jq -r '.items[] | select(.trigger.type == "scheduled_pipeline") | .id' | while read pid; do
workflows=$(curl -s "https://circleci.com/api/v2/pipeline/$pid/workflow" | jq -r '.items[] | .name')
if echo "$workflows" | grep -q "scheduled-todo-issues"; then
echo "$pid"
break
fi
done)

PIPELINE_ID="$PIPELINE_WITH_TODO"
PIPELINE_NUMBER=$(curl -s "https://circleci.com/api/v2/project/gh/ethereum-optimism/optimism/pipeline?branch=develop" | \
jq -r ".items[] | select(.id == \"$PIPELINE_ID\") | .number")

WORKFLOW_DATA=$(curl -s "https://circleci.com/api/v2/pipeline/$PIPELINE_ID/workflow" | \
jq '.items[] | select(.name == "scheduled-todo-issues")')
WORKFLOW_ID=$(echo "$WORKFLOW_DATA" | jq -r '.id')
WORKFLOW_STATUS=$(echo "$WORKFLOW_DATA" | jq -r '.status')

JOB_NUMBER=$(curl -s "https://circleci.com/api/v2/workflow/$WORKFLOW_ID/job" | \
jq -r '.items[] | .job_number')
```

Check if the workflow status is "failed". If it's "success" or "running", inform the user there's no failure to fix or to wait for completion.

### Step 3: Fetch the job output to find closed issues

```bash
OUTPUT_URL=$(curl -s "https://circleci.com/api/v1.1/project/gh/ethereum-optimism/optimism/$JOB_NUMBER" | \
jq -r '.steps[] | select(.name | contains("TODO")) | .actions[0].output_url')

curl -s "$OUTPUT_URL" | jq -r '.[].message'
```

The output will show a table of closed issues. Look for the `[Error] Closed issue details:` section at the end which shows:
- Repository & Issue (e.g., "ethereum-optimism/optimism #18616")
- Issue Title
- Location (e.g., "op-acceptance-tests/tests/isthmus/preinterop/interop_readiness_test.go:106")

### Step 4: Parse the closed issue information

Extract from the "Closed issue details" table:
- Issue number (e.g., #18616)
- File path and line number (e.g., `op-acceptance-tests/tests/isthmus/preinterop/interop_readiness_test.go:106`)
- Issue title

### Step 5: Find who closed the issue

Issues can be closed via PR or directly by a user. Check the timeline to find the most recent person who closed it:

```bash
ISSUE_NUM="<issue_number>"

# Use GraphQL to get the timeline and find the most recent close event
CLOSER=$(gh api graphql -f query="
query {
repository(owner: \"ethereum-optimism\", name: \"optimism\") {
issue(number: $ISSUE_NUM) {
timelineItems(last: 20, itemTypes: [CLOSED_EVENT, REOPENED_EVENT]) {
nodes {
... on ClosedEvent {
__typename
createdAt
actor {
login
}
closer {
__typename
}
}
... on ReopenedEvent {
__typename
createdAt
actor {
login
}
}
}
}
}
}
}" --jq '.data.repository.issue.timelineItems.nodes | reverse | .[] | select(.__typename == "ClosedEvent") | .actor.login' | head -1)

echo "Issue closed by: @$CLOSER"
```

This finds the most recent ClosedEvent in the timeline, which correctly handles cases where an issue was:
- Closed via PR, then reopened, then closed directly by a user
- Closed multiple times by different people

Always tag the person from the most recent close event.

### Step 6: Read the actual TODO line from the file

Read the file at the location specified in the error to get the exact TODO comment text.

### Step 7: Reopen the issue with proper attribution

Format the reopening comment following this template:

```bash
gh issue reopen $ISSUE_NUM --comment "@${CLOSER} Reopening because this issue was closed but there's still a TODO/skip referencing it in the codebase.

[Brief context about what was completed vs what remains]

The [TestName] at \`<file>:<line>\` is still skipped with:

\`\`\`<language>
<actual TODO line from code>
\`\`\`

Discovered by the TODO check in CI: https://app.circleci.com/pipelines/github/ethereum-optimism/optimism/${PIPELINE_NUMBER}/workflows/${WORKFLOW_ID}/jobs/${JOB_NUMBER}"
```

## Requirements

- **Always tag the person who closed the issue** using their GitHub handle (found via the most recent close event in the timeline)
- **Include the exact file location** where the TODO exists
- **Include the CircleCI job URL** for traceability
- **Read and include the actual TODO line** from the code
- **Provide context** about what was completed vs what remains (if determinable from the issue)

## Output Format

After successfully reopening, report:

```
✓ TODO checker failure resolved

Issue: #<number> - <title>
Status: Reopened
Tagged: @<username>
Location: <file>:<line>

View issue: https://github.com/ethereum-optimism/optimism/issues/<number>
CircleCI job: https://app.circleci.com/pipelines/github/ethereum-optimism/optimism/<pipeline>/workflows/<workflow>/jobs/<job>
```

## TODO Comment Formats

The TODO checker validates these formats:
- `TODO(#<number>)` - references ethereum-optimism/optimism
- `TODO(<repo>#<number>)` - references ethereum-optimism/<repo>
- `TODO(<org>/<repo>#<number>)` - full reference

## Error Handling

**Multiple closed issues**: Process each one sequentially, asking for confirmation before reopening each.

**Issue already reopened**: Check if there's already a comment about the TODO. If not, add a comment with the location.

## About the TODO Checker

The TODO checker runs via `.circleci/continue/main.yml` as a scheduled workflow named `scheduled-todo-issues`. It executes `ops/scripts/todo-checker.sh --verbose --strict --check-closed`.
Loading