eth/backend.go
func (b *backendInstance) GetTransactionByHash(ctx context.Context,
	hash common.Hash) (*types.Transaction, bool, error) {
	ctx2, cancel := b.addTimeout(ctx)
	defer cancel()

	tx, pending, err := b.conn.ethClient().TransactionByHash(ctx2, hash)
	if err != nil {
		err = fmt.Errorf("failed to get transaction by hash: %s", err)
	}
	return tx, pending, err
}
func (b *backendInstance) GetTransactionByHash(ctx context.Context,
	hash common.Hash) (*types.Transaction, bool, error) {
	ctx2, cancel := b.addTimeout(ctx)
	defer cancel()

	tx, pending, err := b.conn.ethClient().TransactionByHash(ctx2, hash)
	if err != nil {
		err = fmt.Errorf("failed to get transaction by hash: %s", err)
	}
	return tx, pending, err
}
// TransactionByHash returns the transaction with the given hash.