com.r3corda.node.services.wallet / NodeWalletService

# NodeWalletService

`class NodeWalletService : InMemoryWalletService`

Currently, the node wallet service is a very simple RDBMS backed implementation. It will change significantly when we add further functionality as the design for the wallet and wallet service matures.

TODO: move query / filter criteria into the database query. TODO: keep an audit trail with time stamps of previously unconsumed states "as of" a particular point in time. TODO: have transaction storage do some caching.

### Constructors

<init> | `NodeWalletService(services: ServiceHub)` Currently, the node wallet service is a very simple RDBMS backed implementation. It will change significantly when we add further functionality as the design for the wallet and wallet service matures.

### Properties

log | `val log: <ERROR CLASS>`

### Inherited Properties

currentWallet | `open val currentWallet: Wallet` Returns a read-only snapshot of the wallet at the time the call is made. Note that if you consume states or keys in this wallet, you must inform the wallet service so it can update its internal state.
linearHeads | `open val linearHeads: Map<UniqueIdentifier, StateAndRef<LinearState>>` Returns a snapshot of the heads of LinearStates.
mutex | `val mutex: ThreadBox<InnerState>`
services | `val services: ServiceHub`
updates | `open val updates: <ERROR CLASS><Update>` Get a synchronous Observable of updates. When observations are pushed to the Observer, the Wallet will already incorporate the update.

### Inherited Functions

notifyAll | `open fun notifyAll(txns: Iterable<WireTransaction>): Wallet` Possibly update the wallet by marking as spent states that these transactions consume, and adding any relevant new states that they create. You should only insert transactions that have been successfully verified here

### Extension Functions

linearHeadsOfType | `fun <T : LinearState> WalletService.linearHeadsOfType(): <ERROR CLASS>`