It creates a transaction that has 2 inputs. One input is the transaction output that assigned 1.0 BTC to 1HSDRZYfcenZBNCZjk4y5wyxzPc79a6y33, the other input is the transaction output that assigned 1.0 BTC to 12Ui8b9q6eqhTxZkow8H7VHbZafEnsPDs3.
Thank you! I think this is the step I was missing. I didn't realize it was publicly announcing how it was funding the transaction. I wanted to make sure we weren't relying on the client application to be telling the truth
Bitcoin does not rely on anybody to be telling the truth (Not the miners, or the wallets, or the full nodes that relay transactions). Bitcoin is designed to assume that everyone/everything might be lying and to therefore verify/validate everything. The only things bitcoin "trusts" are that ECDSA signatures can't be created without control of the appropriate private key, and that SHA-256 hash functions can not be easily reversed.