code: func (db *TXDatabaseOverlay) GetAllTXs() ([]interfaces.ITransaction, error) {
  	// update the database and get the newest fblock
  	_, err := db.update()
  	if err != nil {
  		return nil, err
  	}
  	fblock, err := db.DBO.FetchFBlockHead()
  	if err != nil {
  		return nil, err
  	}
  	if fblock == nil {
  		return nil, fmt.Errorf("FBlock Chain has not finished syncing")
  	}
  	txs := make([]interfaces.ITransaction, 0)
  
  	for {
  		// get all of the txs from the block
  		height := fblock.GetDatabaseHeight()
  		for _, tx := range fblock.GetTransactions() {
  			ins, err := tx.TotalInputs()
  			if err != nil {
  				return nil, err
  			}
  			outs, err := tx.TotalOutputs()
  			if err != nil {
  				return nil, err
  			}
  
  			if ins != 0 || outs != 0 {
  				tx.SetBlockHeight(height)
  				txs = append(txs, tx)
  			}
  		}
  
  		if pre := fblock.GetPrevKeyMR().String(); pre != factom.ZeroHash {
  			// get the previous block
  			fblock, err = db.GetFBlock(pre)
  			if err != nil {
  				return nil, err
  			} else if fblock == nil {
  				return nil, fmt.Errorf("Missing fblock in database: %s", pre)
  			}
  		} else {
  			break
  		}
  	}
  
  	return txs, nil
  }
docs: // GetAllTXs returns a list of all transactions in the history of Factom. A
  // local database is used to cache the factoid blocks.