class NotaryProtocol : ProtocolLogic<LegallyIdentifiable>A protocol to be used for obtaining a signature from a NotaryService ascertaining the transaction timestamp is correct and none of its inputs have been used in another completed transaction
NotaryException - in case the any of the inputs to the transaction have been consumed
by another transaction or the timestamp is invalid| REQUESTING |
object REQUESTING : Step |
| Result |
data class Result |
| SignRequest |
class SignRequest : AbstractRequestMessageTODO: The caller must authenticate instead of just specifying its identity |
| VALIDATING |
object VALIDATING : Step |
| <init> |
NotaryProtocol(wtx: WireTransaction, progressTracker: ProgressTracker = NotaryProtocol.tracker())A protocol to be used for obtaining a signature from a NotaryService ascertaining the transaction timestamp is correct and none of its inputs have been used in another completed transaction |
| notaryNode |
lateinit var notaryNode: NodeInfo |
| progressTracker |
val progressTracker: ProgressTrackerOverride this to provide a ProgressTracker. If one is provided and stepped, the framework will do something helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track progress. |
| logger |
val logger: <ERROR CLASS>This is where you should log things to. |
| psm |
lateinit var psm: ProtocolStateMachine<*>Reference to the Fiber instance that is the top level controller for the entire flow. |
| serviceHub |
val serviceHub: ServiceHubProvides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts |
| call |
fun call(): LegallyIdentifiableThis is where you fill out your business logic. |
| receive |
fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T> |
| send |
fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit |
| sendAndReceive |
fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T> |
| subProtocol |
fun <R> subProtocol(subLogic: ProtocolLogic<R>): RInvokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method. |
| TOPIC |
val TOPIC: String |
| tracker |
fun tracker(): ProgressTracker |