fun verify(): Unit
Verifies that the transaction is valid by running type-specific validation logic.
TODO: Move this out of the core data structure definitions, once unit tests are more cleanly separated.
TransactionVerificationException
- if validation logic fails or if a contract throws an exception
(the original is in the cause field).