From f814ec33a3b9ffd4ef0ab7d97d1745b26eb815e2 Mon Sep 17 00:00:00 2001 From: healthykim Date: Tue, 12 May 2026 12:32:20 +0200 Subject: [PATCH] core/txpool/blobpool: check the first byte on legacy tx check --- core/txpool/blobpool/blobpool.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/core/txpool/blobpool/blobpool.go b/core/txpool/blobpool/blobpool.go index 0d4cbc7bfe..23fde73c67 100644 --- a/core/txpool/blobpool/blobpool.go +++ b/core/txpool/blobpool/blobpool.go @@ -719,10 +719,9 @@ func (p *BlobPool) Close() error { func (p *BlobPool) parseTransaction(id uint64, size uint32, blob []byte) (bool, error) { var ptx blobTxForPool if err := rlp.DecodeBytes(blob, &ptx); err != nil { - kind, _, _, splitErr := rlp.Split(blob) - if splitErr == nil && kind == rlp.String { - // legacy transaction is an RLP string - // while blobTxForPool is encoded as an RLP list. + kind, content, _, splitErr := rlp.Split(blob) + // check whether it is legacy tx type + if splitErr == nil && kind == rlp.String && len(content) > 1 && content[0] == 3 { return true, nil } return false, err