From 069514e4d607718995a4c8c4dc02785cbbccf752 Mon Sep 17 00:00:00 2001 From: Federico Kunze <31522760+fedekunze@users.noreply.github.com> Date: Mon, 7 Jun 2021 02:55:08 -0400 Subject: [PATCH] client: update client error handling to use tx hash from tendermint (#9462) --- client/broadcast.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/broadcast.go b/client/broadcast.go index 0912de81e8..f3573a5c51 100644 --- a/client/broadcast.go +++ b/client/broadcast.go @@ -5,8 +5,8 @@ import ( "fmt" "strings" - "github.com/tendermint/tendermint/crypto/tmhash" "github.com/tendermint/tendermint/mempool" + tmtypes "github.com/tendermint/tendermint/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -46,13 +46,13 @@ func (ctx Context) BroadcastTx(txBytes []byte) (res *sdk.TxResponse, err error) // TODO: Avoid brittle string matching in favor of error matching. This requires // a change to Tendermint's RPCError type to allow retrieval or matching against // a concrete error type. -func CheckTendermintError(err error, txBytes []byte) *sdk.TxResponse { +func CheckTendermintError(err error, tx tmtypes.Tx) *sdk.TxResponse { if err == nil { return nil } errStr := strings.ToLower(err.Error()) - txHash := fmt.Sprintf("%X", tmhash.Sum(txBytes)) + txHash := fmt.Sprintf("%X", tx.Hash()) switch { case strings.Contains(errStr, strings.ToLower(mempool.ErrTxInCache.Error())):