LinearState - corda

corda / net.corda.core.contracts / LinearState

# LinearState

`interface LinearState : ContractState`

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

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

### Properties

#### linearId | Unique id shared by all LinearState states throughout history within the vaults of all parties. Verify methods should check that one input and one output share the id in a transaction, except at issuance/termination. `abstract val linearId: UniqueIdentifier`

### Extension Functions

#### hash | Returns the SHA-256 hash of the serialised contents of this state (not cached!) `fun ContractState.hash(): SecureHash` Returns the hash of the serialised contents of this state (not cached!) `fun ContractState.hash(algorithm: String): SecureHash`

### Inheritors

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