Skip to content

state: Widen the blob fee in the affordability check - #1714

Merged
chfast merged 1 commit into
ipsilon:masterfrom
zexoverz:1480-blob-fee-overflow
Sep 15, 2026
Merged

chfast merged 1 commit into
ipsilon:masterfrom
zexoverz:1480-blob-fee-overflow

Conversation

@zexoverz

Copy link
Copy Markdown
Contributor

The blob part of the maximum transaction cost was multiplied in uint256, so with one blob and a max_fee_per_blob_gas of 2^239 the product wrapped to zero and the transaction passed the balance check it should have failed. It is now multiplied into 512 bits like the gas part, which is what the comment above already promised.

The new state_transition test is the issue's reproducer. Without the fix it gets past validation and trips the blob fee assert in transition on a debug build.

Fixes #1480

The blob part of the maximum transaction cost was multiplied in
uint256, so with one blob and a max_fee_per_blob_gas of 2^239 the
product wrapped to zero and the transaction passed the balance check
it should have failed. Multiply into 512 bits like the gas part.

Fixes ipsilon#1480

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The fix correctly matches existing wide-precision fee calculation and includes a focused regression test.

Pull request overview

Fixes blob transaction affordability validation by preventing 256-bit multiplication overflow.

Changes:

  • Computes maximum blob fees using 512-bit multiplication.
  • Adds a regression test for the reported overflow case.
File summaries
File Description
test/state/state.cpp Widens blob fee multiplication.
test/unittests/state_transition_tx_test.cpp Tests rejection of an unaffordable overflowing blob fee.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@chfast
chfast merged commit 09202aa into ipsilon:master Sep 15, 2026
18 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test/state: blob fee affordability overflow can accept invalid blob tx (diverges from geth)

3 participants