From 448515a4482506047ae361b757e354c452a3d4a8 Mon Sep 17 00:00:00 2001 From: cui Date: Fri, 3 Jul 2026 00:12:58 +0800 Subject: [PATCH] accounts/external: forward blob fee cap to external signer (#35167) SignTx populated BlobHashes and the sidecar fields (Blobs/Commitments/ Proofs) for a blob transaction but never set args.BlobFeeCap. As a result the external (clef) signer received maxFeePerBlobGas:null and signed a transaction inconsistent with the one passed in, silently dropping the blob fee cap. Set args.BlobFeeCap from tx.BlobGasFeeCap() so the signing request faithfully reflects the input transaction. This mirrors the existing handling of the other blob-tx fields. --- accounts/external/backend.go | 1 + 1 file changed, 1 insertion(+) diff --git a/accounts/external/backend.go b/accounts/external/backend.go index 42eaf661cc..d73fb06ad0 100644 --- a/accounts/external/backend.go +++ b/accounts/external/backend.go @@ -237,6 +237,7 @@ func (api *ExternalSigner) SignTx(account accounts.Account, tx *types.Transactio } if tx.Type() == types.BlobTxType { args.BlobHashes = tx.BlobHashes() + args.BlobFeeCap = (*hexutil.Big)(tx.BlobGasFeeCap()) sidecar := tx.BlobTxSidecar() if sidecar == nil { return nil, errors.New("blobs must be present for signing")