Thanks guys.
So in IronMagus's case where you have only one card and don't want to trade it multiple times the only fix needed would be to check that it's still in the inventory (not tradelist) on accepting.
But let's say I have five copies of a card in my inventory. I want to keep four and trade one so I put only one on my tradelist. The tradelist check will stop me from accidentally trading away an extra copy from my inventory and that's great.
That being said I think the experience can be improved:
1. Add a message below the trade window that informs the user they're trading cards that are not on their tradelist and so will not be able to complete the trade (In addition to the red highlighting)
2. On an Accept action, does it check all of the cards in the trade or just the cards of the trader performing the action? Would ideally check them all to protect both traders.
3. It would save time in some cases if it also performed this check on the Propose action. This should probably only check the cards of the proposing user, because I think it's a better user experience to have the other user get an error on Accepting instead of relying on the user who's Proposal action failed to tell the other user that they need to put cards on their tradelist.
4. Could this have an "auto-fix"? i.e. I click propose or accept and it gives me the error, but asks if I want to add those cards to my tradelist and continue the action. Nice.
Thanks!