func (client Client) PendingTransactionInformation(transactionID string, headers ...*Header) (response models.Transaction, err error) {
	transactionID = stripTransaction(transactionID)
	err = client.get(&response, fmt.Sprintf("/transactions/pending/%s", transactionID), nil, headers)
	return
}
PendingTransactionInformation gets information about a recently issued
transaction.  There are several cases when this might succeed:

- transaction committed (CommittedRound > 0)
- transaction still in the pool (CommittedRound = 0, PoolError = "")
- transaction removed from pool due to error (CommittedRound = 0, PoolError != "")

Or the transaction may have happened sufficiently long ago that the
node no longer remembers it, and this will return an error.
package algod
import (
	"context"
	"errors"
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"strings"
	"github.com/algorand/go-algorand-sdk/client/algod/models"
	"github.com/algorand/go-algorand-sdk/types"
)
func (client Client) Status(headers ...*Header) (response models.NodeStatus, err error) {
	err = client.get(&response, "/status", nil, headers)
	return
}
func (client Client) HealthCheck(headers ...*Header) error {
	return client.get(nil, "/health", nil, headers)
}
func (client Client) StatusAfterBlock(blockNum uint64, headers ...*Header) (response models.NodeStatus, err error) {
	err = client.get(&response, fmt.Sprintf("/status/wait-for-block-after/%d", blockNum), nil, headers)
	return
}
type pendingTransactionsParams struct {
	Max uint64 `url:"max"`
}
func (client Client) GetPendingTransactions(maxTxns uint64, headers ...*Header) (response models.PendingTransactions, err error) {
	err = client.get(&response, fmt.Sprintf("/transactions/pending"), pendingTransactionsParams{maxTxns}, headers)
	return
}
func (client Client) Versions(headers ...*Header) (response models.Version, err error) {
	err = client.get(&response, "/versions", nil, headers)
	return
}
func (client Client) LedgerSupply(headers ...*Header) (response models.Supply, err error) {
	err = client.get(&response, "/ledger/supply", nil, headers)
	return
}
type transactionsByAddrParams struct {
	FirstRound uint64 `url:"firstRound,omitempty"`
	LastRound  uint64 `url:"lastRound,omitempty"`
	FromDate   string `url:"fromDate,omitempty"`
	ToDate     string `url:"toDate,omitempty"`
	Max        uint64 `url:"max,omitempty"`
}
func (client Client) TransactionsByAddr(addr string, first, last uint64, headers ...*Header) (response models.TransactionList, err error) {
	params := transactionsByAddrParams{FirstRound: first, LastRound: last}
	err = client.get(&response, fmt.Sprintf("/account/%s/transactions", addr), params, headers)
	return
}
func (client Client) TransactionsByAddrLimit(addr string, limit uint64, headers ...*Header) (response models.TransactionList, err error) {
	params := transactionsByAddrParams{Max: limit}
	err = client.get(&response, fmt.Sprintf("/account/%s/transactions", addr), params, headers)
	return
}
func (client Client) TransactionsByAddrForDate(addr string, first, last string, headers ...*Header) (response models.TransactionList, err error) {
	params := transactionsByAddrParams{FromDate: first, ToDate: last}
	err = client.get(&response, fmt.Sprintf("/account/%s/transactions", addr), params, headers)
	return
}
func (client Client) AccountInformation(address string, headers ...*Header) (response models.Account, err error) {
	err = client.get(&response, fmt.Sprintf("/account/%s", address), nil, headers)
	return
}
func (client Client) AssetInformation(index uint64, headers ...*Header) (response models.AssetParams, err error) {
	err = client.get(&response, fmt.Sprintf("/asset/%d", index), nil, headers)
	return
}
func (client Client) TransactionInformation(accountAddress, transactionID string, headers ...*Header) (response models.Transaction, err error) {
	transactionID = stripTransaction(transactionID)
	err = client.get(&response, fmt.Sprintf("/account/%s/transaction/%s", accountAddress, transactionID), nil, headers)
	return
}