Vault - corda

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

#### ConstraintInfo | Contract constraint information associated with a ContractState. See AttachmentConstraint `data class ConstraintInfo`
#### Page | Returned in queries VaultService.queryBy and VaultService.trackBy. A Page contains: `data class Page<out T : ContractState>`
#### RelevancyStatus | If the querying node is a participant in a state then it is classed as RELEVANT. `enum class RelevancyStatus`
#### StateMetadata | `data class StateMetadata`
#### StateStatus | `enum class StateStatus`
#### 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. `data class Update<U : ContractState>`
#### UpdateType | `enum class UpdateType`

### Constructors

#### <init> | 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. `Vault(states: Iterable<StateAndRef<T>>)`

### Properties

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

### Companion Object Properties

#### NoNotaryUpdate | `val NoNotaryUpdate: Update<ContractState>`
#### NoUpdate | `val NoUpdate: Update<ContractState>`