From 933592d05222f79dbb523621d2ba86bdd3f95549 Mon Sep 17 00:00:00 2001 From: Alessio Treglia Date: Mon, 22 Oct 2018 15:52:19 -0700 Subject: [PATCH] Check sanity of signatures and report errors when run with --print-sigs --- x/auth/client/cli/sign.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/x/auth/client/cli/sign.go b/x/auth/client/cli/sign.go index fdc7269ce5..4b04139f21 100644 --- a/x/auth/client/cli/sign.go +++ b/x/auth/client/cli/sign.go @@ -91,13 +91,19 @@ func makeSignCmd(cdc *amino.Codec, decoder auth.AccountDecoder) func(cmd *cobra. func printSignatures(stdTx auth.StdTx) { fmt.Println("Signers:") - for i, signer := range stdTx.GetSigners() { + signers := stdTx.GetSigners() + for i, signer := range signers { fmt.Printf(" %v: %v\n", i, signer.String()) } fmt.Println("") fmt.Println("Signatures:") for i, sig := range stdTx.GetSignatures() { - fmt.Printf(" %v: %v\n", i, sdk.AccAddress(sig.Address()).String()) + sigAddr := sdk.AccAddress(sig.Address()) + sigSanity := "OK" + if i >= len(signers) || !sigAddr.Equals(signers[i]) { + sigSanity = "ERROR" + } + fmt.Printf(" %v: %v\t[%s]\n", i, sigAddr.String(), sigSanity) } return }