From b40574aa1dbd361c023457af8ee64af69e0611ad Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Sat, 13 Jun 2026 18:51:53 +0800 Subject: [PATCH] accounts/external: forward blob fee cap to external signer 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")