com.r3corda.core.contracts / OwnableState

# OwnableState

`interface OwnableState : ContractState`

A contract state that can have a single owner.

### Properties

owner | `abstract val owner: PublicKey` There must be a MoveCommand signed by this key to claim the amount

### Inherited Properties

contract | `abstract val contract: Contract` An instance of the contract class that will verify this state.
encumbrance | `open val encumbrance: Int?` All contract states may be encumbered by up to one other state.
participants | `abstract val participants: List<PublicKey>` A participant is any party that is able to consume this state in a valid transaction.

### Functions

withNewOwner | `abstract fun withNewOwner(newOwner: PublicKey): <ERROR CLASS><CommandData, OwnableState>` Copies the underlying data structure, replacing the owner field with this new value and leaving the rest alone

### Extension Functions

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

### Inheritors

FungibleAsset | `interface FungibleAsset<T> : OwnableState` Interface for contract states representing assets which are fungible, countable and issued by a specific party. States contain assets which are equivalent (such as cash of the same currency), so records of their existence can be merged or split as needed where the issuer is the same. For instance, dollars issued by the Fed are fungible and countable (in cents), barrels of West Texas crude are fungible and countable (oil from two small containers can be poured into one large container), shares of the same class in a specific company are fungible and countable, and so on.
SingleOwnerState | `data class SingleOwnerState : OwnableState, State`
State | `data class State : OwnableState, QueryableState`
State | `data class State : OwnableState`