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>