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())):