diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index 2eb4dee3c0..11c7ff0d42 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -1921,12 +1921,6 @@ func (api *TransactionAPI) SignTransaction(ctx context.Context, args Transaction if err != nil { return nil, err } - // If the transaction-to-sign was a blob transaction, then the signed one - // no longer retains the blobs, only the blob hashes. In this step, we need - // to put back the blob(s). - if args.IsEIP4844() { - signed = signed.WithBlobTxSidecar(types.NewBlobTxSidecar(sidecarVersion, args.Blobs, args.Commitments, args.Proofs)) - } data, err := signed.MarshalBinary() if err != nil { return nil, err diff --git a/internal/ethapi/api_test.go b/internal/ethapi/api_test.go index 80a9036ecc..2659b62291 100644 --- a/internal/ethapi/api_test.go +++ b/internal/ethapi/api_test.go @@ -2808,10 +2808,15 @@ func TestSignBlobTransaction(t *testing.T) { t.Fatalf("failed to fill tx defaults: %v\n", err) } - _, err = api.SignTransaction(context.Background(), argsFromTransaction(res.Tx, b.acc.Address)) + result, err := api.SignTransaction(context.Background(), argsFromTransaction(res.Tx, b.acc.Address)) if err != nil { t.Fatalf("should not fail on blob transaction") } + // When no blobs are provided (only blob hashes), the signed transaction + // should not have an empty sidecar attached. + if result.Tx.BlobTxSidecar() != nil { + t.Fatal("signed transaction should not have a sidecar when no blobs were provided") + } } func TestSendBlobTransaction(t *testing.T) {