com.r3corda.core.contracts / TransactionType

# TransactionType

`sealed class TransactionType`

Defines transaction build & validation logic for a specific transaction type

### Types

General | `class General : TransactionType` A general transaction type where transaction validity is determined by custom contract code
NotaryChange | `class NotaryChange : TransactionType` A special transaction type for reassigning a notary for a state. Validation does not involve running any contract code, it just checks that the states are unmodified apart from the notary field.

### Functions

equals | `open fun equals(other: Any?): Boolean`
getRequiredSigners | `abstract fun getRequiredSigners(tx: LedgerTransaction): Set<PublicKey>` Return the list of public keys that that require signatures for the transaction type. Note: the notary key is checked separately for all transactions and need not be included.
hashCode | `open fun hashCode(): <ERROR CLASS>`
verify | `fun verify(tx: LedgerTransaction): Unit` Check that the transaction is valid based on:
verifySigners | `fun verifySigners(tx: LedgerTransaction): Set<PublicKey>` Check that the list of signers includes all the necessary keys
verifyTransaction | `abstract fun verifyTransaction(tx: LedgerTransaction): Unit` Implement type specific transaction validation logic

### Inheritors

General | `class General : TransactionType` A general transaction type where transaction validity is determined by custom contract code
NotaryChange | `class NotaryChange : TransactionType` A special transaction type for reassigning a notary for a state. Validation does not involve running any contract code, it just checks that the states are unmodified apart from the notary field.