Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3952 commits
Select commit Hold shift + click to select a range
3705129
Fix CLI flags
pmikolajczyk41 Aug 25, 2026
2aff016
Properly pass the input
pmikolajczyk41 Aug 25, 2026
1bc9c7a
Unnecessary comment
pmikolajczyk41 Aug 25, 2026
6bc695c
Changelog
pmikolajczyk41 Aug 25, 2026
e37590e
Merge pull request #690 from OffchainLabs/gligneul/nit-5424-seq-race
eljobe Aug 25, 2026
4abede6
Merge pull request #695 from OffchainLabs/gligneul/nit-5514-eip7702-s…
eljobe Aug 25, 2026
7dd8b37
Merge pull request #626 from OffchainLabs/fix-overexposed-apis
eljobe Aug 25, 2026
e7d9d28
Merge remote-tracking branch 'origin/master' into arb-reth-block-prod…
MishkaRogachev Aug 25, 2026
5831c39
Fix Docker build: new foundryup installer no longer edits ~/.bashrc
mglowack Aug 25, 2026
00694a6
ensure https for foundry install
mglowack Aug 25, 2026
4d2ddcf
Restore -L in foundry install curl: foundry.paradigm.xyz is a 301 red…
mglowack Aug 25, 2026
7301c7e
Clippy
pmikolajczyk41 Aug 25, 2026
6126c54
Merge remote-tracking branch 'origin/master' into mglowacki/ci-extern…
mglowack Aug 25, 2026
56a34cc
test: make the external L1 harness importable
mglowack Aug 25, 2026
8ddac56
build: trim external-L1 dev targets to build-upstream-geth
mglowack Aug 25, 2026
3e43092
Merge pull request #703 from OffchainLabs/mglowack/nit-5526-fix-execu…
eljobe Aug 25, 2026
85a6e89
Introduce a new feature and rework the build.rs
pmikolajczyk41 Aug 25, 2026
12ff246
Merge branch 'master' into gligneul/nit-5520-expired-metric
gligneul Aug 25, 2026
95fae44
Skip TestSequencerPriceAdjustsFrom* under message extraction
mglowack Aug 25, 2026
62eb9b8
Invert the logic
pmikolajczyk41 Aug 25, 2026
7729ecb
Merge pull request #698 from OffchainLabs/gligneul/nit-5520-expired-m…
eljobe Aug 25, 2026
d6eb530
Move bindings to a new module
pmikolajczyk41 Aug 25, 2026
a09d2c0
Merge branch 'master' into merge-v1.17.4
diegoximenes Aug 25, 2026
2d607bd
Tidy imports
pmikolajczyk41 Aug 25, 2026
bca965f
Extract dict native code to separate module
pmikolajczyk41 Aug 25, 2026
fe2a90d
Reorder
pmikolajczyk41 Aug 25, 2026
fc5efd6
Merge pull request #704 from OffchainLabs/mglowacki/skip-fees-tests-u…
mglowack Aug 25, 2026
2ecf893
Review fixes: add round-trip test and db error propagation
MishkaRogachev Aug 25, 2026
2c8586a
Merge branch 'master' into arb-reth-block-producer-decomposition
MishkaRogachev Aug 25, 2026
de3df61
Pass block access list index to SetTxContext
diegoximenes Aug 25, 2026
36174c7
Discard block access list returned by ApplyTransactionWithResultFilter
diegoximenes Aug 25, 2026
ec00d7e
Pass nil block access list to ProcessParentBlockHash
diegoximenes Aug 25, 2026
0a974e8
Update Engine.Finalize to the new consensus.Engine signature
diegoximenes Aug 25, 2026
66265dd
Discard block access list returned by ApplyTransaction in gethhook test
diegoximenes Aug 25, 2026
35612a8
Update ethdb stub signatures for freezer tail groups
diegoximenes Aug 25, 2026
0f26a5b
Pass tail group to block records freezer Tail/TruncateTail
diegoximenes Aug 25, 2026
70670ea
Pass block access list index to SetTxContext in txFilterer.Setup
diegoximenes Aug 25, 2026
d53e441
Update IntrinsicGas call in tx pre-checker to rules-based signature
diegoximenes Aug 25, 2026
dde609f
Document Stylus state-gas hand-off gap
diegoximenes Aug 25, 2026
9ab19d2
Document precompile state-gas reservoir drop
diegoximenes Aug 25, 2026
5330980
Merge branch 'master' into merge-v1.17.4
diegoximenes Aug 25, 2026
e59da55
Fix imports
pmikolajczyk41 Aug 25, 2026
ce19a28
Add the host imports
pmikolajczyk41 Aug 25, 2026
e145471
Fix build.rs
pmikolajczyk41 Aug 25, 2026
93966d5
lcoks
pmikolajczyk41 Aug 25, 2026
dc6915c
Seed the new crate
pmikolajczyk41 Aug 25, 2026
9533179
wasm-check
pmikolajczyk41 Aug 25, 2026
35f441d
Merge remote-tracking branch 'origin/master' into mglowacki/ci-extern…
mglowack Aug 25, 2026
2bd2fb4
Suppress gosec G115 on block access list index conversion
diegoximenes Aug 25, 2026
8ced8be
Merge branch 'master' into merge-v1.17.4
diegoximenes Aug 25, 2026
ceeff13
Add new deps
pmikolajczyk41 Aug 24, 2026
540424e
Take block input in CLI in runner
pmikolajczyk41 Aug 24, 2026
2e54599
Update run target
pmikolajczyk41 Aug 24, 2026
dd2d56c
Adapt CI
pmikolajczyk41 Aug 24, 2026
f6f96d9
Changelog
pmikolajczyk41 Aug 24, 2026
8fffe76
Deserialize without copying buffer
pmikolajczyk41 Aug 24, 2026
3ddd6bb
Guest program: read and deserialize the payload
pmikolajczyk41 Aug 24, 2026
11e5217
Mocked validation in CI
pmikolajczyk41 Aug 24, 2026
e670269
Be smarter with rkyv now
pmikolajczyk41 Aug 25, 2026
1c7cd85
Fix features in runner
pmikolajczyk41 Aug 25, 2026
8f85849
Skip loop
pmikolajczyk41 Aug 25, 2026
072df16
Fix imports
pmikolajczyk41 Aug 25, 2026
f45debf
Merge remote-tracking branch 'origin/pmikolajczyk/nit-5485-validation…
pmikolajczyk41 Aug 25, 2026
e3742c3
Bump foundry
pmikolajczyk41 Aug 25, 2026
c25a500
Update go-ethereum pin: guard typed-nil json.Marshaler in RPC responses
diegoximenes Aug 25, 2026
bd004f7
fix features
pmikolajczyk41 Aug 25, 2026
30ff76f
fmt
pmikolajczyk41 Aug 25, 2026
d885a5d
Bump foundry
pmikolajczyk41 Aug 25, 2026
26c8d8c
Changelog
pmikolajczyk41 Aug 25, 2026
c09baca
Drop Engine.FinalizeAndAssemble
diegoximenes Aug 25, 2026
5c5af2d
Document pre-Amsterdam gas zeroing caveat on stylus overcharge path
diegoximenes Aug 25, 2026
cf71cd8
Assert TxsRecordingDatabase implements ethdb.Database
diegoximenes Aug 25, 2026
36b3b01
Drop ethdb methods that left the interface from mel-replay DB
diegoximenes Aug 25, 2026
4595b09
Fix stale gas-pool method names in comment and ModifyAncients error text
diegoximenes Aug 25, 2026
e10d939
Update go-ethereum pin to 338bf5aa6a
diegoximenes Aug 25, 2026
e5d2ede
Merge pull request #708 from OffchainLabs/pmikolajczyk/foundry
joshuacolvin0 Aug 25, 2026
8dc1919
Merge branch 'master' into merge-v1.17.4
diegoximenes Aug 25, 2026
4d74ac3
Merge pull request #699 from OffchainLabs/bump-wasmer
eljobe Aug 25, 2026
dcd39cb
Merge pull request #640 from OffchainLabs/mglowacki/ci-external-l1
eljobe Aug 25, 2026
116a45d
Support auto-download of pathdb snapshots
KolbyML Aug 25, 2026
a9a2d52
Merge branch 'master' into implement-rpc-melrunner
ganeshvanahalli Aug 26, 2026
be5339a
wire InitReorg through MEL
ganeshvanahalli Aug 26, 2026
822a704
bump wasmer
tsahee Aug 26, 2026
5137737
changelog
tsahee Aug 26, 2026
e918000
Merge branch 'pmikolajczyk/nit-5485-validation-input' into pmikolajcz…
pmikolajczyk41 Aug 26, 2026
a687aa2
Merge remote-tracking branch 'origin/master' into pmikolajczyk/nit-54…
pmikolajczyk41 Aug 26, 2026
048e219
Merge branch 'pmikolajczyk/nit-5485-validation-input' into pmikolajcz…
pmikolajczyk41 Aug 26, 2026
047b010
do a smoke test
pmikolajczyk41 Aug 26, 2026
ce9c344
Merge pull request #691 from OffchainLabs/pmikolajczyk/nit-5485-valid…
eljobe Aug 26, 2026
2feae1b
Add it to CI
pmikolajczyk41 Aug 26, 2026
1e7791c
Use --release
pmikolajczyk41 Aug 26, 2026
d1ca18d
Smoke -> Runner
pmikolajczyk41 Aug 26, 2026
f118e4f
Use mocked brotli
pmikolajczyk41 Aug 26, 2026
ff80ad7
Extract wasi imports
pmikolajczyk41 Aug 26, 2026
a8b7bd3
Refactor to helpers
pmikolajczyk41 Aug 26, 2026
dba436d
Changelog
pmikolajczyk41 Aug 26, 2026
4cf708f
Merge remote-tracking branch 'origin/master' into pmikolajczyk/nit-54…
pmikolajczyk41 Aug 26, 2026
e36e907
Update nitro-testnode pin
pmikolajczyk41 Aug 26, 2026
f4c7ba7
cbindgen ignore
pmikolajczyk41 Aug 26, 2026
b0f9c8c
Merge pull request #549 from OffchainLabs/implement-rpc-melrunner
eljobe Aug 26, 2026
5e8ae14
Bump pin
pmikolajczyk41 Aug 26, 2026
ef7d77b
Changelog
pmikolajczyk41 Aug 26, 2026
a874513
Add target to dockerignore
pmikolajczyk41 Aug 26, 2026
372e175
Review fixes: apply suggestions, move to_message_with_metadata to Rpc…
MishkaRogachev Aug 26, 2026
57dc95c
Merge pull request #681 from OffchainLabs/arb-reth-block-producer-dec…
pmikolajczyk41 Aug 26, 2026
69dfe0c
Merge pull request #712 from OffchainLabs/wasmer_tables
tsahee Aug 26, 2026
f81ede6
Migrate pendingblock_test.go to v2
robwblack Aug 26, 2026
60ef763
Merge pull request #716 from OffchainLabs/nit-5540-transfer-pending-b…
joshuacolvin0 Aug 26, 2026
67666e6
Fix flaky test: TestTimeboostRedisCoordinator
ganeshvanahalli Aug 26, 2026
5cc0885
system tests v2: migrate historical block hash scenario
robwblack Aug 26, 2026
6ad4dff
Merge branch 'master' into fix-flaky-TestTimeboostRedisCoordinator
ganeshvanahalli Aug 26, 2026
5b2bfff
Merge branch 'master' into jco/fix-reorg-prefetch-off-by-one
tsahee Aug 27, 2026
a2b40c0
Merge pull request #649 from OffchainLabs/jco/fix-reorg-prefetch-off-…
tsahee Aug 27, 2026
a633875
get rid of panic_with_wasm
KolbyML Aug 27, 2026
0451c10
Merge pull request #715 from OffchainLabs/pmikolajczyk/nit-5547-l2-an…
joshuacolvin0 Aug 27, 2026
61c3a26
Merge remote-tracking branch 'origin/master' into pmikolajczyk/nit-55…
pmikolajczyk41 Aug 27, 2026
1ac1150
Merge branch 'master' into gaspool-endtxnow-no-reserve
eljobe Aug 27, 2026
d650ee6
include std
pmikolajczyk41 Aug 27, 2026
a98194e
remove the flag
pmikolajczyk41 Aug 27, 2026
5e5e67d
reuse compiler
pmikolajczyk41 Aug 27, 2026
430f317
Merge pull request #686 from OffchainLabs/gaspool-endtxnow-no-reserve
eljobe Aug 27, 2026
553cb56
Return StdIn from replay-io helpers
pmikolajczyk41 Aug 27, 2026
6d11239
Apply this in the builder
pmikolajczyk41 Aug 27, 2026
a44ad02
Changelog
pmikolajczyk41 Aug 27, 2026
f71539f
Apply new API in the runner
pmikolajczyk41 Aug 27, 2026
e6debef
Introduce 3 modes to the runner
pmikolajczyk41 Aug 27, 2026
c07f9b2
Run proving in CI (now it is cheap)
pmikolajczyk41 Aug 27, 2026
803dba6
Refactor
pmikolajczyk41 Aug 27, 2026
3d5a6aa
Merge remote-tracking branch 'origin/master' into pmikolajczyk/nit-55…
pmikolajczyk41 Aug 27, 2026
b35ad18
Merge remote-tracking branch 'origin/master' into pmikolajczyk/nit-54…
pmikolajczyk41 Aug 27, 2026
1f74d46
Remove cfg-if
pmikolajczyk41 Aug 27, 2026
638fd31
s/build/load
pmikolajczyk41 Aug 27, 2026
56ade5a
remove lifetime
pmikolajczyk41 Aug 27, 2026
84bbdc1
fix lint
KolbyML Aug 27, 2026
8cf344b
Merge branch 'master' into merge-v1.17.4
diegoximenes Aug 27, 2026
39f62e3
Resolve PR concerns
KolbyML Aug 27, 2026
711609b
Resolve PR concerns
KolbyML Aug 27, 2026
559be83
Resolve PR concern
KolbyML Aug 27, 2026
d298608
bring stylus instrument up
tsahee Jul 30, 2026
df82b9a
changelog
tsahee Jul 30, 2026
7cee0c8
remove export limit
tsahee Jul 30, 2026
19ba0f9
Resolve PR concerns
KolbyML Aug 28, 2026
e6b7d20
Merge pull request #729 from OffchainLabs/stylus_activation_fixes
tsahee Aug 28, 2026
9e7e92c
Merge branch 'pmikolajczyk/nit-5507-stylus-compilation' into pmikolaj…
pmikolajczyk41 Aug 28, 2026
abcc1e6
Merge remote-tracking branch 'origin/master' into pmikolajczyk/nit-55…
pmikolajczyk41 Aug 28, 2026
b9e2544
Small naming changes
pmikolajczyk41 Aug 28, 2026
16f0fdf
Move to src/
pmikolajczyk41 Aug 28, 2026
f34b5fb
Substantial refactor
pmikolajczyk41 Aug 28, 2026
49e7f18
Stdin by ref
pmikolajczyk41 Aug 28, 2026
94590a6
fmt
pmikolajczyk41 Aug 28, 2026
79c367f
minor fix
pmikolajczyk41 Aug 28, 2026
9961955
Merge remote-tracking branch 'origin/master' into pmikolajczyk/nit-55…
pmikolajczyk41 Aug 28, 2026
ba34d84
Merge branch 'pmikolajczyk/nit-5507-stylus-compilation' into pmikolaj…
pmikolajczyk41 Aug 28, 2026
3675efa
Merge pull request #714 from OffchainLabs/pmikolajczyk/nit-5404-wasm-…
pmikolajczyk41 Aug 28, 2026
04c5ec0
Dedup gas/ink
pmikolajczyk41 Aug 28, 2026
ea47915
Changelog
pmikolajczyk41 Aug 28, 2026
c1fcf28
Remove the module, update imports
pmikolajczyk41 Aug 28, 2026
0bad5fa
Remove unused enum
pmikolajczyk41 Aug 28, 2026
3c73a8f
Remove duped consts
pmikolajczyk41 Aug 28, 2026
d930991
Update changelog
pmikolajczyk41 Aug 28, 2026
2b6d20f
Remove the rest of constants
pmikolajczyk41 Aug 28, 2026
56543c0
Remove the module
pmikolajczyk41 Aug 28, 2026
255f7ed
Update changelog
pmikolajczyk41 Aug 28, 2026
eb6459d
Merge pull request #697 from OffchainLabs/merge-v1.17.4
eljobe Aug 28, 2026
b801fe3
Merge pull request #711 from OffchainLabs/NIT-4727
pmikolajczyk41 Aug 28, 2026
8b438de
Merge remote-tracking branch 'origin/master' into systest-v2-transfer…
MishkaRogachev Aug 28, 2026
a019bff
Resolve PR concern
KolbyML Aug 28, 2026
762cf37
Merge remote-tracking branch 'origin/master' into NIT-5548
KolbyML Aug 28, 2026
90f97aa
Changelog
pmikolajczyk41 Aug 28, 2026
c05f0ef
Remove duped UserOutcomeKind
pmikolajczyk41 Aug 28, 2026
7f77fbd
Merge pull request #701 from OffchainLabs/pmikolajczyk/nit-5507-stylu…
eljobe Aug 28, 2026
350017e
Merge pull request #731 from OffchainLabs/pmikolajczyk/nit-5568-dedup
KolbyML Aug 28, 2026
26ab6a2
Address review comments: env, applyOverrides, SkipOnRace
MishkaRogachev Aug 28, 2026
ccc5c82
Merge pull request #720 from OffchainLabs/NIT-5548
tsahee Aug 28, 2026
6d97f49
address PR comments
ganeshvanahalli Aug 28, 2026
2eb70be
fix ci flakyness around BlockValidator shutdown on execution RPC
KolbyML Aug 25, 2026
01890e5
Resolve PR concerns
KolbyML Aug 28, 2026
a7c2cb0
Merge pull request #718 from OffchainLabs/fix-flaky-TestTimeboostRedi…
ganeshvanahalli Aug 29, 2026
e6d2a83
Log which readiness check blocks assertion posting
eljobe Aug 29, 2026
7b7cd8f
Merge pull request #735 from OffchainLabs/assertion-gate-logging
eljobe Aug 29, 2026
465524d
Unify traits: remove pages argument and return values. Just like in a…
pmikolajczyk41 Aug 31, 2026
6826e88
Unify traits: add add_pages - the last missing method in the trait
pmikolajczyk41 Aug 31, 2026
2c33bbe
Remove tracking pages in WasmEnv: remove fields and corresponding set…
pmikolajczyk41 Aug 31, 2026
385bec0
In host: stop wiring in and out gas info. Assume it will be handled b…
pmikolajczyk41 Aug 31, 2026
cb308ed
Remove unnecessary constructor from NativeInstance
pmikolajczyk41 Aug 31, 2026
3ed22d7
Introduce PageTracker struct
pmikolajczyk41 Aug 31, 2026
ecf7707
Adjust to the new API
pmikolajczyk41 Aug 31, 2026
8f6d52b
Remove bad constructor (easy to get a wrong order of arguments)
pmikolajczyk41 Aug 31, 2026
bf6e4ff
Small adjustments
pmikolajczyk41 Aug 31, 2026
2bb1dd5
Simplify tests
pmikolajczyk41 Aug 31, 2026
8e15484
Use exactly the same types as arbutil. Use explicit construction of P…
pmikolajczyk41 Aug 31, 2026
4ea8339
Remove duped trait
pmikolajczyk41 Aug 31, 2026
b889bb7
Use arbutil trait, instantiated with VecReader
pmikolajczyk41 Aug 31, 2026
4f6aec1
Fix typos
pmikolajczyk41 Aug 31, 2026
74f7ad7
Reorg page tracking tests
pmikolajczyk41 Aug 31, 2026
7d8c9d5
Alias
pmikolajczyk41 Aug 31, 2026
0f5533f
Update changelog
pmikolajczyk41 Aug 31, 2026
0019f5b
Merge remote-tracking branch 'origin/master' into pmikolajczyk/nit-55…
pmikolajczyk41 Aug 31, 2026
fe1741b
Separate module
pmikolajczyk41 Aug 31, 2026
9b57fa0
Review fixes: cancel env.Ctx on failure
MishkaRogachev Aug 31, 2026
65bec9b
Merge remote-tracking branch 'origin/master' into systest-v2-transfer…
MishkaRogachev Aug 31, 2026
8120c6a
Docs (fix and amendment)
pmikolajczyk41 Aug 31, 2026
ba1d758
Expose decompress from brotli
pmikolajczyk41 Aug 31, 2026
1bac916
Target: add arb-stylus to wasm-check
pmikolajczyk41 Aug 31, 2026
c80d40e
Exclude Memory error variant that depends on wasmer
pmikolajczyk41 Aug 31, 2026
0bf29cd
Changelog
pmikolajczyk41 Aug 31, 2026
9e9a8c2
Remove build.rs and probestack - probably not needed
pmikolajczyk41 Aug 31, 2026
6181646
Exclude some deps
pmikolajczyk41 Aug 31, 2026
d481cd3
Do cfgs on modules
pmikolajczyk41 Aug 31, 2026
fb733b7
Add precompiles
pmikolajczyk41 Aug 31, 2026
5ff7bbb
Add note to AGENTS
pmikolajczyk41 Aug 31, 2026
55ab133
Build brotli in CI
pmikolajczyk41 Aug 31, 2026
63f1e2a
Make build script more robust
pmikolajczyk41 Aug 31, 2026
2ed63a6
Use link feature instead of cc-brotli
pmikolajczyk41 Aug 31, 2026
a28d19b
Changelog
pmikolajczyk41 Aug 31, 2026
d0010c6
Add a new shared setup action for nitro-reth workflows
pmikolajczyk41 Aug 31, 2026
8749cef
Reduce config
pmikolajczyk41 Aug 31, 2026
89b1863
Mac lie guard
pmikolajczyk41 Aug 31, 2026
0f2d247
Miri
pmikolajczyk41 Aug 31, 2026
b50bf36
Merge pull request #719 from OffchainLabs/nit-5556-transfer-historica…
joshuacolvin0 Aug 31, 2026
4c9a1b9
chore(changelog): add fragment for build-pipeline fix
Copilot Aug 31, 2026
5e3574a
Merge branch 'master' into at/checkout-resolved-revision
a-thomas-22 Aug 31, 2026
07e14c0
Merge pull request #539 from OffchainLabs/at/checkout-resolved-revision
joshuacolvin0 Aug 31, 2026
cf94457
Assert release images carry the provenance the pipeline selected
joshuacolvin0 Aug 31, 2026
24ce5b3
Create the multi-arch manifest for nitro-node-rust-validator
joshuacolvin0 Aug 31, 2026
8436f51
Don't attach the freezer to the l2chaindata existence probe
joshuacolvin0 Sep 1, 2026
314acc9
Merge pull request #710 from OffchainLabs/NIT-5348
eljobe Sep 1, 2026
8cfa7a7
Merge pull request #730 from OffchainLabs/pmikolajczyk/nit-5519-runne…
eljobe Sep 1, 2026
daaf37e
Merge pull request #747 from OffchainLabs/jco-l2chaindata-freezer-probe
eljobe Sep 1, 2026
816b2bc
Merge pull request #739 from OffchainLabs/pmikolajczyk/nit-5572-env-t…
eljobe Sep 1, 2026
ba65ed5
Merge pull request #740 from OffchainLabs/pmikolajczyk/nit-5512-arb-s…
eljobe Sep 1, 2026
d5f3e8b
Merge pull request #504 from OffchainLabs/systest-v2-transfer-base-sc…
eljobe Sep 1, 2026
f9c1a34
Merge pull request #746 from OffchainLabs/jco/release-pipeline
eljobe Sep 1, 2026
19e94c6
Merge pull request #742 from OffchainLabs/pmikolajczyk/nit-5577-ccbrotli
eljobe Sep 1, 2026
4ca7837
Bump go-ethereum to release cancelled eth_getLogs searches
robwblack Sep 16, 2026
ebe9e83
Merge pull request #866 from OffchainLabs/nit-5632-backport-3.12
joshuacolvin0 Sep 16, 2026
0b81311
Fix debug_traceCall panic when tip collection is enabled
robwblack Sep 24, 2026
8c42f24
Keep Tx.EffectiveGasPrice for signed txs in FillReceiptInfo
robwblack Sep 24, 2026
21779a7
Drop the GetPaidGasPrice fallback in FillReceiptInfo
robwblack Sep 24, 2026
9c295c5
feat: backport NIT-5735 backfill capability
jsouto18 Sep 25, 2026
3f5afac
Merge pull request #911 from OffchainLabs/nit-5881-backport-3.12
robwblack Sep 25, 2026
120ab66
Merge branch 'v3.12.x-release' into jsouto/nit-5735-backport-3.12
jsouto18 Sep 25, 2026
60b57c1
Merge pull request #927 from OffchainLabs/jsouto/nit-5735-backport-3.12
eljobe Sep 25, 2026
a50a5c4
Backport 3.12: Refuse Stylus activation for requests not executed onc…
KolbyML Sep 25, 2026
0cecce1
Merge pull request #929 from OffchainLabs/backport-pr-924-for-3.12
tsahee Sep 25, 2026
570de37
Backport 3.12: Set default feed REST endpoint if not set explicitly
joshuacolvin0 Sep 29, 2026
70fa99a
Merge pull request #954 from OffchainLabs/jco/feed-rest-default-backp…
tsahee Sep 29, 2026
98778f0
Merge tag 'v3.12.1' into bump/v3.12.1-fh3.0
sduchesneau Oct 16, 2026
5ec79a0
Add v3.12.1 bump to the changelog
sduchesneau Oct 16, 2026
16efb6d
Add ArbOS activation inventory for Firehose
sduchesneau Oct 16, 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 .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ crates/tools/module_roots
crates/tools/pricer

# Rust outputs
crates/sp1/target/
crates/stylus/tests/target/
crates/wasm-testsuite/target/
crates/wasm-libraries/target/
Expand Down
21 changes: 17 additions & 4 deletions .github/actions/ci-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,19 @@ runs:

steps:
- name: Install dependencies
run: sudo apt update && sudo apt install -y wabt gotestsum
run: sudo apt update && sudo apt install -y build-essential cmake clang wabt gotestsum protobuf-compiler python3 jq curl wget uuid-runtime lld-14
shell: bash

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "24"

- name: Enable corepack (provides yarn)
run: corepack enable
shell: bash

- name: Setup Node.js with yarn cache
uses: actions/setup-node@v6
with:
node-version: "24"
Expand All @@ -24,10 +33,14 @@ runs:
# The Go caches are managed by the explicit cache steps below.
cache: false

# "|" falls back to direct fetching on any proxy error; the default ","
# only falls back on 404/410, so a transient proxy error fails the build.
- name: Fall back to direct module fetching on Go proxy errors
run: echo "GOPROXY=https://proxy.golang.org|direct" >> "$GITHUB_ENV"
shell: bash

- name: Install wasm-ld
run: |
sudo apt-get update && sudo apt-get install -y lld-14
sudo ln -s /usr/bin/wasm-ld-14 /usr/local/bin/wasm-ld
run: sudo ln -s /usr/bin/wasm-ld-14 /usr/local/bin/wasm-ld
shell: bash

- name: Install rust
Expand Down
19 changes: 13 additions & 6 deletions .github/actions/lint-go/action.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
---
name: 'Lint Go Code'
description: 'Runs both golangci-lint and custom linters on the Go codebase.'
description: 'Runs golangci-lint, the custom linters, and solhint via `make lint` so the tool versions pinned in the Makefile are the single source of truth.'

runs:
using: composite

steps:
- name: GolangCI Lint
uses: golangci/golangci-lint-action@v9
- name: Cache golangci-lint analysis
uses: actions/cache@v5
with:
version: v2.5
path: ~/.cache/golangci-lint
# github.sha prevents exact-key hits, which would skip the save and
# let the cache go stale.
key: ${{ runner.os }}-golangci-${{ hashFiles('**/go.sum') }}-${{ github.sha }}
# Stale restores are safe: golangci-lint invalidates per file/config.
restore-keys: |
${{ runner.os }}-golangci-${{ hashFiles('**/go.sum') }}-
${{ runner.os }}-golangci-

- name: Custom Lint
- name: Lint
shell: bash
run: go run ./linters ./...
run: make lint
51 changes: 51 additions & 0 deletions .github/actions/nitro-reth-setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: nitro-reth setup
description: >
Common setup for nitro-reth CI jobs: submodules, C build deps, prebuilt brotli
static libs, the Rust toolchain, and the shared cargo cache. Run after checkout.

inputs:
client-id:
description: GitHub App client id for submodule access
required: true
app-private-key:
description: GitHub App private key for submodule access
required: true
toolchain:
description: Rust toolchain to install
default: "1.93"
components:
description: Extra toolchain components (comma-separated)
default: ""
targets:
description: Extra compilation targets (comma-separated)
default: ""
brotli:
description: Build the prebuilt brotli static libs (needed by jobs that link)
default: "false"
cache-shared-key:
description: rust-cache shared-key (empty means per-job default keys)
default: ""

runs:
using: composite
steps:
- uses: ./.github/actions/init-submodules
with:
client-id: ${{ inputs.client-id }}
app-private-key: ${{ inputs.app-private-key }}
- name: Install build deps
shell: bash
run: sudo apt-get update && sudo apt-get install -y build-essential clang libclang-dev cmake
- name: Build brotli static libs
if: inputs.brotli == 'true'
shell: bash
run: ./scripts/build-brotli.sh -l
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ inputs.toolchain }}
components: ${{ inputs.components }}
targets: ${{ inputs.targets }}
- uses: Swatinem/rust-cache@v2
with:
workspaces: nitro-reth
shared-key: ${{ inputs.cache-shared-key }}
65 changes: 42 additions & 23 deletions .github/buildspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@ env:
phases:
pre_build:
commands:
# CODEBUILD_CLONE_REF checks out the source action's BranchName, not the
# revision the execution resolved, so pin the tree before anything reads git.
- |
set -euo pipefail
REF=${SOURCE_REF:-auto}
if [ "$REF" = auto ]; then REF=$CODEBUILD_RESOLVED_SOURCE_VERSION; fi
if ! git rev-parse --verify --quiet "${REF}^{commit}" >/dev/null; then
echo "ERROR: $REF is not in the clone. CodeBuild does not leave usable credentials on origin, so it cannot be fetched." >&2
echo "local refs:" >&2; git for-each-ref --format=' %(refname)' >&2
exit 1
fi
git checkout --force --detach "$REF"
- |
set -euo pipefail
if [ -n "${GITHUB_APP_KEY:-}" ]; then
Expand All @@ -28,7 +40,7 @@ phases:
export GITHUB_TOKEN
GITHUB_TOKEN=$(printf '%s' "$TOKEN_RESPONSE" | jq -r '.token // empty')
if [ -z "$GITHUB_TOKEN" ]; then
redacted=$(printf '%s' "$TOKEN_RESPONSE" | sed -E 's/(ghs_|ghu_)[A-Za-z0-9]+/\1REDACTED/g')
redacted=$(printf '%s' "$TOKEN_RESPONSE" | sed -E 's/(ghs_|ghu_)[A-Za-z0-9._-]+/\1REDACTED/g')
echo "ERROR: installation token missing from response: ${redacted}" >&2
exit 1
fi
Expand All @@ -40,30 +52,24 @@ phases:
- echo Logging in to Dockerhub....
- printf '%s' "$DOCKERHUB_PASSWORD" | docker login --username "$DOCKERHUB_USERNAME" --password-stdin
- aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin "$REPOSITORY_URI"
- COMMIT_HASH=$(git rev-parse --short=7 HEAD)
- >-
VERSION_TAG=$(git tag --points-at HEAD | sed '/-/!s/$/_/' | sort -rV |
sed 's/_$//' | head -n 1 | grep ^ || git show -s --pretty=%D | sed 's/, /\n/g' |
grep -v '^origin/' |grep -v '^grafted\|HEAD\|master\|main$' || echo "dev")
- NITRO_VERSION=${VERSION_TAG}-${COMMIT_HASH}
- IMAGE_TAG=${NITRO_VERSION}
# Sets NITRO_TAG, NITRO_BRANCH, NITRO_COMMIT, and the Docker-safe
# IMAGE_TAG.
- . scripts/ci-version-select.sh
- NITRO_DATETIME=$(git show -s --date=iso-strict --format=%cd)
- NITRO_MODIFIED="false"
- echo ${NITRO_VERSION} > ./.nitro-tag.txt
- echo ${IMAGE_TAG} > ./.nitro-tag.txt
- >-
BUILD_ARGS="--build-arg version=$NITRO_VERSION
export BUILD_ARGS="--build-arg tag=$NITRO_TAG
--build-arg branch=$NITRO_BRANCH
--build-arg commit=$NITRO_COMMIT
--build-arg datetime=$NITRO_DATETIME
--build-arg modified=$NITRO_MODIFIED"
build:
commands:
- echo Build started on `date`
- echo Building the Docker image ${NITRO_VERSION}...
- echo Building the Docker image ${IMAGE_TAG}...
- |
set -euo pipefail
# CodeBuild does not propagate env between phases (only IMAGE_TAG is
# in exported-variables), and installation tokens expire in ~10 min.
# Re-mint here so the docker builds can forward a fresh token to
# BuildKit as the gh_token secret consumed by scripts/download-machine.sh.
build_secret_arg=""
if [ -n "${GITHUB_APP_KEY:-}" ]; then
trap 'rm -f /tmp/github-app-key.pem; unset GITHUB_TOKEN' EXIT
Expand All @@ -80,20 +86,33 @@ phases:
export GITHUB_TOKEN
GITHUB_TOKEN=$(printf '%s' "$TOKEN_RESPONSE" | jq -r '.token // empty')
if [ -z "$GITHUB_TOKEN" ]; then
redacted=$(printf '%s' "$TOKEN_RESPONSE" | sed -E 's/(ghs_|ghu_)[A-Za-z0-9]+/\1REDACTED/g')
redacted=$(printf '%s' "$TOKEN_RESPONSE" | sed -E 's/(ghs_|ghu_)[A-Za-z0-9._-]+/\1REDACTED/g')
echo "ERROR: installation token missing from response: ${redacted}" >&2
exit 1
fi
rm -f /tmp/github-app-key.pem
build_secret_arg="--secret id=gh_token,env=GITHUB_TOKEN"
fi
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-slim --target nitro-node-slim ${BUILD_ARGS:-} $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node --target nitro-node ${BUILD_ARGS:-} $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-dev --target nitro-node-dev ${BUILD_ARGS:-} $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-validator --target nitro-node-validator ${BUILD_ARGS:-} $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-rust-validator --target nitro-node-rust-validator ${BUILD_ARGS:-} $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-slim-stripped --target nitro-node-slim-stripped ${BUILD_ARGS:-} $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-stripped --target nitro-node-stripped ${BUILD_ARGS:-} $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-slim --target nitro-node-slim $BUILD_ARGS $build_secret_arg

# Docker only warns when a build arg is not declared, so a rename
# silently ships an unstamped binary. An empty value would match
# anything, so reject it rather than pass vacuously.
stamped=$(docker run --rm --entrypoint /usr/local/bin/nitro nitro-node-slim --version)
for want in "${NITRO_TAG:-$NITRO_BRANCH}" "$NITRO_COMMIT"; do
[ -n "$want" ] || { echo "ERROR: provenance value is empty" >&2; exit 1; }
case $stamped in
*"$want"*) ;;
*) echo "ERROR: nitro-node-slim stamped '$stamped', expected '$want'" >&2; exit 1 ;;
esac
done
DOCKER_BUILDKIT=1 docker build . --tag nitro-node --target nitro-node $BUILD_ARGS $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-dev --target nitro-node-dev $BUILD_ARGS $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-validator --target nitro-node-validator $BUILD_ARGS $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-rust-validator --target nitro-node-rust-validator $BUILD_ARGS $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-slim-stripped --target nitro-node-slim-stripped $BUILD_ARGS $build_secret_arg
DOCKER_BUILDKIT=1 docker build . --tag nitro-node-stripped --target nitro-node-stripped $BUILD_ARGS $build_secret_arg

- docker tag nitro-node:latest $REPOSITORY_URI:$IMAGE_TAG-$ARCH_TAG
- docker tag nitro-node-slim:latest $REPOSITORY_URI:$IMAGE_TAG-slim-$ARCH_TAG
- docker tag nitro-node-dev:latest $REPOSITORY_URI:$IMAGE_TAG-dev-$ARCH_TAG
Expand Down
23 changes: 16 additions & 7 deletions .github/manifest-buildspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,21 @@ env:
phases:
pre_build:
commands:
- COMMIT_HASH=$(git rev-parse --short=7 HEAD || echo "latest")
- >-
VERSION_TAG=$(git tag --points-at HEAD | sed '/-/!s/$/_/' | sort -rV |
sed 's/_$//' | head -n 1 | grep ^ || git show -s --pretty=%D | sed 's/, /\n/g' |
grep -v '^origin/' |grep -v '^grafted\|HEAD\|master\|main$' || echo "dev")
- NITRO_VERSION=${VERSION_TAG}-${COMMIT_HASH}
- IMAGE_TAG=${NITRO_VERSION}
# CODEBUILD_CLONE_REF checks out the source action's BranchName, not the
# revision the execution resolved, so pin the tree before anything reads git.
- |
set -euo pipefail
REF=${SOURCE_REF:-auto}
if [ "$REF" = auto ]; then REF=$CODEBUILD_RESOLVED_SOURCE_VERSION; fi
if ! git rev-parse --verify --quiet "${REF}^{commit}" >/dev/null; then
echo "ERROR: $REF is not in the clone. CodeBuild does not leave usable credentials on origin, so it cannot be fetched." >&2
echo "local refs:" >&2; git for-each-ref --format=' %(refname)' >&2
exit 1
fi
git checkout --force --detach "$REF"
# Sets NITRO_TAG, NITRO_BRANCH, NITRO_COMMIT, and the Docker-safe
# IMAGE_TAG; must select the same image tag as buildspec.yml.
- . scripts/ci-version-select.sh

# Log IMAGE_TAG environment variable
- echo "Using IMAGE_TAG environment variable $IMAGE_TAG"
Expand Down Expand Up @@ -75,5 +83,6 @@ phases:
push_variant "-slim"
push_variant "-dev"
push_variant "-validator"
push_variant "-rust-validator"
push_variant "-stripped"
push_variant "-slim-stripped"
40 changes: 5 additions & 35 deletions .github/workflows/_bold-legacy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,38 +12,8 @@ permissions:
jobs:
bold-legacy:
if: false
name: Run Bold Legacy challenge tests
runs-on: arbitrator-ci
steps:
- name: Checkout
uses: actions/checkout@v6

- uses: ./.github/actions/init-submodules
with:
client-id: ${{ vars.NITRO_CI_APP_CLIENT_ID }}
app-private-key: ${{ secrets.NITRO_CI_APP_PRIVATE_KEY }}

- name: Setup CI
uses: ./.github/actions/ci-setup

- name: Build
run: make -j8 build test-go-deps

- name: run challenge tests
run: >-
${{ github.workspace }}/.github/workflows/gotestsum.sh --tags legacychallengetest
--run TestChallenge --timeout 60m --cover

- name: Archive detailed run log
uses: actions/upload-artifact@v6
with:
name: full.log
path: full.log

- name: Upload coverage to Codecov
uses: codecov/codecov-action@75cd11691c0faa626561e295848008c8a7dddffe # v5
with:
fail_ci_if_error: false
files: ./coverage.txt,./coverage-redis.txt
verbose: false
token: ${{ secrets.CODECOV_TOKEN }}
uses: ./.github/workflows/_go-tests.yml
secrets: inherit
with:
run-name: bold-legacy
run-legacy-challenge: true
32 changes: 32 additions & 0 deletions .github/workflows/_cargo-lock-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: cargo-lock-check

on:
workflow_call:

permissions:
contents: read

env:
CARGO_TERM_COLOR: always

jobs:
cargo-lock:
name: Check Cargo.lock files are up to date
runs-on: ubuntu-4
timeout-minutes: 20

steps:
- name: Checkout
uses: actions/checkout@v6

- uses: ./.github/actions/init-submodules
with:
client-id: ${{ vars.NITRO_CI_APP_CLIENT_ID }}
app-private-key: ${{ secrets.NITRO_CI_APP_PRIVATE_KEY }}

- name: Install rust
uses: ./.github/actions/install-rust

- name: Check Cargo.lock files
run: ./scripts/check-cargo-locks.sh
9 changes: 4 additions & 5 deletions .github/workflows/_changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,16 @@ jobs:
if: false
name: Check if changelog is updated
runs-on: ubuntu-4
timeout-minutes: 10

steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Download unclog binary
uses: dsaltares/fetch-gh-release-asset@1.1.2
with:
repo: OffchainLabs/unclog
version: "tags/v0.1.8"
file: "unclog"
env:
GH_TOKEN: ${{ github.token }}
run: gh release download v0.1.8 --repo OffchainLabs/unclog --pattern unclog --clobber

- name: Check changelog fragments
env:
Expand Down
Loading
Loading