Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
223 commits
Select commit Hold shift + click to select a range
4619699
chore: backport from release branch (bluealloy/revm#2415) (bluealloy/…
rakita Apr 15, 2025
f84cb5e
feat(EOF): Changes needed for devnet-1 (bluealloy/revm#2377)
rakita Apr 22, 2025
46ca17e
feat: add precompiles getter to OpPrecompiles (bluealloy/revm#2444)
fgimenez Apr 24, 2025
1dc8c52
feat(tx): Add Either RecoveredAuthorization (bluealloy/revm#2448)
rakita Apr 24, 2025
048795b
feat(Handler): merge state validation with deduct_caller (bluealloy/r…
rakita Apr 29, 2025
94ce4d5
feat: skip cloning of call input from shared memory (bluealloy/revm#2…
rakita May 5, 2025
c4e917b
test(op): Add test for verifying default OpSpecId update (bluealloy/r…
emhane May 7, 2025
4130ef1
feat(Osaka): disable EOF (bluealloy/revm#2480)
rakita May 7, 2025
da9a07c
chore: Add clones to FrameData (bluealloy/revm#2482)
rakita May 7, 2025
9ae1aa4
test(op): Set l2 block num in reloaded isthmus l1 block info (blueall…
emhane May 7, 2025
a117bf3
feat: system_call switch order of inputs, address than bytes (blueall…
rakita May 7, 2025
cd6fc05
chore: release (bluealloy/revm#2487)
github-actions[bot] May 7, 2025
995bb70
bump: tag v71, revm v23.1.0 semver major bump (bluealloy/revm#2492)
rakita May 7, 2025
0bd1b88
test(op): Add test coverage to `OpTransactionError` (bluealloy/revm#2…
emhane May 9, 2025
4728fc1
test(op): Add test coverage to OP result module (bluealloy/revm#2491)
emhane May 9, 2025
2621015
fix(op): mark caller account as touched (bluealloy/revm#2495)
RealiCZ May 9, 2025
4d68d7a
chore(op-revm): release v4.0.1 (bluealloy/revm#2497)
github-actions[bot] May 9, 2025
9484695
fix(op): call cleanup on local context (bluealloy/revm#2499)
rakita May 9, 2025
38c2352
fix(op): bump nonce on deposit (bluealloy/revm#2503)
rakita May 9, 2025
7e521dc
chore(op): revert previous and localize fix (bluealloy/revm#2504)
rakita May 9, 2025
18b8e85
chore: release (bluealloy/revm#2500)
github-actions[bot] May 9, 2025
36f1ef1
feat(op-revm): add testdata comparison utility for EVM execution outp…
crStiv May 22, 2025
1807104
chore: release (bluealloy/revm#2527)
github-actions[bot] May 23, 2025
033e50e
bump: tag v74 revm v24.0.0 (bluealloy/revm#2539)
rakita May 23, 2025
fb8d834
chore: op remove circular dep (bluealloy/revm#2540)
rakita May 23, 2025
a384b25
chore(test): preserve order of fields in json fixtures (bluealloy/rev…
rakita May 23, 2025
0b68166
feat: transact multi tx (bluealloy/revm#2517)
rakita May 24, 2025
d7a5a30
feat: expand timestamp/block_number to u256 (bluealloy/revm#2546)
rakita May 27, 2025
89640cf
chore: ContextTr rm *_ref, and add *_mut fn (bluealloy/revm#2560)
rakita May 30, 2025
ba37a7c
chore(docs): add lints to database-interface and op-revm crates (blue…
rakita Jun 2, 2025
ee028a1
feat(Osaka): EIP-7825 tx limit cap (bluealloy/revm#2575)
rakita Jun 3, 2025
a9ac4d2
chore(op-revm): impl type alias for Default OpEvm (bluealloy/revm#2576)
0xDmtri Jun 4, 2025
c03ca90
fix(multitx): Add local flags for create and selfdestruct (bluealloy/…
rakita Jun 6, 2025
5aba389
feat: add with_caller for system_transact (bluealloy/revm#2587)
rakita Jun 6, 2025
6e560d4
bump: tag v75 revm v24.0.1 (bluealloy/revm#2563) (bluealloy/revm#2589)
rakita Jun 6, 2025
29d574e
chore: release (bluealloy/revm#2577)
github-actions[bot] Jun 6, 2025
3a971c1
feat: enable P256 in Osaka (bluealloy/revm#2601)
klkvr Jun 9, 2025
9ddadb6
chore: rename `transact` methods (bluealloy/revm#2616)
klkvr Jun 10, 2025
8ca9a72
perf: re-use frame allocation (bluealloy/revm#2636)
rakita Jun 17, 2025
18d0e1b
feat: remove EOF (bluealloy/revm#2644)
rakita Jun 18, 2025
934b9a8
feat: add fallible conversion from OpHaltReason to HaltReason (blueal…
Wodann Jun 18, 2025
b784e91
chore: release (bluealloy/revm#2641)
github-actions[bot] Jun 19, 2025
0b7f474
chore: bump v77 (bluealloy/revm#2651)
rakita Jun 19, 2025
b8aec7b
fix: call stack_frame.clear() at end (bluealloy/revm#2656)
rakita Jun 20, 2025
085c440
chore: release (bluealloy/revm#2657)
github-actions[bot] Jun 20, 2025
109dd64
feat: optional_eip3541 (bluealloy/revm#2661)
bernard-wagner Jun 23, 2025
1b75887
refactor: use TxEnv::builder (bluealloy/revm#2652)
rakita Jun 24, 2025
9ded277
test(op/handler): verify caller account is touched by zero value tran…
emhane Jun 26, 2025
1e0b29f
chore: cargo clippy --fix --all (bluealloy/revm#2671)
rakita Jun 27, 2025
3da1617
chore: release (bluealloy/revm#2659)
github-actions[bot] Jun 30, 2025
add8c49
fix: OpTransactionBuilder dont override envelope (bluealloy/revm#2681)
rakita Jul 1, 2025
4a66f59
bump: v80 revm v27.0.1 (bluealloy/revm#2683)
rakita Jul 1, 2025
983efdf
bump: tag v81 revm v27.0.1 (bluealloy/revm#2689)
rakita Jul 3, 2025
7da8e7f
refactor: simplify gas calculations by introducing a used() method (b…
jackwener Jul 14, 2025
c947f19
chore: release (bluealloy/revm#2682)
github-actions[bot] Jul 14, 2025
ed87c91
chore: change gas parameter to immutable reference (bluealloy/revm#2702)
jackwener Jul 15, 2025
9bcc3b7
fix: gas deduction with `disable_balance_check` (bluealloy/revm#2699)
frangio Jul 21, 2025
a9f9e08
test(op-revm): test for optional balance check (bluealloy/revm#2746)
rakita Jul 21, 2025
dbc0c35
feat(osaka): update EIP-7825 constant (bluealloy/revm#2753)
rkrasiuk Jul 22, 2025
d51aad2
chore: release (bluealloy/revm#2771)
github-actions[bot] Jul 23, 2025
6b12b57
chore: Add dyn Crypto trait to PrecompileFn (bluealloy/revm#2772)
kevaundray Jul 23, 2025
013b1d2
chore: add OnceLock re-export with no_std support (bluealloy/revm#2787)
DaniPopes Jul 24, 2025
5d805b7
chore: add rust-version and note about MSRV (bluealloy/revm#2789)
DaniPopes Jul 24, 2025
d33fd90
chore: reuse global crypto provide idea (bluealloy/revm#2786)
rakita Jul 25, 2025
a06ea3a
fix: nonce changed is not reverted in journal if fail due to insuffic…
rakita Jul 25, 2025
f58325e
fix(op-revm): system tx not enveloped (bluealloy/revm#2807)
emhane Jul 28, 2025
440dcc6
feat: rename bn128 to bn254 for Ethereum standard consistency (blueal…
Pratham1812 Jul 28, 2025
e7dbad4
feat: Align naming of SystemCallEvm function to ExecuteEvm (bluealloy…
rakita Jul 28, 2025
3bf47af
Update test data for renamed tests (bluealloy/revm#2817)
emhane Jul 28, 2025
526bb0b
test(op-revm): Full test coverage `OpTransactionError` (bluealloy/rev…
emhane Jul 28, 2025
2f8d8a0
feat: add system transaction inspection support (bluealloy/revm#2808)
rezzmah Jul 29, 2025
6c62185
feat: refactor test utils (bluealloy/revm#2813)
rakita Jul 29, 2025
34345b2
test(op-revm): Adds caller nonce assertion to op-revm intergation tes…
emhane Jul 29, 2025
32a3ce3
feat: fix renamed functions for system_call (bluealloy/revm#2824)
rakita Jul 30, 2025
905547f
chore: release (bluealloy/revm#2854)
github-actions[bot] Aug 6, 2025
4f55fa3
chore: rm ee-test from revm/op-revm (bluealloy/revm#2857)
rakita Aug 7, 2025
e8a4047
chore: release (bluealloy/revm#2873)
github-actions[bot] Aug 12, 2025
d23c4f0
fix(handler): correct transaction ID decrement logic (bluealloy/revm#…
jackwener Aug 17, 2025
3ed244d
feat(fusaka): Add PrecompileId (bluealloy/revm#2904)
rakita Aug 21, 2025
3c49ecb
chore: release (bluealloy/revm#2899)
github-actions[bot] Aug 24, 2025
a58bd21
bump: tag v86 revm v29.0.0 (bluealloy/revm#2912)
rakita Aug 24, 2025
4ae87dc
refactor(handler): provide `&CallInputs`to`PrecompileProvider::run` (…
mablr Aug 26, 2025
1511eac
feat!: Remove kzg-rs (bluealloy/revm#2909)
kevaundray Aug 27, 2025
8cc8e1f
test(op-revm): add serialize DepositTransactionParts test (bluealloy/…
nkysg Sep 8, 2025
3bde924
chore(op-revm): rm redundant phantom (bluealloy/revm#2943)
nkysg Sep 8, 2025
d1a6b32
fix(op-revm): clear enveloped_tx for deposit txs in build_fill and al…
GarmashAlex Sep 10, 2025
7f24b62
op-revm: treat empty input as zero operator fee in operator_fee_charg…
zeevick10 Sep 16, 2025
d4f9a10
chore: prealloc few frames (bluealloy/revm#2965)
rakita Sep 16, 2025
ec05732
feat(op-revm): Add an option to disable "fee-charge" on `op-revm` (bl…
ngotchac Sep 17, 2025
a7a7c24
Set l2_block in try_fetch for pre-Isthmus forks; add reload tests (bl…
Snezhkko Sep 18, 2025
fb3728c
feat(op-revm): implement jovian operator fee fix (bluealloy/revm#2996)
fakedev9999 Sep 19, 2025
8d5cb0a
fix: add missing is_fee_charge_disabled check (bluealloy/revm#3007)
mattsse Sep 24, 2025
4430a84
feat(jovian): add da footprint block limit. (bluealloy/revm#3003)
theochap Sep 27, 2025
e4e3e50
chore(op-revm): propagate optional_fee_charge feature (bluealloy/revm…
rakita Sep 28, 2025
601c169
chore: add ensure_enough_balance helper (bluealloy/revm#3033)
rakita Oct 1, 2025
c1813d7
chore: EvmTr and InspectorEvmTr receive all/all_mut fn (bluealloy/rev…
rakita Oct 2, 2025
e234463
chore: helper caller_initial_modification added (bluealloy/revm#3032)
rakita Oct 2, 2025
33672d5
chore: helper function gas_balance_spending (bluealloy/revm#3030)
rakita Oct 2, 2025
968c3c8
chore: changelog update for v87 (bluealloy/revm#3056)
rakita Oct 6, 2025
14cc438
chore: release (bluealloy/revm#2958)
github-actions[bot] Oct 7, 2025
727ab9a
fix(op-revm): return error instead of panic when enveloped_tx is miss…
sashass1315 Oct 7, 2025
1a1d914
chore(op): split paths for deposit tx in caller deduction (bluealloy/…
rakita Oct 9, 2025
ac28735
chore: backport v89 changelog (bluealloy/revm#3075)
rakita Oct 9, 2025
54bf6b2
chore(op): backport of #3073 fix for l1block info (bluealloy/revm#3076)
rakita Oct 9, 2025
0ed8f0d
chore: release (bluealloy/revm#3061)
github-actions[bot] Oct 9, 2025
763f513
chore: bump minor versions (bluealloy/revm#3078)
rakita Oct 10, 2025
5185aa2
chore: release (bluealloy/revm#3079)
github-actions[bot] Oct 15, 2025
6641785
chore: release (bluealloy/revm#3102)
github-actions[bot] Oct 15, 2025
9b3af09
chore: release (bluealloy/revm#3108)
github-actions[bot] Oct 17, 2025
d51243a
bump: tag v93 revm v30.1.0 (bluealloy/revm#3112)
rakita Oct 17, 2025
7ff54a3
fix(op-revm): add missing enveloped_tx validation in validate_env (bl…
sky-coderay Oct 17, 2025
a40b37a
chore(op): use helper function in validate against state (bluealloy/r…
rakita Oct 20, 2025
c130c3f
fix(jovian): fixes the DA footprint update storage slot. fix l1 fork …
theochap Oct 22, 2025
0feb43a
feat: JournaledAccount, a nice way to update and track changes (bluea…
rakita Oct 23, 2025
c2fed9f
chore: release (bluealloy/revm#3113)
github-actions[bot] Oct 30, 2025
05eeb48
feat(precompiles/jovian): add jovian precompiles to revm (bluealloy/r…
rakita Oct 30, 2025
3737994
bump: tag v96 revm v31.0.0 (bluealloy/revm#3135)
rakita Oct 30, 2025
c2bf49f
fix(op): Ensure L1Block account is always loaded (bluealloy/revm#3150…
rakita Nov 10, 2025
97713d6
chore: merge v98 versions bumps (bluealloy/revm#3155)
rakita Nov 10, 2025
4dbffd2
feat: process precompile logs to inspector (bluealloy/revm#3148)
rakita Nov 10, 2025
d9694c1
feat(precompiles): add performant PrecompileError::OtherCowStr varian…
rakita Nov 10, 2025
87447eb
chore: release (bluealloy/revm#3136)
github-actions[bot] Nov 10, 2025
1975a07
bump: v99 revm v32.0.0 (bluealloy/revm#3157)
rakita Nov 10, 2025
116fc61
bump: tag v100 revm v33.0.0 (bluealloy/revm#3161)
rakita Nov 12, 2025
dc737d2
fix(op-revm): return error when enveloped_tx is missing (bluealloy/re…
Keemosty12 Nov 13, 2025
9402bb9
chore: release (bluealloy/revm#3162)
github-actions[bot] Nov 14, 2025
48a49ed
bump: tag v102 revm v33.1.0 (bluealloy/revm#3177)
rakita Nov 14, 2025
7863014
chore(fmt): merge all imports (bluealloy/revm#3184)
rakita Nov 20, 2025
fc76d30
feat: Restrict Database::Error. JournaledAccountTr (bluealloy/revm#3199)
rakita Dec 3, 2025
a7750ca
feat: early return if the l1 fee scalar is zero (bluealloy/revm#3213)
datnguyencse Dec 8, 2025
708c423
chore: Remove redundant tx fetch in Optimism handler gas accounting (…
anim001k Dec 15, 2025
0215bf5
feat: BAL EIP-7928 (bluealloy/revm#3070)
rakita Dec 18, 2025
38e9f26
chore: happy new year, 2026 licence (bluealloy/revm#3272)
rakita Jan 5, 2026
f3cd62f
feat: move GasParams to Cfg (bluealloy/revm#3229)
rakita Jan 8, 2026
3f51ad1
feat: new gas params, tx initial gas and codedeposit (bluealloy/revm#…
rakita Jan 8, 2026
74b42d0
chore: fix typos, grammar errors, and improve documentation consisten…
leopardracer Jan 9, 2026
cf41c93
chore: release (bluealloy/revm#3175)
github-actions[bot] Jan 15, 2026
1b39bf6
bump: revm v34.0.0 (bluealloy/revm#3313)
rakita Jan 15, 2026
51f931c
chore: update default hardfork to Osaka (Ethereum) and Jovian (Optimi…
zerosnacks Jan 19, 2026
786cf36
refactor(handler): extract duplicate ContextError handling (bluealloy…
andrewshab3 Jan 26, 2026
91611e2
refactor!: add ResultGas struct to ExecutionResult (bluealloy/revm#3413)
rakita Feb 12, 2026
d5b8686
refactor!: add logs to Revert and Halt variants of ExecutionResult (b…
rakita Feb 13, 2026
abd29c8
docs(op-revm): fix operator fee field doc comments (bluealloy/revm#3457)
jackwener Mar 2, 2026
4b8b1a6
perf(op-revm): remove unnecessary enveloped_tx clone in reward_benefi…
jackwener Mar 2, 2026
bf19a25
chore: release (bluealloy/revm#3316)
github-actions[bot] Mar 3, 2026
c4138ee
chore: bump revm-database-interface to v10.0.0 and all dependents (v1…
rakita Mar 4, 2026
ba62bcd
feat: add crate-level re-exports for all revm-* dependencies (blueall…
rakita Mar 16, 2026
c79483d
chore(op-revm): use typed error for missing enveloped tx in all paths…
bluebluesaku Mar 23, 2026
7bc2cdf
feat(op-reth): Proof store v2 implementation
dhyaniarun1993 Apr 4, 2026
419069e
table name refactored
dhyaniarun1993 Apr 4, 2026
e8eb221
clippy fixes
dhyaniarun1993 Apr 4, 2026
cd7046f
ci: gate contract feature matrix jobs on path changes (#19780)
smartcontracts Apr 7, 2026
c1ff34a
contracts: remove unused dispute game and FFI test helpers (#19926)
smartcontracts Apr 7, 2026
3df149d
Revert "ci: gate contract feature matrix jobs on path changes (#19780…
wwared Apr 8, 2026
c17880c
fix(op-e2e): send required bond when creating dispute games (#19953)
ajsutton Apr 8, 2026
5f45561
fix(kona/derive): reset pipeline for Holocene activation in IndexedTr…
sebastianst Apr 8, 2026
921eca3
contracts: remove unused test events (#19923)
smartcontracts Apr 8, 2026
8e333b1
fix(kona-node): handle missing L1 origin block in sequencer instead o…
joshklop Apr 8, 2026
42707e0
op-devstack: set rbuilder's chain block time properly (#19917)
joshklop Apr 8, 2026
d449c6e
op-acceptance-tests: remove race condition from flashblocks test (#19…
joshklop Apr 8, 2026
efff028
chore(rust): remove remaining patch deps (#19948)
theochap Apr 8, 2026
6d5ec4c
fix(deployer): isolate anvil FOUNDRY_HOME to prevent ~/.foundry bloat…
JosepBove Apr 8, 2026
ac5b208
fix(kona-proof-interop): only print missing chain IDs in rollup confi…
einar-oplabs Apr 8, 2026
2f0a943
fix(acceptance): remove flaky wall-clock assertion in TestFlashblocks…
maurelian Apr 8, 2026
43acf2b
fix(op-supernode): consolidate block-to-timestamp helpers and respect…
karlfloersch Apr 8, 2026
8f43ba6
feat(op-reth): add with_engine_validator method to OpAddOns (#19907)
sieniven Apr 8, 2026
672aa73
contracts: remove unused test state variables (#19922)
smartcontracts Apr 8, 2026
c2ab53a
docs: add fee vaults explainer and operations guide (#19952)
donoso-eth Apr 8, 2026
e8c2eb5
fix(op-acceptance-tests): increase CrossSafe sync timeout for EL Sync…
wwared Apr 8, 2026
a111e9e
op-node: change default value for --syncmode.req-resp to false (#18088)
nonsense Apr 8, 2026
80f96cf
Add 'rust/op-revm/' from commit 'c79483d5d04949e8a99dc3c11c79a2882523…
theochap Apr 7, 2026
0fbbf03
rust: integrate op-revm into the workspace
theochap Apr 7, 2026
daff87d
fix CI: exclude op-revm CHANGELOG from typos and propagate dev featur…
theochap Apr 7, 2026
b511b65
fix(op-e2e): restore cannon-kona game types in dispute game helper (#…
wwared Apr 8, 2026
ddfe326
feat(nuts): add update-nuts and verify-nuts commands (#19463)
maurelian Apr 8, 2026
77624d5
contracts: remove unused SafeTestTools helpers (#19924)
smartcontracts Apr 8, 2026
849bee3
Merge pull request #19961 from ethereum-optimism/theo/op-revm-to-the-…
sebastianst Apr 8, 2026
a899175
all: upgrade op-geth (#19844)
joshklop Apr 8, 2026
63dce55
op-interop-filter: add getBlockHashByNumber RPC (#19969)
karlfloersch Apr 8, 2026
05cd6db
feat: shared dispute game migration for interop (#19840)
stevennevins Apr 8, 2026
689dbb2
fix(op-reth): wait for proofs ExEx store before debug_executePayload …
sebastianst Apr 8, 2026
9d68e89
chore(op-devstack): fix rust binary error message and add debug build…
sebastianst Apr 8, 2026
e70de5b
chore(deps): bump op-geth to v1.101702.1-rc.1 (#19992)
nonsense Apr 9, 2026
ddfa07a
Delete `OptimismPortalInterop` contract and all references (#19956)
digorithm Apr 9, 2026
7571776
updates the CircleCI configuration to improve the contracts CI workfl…
raffaele-oplabs Apr 9, 2026
e44a31e
chore/proof-store-improvement merged + conflict resolved
dhyaniarun1993 Apr 10, 2026
53d3861
fix(op-acceptance-tests): use op-rbuilder in flashblocks transfer tes…
nonsense Apr 10, 2026
847d003
merge fixes
dhyaniarun1993 Apr 10, 2026
bc9c342
code refactor + fixes
dhyaniarun1993 Apr 10, 2026
03d824b
chore: remove OpcmImpl compat shim, ReadSuperchainDeployment v1 field…
smartcontracts Apr 10, 2026
81a4f8d
docs(notices): add Req/Res CL sync deprecation notice (#19998)
nonsense Apr 10, 2026
5208751
refactor
dhyaniarun1993 Apr 10, 2026
88cd69c
fix(kona): return error instead of panic on unknown batch type (#20000)
sebastianst Apr 10, 2026
1e3ee25
bumped reth to v2.0.0 (#19989)
jnoorchashm37 Apr 10, 2026
45287f7
test(op-e2e): add proof test for batcher change within channel_timeou…
sebastianst Apr 10, 2026
8fbd06e
feat(kona-genesis): add rollup_config_override feature for custom max…
theochap Apr 10, 2026
85e4935
rust(op-revm): add README and no_std CI coverage (#19962)
theochap Apr 10, 2026
44beaad
fix(kona): use correct precompile versions for Jovian and post-Jovian…
sebastianst Apr 13, 2026
ff889b0
fix(l2cm): address audit small fixes (#20007)
0xniha Apr 13, 2026
bcc43b2
docs: fix broken markdown links and stale README references (#20045)
smartcontracts Apr 13, 2026
6756879
test: zk dispute game factory and registry (#19872)
0xChin Apr 13, 2026
001cbed
op-node: offset_derived for EL-sync safe/finalized retraction (#19972)
axelKingsley Apr 13, 2026
e225391
fix(kona): use L1 origin timestamp for brotli activation check (#20004)
sebastianst Apr 13, 2026
8c538e6
test(op-acceptance-tests): unskip superroot proofs tests (#20048)
Inphi Apr 13, 2026
0cd3bdf
docs(op-program): add deprecation notice to README (#20044)
Inphi Apr 13, 2026
1a12bbe
feat: add devfeatures to op-core and fix cyclic dependency issue (#19…
0xniha Apr 13, 2026
6690cdb
fmt + doc fixes
dhyaniarun1993 Apr 14, 2026
f415ed9
fix(acceptance): wait for L2 clock catch-up in flashblocks tests (#20…
nonsense Apr 14, 2026
5bf7b7a
fix(kona): enforce strict frame ordering in ChannelAssembler (#20011)
sebastianst Apr 14, 2026
822f616
chore: replace deprecated deps with stdlib equivalents (#20014)
sebastianst Apr 14, 2026
2bfb52d
fix(op-e2e): make Holocene activation proof test non-trivial (#20023)
sebastianst Apr 14, 2026
6ac6d7d
feat(op-alloy): add post-exec transaction and receipt types (#19954)
nonsense Apr 14, 2026
34b6f64
fix(devstack): retry until the proof backend catches up (#19990)
nonsense Apr 14, 2026
e7e48ed
op-supernode: read interop activation timestamp from rollup config by…
karlfloersch Apr 14, 2026
d40a781
chore(op-reth): introduce factory pattern for OpProofsStore (#19909)
dhyaniarun1993 Apr 14, 2026
1cf0dfa
feat(mise): add nightly rust toolchain and cargo-nextest (#20052)
joshklop Apr 14, 2026
f491292
op-acceptance-tests: migrate TestInteropFaultProofs_MessageExpiry (#2…
Inphi Apr 14, 2026
b86fa43
chore(nuts): move NUT bundle JSON to op-core/nuts (#20051)
maurelian Apr 14, 2026
bff178a
refactor(op-devstack): move rust binary tooling to shared/rustbin, us…
joshklop Apr 14, 2026
aeceaa5
test(op-acceptance-tests): migrate DepositMessage_InvalidExecution to…
Inphi Apr 14, 2026
5a606d6
feat(op-reth): activate EIP-7823 modexp upper bounds on Karst fork (#…
joshklop Apr 15, 2026
e22c04a
develop merged + conflict resolved
dhyaniarun1993 Apr 15, 2026
cae83a8
remove macro + preset changes
dhyaniarun1993 Apr 15, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .circleci/Untitled
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c-contracts_changed
2 changes: 2 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ workflows:
.* c-go-cache-version << pipeline.parameters.go-cache-version >> .circleci/continue/main.yml
rust/.* c-rust_files_changed true .circleci/continue/main.yml
^(?!docs/public-docs/).+ c-non_docs_changes true .circleci/continue/main.yml
(packages/contracts-bedrock|\.circleci|\.github|ops/check-changed)/.* c-contracts_changed true .circleci/continue/main.yml
^(package\.json|mise\.toml)$ c-contracts_changed true .circleci/continue/main.yml

# Docs CI — trigger on docs/public-docs/ changes
.* c-default_docker_image << pipeline.parameters.default_docker_image >> .circleci/continue/docs-ci.yml
Expand Down
243 changes: 242 additions & 1 deletion .circleci/continue/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ parameters:
c-go-cache-version:
type: string
default: "v0.0"
# Set to true by path-filtering when contracts or rebuild-all paths change.
# When false, contract feature matrix jobs are skipped entirely.
c-contracts_changed:
type: boolean
default: false
# Passthrough declarations for setup config parameters.
# CircleCI forwards all explicitly-passed pipeline parameters to continuation configs.
# Without these declarations, manually triggered pipelines fail with "Unexpected argument(s)".
Expand Down Expand Up @@ -149,7 +154,7 @@ parameters:
default: "v0.0"

orbs:
utils: ethereum-optimism/circleci-utils@1.0.25
utils: ethereum-optimism/circleci-utils@1.0.27
go: circleci/go@1.8.0
gcp-cli: circleci/gcp-cli@3.0.1
slack: circleci/slack@6.0.0
Expand Down Expand Up @@ -1513,6 +1518,19 @@ jobs:
command: just update-selectors
working_directory: packages/contracts-bedrock

required-contracts-ci:
docker:
- image: <<pipeline.parameters.c-default_docker_image>>
resource_class: small
parameters:
always-succed:
description: Force always succeed (skip API gate; for contracts-feature-tests-short)
type: boolean
default: false
steps:
- utils/ci-gate:
always-succeed: << parameters.always-succed >>

contracts-bedrock-checks-fast:
docker:
- image: <<pipeline.parameters.c-default_docker_image>>
Expand Down Expand Up @@ -1673,6 +1691,20 @@ jobs:
command: |
go run ./ops/scripts/check-nut-locks

nut-provenance-verify:
docker:
- image: <<pipeline.parameters.c-default_docker_image>>
resource_class: 2xlarge
steps:
- utils/checkout-with-mise:
enable-mise-cache: true
- install-contracts-dependencies
- check-changed:
patterns: op-core/nuts
- run:
name: verify NUT bundle provenance
command: ./ops/scripts/nut-provenance-verify-changed.sh

go-tests:
parameters:
notify:
Expand Down Expand Up @@ -2612,6 +2644,9 @@ workflows:
- check-nut-locks:
context:
- circleci-repo-readonly-authenticated-github-token
- nut-provenance-verify:
context:
- circleci-repo-readonly-authenticated-github-token
- fuzz-golang:
name: fuzz-golang-<<matrix.package_name>>
on_changes: <<matrix.package_name>>
Expand Down Expand Up @@ -3169,4 +3204,210 @@ workflows:
- circleci-repo-readonly-authenticated-github-token
- slack

contracts-feature-tests:
when:
or:
- and:
- equal: ["webhook", << pipeline.trigger_source >>]
- << pipeline.parameters.c-contracts_changed >>
- << pipeline.parameters.c-non_docs_changes >>
# Always run on develop (mirrors previous check-changed whitelist behavior)
- and:
- equal: ["webhook", << pipeline.trigger_source >>]
- equal: ["develop", << pipeline.git.branch >>]
- << pipeline.parameters.c-non_docs_changes >>
# Merge queue (merge gate). Match checkout branch.
- matches:
pattern: "^gh-readonly-queue/.*"
value: << pipeline.git.branch >>
- and:
- equal: [true, <<pipeline.parameters.c-main_dispatch>>]
- equal: ["api", << pipeline.trigger_source >>]
jobs:
- contracts-bedrock-tests:
# Heavily fuzz any fuzz tests within added or modified test files.
name: contracts-bedrock-tests-heavy-fuzz-modified <<matrix.features>>
test_list: git diff origin/develop...HEAD --name-only --diff-filter=AM -- './test/**/*.t.sol' | sed 's|packages/contracts-bedrock/||'
test_timeout: 1h
test_profile: ciheavy
features: <<matrix.features>>
matrix:
parameters:
features: &features_matrix
- main
- CUSTOM_GAS_TOKEN
- OPTIMISM_PORTAL_INTEROP
- OPCM_V2
- OPCM_V2,CUSTOM_GAS_TOKEN
- OPCM_V2,OPTIMISM_PORTAL_INTEROP
- OPCM_V2,ZK_DISPUTE_GAME
- OPCM_V2,CANNON_KONA
- OPCM_V2,SUPER_ROOT_GAMES_MIGRATION
context:
- circleci-repo-readonly-authenticated-github-token
- slack
# On PRs, run tests with lite profile for better build times.
- contracts-bedrock-tests:
name: contracts-bedrock-tests <<matrix.features>>
test_list: find test -name "*.t.sol"
test_profile: liteci
features: <<matrix.features>>
matrix:
parameters:
features: *features_matrix
context:
- circleci-repo-readonly-authenticated-github-token
- slack
filters:
branches:
ignore: develop
# On develop, run tests with ci profile to mirror production.
- contracts-bedrock-tests:
name: contracts-bedrock-tests-develop <<matrix.features>>
test_list: find test -name "*.t.sol"
test_profile: ci
features: <<matrix.features>>
matrix:
parameters:
features: *features_matrix
context:
- circleci-repo-readonly-authenticated-github-token
- slack
filters:
branches:
only: develop
- contracts-bedrock-coverage:
# Generate coverage reports.
name: contracts-bedrock-coverage <<matrix.features>>
test_timeout: 1h
test_profile: cicoverage
features: <<matrix.features>>
matrix:
parameters:
features: *features_matrix
context:
- circleci-repo-readonly-authenticated-github-token
- slack
# On PRs, run upgrade tests with lite profile for better build times.
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade op-mainnet <<matrix.features>>
fork_op_chain: op
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
test_profile: liteci
features: <<matrix.features>>
matrix:
parameters:
features: *features_matrix
context:
- circleci-repo-readonly-authenticated-github-token
- slack
filters:
branches:
ignore: develop
# On develop, run upgrade tests with ci profile to mirror production.
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade-develop op-mainnet <<matrix.features>>
fork_op_chain: op
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
test_profile: ci
features: <<matrix.features>>
matrix:
parameters:
features: *features_matrix
context:
- circleci-repo-readonly-authenticated-github-token
- slack
filters:
branches:
only: develop
# On PRs, run chain-specific upgrade tests with lite profile for better build times.
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade <<matrix.fork_op_chain>>-mainnet
fork_op_chain: <<matrix.fork_op_chain>>
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
test_profile: liteci
matrix:
parameters:
fork_op_chain: ["op", "ink", "unichain"]
context:
- circleci-repo-readonly-authenticated-github-token
- slack
filters:
branches:
ignore: develop
# On develop, run chain-specific upgrade tests with ci profile to mirror production.
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade-develop <<matrix.fork_op_chain>>-mainnet
fork_op_chain: <<matrix.fork_op_chain>>
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
test_profile: ci
matrix:
parameters:
fork_op_chain: ["op", "ink", "unichain"]
context:
- circleci-repo-readonly-authenticated-github-token
- slack
filters:
branches:
only: develop
# Always run L2 fork tests with ci profile
- contracts-bedrock-tests-l2-fork:
name: contracts-bedrock-tests-l2-fork op-mainnet
fork_op_chain: op-mainnet
l2_fork_rpc: https://op-mainnet-rpc.optimism.io/
l2_fork_block_number: latest
test_profile: ci
context:
- circleci-repo-readonly-authenticated-github-token
- slack
- contracts-bedrock-checks-fast:
context:
- circleci-repo-readonly-authenticated-github-token
- slack
# -----------------------------------------------------------------------
# required-contracts-ci: GitHub required status for this workflow. Terminal requires
# keep this job scheduled even when upstream jobs fail; ci-gate then checks they passed.
# -----------------------------------------------------------------------
- required-contracts-ci:
requires:
- contracts-bedrock-tests main: terminal
- contracts-bedrock-tests-heavy-fuzz-modified main: terminal
- contracts-bedrock-coverage main: terminal
- contracts-bedrock-tests-upgrade op-mainnet main: terminal
- contracts-bedrock-checks-fast: terminal
context:
- circleci-api-token

# ============================================================================
# Required contracts CI gate (skip) — runs when no contract changes
# Produces the required-contracts-ci status so the merge queue doesn't hang.
# ============================================================================
contracts-feature-tests-short:
when:
not: # these conditions should be kept in sync with the ones in contracts-feature-tests
or:
- and:
- equal: ["webhook", << pipeline.trigger_source >>]
- << pipeline.parameters.c-contracts_changed >>
- << pipeline.parameters.c-non_docs_changes >>
# Always run on develop (mirrors previous check-changed whitelist behavior)
- and:
- equal: ["webhook", << pipeline.trigger_source >>]
- equal: ["develop", << pipeline.git.branch >>]
- << pipeline.parameters.c-non_docs_changes >>
# Merge queue (merge gate). Match checkout branch.
- matches:
pattern: "^gh-readonly-queue/.*"
value: << pipeline.git.branch >>
- and:
- equal: [true, <<pipeline.parameters.c-main_dispatch>>]
- equal: ["api", << pipeline.trigger_source >>]
jobs:
- required-contracts-ci:
always-succed: true
context:
- circleci-api-token
14 changes: 1 addition & 13 deletions .circleci/continue/rust-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version: 2.1
# This file contains all Rust CI commands, parameterized jobs, crate-specific jobs, and workflows.

orbs:
utils: ethereum-optimism/circleci-utils@1.0.25
utils: ethereum-optimism/circleci-utils@1.0.27
gcp-cli: circleci/gcp-cli@3.0.1
codecov: codecov/codecov@5.0.3

Expand Down Expand Up @@ -407,10 +407,6 @@ jobs:
- rust-prepare-and-restore-cache: &fmt-cache-args
directory: <<parameters.directory>>
prefix: <<parameters.directory>>-fmt
- run:
name: Install nightly toolchain
working_directory: <<parameters.directory>>
command: just install-nightly
- run:
name: Check formatting
working_directory: <<parameters.directory>>
Expand Down Expand Up @@ -598,10 +594,6 @@ jobs:
directory: <<parameters.directory>>
prefix: <<parameters.directory>>-docs
features: "all"
- run:
name: Install nightly toolchain
working_directory: <<parameters.directory>>
command: just install-nightly
- run:
name: Build documentation
working_directory: <<parameters.directory>>
Expand Down Expand Up @@ -701,10 +693,6 @@ jobs:
directory: <<parameters.directory>>
prefix: <<parameters.directory>>-udeps
profile: "release"
- run:
name: Install nightly toolchain
working_directory: <<parameters.directory>>
command: just install-nightly
- install-cargo-binstall
- run:
name: Install cargo-udeps
Expand Down
11 changes: 1 addition & 10 deletions .claude/skills/fix-rust-fmt/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,7 @@ 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
### Step 2: Run the formatter

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