Repository navigation
Bump to nitro v3.12.1 - #32
Draft
sduchesneau wants to merge 3952 commits into
Draft
sduchesneau wants to merge 3952 commits into
sduchesneau wants to merge 3952 commits into
Conversation
…24-seq-race Fix race between sequencer chain-state reads and head updates
…14-eip7702-seq-bug Fix sequencer nonce tracking for self-sponsored EIP-7702 transactions
…-apis limit rpc surface of el-proxy, valnode, tx filterer and bid validator
…ucer-decomposition
The script served at foundry.paradigm.xyz switched to foundryup-init 2.0.0, which prints PATH instructions instead of appending ~/.foundry/bin to ~/.bashrc. The contracts-builder stage relied on sourcing ~/.bashrc to find forge, so 'make build-solidity' failed with 'forge: No such file or directory'. Set PATH explicitly via ENV instead. NIT-5526
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…irect The previous commit copied the rustup curl flags but dropped -L. sh.rustup.rs serves the script directly (200), while foundry.paradigm.xyz 301-redirects to raw.githubusercontent.com, so without -L curl pipes the redirect HTML into bash (-f only fails on >=400, not 3xx), which exits 2 on the syntax error.
Review feedback on OffchainLabs#640: the harness lived in _test.go files, invisible to the v2 system tests which import this package. Move external_l1 and the tx-wait helpers it needs into non-test files, and replace the 7-value createExternalL1 signature with CreateExternalL1 taking ExternalL1Params and returning an ExternalL1 struct with named fields. The function body is intentionally untouched to keep the stacked Amsterdam branch rebasing cleanly.
The test-system-external-l1 targets wrapped what is a plain go test invocation. Keep only build-upstream-geth (which CI and the test error messages depend on) and document the direct commands.
…26-fix-execution-spec-tests-nightly-ci-build-failure Fix Docker build: new foundryup installer no longer edits ~/.bashrc
Under MEL no batch spending report reaches L2 within the window these tests run in, so the batch poster is never registered in the L1 pricing poster table and the reimbursement assertion at the end of testSequencerPriceAdjustsFrom fails intermittently in the MEL CI shards. Skip in the shared helper, which covers all five From*Gwei variants across every MEL mode. The tests keep running in all non-MEL configurations, where they are stable.
…20-expired-metric Add sequencer metrics for txs dropped due to expired context
…fees-tests-under-mel Skip TestSequencerPriceAdjustsFrom* under message extraction
geth v1.17.4 adds EIP-7928 block access list support; SetTxContext now takes the BAL index, which follows geth's txIndex+1 convention (index 0 is reserved for pre-execution system calls). The value is only consumed at ArbOS >= params.ArbosVersion_Amsterdam. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: joshuacolvin0 <32654531+joshuacolvin0@users.noreply.github.com>
…olved-revision fix(build-pipeline): check out the revision the pipeline resolved
The CodeBuild projects run an inline copy of this buildspec, taken
before the nitroversion refactor renamed the Docker build args from
"version" to tag/branch/commit. Docker only warns about an undeclared
build arg, so v3.12.0-rc.1 shipped as "local+unknown-20260828T193632Z"
with a correct image tag and a green build.
Check the first image built reports both the tag (or branch) and the
commit the pipeline selected. Asserting the commit alone would miss a
rename of tag, which is the worse half: an empty tag leaves
IsSemverTagged false, so CheckVersionBounds and the version alerter
stop enforcing while the binary still names the right commit.
Also drop the ${BUILD_ARGS:-} fallback and export the variable instead.
That is hardening rather than part of the fix -- the incident had a
populated BUILD_ARGS carrying stale arg names -- but it removes the one
value the build phase reads without the producer exporting it.
The comment above the token re-mint claimed a staleness that does not
happen: v3.12.0-rc.1 ran 20:27:30 to 20:50:04, so the token was minutes
old, not expired. Removed rather than replaced with another guess.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
buildspec.yml has built and pushed the per-arch rust-validator images since 30345ca, but the manifest job never aggregated them, so $IMAGE_TAG-rust-validator resolved to nothing while its -amd64 and -arm64 tags existed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A read-only open with the freezer attached needs every chain freezer table on disk, so after the bals table was added upstream the probe failed on every pre-existing store and the node read it as absent. The probe now skips the freezer; the chain config is read below it from the read-write handle, which has the ancients that block 0 needs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fix ci flakyness around BlockValidator shutdown on execution RPC
…t-5519-runner-modes SP1 replay-runner execution modes: fast, simulate, and prove
…-freezer-probe Don't attach the freezer to the l2chaindata existence probe
…t-5572-env-trait arb-stylus adopts arbutil's `EvmApi` trait (dedup 2/n)
…t-5512-arb-stylus-cut The Stylus compile seam: `arb-stylus` builds for wasm32
…sfer-base-scanarios system tests v2: Transfer base scenarios
…eline Make buildspec more resilient
…t-5577-ccbrotli nitro-reth links the prebuilt brotli libs; common CI setup action
(cherry picked from commit db99e32746932215a17aec3bb055e7375a51e343)
…rt-3.12 Bump go-ethereum to release cancelled eth_getLogs searches (backport OffchainLabs#862)
FillReceiptInfo read p.msg.Tx, which is nil for a message built from RPC call arguments. GetPaidGasPrice gives the same price without it. (cherry picked from commit 13eb5d90e52c0a21ac4b34fc0b58abb922935d3c)
GetPaidGasPrice gives min(baseFee, GasFeeCap) for a retry, where Receipt.DeriveFields gives baseFee. Signed txs now use the same formula. (cherry picked from commit fa130685799a9df5cbf8250594daa122a7091289)
Nothing reads the receipt price for a message with no Tx. A nil guard on the original CollectTips branch is enough. (cherry picked from commit ec06aa3980f95495aefc2dc4d7556b39272277d3)
…rt-3.12 Fix debug_traceCall and eth_simulateV1 crash when collecting tips (backport OffchainLabs#910)
…-backport-3.12 backport(NIT-5735): nitro feed client backfills over rest
…-for-3.12 Backport 3.12: Refuse Stylus activation for requests not executed onchain
When node.feed.input.rest.url is unset, backfill uses the first feed url's host as the base URL. Backfill stays opt-in via node.feed.input.rest.enable. Backport of OffchainLabs#953. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…efault-backport-3.12 port - Set default feed REST endpoint if not set explicitly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges upstream tag
v3.12.1(includes v3.12.0 and v3.11.5). Files outside our own changes are identical tov3.12.1.go-ethereumsubmodule points atcc164e37defrom Bump to the go-ethereum revision of nitro v3.12.1 go-ethereum#74. Re-pin to the merged commit once that PR lands, and update the link inCHANGELOG.sf.md.nitro-reth-approvals-check.ymlandzk-proving.yml.ACTIVATIONS.md, the ArbOS version inventory and each version's effect on Firehose blocks. All three chains are at ArbOS 61; v3.12.1 supports up to 61.go build ./...passes, along withgo vetonarbos,execution,precompiles,gethhookandarbnode. Building needsmake target/lib/libstylus.a target/include/arbitrator.hfirst for the v3.12.1 Stylus C API.