diff --git a/core/block_validator.go b/core/block_validator.go index 6dc9a3fa051a5..ce3e6560ee576 100644 --- a/core/block_validator.go +++ b/core/block_validator.go @@ -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 diff --git a/eth/downloader/queue.go b/eth/downloader/queue.go index 25449d87724b2..0a00d48901cc1 100644 --- a/eth/downloader/queue.go +++ b/eth/downloader/queue.go @@ -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 diff --git a/params/protocol_params.go b/params/protocol_params.go index 0b4413f409b5c..5ddc13c63b3e8 100644 --- a/params/protocol_params.go +++ b/params/protocol_params.go @@ -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)