Skip to content

Commit

Permalink
Revert "core, eth/downloader, params: validate blob tx bodies (ethere…
Browse files Browse the repository at this point in the history
…um#27392)"

This reverts commit b606e38.
  • Loading branch information
devopsbo3 authored Nov 10, 2023
1 parent 0e3b9a8 commit 4ac5ff8
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 33 deletions.
16 changes: 0 additions & 16 deletions core/block_validator.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,23 +84,7 @@ func (v *BlockValidator) ValidateBody(block *types.Block) error {
// Blob transactions may be present after the Cancun fork.
var blobs int
for _, tx := range block.Transactions() {
// Count the number of blobs to validate against the header's dataGasUsed
blobs += len(tx.BlobHashes())

// Validate the data blobs individually too
if tx.Type() == types.BlobTxType {
if tx.To() == nil {
return errors.New("contract creation attempt by blob transaction") // TODO(karalabe): Why not make the field non-nil-able
}
if len(tx.BlobHashes()) == 0 {
return errors.New("no-blob blob transaction present in block body")
}
for _, hash := range tx.BlobHashes() {
if hash[0] != params.BlobTxHashVersion {
return fmt.Errorf("blob hash version mismatch (have %d, supported %d)", hash[0], params.BlobTxHashVersion)
}
}
}
}
if header.DataGasUsed != nil {
if want := *header.DataGasUsed / params.BlobTxDataGasPerBlob; uint64(blobs) != want { // div because the header is surely good vs the body might be bloated
Expand Down
16 changes: 0 additions & 16 deletions eth/downloader/queue.go
Original file line number Diff line number Diff line change
Expand Up @@ -801,23 +801,7 @@ func (q *queue) DeliverBodies(id string, txLists [][]*types.Transaction, txListH
// and zero before the Cancun hardfork
var blobs int
for _, tx := range txLists[index] {
// Count the number of blobs to validate against the header's dataGasUsed
blobs += len(tx.BlobHashes())

// Validate the data blobs individually too
if tx.Type() == types.BlobTxType {
if tx.To() == nil {
return errInvalidBody // TODO(karalabe): Why not make the field non-nil-able
}
if len(tx.BlobHashes()) == 0 {
return errInvalidBody
}
for _, hash := range tx.BlobHashes() {
if hash[0] != params.BlobTxHashVersion {
return errInvalidBody
}
}
}
}
if header.DataGasUsed != nil {
if want := *header.DataGasUsed / params.BlobTxDataGasPerBlob; uint64(blobs) != want { // div because the header is surely good vs the body might be bloated
Expand Down
1 change: 0 additions & 1 deletion params/protocol_params.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,6 @@ const (
RefundQuotient uint64 = 2
RefundQuotientEIP3529 uint64 = 5

BlobTxHashVersion = 0x01 // Version byte of the commitment hash
BlobTxMaxDataGasPerBlock = 1 << 19 // Maximum consumable data gas for data blobs per block
BlobTxTargetDataGasPerBlock = 1 << 18 // Target consumable data gas for data blobs per block (for 1559-like pricing)
BlobTxDataGasPerBlob = 1 << 17 // Gas consumption of a single data blob (== blob byte size)
Expand Down

0 comments on commit 4ac5ff8

Please sign in to comment.