So I am continuing to gain understanding of the protocol and how it works, but there are still a few things I wonder about. The following is one of them.
Let us assume that there is a single address (donation address, or whatever), that collects coins on a fairly regular basis, let us say every few minutes or so. This address is in an offline wallet that is never brought online.
Now let us assume that the owner of the wallet wished to spend some of the coins contained therein, and went to the computer that was offline and not connected and created an offline transaction. Perhaps using Armory or any other software that supports creating offline transactions.
Then, before he has a chance to broadcast the transaction to the network, another donation is sent, or more coins show up at the address for whatever reason. What I want to know is, is the offline transaction that was created now invalid? Does the user have to go back and create another transaction to take into account the new balance? As I understand it, each transaction must completely spend all of the balance in an address, and cannot spend it partially. Any overages are split and sent back to a change address. If using specialized software, the change address can be the same as the sending address.
Since the balance was incremented, the offline transaction that he created does not take that into account, which would seem to make it invalid. Is this accurate, and if so what can be done in this situation? If it is not accurate, could someone with a better understanding of the system than me please explain it?