com.r3corda.core.contracts / LinearState

# LinearState

`interface LinearState : ContractState`

A state that evolves by superseding itself, all of which share the common "thread"

This simplifies the job of tracking the current version of certain types of state in e.g. a wallet

### Properties

thread | `abstract val thread: SecureHash` Unique thread id within the wallets of all parties

### Inherited Properties

contract | `abstract val contract: Contract` Contract by which the state belongs
notary | `abstract val notary: Party` Identity of the notary that ensures this state is not used as an input to a transaction more than once

### Functions

isRelevant | `abstract fun isRelevant(ourKeys: Set<PublicKey>): Boolean` true if this should be tracked by our wallet(s)

### Extension Functions

hash | `fun ContractState.hash(): SecureHash` Returns the SHA-256 hash of the serialised contents of this state (not cached)
label | `infix fun ContractState.label(label: String): LabeledOutput`

### Inheritors

DealState | `interface DealState : LinearState` Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies implementation of general protocols that manipulate many agreement types.