corda / net.corda.core.node.services / Vault

# Vault

`class Vault<out T : ContractState>`

A vault (name may be temporary) wraps a set of states that are useful for us to keep track of, for instance, because we own them. This class represents an immutable, stable state of a vault: it is guaranteed not to change out from underneath you, even though the canonical currently-best-known vault may change as we learn about new transactions from our peers and generate new transactions that consume states ourselves.

This abstract class has no references to Cash contracts.

states Holds a VaultService queried subset of states that are active and relevant. Active means they haven't been consumed yet (or we don't know about it). Relevant means they contain at least one of our pubkeys.

### Types

StateStatus | `enum class StateStatus`
Update | `data class Update` Represents an update observed by the vault that will be notified to observers. Include the StateRefs of transaction outputs that were consumed (inputs) and the ContractStates produced (outputs) to/by the transaction or transactions observed and the vault.

### Constructors

<init> | `Vault(states: Iterable<StateAndRef<T>>)` A vault (name may be temporary) wraps a set of states that are useful for us to keep track of, for instance, because we own them. This class represents an immutable, stable state of a vault: it is guaranteed not to change out from underneath you, even though the canonical currently-best-known vault may change as we learn about new transactions from our peers and generate new transactions that consume states ourselves.

### Properties

states | `val states: Iterable<StateAndRef<T>>`

### Companion Object Properties

NoUpdate | `val NoUpdate: Update`