mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-01 12:38:40 +00:00
internal/ethapi: don't attach empty sidecar when signing blob tx without blobs
This commit is contained in:
parent
ab357151da
commit
746d691d66
2 changed files with 7 additions and 2 deletions
|
|
@ -1865,7 +1865,7 @@ func (api *TransactionAPI) SignTransaction(ctx context.Context, args Transaction
|
||||||
// If the transaction-to-sign was a blob transaction, then the signed one
|
// 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
|
// no longer retains the blobs, only the blob hashes. In this step, we need
|
||||||
// to put back the blob(s).
|
// to put back the blob(s).
|
||||||
if args.IsEIP4844() {
|
if args.Blobs != nil {
|
||||||
signed = signed.WithBlobTxSidecar(types.NewBlobTxSidecar(sidecarVersion, args.Blobs, args.Commitments, args.Proofs))
|
signed = signed.WithBlobTxSidecar(types.NewBlobTxSidecar(sidecarVersion, args.Blobs, args.Commitments, args.Proofs))
|
||||||
}
|
}
|
||||||
data, err := signed.MarshalBinary()
|
data, err := signed.MarshalBinary()
|
||||||
|
|
|
||||||
|
|
@ -2698,10 +2698,15 @@ func TestSignBlobTransaction(t *testing.T) {
|
||||||
t.Fatalf("failed to fill tx defaults: %v\n", err)
|
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 {
|
if err != nil {
|
||||||
t.Fatalf("should not fail on blob transaction")
|
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) {
|
func TestSendBlobTransaction(t *testing.T) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue