Update how the uniqueness of Transaction#contra_transaction is validated, and instead of the new balance being set manually on each transaction, set it in a callback before create.