From 5d542747759391e8f6a716e2416e81e8d80ef4ce Mon Sep 17 00:00:00 2001 From: Assaf Morami Date: Fri, 28 Jun 2024 11:51:24 +0300 Subject: [PATCH] refactor(x/auth): add a slightly more helpful error message on signature verification failure (#20802) Co-authored-by: @sampocs --- x/auth/ante/sigverify.go | 2 +- x/auth/signing/verify.go | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/x/auth/ante/sigverify.go b/x/auth/ante/sigverify.go index 638afe5943..0f4e399959 100644 --- a/x/auth/ante/sigverify.go +++ b/x/auth/ante/sigverify.go @@ -361,7 +361,7 @@ func (svd SigVerificationDecorator) verifySig(ctx sdk.Context, tx sdk.Tx, acc sd if OnlyLegacyAminoSigners(sig.Data) { // If all signers are using SIGN_MODE_LEGACY_AMINO, we rely on VerifySignature to check account sequence number, // and therefore communicate sequence number as a potential cause of error. - errMsg = fmt.Sprintf("signature verification failed; please verify account number (%d), sequence (%d) and chain-id (%s)", accNum, acc.GetSequence(), chainID) + errMsg = fmt.Sprintf("signature verification failed; please verify account number (%d), sequence (%d) and chain-id (%s): (%s)", accNum, acc.GetSequence(), chainID, err.Error()) } else { errMsg = fmt.Sprintf("signature verification failed; please verify account number (%d) and chain-id (%s): (%s)", accNum, chainID, err.Error()) } diff --git a/x/auth/signing/verify.go b/x/auth/signing/verify.go index a025687c11..60033c09a1 100644 --- a/x/auth/signing/verify.go +++ b/x/auth/signing/verify.go @@ -2,6 +2,7 @@ package signing import ( "context" + "encoding/hex" "fmt" signingv1beta1 "cosmossdk.io/api/cosmos/tx/signing/v1beta1" @@ -78,7 +79,7 @@ func VerifySignature( return err } if !pubKey.VerifySignature(signBytes, data.Signature) { - return fmt.Errorf("unable to verify single signer signature") + return fmt.Errorf("unable to verify single signer signature '%s' for signBytes '%s'", hex.EncodeToString(data.Signature), hex.EncodeToString(signBytes)) } return nil