com.r3corda.node.services.api / ServiceHubInternal

ServiceHubInternal

abstract class ServiceHubInternal : ServiceHub


Constructors

<init> ServiceHubInternal()

Properties

monitoringService abstract val monitoringService: MonitoringService
protocolLogicRefFactory abstract val protocolLogicRefFactory: ProtocolLogicRefFactory

Inherited Properties

clock abstract val clock: Clock
identityService abstract val identityService: IdentityService
keyManagementService abstract val keyManagementService: KeyManagementService
networkMapCache abstract val networkMapCache: NetworkMapCache
networkService abstract val networkService: MessagingService
schedulerService abstract val schedulerService: SchedulerService
storageService abstract val storageService: StorageService
walletService abstract val walletService: WalletService

Functions

startProtocol abstract fun <T> startProtocol(loggerName: String, logic: ProtocolLogic<T>): <ERROR CLASS><T>

TODO: borrowing this method from service manager work in another branch. Its required to avoid circular dependency between SMM and the scheduler. That particular problem should also be resolved by the service manager work itself, at which point this method would not be needed (by the scheduler)

Inherited Functions

loadState open fun loadState(stateRef: StateRef): TransactionState<*>

Given a StateRef loads the referenced transaction and looks up the specified output ContractState

recordTransactions abstract fun recordTransactions(txs: Iterable<SignedTransaction>): Unit

Given a list of SignedTransactions, writes them to the local storage for validated transactions and then sends them to the wallet for further processing.

open fun recordTransactions(vararg txs: SignedTransaction): <ERROR CLASS>

Given some SignedTransactions, writes them to the local storage for validated transactions and then sends them to the wallet for further processing.

verifyTransaction open fun verifyTransaction(ltx: LedgerTransaction): Unit

Given a LedgerTransaction, looks up all its dependencies in the local database, uses the identity service to map the SignedTransactions the DB gives back into LedgerTransactions, and then runs the smart contracts for the transaction. If no exception is thrown, the transaction is valid.

Extension Functions

fillWithSomeTestCash fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 0 }))): Wallet

Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them to the wallet. This is intended for unit tests.