net.corda.node.internal / CordaRPCOpsImpl

CordaRPCOpsImpl

class CordaRPCOpsImpl : CordaRPCOps

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server thread (i.e. serially). Arguments are serialised and deserialised automatically.



Constructors

<init> CordaRPCOpsImpl(services: ServiceHub, smm: StateMachineManager, database: <ERROR CLASS>)

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server thread (i.e. serially). Arguments are serialised and deserialised automatically.

Properties

database val database: <ERROR CLASS>
protocolVersion val protocolVersion: Int

Returns the RPC protocol version. Exists since version 0 so guaranteed to be present.

services val services: ServiceHub
smm val smm: StateMachineManager

Functions

addVaultTransactionNote fun addVaultTransactionNote(txnId: SecureHash, txnNote: String): Unit
attachmentExists fun attachmentExists(id: SecureHash): Boolean

Checks whether an attachment with the given hash is stored on the node.

currentNodeTime fun currentNodeTime(): Instant

Returns the node-local current time.

getVaultTransactionNotes fun getVaultTransactionNotes(txnId: SecureHash): Iterable<String>
networkMapUpdates fun networkMapUpdates(): <ERROR CLASS><List<NodeInfo>, <ERROR CLASS><MapChange>>

Returns all parties currently visible on the network with their advertised services and an observable of future updates to the network.

nodeIdentity fun nodeIdentity(): NodeInfo

Returns Nodes identity, assuming this will not change while the node is running.

partyFromKey fun partyFromKey(key: CompositeKey): Party?

Returns the Party corresponding to the given key, if found.

partyFromName fun partyFromName(name: String): Party?

Returns the Party with the given name as its Party.name

startFlowDynamic fun <T : Any> startFlowDynamic(logicType: Class<out FlowLogic<T>>, vararg args: Any?): FlowHandle<T>

Start the given flow with the given arguments, returning an Observable with a single observation of the result of running the flow.

stateMachineRecordedTransactionMapping fun stateMachineRecordedTransactionMapping(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>

Returns a snapshot list of existing state machine id - recorded transaction hash mappings, and a stream of future such mappings as well.

stateMachinesAndUpdates fun stateMachinesAndUpdates(): <ERROR CLASS><List<StateMachineInfo>, <ERROR CLASS><StateMachineUpdate>>

Returns a pair of currently in-progress state machine infos and an observable of future state machine adds/removes.

uploadAttachment fun uploadAttachment(jar: InputStream): SecureHash

Uploads a jar to the node, returns its hash.

vaultAndUpdates fun vaultAndUpdates(): <ERROR CLASS><List<StateAndRef<ContractState>>, <ERROR CLASS><Update>>

Returns a pair of head states in the vault and an observable of future updates to the vault.

verifiedTransactions fun verifiedTransactions(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>

Returns a pair of all recorded transactions and an observable of future recorded ones.

Extension Functions

startFlow fun <T : Any, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: () -> R): <ERROR CLASS>

These allow type safe invocations of flows from Kotlin, e.g.:

fun <T : Any, A, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A) -> R, arg0: A): <ERROR CLASS>
fun <T : Any, A, B, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B) -> R, arg0: A, arg1: B): <ERROR CLASS>
fun <T : Any, A, B, C, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C) -> R, arg0: A, arg1: B, arg2: C): <ERROR CLASS>
fun <T : Any, A, B, C, D, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C, D) -> R, arg0: A, arg1: B, arg2: C, arg3: D): <ERROR CLASS>