class TransferOutProcessingSteps extends TransferProcessingSteps[SubmissionParam, SubmissionResult, TransferOutViewType, TransferOutResult, PendingTransferOut] with NamedLogging

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TransferOutProcessingSteps
  2. TransferProcessingSteps
  3. NamedLogging
  4. ProcessingSteps
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new TransferOutProcessingSteps(domainId: SourceDomainId, participantId: ParticipantId, engine: DAMLe, transferCoordination: TransferCoordination, seedGenerator: SeedGenerator, sourceDomainProtocolVersion: SourceProtocolVersion, loggerFactory: NamedLoggerFactory)(implicit ec: ExecutionContext)

Type Members

  1. case class CheckActivenessAndWritePendingContracts(activenessSet: ActivenessSet, pendingDataAndResponseArgs: PendingDataAndResponseArgs) extends Product with Serializable

    Phase 3

    Phase 3

    activenessSet

    The activeness set for the activeness check

    pendingDataAndResponseArgs

    The implementation-specific arguments needed to create the pending data and response

    Definition Classes
    ProcessingSteps
  2. case class CommitAndStoreContractsAndPublishEvent(commitSet: Option[Future[CommitSet]], contractsToBeStored: Seq[WithTransactionId[SerializableContract]], maybeEvent: Option[TimestampedEvent]) extends Product with Serializable

    Phase 7, step 3:

    Phase 7, step 3:

    commitSet

    scala.None$ if the request should be rejected scala.Some$ a future that will produce the commit set for updating the active contract store

    contractsToBeStored

    The contracts to be persisted to the contract store. Must be a subset of the contracts produced in Phase 3, step 2 in CheckActivenessAndWritePendingContracts.

    maybeEvent

    The event to be published via the com.digitalasset.canton.participant.event.RecordOrderPublisher

    Definition Classes
    ProcessingSteps
  3. case class DecryptedViews(views: Seq[(WithRecipients[DecryptedView], Option[Signature])], decryptionErrors: Seq[EncryptedViewMessageError]) extends Product with Serializable

    Phase 3:

    Phase 3:

    views

    The successfully decrypted views and their signatures. Signatures are only present for top-level views (where the submitter metadata is not blinded)

    decryptionErrors

    The decryption errors while trying to decrypt the views

    Definition Classes
    ProcessingSteps
  4. trait PreparedBatch extends AnyRef

    The actual batch to be sent for a TrackedSubmission

    The actual batch to be sent for a TrackedSubmission

    Definition Classes
    ProcessingSteps
  5. case class StorePendingDataAndSendResponseAndCreateTimeout(pendingData: RequestType.PendingRequestData, mediatorResponses: Seq[(MediatorResponse, Recipients)], rejectionArgs: RejectionArgs) extends Product with Serializable

    Phase 3:

    Phase 3:

    pendingData

    The requestType.PendingRequestData to be stored until Phase 7

    mediatorResponses

    The responses to be sent to the mediator

    rejectionArgs

    The implementation-specific arguments needed to create a rejection event on timeout

    Definition Classes
    ProcessingSteps
  6. sealed trait Submission extends AnyRef
    Definition Classes
    ProcessingSteps
  7. trait TrackedSubmission extends Submission

    Submission to be tracked in-flight and with deduplication.

    Submission to be tracked in-flight and with deduplication.

    The actual batch to be sent is computed only later by TrackedSubmission.prepareBatch so that tracking information (e.g., the chosen deduplication period) can be incorporated into the batch.

    Definition Classes
    ProcessingSteps
  8. trait UntrackedSubmission extends Submission

    Submission to be sent off without tracking the in-flight submission and without deduplication.

    Submission to be sent off without tracking the in-flight submission and without deduplication.

    Definition Classes
    ProcessingSteps
  9. type DecryptedView = View

    The type of decrypted view trees

    The type of decrypted view trees

    Definition Classes
    ProcessingSteps
  10. type FullView = data.ViewType.TransferOutViewType.FullView
    Definition Classes
    ProcessingSteps
  11. type PendingDataAndResponseArgs = TransferOutProcessingSteps.PendingDataAndResponseArgs

    The type of data needed to generate the pending data and response in constructPendingDataAndResponse.

    The type of data needed to generate the pending data and response in constructPendingDataAndResponse. The data is created by decryptViews

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  12. type PendingSubmissionData = PendingTransferSubmission

    The data stored for submissions that have been sent out, if any

    The data stored for submissions that have been sent out, if any

    Definition Classes
    TransferProcessingStepsProcessingSteps
  13. type PendingSubmissionId = RootHash

    The type used for look-ups into the PendingSubmissions

    The type used for look-ups into the PendingSubmissions

    Definition Classes
    TransferProcessingStepsProcessingSteps
  14. type PendingSubmissions = Map[RootHash, PendingTransferSubmission]

    A store of data on submissions that have been sent out, if any

    A store of data on submissions that have been sent out, if any

    Definition Classes
    TransferProcessingStepsProcessingSteps
  15. type RejectionArgs = TransferProcessingSteps.RejectionArgs[PendingTransferOut]

    The type of data needed to create a rejection event in createRejectionEvent.

    The type of data needed to create a rejection event in createRejectionEvent. Created by constructPendingDataAndResponse

    Definition Classes
    TransferProcessingStepsProcessingSteps
  16. type RequestBatch = RequestAndRootHashMessage[OpenEnvelope[EncryptedViewMessage[TransferOutViewType]]]

    The type of request messages

    The type of request messages

    Definition Classes
    ProcessingSteps
  17. type RequestError = TransferProcessorError

    The type of errors that can occur during request processing

    The type of errors that can occur during request processing

    Definition Classes
    TransferProcessingStepsProcessingSteps
  18. type RequestType = TransferOut.type

    The type of the request (transaction, transfer-out, transfer-in)

    The type of the request (transaction, transfer-out, transfer-in)

    Definition Classes
    TransferOutProcessingStepsTransferProcessingStepsProcessingSteps
  19. type ResultError = TransferProcessorError

    The type of errors that can occur during result processing

    The type of errors that can occur during result processing

    Definition Classes
    TransferProcessingStepsProcessingSteps
  20. type SubmissionResultArgs = PendingTransferSubmission

    The type of data needed to generate the submission result in createSubmissionResult.

    The type of data needed to generate the submission result in createSubmissionResult. The data is created by updatePendingSubmissions.

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  21. type SubmissionSendError = TransferProcessorError

    The submission errors that can occur during sending the batch to the sequencer and updating the pending submission map.

    The submission errors that can occur during sending the batch to the sequencer and updating the pending submission map.

    Definition Classes
    TransferProcessingStepsProcessingSteps
  22. case class TransferSubmission(batch: Batch[DefaultOpenEnvelope], pendingSubmissionId: PendingSubmissionId) extends UntrackedSubmission with Product with Serializable
    Definition Classes
    TransferProcessingSteps

Value Members

  1. object DecryptedViews extends Serializable
    Definition Classes
    ProcessingSteps
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##: Int
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def authenticateInputContracts(pendingDataAndResponseArgs: PendingDataAndResponseArgs)(implicit traceContext: TraceContext): EitherT[Future, TransferProcessorError, Unit]
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. def computeActivenessSetAndPendingContracts(ts: CantonTimestamp, rc: RequestCounter, sc: SequencerCounter, fullViewsWithSignatures: NonEmpty[Seq[(WithRecipients[FullTransferOutTree], Option[Signature])]], malformedPayloads: Seq[MalformedPayload], sourceSnapshot: DomainSnapshotSyncCryptoApi, mediator: MediatorRef)(implicit traceContext: TraceContext): EitherT[Future, TransferProcessorError, CheckActivenessAndWritePendingContracts]

    Phase 3, step 2 (some good views):

    Phase 3, step 2 (some good views):

    ts

    The timestamp of the request

    rc

    The com.digitalasset.canton.RequestCounter of the request

    sc

    The com.digitalasset.canton.SequencerCounter of the request

    fullViewsWithSignatures

    The decrypted views from step 1 with the right root hash and their respective signatures

    malformedPayloads

    The decryption errors and decrypted views with a wrong root hash

    returns

    The activeness set and the contracts to store with the com.digitalasset.canton.participant.store.ContractStore in Phase 7, and the arguments for step 2.

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  9. def computeFullViews(decryptedViewsWithSignatures: Seq[(WithRecipients[DecryptedView], Option[Signature])]): (Seq[(WithRecipients[FullView], Option[Signature])], Seq[MalformedPayload])

    Converts the decrypted (possible light-weight) view trees to the corresponding full view trees.

    Converts the decrypted (possible light-weight) view trees to the corresponding full view trees. Views that cannot be converted are mapped to ProtocolProcessor.MalformedPayload errors.

    Definition Classes
    TransferProcessingStepsProcessingSteps
  10. def constructPendingDataAndResponse(pendingDataAndResponseArgs: PendingDataAndResponseArgs, transferLookup: TransferLookup, contractLookup: ContractLookup, activenessF: FutureUnlessShutdown[ActivenessResult], mediator: MediatorRef, freshOwnTimelyTx: Boolean)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, TransferProcessorError, StorePendingDataAndSendResponseAndCreateTimeout]

    Phase 3, step 3: Yields the pending data and mediator responses for the case that at least one payload is well-formed.

    Phase 3, step 3: Yields the pending data and mediator responses for the case that at least one payload is well-formed.

    pendingDataAndResponseArgs

    Implementation-specific data passed from decryptViews

    transferLookup

    Read-only interface of the com.digitalasset.canton.participant.store.memory.TransferCache

    contractLookup

    Read-only interface to the com.digitalasset.canton.participant.store.ContractStore

    returns

    Returns the requestType.PendingRequestData to be stored until Phase 7 and the responses to be sent to the mediator.

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  11. def constructResponsesForMalformedPayloads(requestId: RequestId, malformedPayloads: Seq[MalformedPayload])(implicit traceContext: TraceContext): Seq[MediatorResponse]

    Phase 3: Yields the mediator responses (i.e.

    Phase 3: Yields the mediator responses (i.e. rejections) for the case that all payloads are malformed.

    Definition Classes
    TransferProcessingStepsProcessingSteps
  12. def createRejectionEvent(rejectionArgs: RejectionArgs)(implicit traceContext: TraceContext): Either[TransferProcessorError, Option[TimestampedEvent]]

    Phase 3, step 4:

    Phase 3, step 4:

    rejectionArgs

    The implementation-specific information needed for the creation of the rejection event

    Definition Classes
    TransferProcessingStepsProcessingSteps
  13. def createSubmissionResult(deliver: Deliver[Envelope[_]], pendingSubmission: SubmissionResultArgs): SubmissionResult

    Phase 1, step 3:

    Phase 1, step 3:

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  14. def decisionTimeFor(parameters: DynamicDomainParametersWithValidity, requestTs: CantonTimestamp): Either[TransferProcessorError, CantonTimestamp]
  15. def decryptTree(sourceSnapshot: DomainSnapshotSyncCryptoApi, sessionKeyStore: SessionKeyStore)(envelope: OpenEnvelope[EncryptedViewMessage[TransferOutViewType]])(implicit tc: TraceContext): EitherT[Future, EncryptedViewMessageError, WithRecipients[FullTransferOutTree]]
    Attributes
    protected
    Definition Classes
    TransferOutProcessingStepsTransferProcessingSteps
  16. def decryptViews(batch: NonEmpty[Seq[OpenEnvelope[EncryptedViewMessage[TransferOutViewType]]]], snapshot: DomainSnapshotSyncCryptoApi, sessionKeyStore: SessionKeyStore)(implicit traceContext: TraceContext): EitherT[Future, TransferProcessorError, DecryptedViews]

    Phase 3, step 1:

    Phase 3, step 1:

    batch

    The batch of messages in the request to be processed

    snapshot

    Snapshot of the topology state at the request timestamp

    returns

    The decrypted views and the errors encountered during decryption

    Definition Classes
    TransferProcessingStepsProcessingSteps
  17. val domainId: SourceDomainId
  18. implicit val ec: ExecutionContext
  19. def embedNoMediatorError(error: NoMediatorError): TransferProcessorError

    Convert com.digitalasset.canton.participant.protocol.ProtocolProcessor.NoMediatorError into a submission error

  20. def embedRequestError(err: RequestProcessingError): TransferProcessorError

    Wrap an error in request processing from the generic request processor

    Wrap an error in request processing from the generic request processor

    Definition Classes
    TransferProcessingStepsProcessingSteps
  21. def embedResultError(err: ResultProcessingError): TransferProcessorError

    Wrap an error in result processing from the generic request processor

    Wrap an error in result processing from the generic request processor

    Definition Classes
    TransferProcessingStepsProcessingSteps
  22. val engine: DAMLe
  23. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  25. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  26. def eventAndSubmissionIdForInactiveMediator(ts: CantonTimestamp, rc: RequestCounter, sc: SequencerCounter, fullViews: NonEmpty[Seq[WithRecipients[FullView]]], freshOwnTimelyTx: Boolean)(implicit traceContext: TraceContext): (Option[TimestampedEvent], Option[PendingSubmissionId])

    Phase 3, step 2 (some good views, but the chosen mediator is inactive)

    Phase 3, step 2 (some good views, but the chosen mediator is inactive)

    ts

    The timestamp of the request

    rc

    The com.digitalasset.canton.RequestCounter of the request

    sc

    The com.digitalasset.canton.SequencerCounter of the request

    fullViews

    The decrypted views from step 1 with the right root hash

    returns

    The optional rejection event to be published in the event log, and the optional submission ID corresponding to this request

    Definition Classes
    TransferProcessingStepsProcessingSteps
  27. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  28. def getCommitSetAndContractsToBeStoredAndEvent(eventE: Either[EventWithErrors[Deliver[DefaultOpenEnvelope]], SignedContent[Deliver[DefaultOpenEnvelope]]], resultE: Either[MalformedMediatorRequestResult, TransferOutResult], pendingRequestData: PendingTransferOut, pendingSubmissionMap: PendingSubmissions, hashOps: HashOps)(implicit traceContext: TraceContext): EitherT[Future, TransferProcessorError, CommitAndStoreContractsAndPublishEvent]

    Phase 7, step 2:

    Phase 7, step 2:

    eventE

    The signed com.digitalasset.canton.sequencing.protocol.Deliver event containing the mediator result. It is ensured that the event contains exactly one com.digitalasset.canton.protocol.messages.MediatorResult

    resultE

    The unpacked mediator result that is contained in the event

    pendingRequestData

    The requestType.PendingRequestData produced in Phase 3

    returns

    The com.digitalasset.canton.participant.protocol.conflictdetection.CommitSet, the contracts from Phase 3 to be persisted to the contract store, and the event to be published

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  29. def getSubmissionDataForTracker(views: Seq[FullView]): Option[SubmissionData]

    Return the submission data needed by the SubmissionTracker to decide on transaction validity

    Return the submission data needed by the SubmissionTracker to decide on transaction validity

    Definition Classes
    TransferProcessingStepsProcessingSteps
  30. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  31. def hostedStakeholders(stakeholders: List[LfPartyId], snapshot: TopologySnapshot): Future[List[LfPartyId]]
    Attributes
    protected
    Definition Classes
    TransferProcessingSteps
  32. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  33. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  34. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    TransferOutProcessingStepsNamedLogging
  35. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  36. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  38. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  39. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  40. val participantId: ParticipantId
  41. def participantResponseDeadlineFor(parameters: DynamicDomainParametersWithValidity, requestTs: CantonTimestamp): Either[TransferProcessorError, CantonTimestamp]
  42. def pendingSubmissions(state: SyncDomainEphemeralState): PendingSubmissions

    Selector to get the PendingSubmissions, if any

    Selector to get the PendingSubmissions, if any

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  43. def performPendingSubmissionMapUpdate(pendingSubmissionMap: Map[RootHash, PendingTransferSubmission], transferId: Option[TransferId], submitterLf: LfPartyId, rootHash: RootHash): EitherT[Future, TransferProcessorError, PendingTransferSubmission]
    Attributes
    protected
    Definition Classes
    TransferProcessingSteps
  44. def postProcessResult(verdict: Verdict, pendingSubmission: PendingTransferSubmission)(implicit traceContext: TraceContext): Unit

    Phase 7, step 4:

    Phase 7, step 4:

    Called after the request reached the state com.digitalasset.canton.participant.protocol.RequestJournal.RequestState.Clean in the request journal, if the participant is the submitter. Also called if a timeout occurs with com.digitalasset.canton.protocol.messages.Verdict.MediatorRejectV1.

    verdict

    The verdict on the request

    Definition Classes
    TransferProcessingStepsProcessingSteps
  45. def postProcessSubmissionForInactiveMediator(declaredMediator: MediatorRef, ts: CantonTimestamp, pendingSubmission: PendingTransferSubmission)(implicit traceContext: TraceContext): Unit

    Phase 3, step 2 (submission where the chosen mediator is inactive)

    Phase 3, step 2 (submission where the chosen mediator is inactive)

    Called if the chosen mediator is inactive and eventAndSubmissionIdForInactiveMediator returned a submission ID that was pending.

    pendingSubmission

    The PendingSubmissionData for the submission ID returned by eventAndSubmissionIdForInactiveMediator

    Definition Classes
    TransferProcessingStepsProcessingSteps
    See also

    com.digitalasset.canton.participant.protocol.ProcessingSteps.postProcessResult

  46. def prepareSubmission(param: SubmissionParam, mediator: MediatorRef, ephemeralState: SyncDomainEphemeralStateLookup, sourceRecentSnapshot: DomainSnapshotSyncCryptoApi)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, TransferProcessorError, Submission]

    Phase 1, step 1:

    Phase 1, step 1:

    param

    The parameter object encapsulating the parameters of the submit method

    ephemeralState

    Read-only access to the com.digitalasset.canton.participant.store.SyncDomainEphemeralState

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  47. def removePendingSubmission(pendingSubmissions: Map[RootHash, PendingTransferSubmission], pendingSubmissionId: RootHash): Option[PendingTransferSubmission]

    Phase 1, step 4; and Phase 7, step 1:

    Phase 1, step 4; and Phase 7, step 1:

    Remove the pending submission from the pending submissions. Called when sending the submission failed or did not lead to a result in time or a result has arrived for the request.

    Definition Classes
    TransferProcessingStepsProcessingSteps
  48. def requestKind: String

    The kind of request, used for logging and error reporting

    The kind of request, used for logging and error reporting

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  49. val requestType: RequestType
  50. val sourceDomainProtocolVersion: SourceProtocolVersion
  51. def submissionDescription(param: SubmissionParam): String

    Extract a description for a submission, used for logging and error reporting

    Extract a description for a submission, used for logging and error reporting

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  52. def submissionIdOfPendingRequest(pendingData: PendingTransferOut): RootHash

    Extract the submission ID that corresponds to a pending request, if any

    Extract the submission ID that corresponds to a pending request, if any

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  53. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  54. def toString(): String
    Definition Classes
    AnyRef → Any
  55. def updatePendingSubmissions(pendingSubmissionMap: PendingSubmissions, submissionParam: SubmissionParam, pendingSubmissionId: PendingSubmissionId): EitherT[Future, TransferProcessorError, SubmissionResultArgs]

    Phase 1, step 2:

    Phase 1, step 2:

    submissionParam

    Implementation-specific details on the submission, used for logging

    pendingSubmissionId

    The key used for updates to the pendingSubmissions

    Definition Classes
    TransferOutProcessingStepsProcessingSteps
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  58. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
    Deprecated

Ungrouped