From 60e27b51bc5643bc6a76151020a9e1a245340b70 Mon Sep 17 00:00:00 2001 From: Jim McDonald Date: Wed, 21 Jun 2017 08:53:50 +0100 Subject: [PATCH] ethclient: fix TransactionByHash pending return value. (#14663) As per #14661 TransactionByHash always returns false for pending. This uses blockNumber rather than blockHash to ensure that it returns the correct value for pending and will not suffer side-effects if eth_getTransactionByHash is fixed in future. --- ethclient/ethclient.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ethclient/ethclient.go b/ethclient/ethclient.go index 59f60d659..45bb87322 100644 --- a/ethclient/ethclient.go +++ b/ethclient/ethclient.go @@ -167,11 +167,11 @@ func (ec *Client) TransactionByHash(ctx context.Context, hash common.Hash) (tx * } else if _, r, _ := tx.RawSignatureValues(); r == nil { return nil, false, fmt.Errorf("server returned transaction without signature") } - var block struct{ BlockHash *common.Hash } + var block struct{ BlockNumber *string } if err := json.Unmarshal(raw, &block); err != nil { return nil, false, err } - return tx, block.BlockHash == nil, nil + return tx, block.BlockNumber == nil, nil } // TransactionCount returns the total number of transactions in the given block.