Skip to content

Remove legacy blob_sidecars endpoint support now that Fusaka has launched#4110

Merged
Tristan-Wilson merged 3 commits into
masterfrom
remove-blob-sidecars-reading
Dec 4, 2025
Merged

Remove legacy blob_sidecars endpoint support now that Fusaka has launched#4110
Tristan-Wilson merged 3 commits into
masterfrom
remove-blob-sidecars-reading

Conversation

@Tristan-Wilson

@Tristan-Wilson Tristan-Wilson commented Dec 4, 2025

Copy link
Copy Markdown
Member

fixes NIT-4182

The Fusaka hard fork introduced the new /eth/v1/beacon/blobs endpoint which is now universally available. This removes all code related to the legacy blob_sidecars endpoint including the toggle logic that would switch between endpoints on errors.

  • Remove useLegacyEndpoint config field and --use-legacy-endpoint flag
  • Remove blobSidecars() function from blob_client.go
  • Simplify GetBlobsBySlot() to always use getBlobs()
  • Remove --compare-endpoints flag and compareEndpoints() from blobtool
  • Keep saveBlobsV0ToDisk() and V0 reading code for backwards compatibility with existing blob files saved to disk

…ched

The Fusaka hard fork introduced the new /eth/v1/beacon/blobs endpoint which
is now universally available. This removes all code related to the legacy
blob_sidecars endpoint including the toggle logic that would switch between
endpoints on errors.

- Remove useLegacyEndpoint config field and --use-legacy-endpoint flag
- Remove blobSidecars() function from blob_client.go
- Simplify GetBlobsBySlot() to always use getBlobs()
- Remove --compare-endpoints flag and compareEndpoints() from blobtool
- Keep saveBlobsV0ToDisk() and V0 reading code for backwards compatibility
  with existing blob files saved to disk
KolbyML
KolbyML previously approved these changes Dec 4, 2025

@KolbyML KolbyML left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit: overall looks good

The Fusaka hard fork made cell proofs (Version1) universally required, so
the legacy single-proof-per-blob (Version0) code path is no longer needed.

- Remove enableCellProofs parameter from ComputeProofs(), always use cell proofs
- Remove EnableCellProofs config field and --enable-cell-proofs flag
- Remove shouldEnableCellProofs() function from data_poster.go
- Remove SupportsCellProofs() function from parent.go
- Remove Version0 tests
@github-actions

github-actions Bot commented Dec 4, 2025

Copy link
Copy Markdown
Contributor

❌ 3 Tests Failed:

Tests completed Failed Passed Skipped
2176 3 2173 0
View the top 3 failed tests by shortest run time
TestVersion40
Stack Traces | 6.760s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
�[38;5;48;1myay!! we validated block 16 in 180.97ms�[0;0m
�[38;5;48;1myay!! we validated block 17 in 62.86ms�[0;0m
    precompile_inclusion_test.go:94: goroutine 491858 [running]:
        runtime/debug.Stack()
        	/opt/hostedtoolcache/go/1.25.4/x64/src/runtime/debug/stack.go:26 +0x5e
        github.com/offchainlabs/nitro/util/testhelpers.RequireImpl({0x40e95d0, 0xc009ec9a40}, {0x40a6d00, 0xc086419b00}, {0x0, 0x0, 0x0})
        	/home/runner/work/nitro/nitro/util/testhelpers/testhelpers.go:29 +0x55
        github.com/offchainlabs/nitro/system_tests.Require(0xc009ec9a40, {0x40a6d00, 0xc086419b00}, {0x0, 0x0, 0x0})
        	/home/runner/work/nitro/nitro/system_tests/common_test.go:1901 +0x5d
        github.com/offchainlabs/nitro/system_tests.testPrecompiles(0xc009ec9a40, 0x28, {0xc0b8b8bdf8, 0x5, 0x39?})
        	/home/runner/work/nitro/nitro/system_tests/precompile_inclusion_test.go:94 +0x371
        github.com/offchainlabs/nitro/system_tests.TestVersion40(0xc009ec9a40?)
        	/home/runner/work/nitro/nitro/system_tests/precompile_inclusion_test.go:71 +0x64b
        testing.tRunner(0xc009ec9a40, 0x3d2b9c8)
        	/opt/hostedtoolcache/go/1.25.4/x64/src/testing/testing.go:1934 +0xea
        created by testing.(*T).Run in goroutine 1
        	/opt/hostedtoolcache/go/1.25.4/x64/src/testing/testing.go:1997 +0x465
        
    precompile_inclusion_test.go:94: �[31;1m [] execution aborted (timeout = 5s) �[0;0m
--- FAIL: TestVersion40 (6.76s)
TestSequencerPriceAdjustsFrom25Gwei
Stack Traces | 24.080s run time
=== RUN   TestSequencerPriceAdjustsFrom25Gwei
=== PAUSE TestSequencerPriceAdjustsFrom25Gwei
=== CONT  TestSequencerPriceAdjustsFrom25Gwei
    common_test.go:655: BuildL1 deployConfig: DeployBold=true, DeployReferenceDA=false
�[38;5;48;1myay!! we validated block 74 in 269.93ms�[0;0m
�[38;5;48;1myay!! we validated block 75 in 162.62ms�[0;0m
�[90mcreate: len 5.66K vs 14.46K�[0;0m
�[90mcreate: deployed to 0x457b1BA688E9854BDbed2f473F7510C476A3dA09�[0;0m
�[90mTime to activate create: 170.669446ms�[0;0m
�[38;5;48;1myay!! we validated block 76 in 567.40ms�[0;0m
    fees_test.go:224: �[31;1m [L1 gas price estimate should tend toward the basefee] �[0;0m
ERROR[12-04|17:06:58.178] Dangling trie nodes after full cleanup
--- FAIL: TestSequencerPriceAdjustsFrom25Gwei (24.08s)
�[34;1mInitial values�[0;0m
�[34;1m    L1 base fee 1904343654�[0;0m
�[34;1m    L1 estimate 10000000000�[0;0m
�[90mposted new batch 4�[0;0m
TestDASRekey
Stack Traces | 26.990s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
DEBUG[12-04|17:01:11.314] Served eth_getBlockByNumber              reqid=1411  duration="103.714µs"
TRACE[12-04|17:01:11.314] Handled RPC response                     reqid=2408  duration="2.565µs"
TRACE[12-04|17:01:11.314] Handled RPC response                     reqid=638   duration="4.038µs"
DEBUG[12-04|17:01:11.314] Finality not supported, not pushing finality data to execution
DEBUG[12-04|17:01:11.314] Served eth_blockNumber                   reqid=2358  duration="26.029µs"
DEBUG[12-04|17:01:11.314] Served eth_getTransactionReceipt         reqid=2357  duration="253.444µs"
TRACE[12-04|17:01:11.314] Handled RPC response                     reqid=2577  duration="3.697µs"
DEBUG[12-04|17:01:11.314] Served eth_call                          reqid=2410  duration=8.859447ms
DEBUG[12-04|17:01:11.314] Served eth_getBlockByNumber              reqid=2360  duration="205.744µs"
DEBUG[12-04|17:01:11.314] Served eth_getLogs                       reqid=3641  duration=8.99044ms
DEBUG[12-04|17:01:11.314] Served eth_call                          reqid=2578  duration=9.082506ms
TRACE[12-04|17:01:11.315] Handled RPC response                     reqid=29    duration="3.476µs"
DEBUG[12-04|17:01:11.315] Served eth_maxPriorityFeePerGas          reqid=2359  duration="558.623µs"
DEBUG[12-04|17:01:11.315] Executing EVM call finished              runtime="221.975µs"
TRACE[12-04|17:01:11.306] validation sent                          pos=7
DEBUG[12-04|17:01:11.315] Served eth_getBlockByNumber              reqid=2362  duration="87.824µs"
DEBUG[12-04|17:01:11.315] Served eth_call                          reqid=1410  duration=9.453912ms
TRACE[12-04|17:01:11.315] Handled RPC response                     reqid=3643  duration="3.196µs"
DEBUG[12-04|17:01:11.324] Served eth_subscribe                     reqid=19    duration="21.069µs"
--- FAIL: TestDASRekey (26.99s)

📣 Thoughts on this report? Let Codecov know! | Powered by Codecov

@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Dec 4, 2025
Remove legacy Version0 blob proof support now that Fusaka has launched

@KolbyML KolbyML left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit: looks good

@Tristan-Wilson Tristan-Wilson added this pull request to the merge queue Dec 4, 2025
Merged via the queue into master with commit 5bee95e Dec 4, 2025
23 checks passed
@Tristan-Wilson Tristan-Wilson deleted the remove-blob-sidecars-reading branch December 4, 2025 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants