com.r3corda.contracts.asset / Cash / State

# State

`data class State : State<Currency>`

A state representing a cash claim against some party

### Constructors

<init> | `State(deposit: PartyAndReference, amount: Amount<Currency>, owner: PublicKey)``State(amount: Amount<Issued<Currency>>, owner: PublicKey)` A state representing a cash claim against some party

### Properties

amount | `val amount: Amount<Issued<Currency>>`
contract | `val contract: Cash` An instance of the contract class that will verify this state.
deposit | `val deposit: PartyAndReference` Where the underlying currency backing this ledger entry can be found (propagated)
issuanceDef | `val issuanceDef: Issued<Currency>`
owner | `val owner: PublicKey` There must be a MoveCommand signed by this key to claim the amount
participants | `val participants: List<PublicKey>` A participant is any party that is able to consume this state in a valid transaction.
productAmount | `val productAmount: Amount<Currency>`

### Functions

move | `fun move(newAmount: Amount<Currency>, newOwner: PublicKey): State<Currency>`
toString | `fun toString(): String`
withNewOwner | `fun withNewOwner(newOwner: PublicKey): <ERROR CLASS>` Copies the underlying data structure, replacing the owner field with this new value and leaving the rest alone

### Extension Functions

issued by | `infix fun State.issued by(party: Party): State` `infix fun State.issued by(deposit: PartyAndReference): State`
owned by | `infix fun State.owned by(owner: PublicKey): <ERROR CLASS>`
with deposit | `infix fun State.with deposit(deposit: PartyAndReference): State`
with notary | `infix fun State.with notary(notary: Party): TransactionState<State>`