What are the bare data necessities that a lightweight client would have to get from a server client in order to perform basic wallet tasks (show balance, transaction history, number of confirmations, send coins)?
For example, a simple, light client could store all Txs where any of the given addresses from the wallet were used, but one could also try trimming all data from those Txs that aren't related to their addresses.
What is the bare minimum of data a client needs in order to function?