com.r3corda.core.contracts / TransactionState

# TransactionState

`data class TransactionState<out T : ContractState>`

A wrapper for ContractState containing additional platform-level state information. This is the definitive state that is stored on the ledger and used in transaction outputs.

### Constructors

<init> | `TransactionState(data: T, notary: Party)` A wrapper for ContractState containing additional platform-level state information. This is the definitive state that is stored on the ledger and used in transaction outputs.

### Properties

data | `val data: T` The custom contract state
notary | `val notary: Party` Identity of the notary that ensures the state is not used as an input to a transaction more than once

### Functions

withNewNotary | `fun withNewNotary(newNotary: Party): TransactionState<T>` Copies the underlying state, replacing the notary field with the new value. To replace the notary, we need an approval (signature) from all participants of the ContractState

### Extension Functions

label | `infix fun TransactionState<*>.label(label: String): LabeledOutput`