differentiate between valid, potentially valid, and invalid transactions