The problem
If we create a send swap with proofs that are already spent, then it will be marked as completed as soon as the swap is created which is a weird UX.
To-Do
When creating a send swap, we should check the proof states before finalizing the swap and giving the token to the user. If the proofs are spent we should either fail and remove the spent proofs or just remove the spent proofs and retry
See this discussion for more.