com.r3corda.node.services.wallet / WalletImpl

# WalletImpl

`class WalletImpl : Wallet`

A wallet (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 wallet: it is guaranteed not to change out from underneath you, even though the canonical currently-best-known wallet may change as we learn about new transactions from our peers and generate new transactions that consume states ourselves.

This concrete implementation references Cash contracts.

### Constructors

<init> | `WalletImpl(states: List<StateAndRef<ContractState>>)` A wallet (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 wallet: it is guaranteed not to change out from underneath you, even though the canonical currently-best-known wallet may change as we learn about new transactions from our peers and generate new transactions that consume states ourselves.

### Properties

cashBalances | `val cashBalances: Map<Currency, Amount<Currency>>` Returns a map of how much cash we have in each currency, ignoring details like issuer. Note: currencies for which we have no cash evaluate to null (not present in map), not 0.
states | `val states: List<StateAndRef<ContractState>>`

### Inherited Functions

statesOfType | `fun <T : OwnableState> statesOfType(): List<StateAndRef<T>>`