core/txpool/blobpool: handle more errors internally on getblobsv1

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This commit is contained in:
Csaba Kiraly 2025-09-03 12:18:06 +02:00
parent e6884ccccf
commit 497b96f5b7
No known key found for this signature in database
GPG key ID: 0FE274EE8C95166E

View file

@ -1334,17 +1334,20 @@ func (p *BlobPool) GetBlobs(vhashes []common.Hash, version byte) ([]*kzg4844.Blo
}
data, err := p.store.Get(txID)
if err != nil {
return nil, nil, nil, err
log.Error("Tracked blob transaction missing from store", "id", txID, "err", err)
continue
}
// Decode the blob transaction
tx := new(types.Transaction)
if err := rlp.DecodeBytes(data, tx); err != nil {
return nil, nil, nil, err
log.Error("Blobs corrupted for traced transaction", "id", txID, "err", err)
continue
}
sidecar := tx.BlobTxSidecar()
if sidecar == nil {
return nil, nil, nil, fmt.Errorf("blob tx without sidecar %x", tx.Hash())
log.Error("Blob tx without sidecar", "id", txID)
continue
}
// Traverse the blobs in the transaction
for i, hash := range tx.BlobHashes() {