Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
369 commits
Select commit Hold shift + click to select a range
e237c74
op-acceptance-tests: migrate operator fee tests from devnet-sdk to op…
scharissis Aug 19, 2025
2a67efc
Remove TODO (#17159)
ajsutton Aug 20, 2025
a1a200a
op-sync-tester: eth namespace relay (#17117)
pcw109550 Aug 20, 2025
3b73ebb
refactor: Remove PromoteSafeEvent (#17161)
pcw109550 Aug 20, 2025
f9e7aac
op-node: remove PendingSafeRequestEvent (#17122)
joshklop Aug 20, 2025
a4275c9
update conductor scenario when builder failure (#17158)
cody-wang-cb Aug 20, 2025
79f3e4d
op-service/eth: fix exec payload creation from block (#17154)
sebastianst Aug 20, 2025
cb52e92
op-node: remove PromoteFinalizedEvent (#17165)
joshklop Aug 20, 2025
a59b414
chore(op-acceptance-tests): migrate TestInteropReadiness to op-devsta…
scharissis Aug 20, 2025
0148766
ci: Increase timeout of publish-cannon-prestates job (#17163)
Inphi Aug 20, 2025
705abbb
op-e2e: Remove unused withdrawal action methods (#17128)
rickck11 Aug 21, 2025
f4147d1
feat(devstack/rpc): expose rpc endpoint (#17168)
theochap Aug 21, 2025
f6e0e88
op-deployer: Add forge autodiscovery (#17152)
mslipper Aug 21, 2025
cea6199
op-acceptance-tests: Introduce GameHelper to perform multiple moves (…
ajsutton Aug 21, 2025
fea03f4
op-service: Clarify testlogs (#17174)
mslipper Aug 21, 2025
9263a9d
cannon: Drop version 7 feature flags (#17167)
mbaxter Aug 21, 2025
382fe3f
op-program: Disable go1.25 annotation of anonymous memory mappings. (…
ajsutton Aug 21, 2025
eb2b7db
acceptance-tests: Wait for follower node to be in sync with sequencer…
ajsutton Aug 22, 2025
576843a
feat: create a v2 of the fault dispute game to validate creator patte…
stevennevins Aug 22, 2025
0b53a5b
Move `closer.Close()` to a defer statement immediately after error ch…
rickck11 Aug 22, 2025
477692e
op-sync-tester: Verifier Engine APIs for Isthmus (#17072)
pcw109550 Aug 22, 2025
aafa23a
op-sync-tester: Verifier Engine APIs for Ecotone, Fjord, Granite, Hol…
pcw109550 Aug 22, 2025
1263559
op-devstack: add SyncTester to sysgo; initial E2E test with SyncTeste…
nonsense Aug 22, 2025
9feb722
Upload finalized Cannon (Go 1.24) audit report (#17183)
mbaxter Aug 22, 2025
d867c1c
feat(cannon): reduce info logging frequency from %100000 to %1000000 …
rickck11 Aug 24, 2025
53a4cf3
Update README.md (#16753)
rickck11 Aug 24, 2025
5033003
Reorganize sync deriver logic (#17098)
teddyknox Aug 25, 2025
f7a637a
op-devstack: add hydrate to sync tester (#17198)
nonsense Aug 25, 2025
c72a9ce
cannon: Deploy Cannon with Go 1.24 support (#17155)
mbaxter Aug 25, 2025
0dc85c8
chore: Add fork retries to upgrade tests (#17201)
janjakubnanista Aug 25, 2025
5dfb32a
feat(kurtosis-devnet): 1/2 add flashblocks support (#17172)
serpixel Aug 25, 2025
19fddc6
all: Update op-geth dependency, based on geth v1.16.1 (#16785)
0x00101010 Aug 25, 2025
9eed9fa
challenger: Add a metric to report the number of consecutive failures…
ajsutton Aug 25, 2025
ea7bbe9
superchain-config: Fix fuzz test proxyAdmin constraints (#17203)
mbaxter Aug 25, 2025
e4c34ec
op-up: add ascii art (#17205)
joshklop Aug 25, 2025
b20dc2e
op-chain-ops: update srcmap loading to handle forge compiler profiles…
protolambda Aug 25, 2025
2951d4d
op-up: add survey link (#17206)
joshklop Aug 25, 2025
5a4374c
op-up: basic cli argument handling (#17208)
joshklop Aug 26, 2025
772ef5d
ci: Write cannon preimage commit info to a temp file before uploading…
ajsutton Aug 26, 2025
3009677
op-sync-tester: implement L2ELNode interface with sync tester (#17200)
nonsense Aug 26, 2025
e30097b
chore: update op-deployer docs (#17204)
hexshire Aug 26, 2025
386ee4d
fix(ci): remove #986 todo (#17229)
serpixel Aug 26, 2025
95ce6f1
Verify contract deployment tx is actually included. (#17232)
ajsutton Aug 27, 2025
c76d2b2
op-sync-tester: Verifier Engine APIs for Bedrock, Canyon, Delta (#17234)
pcw109550 Aug 27, 2025
74faf21
feat(op-devstack): support kona supervisor sysgo (#17195)
dhyaniarun1993 Aug 27, 2025
691d92f
op-up: add unit test (#17210)
joshklop Aug 27, 2025
e9991a8
op-program: Fix length check for pending progress in consolidate step…
ajsutton Aug 27, 2025
25180d3
op-challenger: Implement an option to restrict frequency of update cy…
ajsutton Aug 27, 2025
f6bf2b8
feat(op-acceptance-tests): flaky test report; updates. (#17250)
scharissis Aug 28, 2025
08c87eb
op-sync-tester: Session Types and API interfaces (#17252)
pcw109550 Aug 28, 2025
e4352fe
op-deployer: Add forge CLI wrapper (#17231)
mslipper Aug 28, 2025
1ebc5f5
op-deployer: StandardBin enforces specific forge version (#17242)
bitwiseguy Aug 28, 2025
b20817a
cannon: Reduce size of heap/code cache (#17246)
Inphi Aug 28, 2025
edfd53a
op-devstack: Fix flakiness in AwaitTimestamp (#17270)
ajsutton Aug 29, 2025
2850953
op-deployer: enable embedded artifacts integration test (#17276)
bitwiseguy Aug 29, 2025
080d626
ci: Remove codecov from go tests (#17291)
mslipper Aug 30, 2025
acb89e9
op-devstack: Explicit Sync Tester EL and API Session Binding (#17275)
pcw109550 Sep 1, 2025
397db1c
configurable delay between game responses (#16988)
leopoldjoy Sep 1, 2025
8af88eb
chore: remove the frozen file check (#17289)
stevennevins Sep 1, 2025
355fdcb
feat(op-acceptance-tests): port fjord (holocene) tests to devstack (#…
serpixel Sep 2, 2025
49eaec0
op-sync-tester: Support sync namespace (#17299)
pcw109550 Sep 2, 2025
d6733fd
all: Update op-geth dependency, based on geth v1.16.2 (#17228)
joshklop Sep 2, 2025
d97e8af
op-deployer: add configurable chainIntent.GasLimit field (#17271)
bitwiseguy Sep 2, 2025
a92e804
feat(op-acceptance-tests): Port TestSmokeTestFailure and TestInteropS…
serpixel Sep 2, 2025
891015e
ci: Run the publish-cannon-prestates job on circleci boxes instead of…
ajsutton Sep 3, 2025
fc6ddc8
op-devstack: add sync-tester with external EL (#17251)
nonsense Sep 3, 2025
9312db0
fix comment for l1.cache-size (#17107)
zhiqiangxu Sep 3, 2025
539c39a
feat: add feature flagging functionality to SystemConfig (#17281)
smartcontracts Sep 3, 2025
ce174fc
feat(op-acceptance-tests): add more sysgo tests. (#16817)
scharissis Sep 4, 2025
5a8da84
feat(op-acceptance-tests): move all ATs to one workflow (#16755)
scharissis Sep 4, 2025
fac5bbe
feat(op-acceptance-tests): op-acceptor v3.1.0 (#17310)
scharissis Sep 4, 2025
8835647
make `IDelayedWETH` inherit `IProxyAdminOwnedBase` (#16912)
zhiqiangxu Sep 4, 2025
d3435ad
circleci, op-acceptance-tests: nightly ci sync tests with external ne…
nonsense Sep 4, 2025
2a4444e
feat: bump op-geth and update GetCommittedState to GetStateAndCommite…
jelias2 Sep 4, 2025
7a2ff6d
remove un-used code in backend.FromConfig (#17321)
zhiqiangxu Sep 5, 2025
b8d6340
remove dup (#17325)
DenseDenise Sep 5, 2025
7176d35
feat: creator pattern integrate FaultDisputeGameV2 into DGF (#17119)
stevennevins Sep 5, 2025
b9ebd2e
op-sync-tester: Better Session Handling (#17316)
pcw109550 Sep 5, 2025
898e03a
feat: op-node sync tests for multiple networks in ci (#17334)
jelias2 Sep 5, 2025
ee73dba
min-base-fee: bring in op-geth code (#17307)
geoknee Sep 5, 2025
c09c867
feat: dev feature flagging in OPCM (#17268)
smartcontracts Sep 5, 2025
0293dac
feat: updated system config pause (#17322)
smartcontracts Sep 5, 2025
8328a42
feat: have VerifyOPCM check for dev bitmap (#17324)
smartcontracts Sep 5, 2025
4de2dc2
op-e2e: Fix broken jovian precompile FP tests (#17349)
Inphi Sep 6, 2025
0c9a25c
contracts: Add CANNON_KONA game type (#17358)
ajsutton Sep 8, 2025
333f7c5
feat(readme): update directory structure (#17359)
scharissis Sep 8, 2025
f3fd550
refactor(op-e2e): use ActivateForkAtOffset utility (#17362)
geoknee Sep 8, 2025
61dba77
fix superchainConfig upgrade issue & support multiple superchainConfi…
AmadiMichael Sep 8, 2025
45f03f2
op-sync-tester: Better logging (#17364)
pcw109550 Sep 8, 2025
c9be74f
proofs: Introduce PermissionedDisputeGame v2 (#17290)
mbaxter Sep 8, 2025
6d8abe3
docs(op-e2e/system): add deprecation notice (#17369)
geoknee Sep 8, 2025
1a37ab4
op-service: cliutils add support for common.Hash (#17376)
bitwiseguy Sep 8, 2025
835f72d
op-challenger: Fix metric label name for asterisc-kona (#17367)
Inphi Sep 8, 2025
33750e7
prestate-check: Add support for kona (#17355)
ajsutton Sep 8, 2025
fc32f4f
op-program: Use prestate build script in repro.justfile (#17372)
Inphi Sep 8, 2025
d71ce15
op-challenger: Add cannon-kona trace support (#17356)
ajsutton Sep 8, 2025
f13e3a0
fix: version loop to handle tags with spaces (#17360)
mdqst Sep 8, 2025
6662c16
fix: bump validator version on develop (#17378)
smartcontracts Sep 8, 2025
eedaa0f
fixed kona envs (#17370)
sadiq1971 Sep 9, 2025
7b9ad69
op-acceptance-tests: upgrade tests with real-data (op-sepolia) (#17363)
nonsense Sep 9, 2025
b4e7692
Get version of impls from the impl contracts themselves, reduce bytec…
AmadiMichael Sep 9, 2025
0dfc2cd
docs: add interface inheritance guidelines and style examples to guid…
maurelian Sep 9, 2025
21d638b
op-up: encode version information in binary (#17405)
joshklop Sep 9, 2025
19c7f98
fix(op-acceptance-tests): wait for fund balance for persistent devnet…
serpixel Sep 9, 2025
ccb5a95
fix: remove unused variables from test file (#17400)
stevennevins Sep 10, 2025
d74c81a
op-conductor: p2p healthcheck fix and execution_p2p_healthcheck_api_t…
yashvardhan-kukreja Sep 10, 2025
77c146c
circleci: enable OPM and Base mainnet op-node sync tests (nightly) (#…
nonsense Sep 10, 2025
06799ec
op-dispute-mon: Support cannon-kona games (#17380)
ajsutton Sep 10, 2025
3f11e7f
ci: Add a stand alone check for solc warnings (#17403)
maurelian Sep 10, 2025
66e6a7e
op-up: update default version in install script (#17414)
joshklop Sep 10, 2025
94af69b
acceptance-tests.yaml: flashblocks-with-isthmus gate config (#17413)
yashvardhan-kukreja Sep 11, 2025
08477e9
feat(op-acceptance-tests): v3.2.1 (#17422)
scharissis Sep 11, 2025
1c74975
feat(devstack): add user RPC method. fix kona config in sysgo (#17390)
theochap Sep 11, 2025
b7c9755
Revert "ci: Add a stand alone check for solc warnings (#17403)" (#17428)
maurelian Sep 11, 2025
bd86688
afix slack in semgrep-scan (#17433)
raffaele-oplabs Sep 11, 2025
e54e627
chore(op-acceptance-tests): ci timeout (#17438)
scharissis Sep 11, 2025
8749b77
op-node: Skip L1 genesis hash check if block is not available from th…
ajsutton Sep 12, 2025
5643a20
chore: bump op-geth to include new superchain registry configuration …
jelias2 Sep 12, 2025
7f9a467
refactor(test): improve L2CrossDomainMessenger test coverage and qual…
devin-ai-integration[bot] Sep 12, 2025
33efd65
feat: set up OPCM for U17 (#17406)
smartcontracts Sep 12, 2025
0cfd71e
feat: contract changes to enable min-base-fee (#17330)
wlawt Sep 15, 2025
b1b911f
fix(op-deployer): EnsureDefaultCacheDir (#17411)
bitwiseguy Sep 15, 2025
d5d934b
justfile: add latest-versions recipe (#17399)
bitwiseguy Sep 15, 2025
141e42b
chore(cleanup): close #17194 (#17452)
serpixel Sep 15, 2025
d657c78
op-acceptance-tests: remove INITIAL_L2_BLOCK variable, and fetch late…
nonsense Sep 15, 2025
9211f45
op-deployer: read addresses onchain instead of from chainConfig (#17456)
bitwiseguy Sep 15, 2025
c813b04
feat(op-acceptance-tests): op-acceptor v3.3.0 (#17467)
scharissis Sep 16, 2025
7bd99c9
feat: add tests for min-base-fee (#17441)
wlawt Sep 16, 2025
b00cb03
godoc: mbf in SystemConfig (#17481)
wlawt Sep 16, 2025
7b6a958
fix: bug blocking op-deployer verify (#17478)
smartcontracts Sep 16, 2025
f2e2921
feat(ci): parallelise go-tests jobs (#17468)
scharissis Sep 16, 2025
ad469ca
op-deployer: update docker builds to install forge binary (#17304)
bitwiseguy Sep 17, 2025
a7f11a1
op-program: Add hint for fast block hash lookup (#17449)
ajsutton Sep 17, 2025
4a348d4
chore(superchain-registry): bump version for addresses cleanup (#17404)
serpixel Sep 17, 2025
44d3429
cleanup kt-devnets (#17455)
geoknee Sep 17, 2025
b1cea17
op-acceptance-tests: Increase timeout for interop msg tests (#17492)
pcw109550 Sep 17, 2025
08e5c70
op-acceptance-tests: Deflake TestPreNoBox by adjust Interop time to f…
pcw109550 Sep 17, 2025
afc228f
Revert "feat(op-acceptance-tests): op-acceptor v3.3.0 (#17467)" (#17502)
mslipper Sep 17, 2025
df466bf
op-devstack: op-sync-tester: Add configurable preset (#17491)
pcw109550 Sep 17, 2025
e21c746
refactor: introduce `IsFeature` toggles for Jovian (#17424)
geoknee Sep 17, 2025
2503148
fix failing semgrep check (#17504)
AmadiMichael Sep 17, 2025
58547dd
op-node: remove elSyncEnabled as it is a noop (#17425)
nonsense Sep 18, 2025
b89c237
remove hold job phase (#17506)
raffaele-oplabs Sep 18, 2025
6440220
op-sync-tester: Support EL Sync (#17516)
pcw109550 Sep 18, 2025
35131a8
proofs: Move proposer/challenger params on v2 contract (#17463)
mbaxter Sep 18, 2025
206a409
op-deployer: create generic forge.BytesScriptEncoder (#17524)
bitwiseguy Sep 19, 2025
5cefc95
LivenessModule2 implementation (#17272)
JosepBove Sep 19, 2025
97064ab
op-acceptance-tests: move presets into tests, away from config.yaml (…
nonsense Sep 19, 2025
9f2c80b
feat: add U16a report (#17538)
smartcontracts Sep 19, 2025
9712fa4
fix(op-deployer): forge verbose install (#17540)
serpixel Sep 19, 2025
b307294
opcm: Support cannon+kona games in addGameType (#17513)
ajsutton Sep 19, 2025
b7b94b9
fix(op-deployer): remove forge version check (#17541)
serpixel Sep 19, 2025
fd5f8e3
feat(op-deployer): cli based integration tests (#17511)
serpixel Sep 19, 2025
565ec51
refactor(test-validation): extract exclusions to TOML config and add …
aliersh Sep 21, 2025
8c3da2d
op-deployer: simplify ReadImplementationAddresses.s.sol (#17542)
bitwiseguy Sep 22, 2025
608f398
tests: Skip Interop Acceptance Tests (#17555)
axelKingsley Sep 22, 2025
47e9597
fix: errant comment in OptimismPortal2 (#17482)
smartcontracts Sep 22, 2025
2841f11
fix: simplified code for SystemConfig code (#17539)
smartcontracts Sep 22, 2025
ca32a27
chore(op-acceptance-tests): isthmus into base gate. (#17514)
scharissis Sep 22, 2025
bdd9baa
txmgr: fetch BlobBaseFee over RPC instead of computing from block hea…
geoknee Sep 23, 2025
c9bbdbd
op-acceptance-tests: Ext Network EL Sync Test using Sync Tester (#17532)
pcw109550 Sep 23, 2025
6b04052
op-acceptance-tests: Bump attempts for CL Sync testing (#17567)
pcw109550 Sep 23, 2025
89ebd53
tools: add justfile command for updating op-geth (#17549)
geoknee Sep 23, 2025
924a938
txmgr: lock mutex when updating cachedTx map (#17570)
geoknee Sep 23, 2025
7915428
feat(ops): add AI Contract Test Maintenance System v0.1.0 (#17560)
aliersh Sep 23, 2025
5ed296d
all: update op-geth (based on go-ethereum v1.16.3) (#17547)
joshklop Sep 23, 2025
b951077
fix: update spearbit reviews (#17576)
smartcontracts Sep 23, 2025
9e5f1a9
feat(ai-contracts-test): add prompt renderer component (#17578)
aliersh Sep 23, 2025
c6db68e
perf: explictly set compiler runs to 0 to reduce profiles (#17572)
stevennevins Sep 24, 2025
d103923
feat: add safety checks for lockbox in setFeature (#17559)
smartcontracts Sep 24, 2025
10a2a4c
add coverage for MIPS64 back (#17409)
DenseDenise Sep 24, 2025
5a51ceb
chore(op-acceptance-tests): ci; remove kurtosis jobs. (#17581)
scharissis Sep 24, 2025
bd592e3
feat(ai-contracts-test): add devin API integration (#17602)
aliersh Sep 24, 2025
f91157b
github: Add git cliff config for release notes generation (#17594)
sebastianst Sep 25, 2025
5844981
chore(op-acceptance-tests): op-acceptor v3.3.1 (#17515)
scharissis Sep 25, 2025
54c0a4d
opcm: Zero out cannon-kona game types in migrate. (#17523)
ajsutton Sep 25, 2025
0e4a942
op-acceptance-tests: move sync-tester hardforks tests under one packa…
nonsense Sep 25, 2025
a6112c0
op-service/httputil: move resp.Body.Close right after err check (#17611)
nonsense Sep 25, 2025
1c71340
feat: integrate creator pattern implementations in DeployImplementati…
stevennevins Sep 25, 2025
77fc91a
op-acceptance-tests: Disable `TestSyncTesterELSync` tests for flakine…
pcw109550 Sep 25, 2025
e489612
op-devstack: fix WaitForFinalization bug (#17618)
joshklop Sep 25, 2025
a5e228e
chore(op-acceptance-tests): op-acceptor v3.4.2 (#17623)
scharissis Sep 25, 2025
4f1ebab
op-node/rollup/clsync: test for popping the same element (#17608)
nonsense Sep 26, 2025
bf69c6b
refactor(test): improve Storage test coverage and quality (#17610)
devin-ai-integration[bot] Sep 26, 2025
9cbe7c6
op-sync-tester: Retry block fetching when processing newPayload (#17624)
pcw109550 Sep 26, 2025
64cb0d2
txmgr: allow blobs to be sent with fusaka-compatible cell proofs (sid…
geoknee Sep 26, 2025
ad15789
feat: add rules for Diamond (#17640)
smartcontracts Sep 26, 2025
eeb6e06
contracts: Add new dispute game dev feature flags to bedrock test mat…
mbaxter Sep 26, 2025
ea61bd2
fix: have acceptance job skip building contract tests (#17639)
smartcontracts Sep 26, 2025
a6aab91
op-e2e/actions: replicate geth txpool validation in `L1Miner.IncludeT…
geoknee Sep 26, 2025
71a81e7
op-node/rollup: remove ReceivedUnsafePayloadEvent event (#17530)
nonsense Sep 29, 2025
9445106
op-deployer: setup forge callers for apply deploy scripts (#17637)
bitwiseguy Sep 29, 2025
30daae4
op-e2e: Tweak EL Sync Test to check non genesis (#17440)
pcw109550 Sep 29, 2025
9243bb0
fix(ai-contracts-test): handle 504 timeout, prevent duplicate work, p…
aliersh Sep 29, 2025
ac04854
update opcm.upgrade* natspec to explain the delegateCaller assumption…
AmadiMichael Sep 29, 2025
d217634
feat: add ProtocolVersions to restrictions (#17651)
JosepBove Sep 29, 2025
4ffe88b
sysgo: l1 geth subprocess support (#17619)
joshklop Sep 29, 2025
9395e81
refactor(test): standardize Unclassified to Uncategorized in test nam…
aliersh Sep 29, 2025
b5b63e0
feat(op-acceptance-tests): kurtosis nightly tests. (#17658)
scharissis Sep 30, 2025
40bcb55
add valid semver check script and tests (#17641)
AmadiMichael Sep 30, 2025
cd1bed0
op-node: refactor EngineController (#17647)
nonsense Sep 30, 2025
e485029
op-node: EngineController: Proper locking (#17648)
pcw109550 Sep 30, 2025
464752f
op-deployer: ensure standard forge version matches mise (#17670)
bitwiseguy Sep 30, 2025
902f961
chore(op-acceptance-tests): ci; discord notifications. (#17672)
scharissis Oct 1, 2025
6e0583f
clean(op-acceptance-tests): ci; consolidate workflows. (#17673)
scharissis Oct 1, 2025
1028871
all: update op-geth to "fusaka defence cherry pick" commit (#17661)
geoknee Oct 1, 2025
086f642
opcm: Add unit tests around DevFeatures (#17643)
mbaxter Oct 1, 2025
e686b64
ci: Add nightly heavy fuzz testing job (#17668)
devin-ai-integration[bot] Oct 1, 2025
262b231
op-acceptance-tests: introduce flake-shake system (#17646)
scharissis Oct 1, 2025
4d5dfc2
op-node: merge EngineResetDeriver with EngineController (#17662)
nonsense Oct 2, 2025
cd28d29
op-acceptance-tests: Cache and canonicalize L2EL payloads after gap f…
pcw109550 Oct 2, 2025
2717a0d
op-contracts: DeployOPChain.s.sol conform to input/output struct patt…
bitwiseguy Oct 2, 2025
c4edfa4
Replace go-bip39 dependency (#17526)
mdehoog Oct 2, 2025
2f98ab5
op-node,op-program,kona: embed L1ChainConfig in configuration (#17568)
geoknee Oct 2, 2025
77aef07
Run isolated cannon-kona devfeature in ci (#17702)
mbaxter Oct 2, 2025
2e0d9ab
op-e2e/actions: add L1 Osaka activation test (#17666)
geoknee Oct 2, 2025
e290642
feat(test-validation): add library support (#17690)
aliersh Oct 2, 2025
fdf4ce4
test(op-program): test resolution of l1 chain config by chain ID (#1…
geoknee Oct 2, 2025
59b7d71
fix(op-acceptance-tests): flaky tests report. (#17706)
scharissis Oct 2, 2025
64fb9c5
op-acceptance-tests: Fix Unsafe payload queue syncing logic comments …
pcw109550 Oct 3, 2025
18a817e
fix(test) exclude foundry VM address from L2ToL2CrossDomainMessenger …
aliersh Oct 3, 2025
09d9b1e
op-deployer: reduce default GasPadFactor 2.0 -> 1.2 (#17710)
bitwiseguy Oct 3, 2025
3f2bf28
op-acceptance-tests: test that unsafe chain is stalled when ReqResSyn…
nonsense Oct 3, 2025
a21294b
Full TimelockGuard implementation (#17584)
maurelian Oct 3, 2025
a795044
opcm: Support cannon+kona games in updatePrestates (#17512)
ajsutton Oct 3, 2025
05ba528
op-service/L1BeaconClient: allow blob proof verification to be skippe…
geoknee Oct 3, 2025
3ee883b
Add `skip-blob-verification` flag to op-program and op-challenger (#…
pauldowman Oct 3, 2025
25032f2
feat(op-conductor): rollup-boost partial unhealthiness tolerance (#17…
yashvardhan-kukreja Oct 6, 2025
1fd459d
l1-beacon-client: verify blobs using commitment only (not the proof) …
geoknee Oct 6, 2025
4e726c6
sysgo: add Osaka activation test (#17529)
joshklop Oct 6, 2025
ad12b8d
op-challenger: Convert l1-genesis flag to a vm flag (#17722)
mbaxter Oct 6, 2025
88fe2c4
op-devstack: L2EL Engine API support for op-geth (#17714)
pcw109550 Oct 6, 2025
5e38a4f
Remove upgrade controller from OPCM (#17660)
alcueca Oct 6, 2025
b69a6bb
feat(ci): add manual workflow for AI contracts test maintenance syste…
aliersh Oct 6, 2025
6036b91
chore(op-acceptance-tests): op-acceptor v3.5.0 (#17739)
scharissis Oct 6, 2025
0848196
Fix cli arg typo in op-challenger executor for op-program server (#17…
mbaxter Oct 7, 2025
b9e928a
feat(op-acceptance-tests): flake-shake auto-promotions (#17692)
scharissis Oct 7, 2025
ae73e9a
beacon client: use new fusaka endpoint to get blobs (#17736)
joshklop Oct 7, 2025
051a429
op-acceptance-tests: ELP2P for EL Syncing for unsafe gap (#17752)
pcw109550 Oct 7, 2025
f881741
Add file hashes to the u16a audit report (#17753)
alcueca Oct 7, 2025
27f6f50
cleanup(ctb): Remove unused MT_CANNON env (#17731)
Inphi Oct 7, 2025
c292ece
opcm: Switch cannon kona tests to depend on dev features being set th…
ajsutton Oct 7, 2025
0fd61cc
refactor(test): improve ProtocolVersions test coverage (#17721)
devin-ai-integration[bot] Oct 7, 2025
d24d691
Add make gen-binding (#17761)
maurelian Oct 7, 2025
6b40280
op-deployer: Do not create cache directory on import (#17776)
mslipper Oct 7, 2025
9013499
op-acceptance-tests: Add smoke tests for disputegamev2 (#17775)
Inphi Oct 8, 2025
c1081e3
op-service: use correct response type in blob retrieval (#17779)
joshklop Oct 8, 2025
3ef14ad
Merge commit 'c1081e3' into merge_upstream
blockchaindevsh Oct 9, 2025
dc82009
update optimism-package
blockchaindevsh Oct 13, 2025
66b163f
merge config
syntrust Oct 21, 2025
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
  •  
  •  
  •  
1,737 changes: 1,154 additions & 583 deletions .circleci/config.yml

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions .cursor/rules/solidity-styles.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ Applies to Solidity files.
- Contracts should be built assuming upgradeability by default
- Extend OpenZeppelin's `Initializable` or base contract
- Use the `ReinitializableBase` contract
- Include an `initialize` function with the `reinitializer(initValue())` modifier
- If including an `upgrade` function, use the `reinitializer(initValue())` modifier
- Include an `initialize` function with the `reinitializer(initVersion())` modifier
- If including an `upgrade` function, use the `reinitializer(initVersion())` modifier
- In the constructor:
- Call `_disableInitializers()`
- Set any immutables (though generally avoid immutables)
Expand All @@ -63,7 +63,7 @@ Applies to Solidity files.
- `method`: `test`, `testFuzz`, or `testDiff`
- `status`: `succeeds`, `reverts`, `works`, `fails`, or `benchmark`
- Test contract naming:
- `TargetContract_Init`: for basic setup contracts
- `TargetContract_TestInit`: for basic setup contracts
- `TargetContract_FunctionName_Test`: for happy path tests
- `TargetContract_FunctionName_TestFail`: for sad path tests
- `TargetContract_Harness`: for harness contracts
4 changes: 0 additions & 4 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@
/op-e2e/faultproofs @ethereum-optimism/proofs @ethereum-optimism/go-reviewers

# Ops
/.circleci @ethereum-optimism/monorepo-ops-reviewers
/.github @ethereum-optimism/monorepo-ops-reviewers
/ops @ethereum-optimism/monorepo-ops-reviewers
/docker-bake.hcl @ethereum-optimism/monorepo-ops-reviewers
/.cursor/rules/solidity-styles.mdc @ethereum-optimism/contract-reviewers

# Contracts
Expand Down
82 changes: 82 additions & 0 deletions .github/cliff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# git-cliff ~ configuration file
# https://git-cliff.org/docs/configuration

[remote.github]
owner = "ethereum-optimism"
repo = "optimism"
# token = "" # Set via the GITHUB_TOKEN environment variable.

[changelog]
# A Tera template to be rendered for each release in the changelog.
# See https://keats.github.io/tera/docs/#introduction
body = """
## What's Changed

{%- if version %} in {{ version }}{%- endif -%}
{% for commit in commits %}
{% if commit.remote.pr_title -%}
{%- set commit_message = commit.remote.pr_title -%}
{%- else -%}
{%- set commit_message = commit.message -%}
{%- endif -%}
* {{ commit_message | split(pat="\n") | first | trim }}\
{% if commit.remote.username %} by @{{ commit.remote.username }}{%- endif -%}
{% if commit.remote.pr_number %} in \
[#{{ commit.remote.pr_number }}]({{ self::remote_url() }}/pull/{{ commit.remote.pr_number }}) \
{%- endif %}
{%- endfor -%}

{%- if github -%}
{% if github.contributors | filter(attribute="is_first_time", value=true) | length != 0 %}
{% raw %}\n{% endraw -%}
## New Contributors
{%- endif %}\
{% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %}
* @{{ contributor.username }} made their first contribution
{%- if contributor.pr_number %} in \
[#{{ contributor.pr_number }}]({{ self::remote_url() }}/pull/{{ contributor.pr_number }}) \
{%- endif %}
{%- endfor -%}
{%- endif -%}

{% if version %}
{% if previous.version %}
**Full Changelog**: {{ self::remote_url() }}/compare/{{ previous.version }}...{{ version }}
{% endif %}
🚢 Docker Image: https://us-docker.pkg.dev/oplabs-tools-artifacts/images/{{ version | replace(from="/", to=":") }}
{% else -%}
{% raw %}\n{% endraw %}
{% endif %}

{%- macro remote_url() -%}
https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
{%- endmacro -%}
"""
# Remove leading and trailing whitespaces from the changelog's body.
trim = true
# A Tera template to be rendered as the changelog's footer.
# See https://keats.github.io/tera/docs/#introduction
footer = """
<!-- generated by git-cliff -->
"""
# An array of regex based postprocessors to modify the changelog.
# Replace the placeholder `<REPO>` with a URL.
postprocessors = []

[git]
# Parse commits according to the conventional commits specification.
# See https://www.conventionalcommits.org
conventional_commits = false
# Exclude commits that do not match the conventional commits specification.
filter_unconventional = false
# Split commits on newlines, treating each line as an individual commit.
split_commits = false
# An array of regex based parsers to modify commit messages prior to further processing.
commit_preprocessors = [{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "" }]
# Exclude commits that are not matched by any commit parser.
filter_commits = false
# Order releases topologically instead of chronologically.
topo_order = false
# Order of commits in each group/release within the changelog.
# Allowed values: newest, oldest
sort_commits = "newest"
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ cache

!op-deployer/pkg/deployer/artifacts


packages/contracts-bedrock/deployments/anvil

# vim
Expand All @@ -45,8 +44,10 @@ packages/contracts-bedrock/deployments/anvil

coverage.out


__pycache__

# Ignore echidna artifacts
crytic-export

# ignore local asdf config
.tool-versions
36 changes: 36 additions & 0 deletions .golangci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
linters:
enable:
- goimports
- sqlclosecheck
- bodyclose
- asciicheck
- misspell
- errorlint

# Only enabled in specific cases. See settings and exclusions below
- exhaustruct
- err113

# Enabled by default but be explicit so it's easy to see what we're running
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- unused
linters-settings:
# Require specifying all fields in op-deployer's OPCM input and output structs
exhaustruct:
include:
- '.*op-deployer/pkg/deployer/opcm\..*(Input|Output)$'
issues:
exclude:
- 'errors.As'
- 'errors.Is'
exclude-rules:
# Only apply err113 to op-program/client
- path-except: 'op-program/client/.*'
linters:
- err113
run:
timeout: 5m
21 changes: 21 additions & 0 deletions .semgrep/rules/sol-rules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ rules:
exclude:
- packages/contracts-bedrock/test
- packages/contracts-bedrock/scripts
- ops/ai-eng/contracts-test-maintenance/prompt/prompt.md

- id: sol-style-input-arg-fmt
languages: [solidity]
Expand Down Expand Up @@ -319,6 +320,7 @@ rules:
exclude:
- packages/contracts-bedrock/src/L1/OPContractsManager.sol
- packages/contracts-bedrock/src/L1/OptimismPortal2.sol
- packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol
- packages/contracts-bedrock/src/L2/FeeVault.sol
- packages/contracts-bedrock/src/L2/OptimismMintableERC721.sol
- packages/contracts-bedrock/src/L2/OptimismMintableERC721Factory.sol
Expand All @@ -328,7 +330,9 @@ rules:
- packages/contracts-bedrock/src/dispute/AnchorStateRegistry.sol
- packages/contracts-bedrock/src/dispute/DelayedWETH.sol
- packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol
- packages/contracts-bedrock/src/dispute/v2/FaultDisputeGameV2.sol
- packages/contracts-bedrock/src/dispute/PermissionedDisputeGame.sol
- packages/contracts-bedrock/src/dispute/v2/PermissionedDisputeGameV2.sol
- packages/contracts-bedrock/src/dispute/SuperFaultDisputeGame.sol
- packages/contracts-bedrock/src/dispute/SuperPermissionedDisputeGame.sol
- packages/contracts-bedrock/src/governance/MintManager.sol
Expand Down Expand Up @@ -362,3 +366,20 @@ rules:
paths:
exclude:
- packages/contracts-bedrock/scripts/libraries/Config.sol

- id: sol-style-event-param-fmt
languages: [solidity]
severity: ERROR
message: Event parameters must be named using camelCase and must not be prefixed with underscore
pattern-either:
# Match parameters with underscore prefix
- pattern-regex: event\s+\w+\s*\([^)]*\b(?:address|uint\d*|int\d*|bytes\d*|bool|string)\s+(?:indexed\s+)?_\w+
# Match unnamed parameters (type with optional indexed but no parameter name before comma or closing paren)
- pattern-regex: event\s+\w+\s*\([^)]*\b(?:address|uint\d*|int\d*|bytes\d*|bool|string)\b(?:\s+indexed)?\s*[,)]
# Match parameters that are all uppercase (like NEW_OWNER)
- pattern-regex: event\s+\w+\s*\([^)]*\b(?:address|uint\d*|int\d*|bytes\d*|bool|string)\s+(?:indexed\s+)?[A-Z][A-Z0-9_]*\s*[,)]
paths:
exclude:
# LegacyMintableERC20 and the corresponding interface use legacy naming conventions.
- packages/contracts-bedrock/src/legacy/LegacyMintableERC20.sol
- packages/contracts-bedrock/interfaces/legacy/ILegacyMintableERC20Full.sol
20 changes: 20 additions & 0 deletions .semgrep/tests/sol-rules.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -712,3 +712,23 @@ contract SemgrepTest__sol_safety_try_catch_eip_150 {
}
}
}

contract SemgrepTest__sol_style_event_param_fmt {
// ok: sol-style-event-param-fmt
event OwnerChanged(address previousOwner, address newOwner);

// ruleid: sol-style-event-param-fmt
event OwnerChanged(address _previousOwner, address _newOwner);

// ruleid: sol-style-event-param-fmt
event OwnerChanged(address);

// ruleid: sol-style-event-param-fmt
event OwnerChanged(address NEW_OWNER);

// ok: sol-style-event-param-fmt
event SomethingWithMint(uint256 mint);

// ruleid: sol-style-event-param-fmt
event SomethingWithMint(uint256 _mint);
}
28 changes: 28 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,34 @@ spelling, stylistic or grammatical errors in documentation, code or elsewhere.
Pull Requests that ignore this guideline will be closed,
and may be aggregated into new Pull Requests without attribution.

### Trivial Changes Discouraged

We kindly ask contributors **not to submit pull requests that only make trivial changes**, such as:

- Adjusting whitespace, punctuation, or formatting without substantive content changes
- Renaming variables or refactoring code without a clear functional or readability benefit
- Other one‑line or cosmetic edits that do not materially improve the project

#### Why we discourage trivial PRs

While we appreciate every attempt to contribute, **small, non‑substantive PRs create significant review and merge overhead** for maintainers without meaningfully improving the codebase or documentation. Reviewing, testing, and merging even a one‑word change takes real time and effort.

To keep maintainers focused on impactful contributions, we will:

- **Close trivial PRs** that fall into the above categories
- **Aggregate minor typo or formatting fixes internally** if needed, without attribution
- Encourage contributors to instead take on meaningful issues, such as those labeled [`D-good-first-issue`](https://github.com/ethereum-optimism/optimism/labels/D-good-first-issue) or [`S-confirmed`](https://github.com/ethereum-optimism/optimism/labels/S-confirmed)

#### Better ways to help

If you’d like to contribute in a small but meaningful way:

- **Batch several fixes into one PR** instead of submitting many tiny ones
- Look for beginner‑friendly issues in our [`D-good-first-issue`](https://github.com/ethereum-optimism/optimism/labels/D-good-first-issue) label
- Improve documentation by adding missing explanations, examples, or clarifications rather than small grammar tweaks

This ensures your effort has a **real impact** and increases the chance your PR will be reviewed and merged quickly.

## Code of Conduct

Interactions within this repository are subject to a [Code of Conduct](https://github.com/ethereum-optimism/.github/blob/master/CODE_OF_CONDUCT.md) adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/1/4/code-of-conduct/).
Expand Down
67 changes: 42 additions & 25 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,12 @@ build-contracts:
.PHONY: build-contracts

lint-go: ## Lints Go code with specific linters
golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell,errorlint --timeout 5m -e "errors.As" -e "errors.Is" ./...
golangci-lint run -E err113 --timeout 5m -e "errors.As" -e "errors.Is" ./op-program/client/...
golangci-lint run ./...
go mod tidy -diff
.PHONY: lint-go

lint-go-fix: ## Lints Go code with specific linters and fixes reported issues
golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell,errorlint --timeout 5m -e "errors.As" -e "errors.Is" ./... --fix
golangci-lint run ./... --fix
.PHONY: lint-go-fix

golang-docker: ## Builds Docker images for Go components using buildx
Expand Down Expand Up @@ -207,7 +206,6 @@ TEST_PKGS := \
./packages/contracts-bedrock/scripts/checks/... \
./op-dripper/... \
./devnet-sdk/... \
./op-acceptance-tests/... \
./kurtosis-devnet/... \
./op-devstack/... \
./op-deployer/pkg/deployer/artifacts/... \
Expand All @@ -231,6 +229,9 @@ RPC_TEST_PKGS := \
./op-deployer/pkg/deployer/pipeline/... \
./op-deployer/pkg/deployer/upgrade/...

# All test packages used by CI (combination of all package groups)
ALL_TEST_PACKAGES := $(TEST_PKGS) $(RPC_TEST_PKGS) $(FRAUD_PROOF_TEST_PKGS)

# Common test environment variables
# For setting PARALLEL, nproc is for linux, sysctl for Mac and then fallback to 4 if neither is available
define DEFAULT_TEST_ENV_VARS
Expand All @@ -245,7 +246,9 @@ endef
define CI_ENV_VARS
export OP_TESTLOG_FILE_LOGGER_OUTDIR=$$(realpath ./tmp/testlogs) && \
export SEPOLIA_RPC_URL="https://ci-sepolia-l1-archive.optimism.io" && \
export MAINNET_RPC_URL="https://ci-mainnet-l1-archive.optimism.io"
export MAINNET_RPC_URL="https://ci-mainnet-l1-archive.optimism.io" && \
export NAT_INTEROP_LOADTEST_TARGET=10 && \
export NAT_INTEROP_LOADTEST_TIMEOUT=30s
endef

# Test timeout (can be overridden via environment)
Expand All @@ -261,34 +264,48 @@ go-tests-short: $(TEST_DEPS) ## Runs comprehensive Go tests with -short flag
go test -short -parallel=$$PARALLEL -timeout=$(TEST_TIMEOUT) $(TEST_PKGS)
.PHONY: go-tests-short

go-tests-short-ci: ## Runs short Go tests with gotestsum for CI (assumes deps built by CI)
# Internal target for running Go tests with gotestsum for CI
# Usage: make _go-tests-ci-internal GO_TEST_FLAGS="-short"
_go-tests-ci-internal:
@echo "Setting up test directories..."
mkdir -p ./tmp/test-results ./tmp/testlogs
@echo "Running Go tests with gotestsum..."
$(DEFAULT_TEST_ENV_VARS) && \
$(CI_ENV_VARS) && \
gotestsum --format=testname \
--junitfile=./tmp/test-results/results.xml \
--jsonfile=./tmp/testlogs/log.json \
--rerun-fails=3 \
--rerun-fails-max-failures=50 \
--packages="$(TEST_PKGS) $(RPC_TEST_PKGS) $(FRAUD_PROOF_TEST_PKGS)" \
-- -parallel=$$PARALLEL -coverprofile=coverage.out -short -timeout=$(TEST_TIMEOUT) -tags="ci"
if [ -n "$$CIRCLE_NODE_TOTAL" ] && [ "$$CIRCLE_NODE_TOTAL" -gt 1 ]; then \
export NODE_INDEX=$${CIRCLE_NODE_INDEX:-0} && \
export NODE_TOTAL=$${CIRCLE_NODE_TOTAL:-1} && \
export PARALLEL_PACKAGES=$$(echo "$(ALL_TEST_PACKAGES)" | tr ' ' '\n' | awk -v idx=$$NODE_INDEX -v total=$$NODE_TOTAL 'NR % total == idx' | tr '\n' ' ') && \
if [ -n "$$PARALLEL_PACKAGES" ]; then \
echo "Node $$NODE_INDEX/$$NODE_TOTAL running packages: $$PARALLEL_PACKAGES"; \
gotestsum --format=testname \
--junitfile=./tmp/test-results/results-$$NODE_INDEX.xml \
--jsonfile=./tmp/testlogs/log-$$NODE_INDEX.json \
--rerun-fails=3 \
--rerun-fails-max-failures=50 \
--packages="$$PARALLEL_PACKAGES" \
-- -parallel=$$PARALLEL -coverprofile=coverage-$$NODE_INDEX.out $(GO_TEST_FLAGS) -timeout=$(TEST_TIMEOUT) -tags="ci"; \
else \
echo "ERROR: Node $$NODE_INDEX/$$NODE_TOTAL has no packages to run! Perhaps parallelism is set too high? (ALL_TEST_PACKAGES has $$(echo '$(ALL_TEST_PACKAGES)' | wc -w) packages)"; \
exit 1; \
fi; \
else \
gotestsum --format=testname \
--junitfile=./tmp/test-results/results.xml \
--jsonfile=./tmp/testlogs/log.json \
--rerun-fails=3 \
--rerun-fails-max-failures=50 \
--packages="$(ALL_TEST_PACKAGES)" \
-- -parallel=$$PARALLEL -coverprofile=coverage.out $(GO_TEST_FLAGS) -timeout=$(TEST_TIMEOUT) -tags="ci"; \
fi
.PHONY: _go-tests-ci-internal

go-tests-short-ci: ## Runs short Go tests with gotestsum for CI (assumes deps built by CI)
$(MAKE) _go-tests-ci-internal GO_TEST_FLAGS="-short"
.PHONY: go-tests-short-ci

go-tests-ci: ## Runs comprehensive Go tests with gotestsum for CI (assumes deps built by CI)
@echo "Setting up test directories..."
mkdir -p ./tmp/test-results ./tmp/testlogs
@echo "Running Go tests with gotestsum..."
$(DEFAULT_TEST_ENV_VARS) && \
$(CI_ENV_VARS) && \
gotestsum --format=testname \
--junitfile=./tmp/test-results/results.xml \
--jsonfile=./tmp/testlogs/log.json \
--rerun-fails=3 \
--rerun-fails-max-failures=50 \
--packages="$(TEST_PKGS) $(RPC_TEST_PKGS) $(FRAUD_PROOF_TEST_PKGS)" \
-- -parallel=$$PARALLEL -coverprofile=coverage.out -timeout=$(TEST_TIMEOUT) -tags="ci"
$(MAKE) _go-tests-ci-internal GO_TEST_FLAGS=""
.PHONY: go-tests-ci

go-tests-fraud-proofs-ci: ## Runs fraud proofs Go tests with gotestsum for CI (assumes deps built by CI)
Expand Down
Loading